diff options
576 files changed, 15901 insertions, 11159 deletions
diff --git a/AconfigFlags.bp b/AconfigFlags.bp index 75fb215b8d45..e3cbd92703aa 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -21,6 +21,7 @@ aconfig_srcjars = [ ":android.hardware.flags-aconfig-java{.generated_srcjars}", ":android.hardware.radio.flags-aconfig-java{.generated_srcjars}", ":android.location.flags-aconfig-java{.generated_srcjars}", + ":android.net.vcn.flags-aconfig-java{.generated_srcjars}", ":android.nfc.flags-aconfig-java{.generated_srcjars}", ":android.os.flags-aconfig-java{.generated_srcjars}", ":android.os.vibrator.flags-aconfig-java{.generated_srcjars}", @@ -568,6 +569,19 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } +// VCN +aconfig_declarations { + name: "android.net.vcn.flags-aconfig", + package: "android.net.vcn", + srcs: ["core/java/android/net/vcn/*.aconfig"], +} + +java_aconfig_library { + name: "android.net.vcn.flags-aconfig-java", + aconfig_declarations: "android.net.vcn.flags-aconfig", + defaults: ["framework-minus-apex-aconfig-java-defaults"], +} + // DevicePolicy aconfig_declarations { name: "device_policy_aconfig_flags", diff --git a/Android.bp b/Android.bp index 986a07108b91..b5f7e99c8823 100644 --- a/Android.bp +++ b/Android.bp @@ -695,12 +695,10 @@ stubs_defaults { "--hide CallbackInterface", "--hide DeprecationMismatch", "--hide HiddenSuperclass", - "--hide HiddenTypeParameter", "--hide MissingPermission", "--hide RequiresPermission", "--hide SdkConstant", "--hide Todo", - "--hide UnavailableSymbol", "--hide-package android.audio.policy.configuration.V7_0", "--hide-package com.android.server", "--manifest $(location :frameworks-base-core-AndroidManifest.xml)", diff --git a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java index 5dc994edd635..a92a01fe06f0 100644 --- a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java +++ b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java @@ -1265,6 +1265,7 @@ public class JobInfo implements Parcelable { /** @hide */ @NonNull + @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public Builder setBias(int bias) { mBias = bias; return this; 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 592aff80f618..1287cb4bb952 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -202,6 +202,15 @@ public class JobSchedulerService extends com.android.server.SystemService @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.TIRAMISU) static final long REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS = 271850009L; + /** + * Throw an exception when biases are set by an unsupported client. + * + * @hide + */ + @ChangeId + @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE) + public static final long THROW_ON_UNSUPPORTED_BIAS_USAGE = 300477393L; + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) public static Clock sSystemClock = Clock.systemUTC(); @@ -4331,6 +4340,24 @@ public class JobSchedulerService extends com.android.server.SystemService } } + private JobInfo enforceBuilderApiPermissions(int uid, int pid, JobInfo job) { + if (job.getBias() != JobInfo.BIAS_DEFAULT + && !hasPermission(uid, pid, Manifest.permission.UPDATE_DEVICE_STATS)) { + if (CompatChanges.isChangeEnabled(THROW_ON_UNSUPPORTED_BIAS_USAGE, uid)) { + throw new SecurityException("Apps may not call setBias()"); + } else { + // We can't throw the exception. Log the issue and modify the job to remove + // the invalid value. + Slog.w(TAG, "Uid " + uid + " set bias on its job"); + return new JobInfo.Builder(job) + .setBias(JobInfo.BIAS_DEFAULT) + .build(false, false); + } + } + + return job; + } + private boolean canPersistJobs(int pid, int uid) { // Persisting jobs is tantamount to running at boot, so we permit // it when the app has declared that it uses the RECEIVE_BOOT_COMPLETED @@ -4512,6 +4539,8 @@ public class JobSchedulerService extends com.android.server.SystemService namespace = validateNamespace(namespace); + job = enforceBuilderApiPermissions(uid, pid, job); + final long ident = Binder.clearCallingIdentity(); try { return JobSchedulerService.this.scheduleAsPackage(job, null, uid, null, userId, @@ -4543,6 +4572,8 @@ public class JobSchedulerService extends com.android.server.SystemService namespace = validateNamespace(namespace); + job = enforceBuilderApiPermissions(uid, pid, job); + final long ident = Binder.clearCallingIdentity(); try { return JobSchedulerService.this.scheduleAsPackage(job, work, uid, null, userId, @@ -4582,6 +4613,8 @@ public class JobSchedulerService extends com.android.server.SystemService namespace = validateNamespace(namespace); + job = enforceBuilderApiPermissions(callerUid, callerPid, job); + final long ident = Binder.clearCallingIdentity(); try { return JobSchedulerService.this.scheduleAsPackage(job, null, callerUid, diff --git a/api/gen_combined_removed_dex.sh b/api/gen_combined_removed_dex.sh index 71f366a6aae2..e0153f7c1091 100755 --- a/api/gen_combined_removed_dex.sh +++ b/api/gen_combined_removed_dex.sh @@ -6,6 +6,6 @@ shift 2 # Convert each removed.txt to the "dex format" equivalent, and print all output. for f in "$@"; do - "$metalava_path" "$f" --dex-api "${tmp_dir}/tmp" + "$metalava_path" signature-to-dex "$f" "${tmp_dir}/tmp" cat "${tmp_dir}/tmp" done diff --git a/boot/boot-image-profile.txt b/boot/boot-image-profile.txt index ecccdec8a4db..039234428661 100644 --- a/boot/boot-image-profile.txt +++ b/boot/boot-image-profile.txt @@ -143,6 +143,18 @@ HSPLandroid/animation/AnimationHandler;->requestAnimatorsEnabledImpl(ZLjava/lang HSPLandroid/animation/AnimationHandler;->resumeAnimators()V HSPLandroid/animation/AnimationHandler;->setAnimatorPausingEnabled(Z)V HSPLandroid/animation/AnimationHandler;->setProvider(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;)V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda3;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda4;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda5;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V +HSPLandroid/animation/Animator$AnimatorCaller;-><clinit>()V +HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V+]Landroid/animation/ValueAnimator$AnimatorUpdateListener;missing_types HSPLandroid/animation/Animator$AnimatorConstantState;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator; @@ -153,6 +165,7 @@ HSPLandroid/animation/Animator;-><init>()V HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V +HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator; HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/Animator;->getBackgroundPauseDelay()J @@ -160,6 +173,7 @@ HSPLandroid/animation/Animator;->getChangingConfigurations()I HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList; HSPLandroid/animation/Animator;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/Animator;->notifyEndListeners(Z)V +HSPLandroid/animation/Animator;->notifyListeners(Landroid/animation/Animator$AnimatorCaller;Z)V+]Landroid/animation/Animator;missing_types HSPLandroid/animation/Animator;->notifyStartListeners(Z)V HSPLandroid/animation/Animator;->pause()V HSPLandroid/animation/Animator;->removeAllListeners()V @@ -685,7 +699,6 @@ HSPLandroid/app/ActivityClient;->reportSizeConfigurations(Landroid/os/IBinder;La HSPLandroid/app/ActivityClient;->setActivityClientController(Landroid/app/IActivityClientController;)Landroid/app/IActivityClientController; HSPLandroid/app/ActivityClient;->setRequestedOrientation(Landroid/os/IBinder;I)V HSPLandroid/app/ActivityClient;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V -HSPLandroid/app/ActivityManager$1;-><init>(Landroid/app/ActivityManager;)V HSPLandroid/app/ActivityManager$3;->create()Landroid/app/IActivityManager; HSPLandroid/app/ActivityManager$3;->create()Ljava/lang/Object; HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo; @@ -1383,11 +1396,11 @@ HSPLandroid/app/BackStackRecord;->runOnCommitRunnables()V HSPLandroid/app/BroadcastOptions;-><init>()V HSPLandroid/app/BroadcastOptions;->isTemporaryAppAllowlistSet()Z HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions; -HSPLandroid/app/BroadcastOptions;->resetTemporaryAppAllowlist()V HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle; HSPLandroid/app/ClientTransactionHandler;-><init>()V HSPLandroid/app/ClientTransactionHandler;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V +HSPLandroid/app/ConfigurationChangedListenerController;-><init>()V HSPLandroid/app/ConfigurationController;-><init>(Landroid/app/ActivityThreadInternal;)V HSPLandroid/app/ConfigurationController;->applyCompatConfiguration()Landroid/content/res/Configuration; HSPLandroid/app/ConfigurationController;->createNewConfigAndUpdateIfNotNull(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; @@ -1971,7 +1984,6 @@ HSPLandroid/app/IUiModeManager$Stub$Proxy;->getCurrentModeType()I HSPLandroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager; HSPLandroid/app/IUiModeManagerCallback$Stub;-><init>()V HSPLandroid/app/IUiModeManagerCallback$Stub;->asBinder()Landroid/os/IBinder; -HSPLandroid/app/IUidFrozenStateChangedCallback$Stub;-><init>()V HSPLandroid/app/IUidObserver$Stub;-><init>()V HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder; HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z @@ -2042,7 +2054,6 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->ru HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable; HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/app/LoadedApk$ReceiverDispatcher$Args;Landroid/app/LoadedApk$ReceiverDispatcher$Args;]Landroid/content/Intent;Landroid/content/Intent; -HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;-><init>(Landroid/app/IApplicationThread;Landroid/app/LoadedApk$ReceiverDispatcher;Z)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/app/IApplicationThread;Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V @@ -2402,7 +2413,7 @@ HSPLandroid/app/PendingIntent;-><init>(Landroid/content/IIntentSender;)V HSPLandroid/app/PendingIntent;-><init>(Landroid/os/IBinder;Ljava/lang/Object;)V HSPLandroid/app/PendingIntent;->buildServicePendingIntent(Landroid/content/Context;ILandroid/content/Intent;II)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent;->cancel()V -HSPLandroid/app/PendingIntent;->checkPendingIntent(ILandroid/content/Intent;Landroid/content/Context;Z)V +HSPLandroid/app/PendingIntent;->checkPendingIntent(ILandroid/content/Intent;Landroid/content/Context;Z)V+]Landroid/content/Context;missing_types HSPLandroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z HSPLandroid/app/PendingIntent;->getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent;->getActivitiesAsUser(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent; @@ -2688,7 +2699,9 @@ HSPLandroid/app/SystemServiceRegistry$109;->createService(Landroid/app/ContextIm HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Landroid/media/MediaRouter; HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager; HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Landroid/permission/LegacyPermissionManager; HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$114;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2716,18 +2729,27 @@ HSPLandroid/app/SystemServiceRegistry$15;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$18;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/AccessibilityManager; HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager; +HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager; HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/input/InputManager; +HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager; HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$29;Landroid/app/SystemServiceRegistry$29; HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager; HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager; HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater; HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager; HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager; @@ -2740,6 +2762,7 @@ HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Landroid/accounts/AccountManager; HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager; HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2748,7 +2771,9 @@ HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager; HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager; HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityManager; HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2789,6 +2814,7 @@ HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$87;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager; HSPLandroid/app/SystemServiceRegistry$87;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -3611,8 +3637,7 @@ HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions; HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->-$$Nest$smcreateFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;-><init>(ZI)V -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions;-><init>(IIIIILandroid/util/ArraySet;)V HSPLandroid/content/ContentCaptureOptions;-><init>(ZIIIIIZZLandroid/content/ContentCaptureOptions$ContentProtectionOptions;Landroid/util/ArraySet;)V HSPLandroid/content/ContentCaptureOptions;->isWhitelisted(Landroid/content/Context;)Z @@ -4321,7 +4346,7 @@ HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ApplicationInfo;-><init>()V HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V -HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ApplicationInfo-IA;)V HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String; HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; @@ -4445,7 +4470,7 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->requestPackageChecksums(Ljav HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveContentProvider(Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveService(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager; HSPLandroid/content/pm/IPackageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/content/pm/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V @@ -4998,13 +5023,13 @@ HSPLandroid/content/res/Configuration;-><init>()V HSPLandroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;Landroid/content/res/Configuration-IA;)V -HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I +HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I HSPLandroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z HSPLandroid/content/res/Configuration;->equals(Ljava/lang/Object;)Z -HSPLandroid/content/res/Configuration;->fixUpLocaleList()V +HSPLandroid/content/res/Configuration;->fixUpLocaleList()V+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; HSPLandroid/content/res/Configuration;->getGrammaticalGender()I HSPLandroid/content/res/Configuration;->getLayoutDirection()I @@ -5023,18 +5048,20 @@ HSPLandroid/content/res/Configuration;->resetScreenLayout(I)I HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V -HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V +HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;II)V HSPLandroid/content/res/Configuration;->setToDefaults()V HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V -HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I +HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/ConfigurationBoundResourceCache;-><init>()V HSPLandroid/content/res/ConfigurationBoundResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ConfigurationBoundResourceCache;->getGeneration()I HSPLandroid/content/res/ConfigurationBoundResourceCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ConfigurationBoundResourceCache;->onConfigurationChange(I)V +HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;I)V +HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;IZ)V HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Landroid/content/res/ConstantState;I)Z HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z HSPLandroid/content/res/ConstantState;-><init>()V @@ -5088,7 +5115,9 @@ HSPLandroid/content/res/Resources$ThemeKey;-><init>()V HSPLandroid/content/res/Resources$ThemeKey;->append(IZ)V HSPLandroid/content/res/Resources$ThemeKey;->clone()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z +HSPLandroid/content/res/Resources$ThemeKey;->findValue(IZ)I HSPLandroid/content/res/Resources$ThemeKey;->hashCode()I +HSPLandroid/content/res/Resources$ThemeKey;->moveToLast(I)V HSPLandroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resources$ThemeKey;)V HSPLandroid/content/res/Resources;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V HSPLandroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V @@ -5243,7 +5272,7 @@ HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/Resou HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; HSPLandroid/content/res/ResourcesImpl;->startPreloading()V -HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V +HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Landroid/content/res/loader/ResourcesLoader;)V HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z @@ -5254,7 +5283,7 @@ HSPLandroid/content/res/StringBlock;->applyStyles(Ljava/lang/String;[ILandroid/c HSPLandroid/content/res/StringBlock;->close()V HSPLandroid/content/res/StringBlock;->finalize()V HSPLandroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; -HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence; +HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/content/res/ThemedResourceCache;-><init>()V HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ThemedResourceCache;->getGeneration()I @@ -5263,6 +5292,8 @@ HSPLandroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/ HSPLandroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V HSPLandroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z HSPLandroid/content/res/ThemedResourceCache;->pruneLocked(I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;I)V +HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;IZ)V HSPLandroid/content/res/TypedArray;-><init>(Landroid/content/res/Resources;)V HSPLandroid/content/res/TypedArray;->extractThemeAttrs()[I HSPLandroid/content/res/TypedArray;->extractThemeAttrs([I)[I @@ -5300,7 +5331,7 @@ HSPLandroid/content/res/TypedArray;->hasValue(I)Z HSPLandroid/content/res/TypedArray;->hasValueOrEmpty(I)Z HSPLandroid/content/res/TypedArray;->length()I HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence; -HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray; +HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue; HSPLandroid/content/res/TypedArray;->recycle()V HSPLandroid/content/res/TypedArray;->resize(I)V @@ -5569,7 +5600,7 @@ HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V HSPLandroid/database/sqlite/SQLiteClosable;->close()V -HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V +HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->getTruncateSize()J HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V @@ -6252,6 +6283,7 @@ HSPLandroid/graphics/HardwareRenderer;->setStopped(Z)V HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;)V HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;Z)V HSPLandroid/graphics/HardwareRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V +HSPLandroid/graphics/HardwareRenderer;->setTargetHdrSdrRatio(F)V HSPLandroid/graphics/HardwareRenderer;->setupDiskCache(Ljava/io/File;)V HSPLandroid/graphics/HardwareRenderer;->syncAndDrawFrame(Landroid/graphics/FrameInfo;)I HSPLandroid/graphics/HardwareRenderer;->trimMemory(I)V @@ -6271,6 +6303,8 @@ HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getResources()Landroi HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->toString()Ljava/lang/String; HSPLandroid/graphics/ImageDecoder$ImageDecoderSourceTrace;-><init>(Landroid/graphics/ImageDecoder;)V HSPLandroid/graphics/ImageDecoder$ImageDecoderSourceTrace;->close()V +HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/util/Size;ZLjava/lang/String;Landroid/graphics/ColorSpace;)V +HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/util/Size;ZLjava/lang/String;Landroid/graphics/ColorSpace;Landroid/graphics/ImageDecoder$ImageInfo-IA;)V HSPLandroid/graphics/ImageDecoder$InputStreamSource;-><init>(Landroid/content/res/Resources;Ljava/io/InputStream;I)V HSPLandroid/graphics/ImageDecoder$InputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder; HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getDensity()I @@ -6296,7 +6330,9 @@ HSPLandroid/graphics/ImageDecoder;->decodeDrawable(Landroid/graphics/ImageDecode HSPLandroid/graphics/ImageDecoder;->decodeDrawableImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/ImageDecoder;->describeDecoderForTrace(Landroid/graphics/ImageDecoder;)Ljava/lang/String; HSPLandroid/graphics/ImageDecoder;->finalize()V +HSPLandroid/graphics/ImageDecoder;->getColorSpace()Landroid/graphics/ColorSpace; HSPLandroid/graphics/ImageDecoder;->getColorSpacePtr()J +HSPLandroid/graphics/ImageDecoder;->getMimeType()Ljava/lang/String; HSPLandroid/graphics/ImageDecoder;->requestedResize()Z HSPLandroid/graphics/ImageDecoder;->setAllocator(I)V HSPLandroid/graphics/ImageDecoder;->setTargetSize(II)V @@ -8139,6 +8175,10 @@ HSPLandroid/hardware/display/DeviceProductInfo$ManufactureDate;->equals(Ljava/la HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/display/DeviceProductInfo-IA;)V HSPLandroid/hardware/display/DeviceProductInfo;->equals(Ljava/lang/Object;)Z +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda0;-><init>()V +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2;-><init>()V +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;-><init>()V HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;-><init>(Landroid/hardware/display/DisplayManager$WeakDisplayCache-IA;)V HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;->get(I)Landroid/view/Display;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; @@ -8148,9 +8188,11 @@ HSPLandroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V HSPLandroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display; HSPLandroid/hardware/display/DisplayManager;->getDisplays()[Landroid/view/Display; HSPLandroid/hardware/display/DisplayManager;->getDisplays(Ljava/lang/String;)[Landroid/view/Display; -HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display; +HSPLandroid/hardware/display/DisplayManager;->getDisplays([ILjava/util/function/Predicate;)[Landroid/view/Display; +HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display;]Landroid/content/Context;Landroid/app/Application; HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; +HSPLandroid/hardware/display/DisplayManager;->isPresentationDisplay(Landroid/view/Display;)Z HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V @@ -8159,7 +8201,6 @@ HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integ HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;JLandroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()V -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;J)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleMessage(Landroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->lambda$sendDisplayEvent$0(JLandroid/os/Message;)V @@ -8184,8 +8225,6 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landro HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V -HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V -HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;J)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V HSPLandroid/hardware/display/DisplayManagerGlobal;->updateCallbackIfNeededLocked()V @@ -8259,6 +8298,7 @@ HSPLandroid/hardware/input/InputManagerGlobal;->getInputManagerService()Landroid HSPLandroid/hardware/input/InputManagerGlobal;->getInstance()Landroid/hardware/input/InputManagerGlobal; HSPLandroid/hardware/input/InputManagerGlobal;->populateInputDevicesLocked()V HSPLandroid/hardware/input/InputManagerGlobal;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V +HSPLandroid/hardware/input/InputSettings;->isStylusPointerIconEnabled(Landroid/content/Context;)Z HSPLandroid/hardware/location/ContextHubClient;-><init>(Landroid/hardware/location/ContextHubInfo;Z)V HSPLandroid/hardware/location/ContextHubClient;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I HSPLandroid/hardware/location/ContextHubClient;->setClientProxy(Landroid/hardware/location/IContextHubClient;)V @@ -11771,6 +11811,7 @@ HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayL HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable; +HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable; @@ -11988,8 +12029,8 @@ HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback; HSPLandroid/os/Handler;-><init>(Z)V HSPLandroid/os/Handler;->createAsync(Landroid/os/Looper;)Landroid/os/Handler; HSPLandroid/os/Handler;->disallowNullArgumentIfShared(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V -HSPLandroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z +HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V+]Landroid/os/Handler;megamorphic_types]Landroid/os/Handler$Callback;missing_types +HSPLandroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z+]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Handler;->executeOrSendMessage(Landroid/os/Message;)Z HSPLandroid/os/Handler;->getIMessenger()Landroid/os/IMessenger; HSPLandroid/os/Handler;->getLooper()Landroid/os/Looper; @@ -12025,7 +12066,7 @@ HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z -HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z +HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z+]Landroid/os/Handler;megamorphic_types HSPLandroid/os/Handler;->toString()Ljava/lang/String; HSPLandroid/os/HandlerExecutor;-><init>(Landroid/os/Handler;)V HSPLandroid/os/HandlerExecutor;->execute(Ljava/lang/Runnable;)V @@ -12193,7 +12234,7 @@ HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread; HSPLandroid/os/Looper;->isCurrentThread()Z HSPLandroid/os/Looper;->loop()V -HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z +HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;missing_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Looper;->myLooper()Landroid/os/Looper; HSPLandroid/os/Looper;->myQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->prepare()V @@ -12242,11 +12283,11 @@ HSPLandroid/os/MessageQueue;->addIdleHandler(Landroid/os/MessageQueue$IdleHandle HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V HSPLandroid/os/MessageQueue;->dispatchEvents(II)I HSPLandroid/os/MessageQueue;->dispose()V -HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z +HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->finalize()V HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z -HSPLandroid/os/MessageQueue;->next()Landroid/os/Message; +HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/MessageQueue$IdleHandler;Landroid/app/ActivityThread$PurgeIdler;,Landroid/app/ActivityThread$Idler;]Landroid/os/Message;Landroid/os/Message;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/os/MessageQueue;->postSyncBarrier()I HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I HSPLandroid/os/MessageQueue;->quit(Z)V @@ -12877,12 +12918,12 @@ HSPLandroid/os/Temperature;-><init>(FILjava/lang/String;I)V HSPLandroid/os/Temperature;->getStatus()I HSPLandroid/os/Temperature;->isValidStatus(I)Z HSPLandroid/os/ThreadLocalWorkSource$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLandroid/os/ThreadLocalWorkSource;->getToken()J -HSPLandroid/os/ThreadLocalWorkSource;->getUid()I +HSPLandroid/os/ThreadLocalWorkSource;->getToken()J+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/os/ThreadLocalWorkSource;->getUid()I+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/os/ThreadLocalWorkSource;->lambda$static$0()[I HSPLandroid/os/ThreadLocalWorkSource;->parseUidFromToken(J)I -HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V -HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J +HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V HSPLandroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V HSPLandroid/os/Trace;->asyncTraceForTrackBegin(JLjava/lang/String;Ljava/lang/String;I)V @@ -12943,10 +12984,6 @@ HSPLandroid/os/UserManager$3;->bypass(Ljava/lang/Object;)Z HSPLandroid/os/UserManager$3;->recompute(Ljava/lang/Integer;)Ljava/lang/String; HSPLandroid/os/UserManager$3;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/os/UserManager$4;-><init>(Landroid/os/UserManager;ILjava/lang/String;)V -HSPLandroid/os/UserManager$4;->bypass(Ljava/lang/Integer;)Z -HSPLandroid/os/UserManager$4;->bypass(Ljava/lang/Object;)Z+]Landroid/os/UserManager$4;Landroid/os/UserManager$4; -HSPLandroid/os/UserManager$4;->recompute(Ljava/lang/Integer;)Landroid/content/pm/UserProperties;+]Ljava/lang/Integer;Ljava/lang/Integer; -HSPLandroid/os/UserManager$4;->recompute(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/os/UserManager$4;Landroid/os/UserManager$4; HSPLandroid/os/UserManager;->-$$Nest$fgetmService(Landroid/os/UserManager;)Landroid/os/IUserManager; HSPLandroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V HSPLandroid/os/UserManager;->convertUserIdsToUserHandles([I)Ljava/util/List; @@ -12973,7 +13010,6 @@ HSPLandroid/os/UserManager;->getUserHandle(I)I HSPLandroid/os/UserManager;->getUserHandles(Z)Ljava/util/List; HSPLandroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo; HSPLandroid/os/UserManager;->getUserProfiles()Ljava/util/List; -HSPLandroid/os/UserManager;->getUserProperties(Landroid/os/UserHandle;)Landroid/content/pm/UserProperties;+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/app/PropertyInvalidatedCache;Landroid/os/UserManager$4; HSPLandroid/os/UserManager;->getUserRestrictionSources(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List; HSPLandroid/os/UserManager;->getUserRestrictions()Landroid/os/Bundle; HSPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle; @@ -13009,8 +13045,6 @@ HSPLandroid/os/UserManager;->supportsMultipleUsers()Z HSPLandroid/os/VibrationAttributes$Builder;-><init>()V HSPLandroid/os/VibrationAttributes$Builder;->build()Landroid/os/VibrationAttributes; HSPLandroid/os/VibrationAttributes$Builder;->setUsage(Landroid/media/AudioAttributes;)V -HSPLandroid/os/VibrationAttributes;-><init>(III)V -HSPLandroid/os/VibrationAttributes;-><init>(IIILandroid/os/VibrationAttributes-IA;)V HSPLandroid/os/VibrationEffect$Composed;->validate()V HSPLandroid/os/VibrationEffect;-><init>()V HSPLandroid/os/VibrationEffect;->createOneShot(JI)Landroid/os/VibrationEffect; @@ -13768,7 +13802,9 @@ HSPLandroid/speech/tts/TtsEngines;->isEngineInstalled(Ljava/lang/String;)Z HSPLandroid/speech/tts/TtsEngines;->isSystemEngine(Landroid/content/pm/ServiceInfo;)Z HSPLandroid/sysprop/DisplayProperties;->debug_force_rtl()Ljava/util/Optional; HSPLandroid/sysprop/DisplayProperties;->debug_layout()Ljava/util/Optional; +HSPLandroid/sysprop/DisplayProperties;->debug_vri_package()Ljava/util/Optional; HSPLandroid/sysprop/DisplayProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean; +HSPLandroid/sysprop/DisplayProperties;->tryParseString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/sysprop/InputProperties;->tryParseString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/sysprop/TelephonyProperties$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/sysprop/TelephonyProperties$$ExternalSyntheticLambda10;->apply(Ljava/lang/Object;)Ljava/lang/Object; @@ -15913,12 +15949,14 @@ HSPLandroid/view/Choreographer$FrameData;->getPreferredFrameTimeline()Landroid/v HSPLandroid/view/Choreographer$FrameData;->setInCallback(Z)V+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameData;->update(JI)V HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver$VsyncEventData;)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; +HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver;J)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/DisplayEventReceiver;Landroid/view/Choreographer$FrameDisplayEventReceiver;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V HSPLandroid/view/Choreographer$FrameHandler;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;)V HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V HSPLandroid/view/Choreographer$FrameTimeline;->-$$Nest$fgetmDeadlineNanos(Landroid/view/Choreographer$FrameTimeline;)J +HSPLandroid/view/Choreographer$FrameTimeline;->-$$Nest$fgetmVsyncId(Landroid/view/Choreographer$FrameTimeline;)J HSPLandroid/view/Choreographer$FrameTimeline;-><init>()V HSPLandroid/view/Choreographer$FrameTimeline;->getDeadlineNanos()J HSPLandroid/view/Choreographer$FrameTimeline;->setInCallback(Z)V @@ -15930,7 +15968,7 @@ HSPLandroid/view/Choreographer;->-$$Nest$sfputmMainInstance(Landroid/view/Choreo HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;ILandroid/view/Choreographer-IA;)V -HSPLandroid/view/Choreographer;->doCallbacks(IJ)V +HSPLandroid/view/Choreographer;->doCallbacks(IJ)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V HSPLandroid/view/Choreographer;->doScheduleCallback(I)V HSPLandroid/view/Choreographer;->doScheduleVsync()V @@ -16081,6 +16119,7 @@ HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>()V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>(JJJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData;-><init>()V +HSPLandroid/view/DisplayEventReceiver$VsyncEventData;-><init>([Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;IIJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline; HSPLandroid/view/DisplayEventReceiver$VsyncEventData;->preferredFrameTimeline()Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline; HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;II)V @@ -16351,6 +16390,9 @@ HSPLandroid/view/InsetsAnimationThreadControlRunner;->getControllingTypes()I HSPLandroid/view/InsetsAnimationThreadControlRunner;->getTypes()I HSPLandroid/view/InsetsAnimationThreadControlRunner;->notifyControlRevoked(I)V HSPLandroid/view/InsetsAnimationThreadControlRunner;->updateSurfacePosition(Landroid/util/SparseArray;)V +HSPLandroid/view/InsetsController$$ExternalSyntheticLambda9;-><init>(Landroid/view/InsetsController;)V +HSPLandroid/view/InsetsController$1;-><init>(Landroid/view/InsetsController;)V +HSPLandroid/view/InsetsController$2;-><init>(Landroid/view/InsetsController;)V HSPLandroid/view/InsetsController$2;->onFinish(Landroid/view/InsetsState;Landroid/view/InsetsState;)V HSPLandroid/view/InsetsController$3;-><init>(Landroid/view/InsetsController;)V HSPLandroid/view/InsetsController$3;->onFinish(Landroid/view/InsetsState;Landroid/view/InsetsState;)V @@ -16376,11 +16418,13 @@ HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onReady(Lan HSPLandroid/view/InsetsController$RunningAnimation;-><init>(Landroid/view/InsetsAnimationControlRunner;I)V HSPLandroid/view/InsetsController;->-$$Nest$sfgetsEvaluator()Landroid/animation/TypeEvaluator; HSPLandroid/view/InsetsController;-><init>(Landroid/view/InsetsController$Host;)V +HSPLandroid/view/InsetsController;-><init>(Landroid/view/InsetsController$Host;Lcom/android/internal/util/function/TriFunction;Landroid/os/Handler;)V HSPLandroid/view/InsetsController;->abortPendingImeControlRequest()V HSPLandroid/view/InsetsController;->applyAnimation(IZZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->applyAnimation(IZZZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->applyLocalVisibilityOverride()V HSPLandroid/view/InsetsController;->calculateControllableTypes()I +HSPLandroid/view/InsetsController;->calculateInsets(ZIIIII)Landroid/view/WindowInsets; HSPLandroid/view/InsetsController;->calculateVisibleInsets(IIII)Landroid/graphics/Insets; HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->cancelExistingAnimations()V @@ -16393,10 +16437,12 @@ HSPLandroid/view/InsetsController;->getAnimationType(I)I HSPLandroid/view/InsetsController;->getHost()Landroid/view/InsetsController$Host; HSPLandroid/view/InsetsController;->getLastDispatchedState()Landroid/view/InsetsState; HSPLandroid/view/InsetsController;->getRequestedVisibleTypes()I +HSPLandroid/view/InsetsController;->getSourceConsumer(II)Landroid/view/InsetsSourceConsumer; HSPLandroid/view/InsetsController;->getState()Landroid/view/InsetsState; HSPLandroid/view/InsetsController;->getSystemBarsAppearance()I HSPLandroid/view/InsetsController;->hide(I)V HSPLandroid/view/InsetsController;->invokeControllableInsetsChangedListeners()I +HSPLandroid/view/InsetsController;->lambda$new$2(Landroid/view/InsetsController;Ljava/lang/Integer;Ljava/lang/Integer;)Landroid/view/InsetsSourceConsumer; HSPLandroid/view/InsetsController;->lambda$static$1(FLandroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets; HSPLandroid/view/InsetsController;->notifyControlRevoked(Landroid/view/InsetsSourceConsumer;)V HSPLandroid/view/InsetsController;->notifyFinished(Landroid/view/InsetsAnimationControlRunner;Z)V @@ -16424,11 +16470,13 @@ HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroi HSPLandroid/view/InsetsSource;->calculateVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Insets; HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z +HSPLandroid/view/InsetsSource;->getFlags()I HSPLandroid/view/InsetsSource;->getFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->getId()I HSPLandroid/view/InsetsSource;->getIntersection(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/InsetsSource;->getType()I HSPLandroid/view/InsetsSource;->getVisibleFrame()Landroid/graphics/Rect; +HSPLandroid/view/InsetsSource;->hasFlags(I)Z HSPLandroid/view/InsetsSource;->isVisible()Z HSPLandroid/view/InsetsSource;->setVisible(Z)Landroid/view/InsetsSource; HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V @@ -16477,6 +16525,7 @@ HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZIIIIILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->calculateRelativeCutout(Landroid/graphics/Rect;)Landroid/view/DisplayCutout; HSPLandroid/view/InsetsState;->calculateRelativeDisplayShape(Landroid/graphics/Rect;)Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->calculateRelativePrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/PrivacyIndicatorBounds; @@ -16484,6 +16533,7 @@ HSPLandroid/view/InsetsState;->calculateRelativeRoundedCorners(Landroid/graphics HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Insets; HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z +HSPLandroid/view/InsetsState;->clearsCompatInsets(IIII)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;ZZ)Z HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout; @@ -16751,6 +16801,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl HSPLandroid/view/SurfaceControl$Transaction;->notifyReparentedSurfaces()V HSPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->sanitize(II)V HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; @@ -16768,8 +16819,8 @@ HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/Surfac HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeApplyTransaction(JZ)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeCreateTransaction()J +HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSanitize(JII)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetDestinationFrame(JJIIII)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetExtendedRangeBrightness(JJFF)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFlags(JJII)V @@ -16777,6 +16828,7 @@ HSPLandroid/view/SurfaceControl;-><init>()V HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceControl;Ljava/lang/String;)V HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;Landroid/util/SparseIntArray;Ljava/lang/ref/WeakReference;Ljava/lang/String;)V +HSPLandroid/view/SurfaceControl;->addToRegistry()V HSPLandroid/view/SurfaceControl;->assignNativeObject(JLjava/lang/String;)V HSPLandroid/view/SurfaceControl;->checkNotReleased()V HSPLandroid/view/SurfaceControl;->copyFrom(Landroid/view/SurfaceControl;Ljava/lang/String;)V @@ -16786,8 +16838,13 @@ HSPLandroid/view/SurfaceControl;->isSameSurface(Landroid/view/SurfaceControl;)Z HSPLandroid/view/SurfaceControl;->isValid()Z HSPLandroid/view/SurfaceControl;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/view/SurfaceControl;->release()V +HSPLandroid/view/SurfaceControl;->removeFromRegistry()V HSPLandroid/view/SurfaceControl;->rotationToBufferTransform(I)I HSPLandroid/view/SurfaceControl;->setTransformHint(I)V +HSPLandroid/view/SurfaceControlRegistry$DefaultReporter;-><init>()V +HSPLandroid/view/SurfaceControlRegistry$DefaultReporter;-><init>(Landroid/view/SurfaceControlRegistry$DefaultReporter-IA;)V +HSPLandroid/view/SurfaceControlRegistry;-><clinit>()V +HSPLandroid/view/SurfaceControlRegistry;->getProcessInstance()Landroid/view/SurfaceControlRegistry; HSPLandroid/view/SurfaceSession;-><init>()V HSPLandroid/view/SurfaceSession;->finalize()V HSPLandroid/view/SurfaceSession;->kill()V @@ -16918,6 +16975,7 @@ HSPLandroid/view/VelocityTracker;->recycle()V HSPLandroid/view/View$$ExternalSyntheticLambda4;-><init>(Landroid/view/View;)V HSPLandroid/view/View$$ExternalSyntheticLambda4;->run()V HSPLandroid/view/View$$ExternalSyntheticLambda5;->run()V +HSPLandroid/view/View$$ExternalSyntheticLambda7;-><init>(Landroid/view/View;)V HSPLandroid/view/View$$ExternalSyntheticLambda7;->run()V HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object; @@ -17502,6 +17560,7 @@ HSPLandroid/view/View;->setAlpha(F)V HSPLandroid/view/View;->setAlphaInternal(F)V HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V +HSPLandroid/view/View;->setAutoHandwritingEnabled(Z)V HSPLandroid/view/View;->setAutofilled(ZZ)V HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setBackgroundBounds()V @@ -17625,7 +17684,7 @@ HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V HSPLandroid/view/View;->unFocus(Landroid/view/View;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V -HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode; +HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/view/View;missing_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V HSPLandroid/view/View;->updateHandwritingArea()V HSPLandroid/view/View;->updateKeepClearRects()V @@ -17751,7 +17810,7 @@ HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V +HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V @@ -17765,7 +17824,7 @@ HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V @@ -17851,7 +17910,7 @@ HSPLandroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View; HSPLandroid/view/ViewGroup;->onAttachedToWindow()V HSPLandroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I -HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V +HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->onDescendantUnbufferedRequested()V HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z @@ -17863,7 +17922,7 @@ HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V HSPLandroid/view/ViewGroup;->populateChildrenForContentCapture(Ljava/util/ArrayList;)V HSPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V -HSPLandroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V +HSPLandroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->removeAllViews()V HSPLandroid/view/ViewGroup;->removeAllViewsInLayout()V HSPLandroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V @@ -17971,6 +18030,7 @@ HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAni HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda0;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda17;-><init>(Landroid/view/ViewRootImpl;)V +HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda2;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda3;->run()V HSPLandroid/view/ViewRootImpl$2;-><init>(Landroid/view/ViewRootImpl;Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V HSPLandroid/view/ViewRootImpl$2;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; @@ -17983,6 +18043,9 @@ HSPLandroid/view/ViewRootImpl$6$$ExternalSyntheticLambda0;->onFrameCommit(Z)V HSPLandroid/view/ViewRootImpl$6;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; HSPLandroid/view/ViewRootImpl$7;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$7;->run()V +HSPLandroid/view/ViewRootImpl$8$$ExternalSyntheticLambda1;-><init>(Landroid/view/ViewRootImpl$8;JLandroid/window/SurfaceSyncGroup;Z)V +HSPLandroid/view/ViewRootImpl$8$$ExternalSyntheticLambda1;->onFrameCommit(Z)V +HSPLandroid/view/ViewRootImpl$8;->lambda$onFrameDraw$1(JLandroid/window/SurfaceSyncGroup;ZZ)V HSPLandroid/view/ViewRootImpl$8;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureNoConnection()V @@ -18120,6 +18183,7 @@ HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V HSPLandroid/view/ViewRootImpl;->doTraversal()V +HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V @@ -18177,7 +18241,7 @@ HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z HSPLandroid/view/ViewRootImpl;->isContentCaptureReallyEnabled()Z -HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z +HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; HSPLandroid/view/ViewRootImpl;->isInLayout()Z HSPLandroid/view/ViewRootImpl;->isInTouchMode()Z HSPLandroid/view/ViewRootImpl;->isInWMSRequestedSync()Z @@ -18185,6 +18249,7 @@ HSPLandroid/view/ViewRootImpl;->isLayoutRequested()Z HSPLandroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewRootImpl;->isTextDirectionResolved()Z HSPLandroid/view/ViewRootImpl;->keepClearRectsChanged(Z)V +HSPLandroid/view/ViewRootImpl;->lambda$createSyncIfNeeded$4(ILandroid/view/SurfaceControl$Transaction;)V HSPLandroid/view/ViewRootImpl;->lambda$getOrCreateSurfaceSyncGroup$14()V HSPLandroid/view/ViewRootImpl;->lambda$new$0(Landroid/view/View;)Ljava/util/List; HSPLandroid/view/ViewRootImpl;->lambda$new$1(Landroid/view/View;)Ljava/util/List; @@ -18210,6 +18275,7 @@ HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V +HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup; HSPLandroid/view/ViewRootImpl;->performHapticFeedback(IZ)Z HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V HSPLandroid/view/ViewRootImpl;->performMeasure(II)V @@ -18223,6 +18289,7 @@ HSPLandroid/view/ViewRootImpl;->recycleQueuedInputEvent(Landroid/view/ViewRootIm HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewRootImpl;->registerBackCallbackOnWindow()V HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V +HSPLandroid/view/ViewRootImpl;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V @@ -18262,11 +18329,10 @@ HSPLandroid/view/ViewRootImpl;->unscheduleTraversals()V HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V HSPLandroid/view/ViewRootImpl;->updateBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Z HSPLandroid/view/ViewRootImpl;->updateCaptionInsets()Z -HSPLandroid/view/ViewRootImpl;->updateColorModeIfNeeded(I)V HSPLandroid/view/ViewRootImpl;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootImpl;->updateCompatSystemUiVisibilityInfo(IIII)V HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V -HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z +HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z+]Landroid/view/WindowCallbacks;Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->updateForceDarkMode()V HSPLandroid/view/ViewRootImpl;->updateInternalDisplay(ILandroid/content/res/Resources;)V HSPLandroid/view/ViewRootImpl;->updateKeepClearForAccessibilityFocusRect()V @@ -18421,6 +18487,7 @@ HSPLandroid/view/WindowInsets$Type;->statusBars()I HSPLandroid/view/WindowInsets$Type;->systemBars()I HSPLandroid/view/WindowInsets$Type;->systemGestures()I HSPLandroid/view/WindowInsets$Type;->toString(I)Ljava/lang/String; +HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;IZ)V+]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;][Landroid/graphics/Insets;[Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->consumeStableInsets()Landroid/view/WindowInsets; @@ -20598,6 +20665,7 @@ HSPLandroid/widget/TextView;->isPasswordInputType(I)Z HSPLandroid/widget/TextView;->isPositionVisible(FF)Z HSPLandroid/widget/TextView;->isShowingHint()Z HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z +HSPLandroid/widget/TextView;->isTextAutofillable()Z+]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->isTextEditable()Z HSPLandroid/widget/TextView;->isTextSelectable()Z HSPLandroid/widget/TextView;->isVisibleToAccessibility()Z @@ -20731,6 +20799,7 @@ HSPLandroid/widget/TextView;->setTextSize(F)V HSPLandroid/widget/TextView;->setTextSize(IF)V HSPLandroid/widget/TextView;->setTextSizeInternal(IFZ)V HSPLandroid/widget/TextView;->setTransformationMethod(Landroid/text/method/TransformationMethod;)V +HSPLandroid/widget/TextView;->setTransformationMethodInternal(Landroid/text/method/TransformationMethod;Z)V+]Landroid/text/method/TransformationMethod2;Landroid/text/method/AllCapsTransformationMethod; HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V @@ -20872,6 +20941,7 @@ HSPLandroid/window/SurfaceSyncGroup;-><init>(Ljava/lang/String;Ljava/util/functi HSPLandroid/window/SurfaceSyncGroup;->add(Landroid/window/ISurfaceSyncGroup;ZLjava/lang/Runnable;)Z HSPLandroid/window/SurfaceSyncGroup;->addLocalSync(Landroid/window/ISurfaceSyncGroup;Z)Z HSPLandroid/window/SurfaceSyncGroup;->addSyncCompleteCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V +HSPLandroid/window/SurfaceSyncGroup;->addTimeout()V HSPLandroid/window/SurfaceSyncGroup;->checkIfSyncIsComplete()V HSPLandroid/window/SurfaceSyncGroup;->createTransactionReadyCallback(Z)Landroid/window/ITransactionReadyCallback; HSPLandroid/window/SurfaceSyncGroup;->getSurfaceSyncGroup(Landroid/window/ISurfaceSyncGroup;)Landroid/window/SurfaceSyncGroup; @@ -20913,9 +20983,11 @@ HSPLandroid/window/WindowMetricsController;->getWindowInsetsFromServerForDisplay HSPLandroid/window/WindowMetricsController;->getWindowMetricsInternal(Z)Landroid/view/WindowMetrics; HSPLandroid/window/WindowMetricsController;->lambda$getWindowMetricsInternal$0(Landroid/os/IBinder;Landroid/graphics/Rect;ZI)Landroid/view/WindowInsets; HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->-$$Nest$mgetContext(Landroid/window/WindowOnBackInvokedDispatcher$Checker;)Landroid/content/Context; +HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->-$$Nest$smisOnBackInvokedCallbackEnabled(Landroid/content/Context;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;-><init>(Landroid/content/Context;)V HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->checkApplicationCallbackRegistration(ILandroid/window/OnBackInvokedCallback;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->getContext()Landroid/content/Context; +HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->isOnBackInvokedCallbackEnabled(Landroid/content/Context;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0;-><init>(Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;)V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0;->run()V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda2;->run()V @@ -22532,6 +22604,13 @@ Landroid/animation/AnimationHandler$AnimationFrameCallback; Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider; Landroid/animation/AnimationHandler$MyFrameCallbackProvider; Landroid/animation/AnimationHandler; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda3; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda4; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda5; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6; Landroid/animation/Animator$AnimatorCaller; Landroid/animation/Animator$AnimatorConstantState; Landroid/animation/Animator$AnimatorListener; @@ -22809,6 +22888,7 @@ Landroid/app/BackgroundServiceStartNotAllowedException; Landroid/app/BroadcastOptions; Landroid/app/ClientTransactionHandler; Landroid/app/ComponentOptions; +Landroid/app/ConfigurationChangedListenerController; Landroid/app/ConfigurationController; Landroid/app/ContentProviderHolder$1; Landroid/app/ContentProviderHolder; @@ -28962,7 +29042,6 @@ Landroid/security/KeyChain; Landroid/security/KeyChainAliasCallback; Landroid/security/KeyChainException; Landroid/security/KeyPairGeneratorSpec; -Landroid/security/KeyStore$State; Landroid/security/KeyStore2$$ExternalSyntheticLambda0; Landroid/security/KeyStore2$$ExternalSyntheticLambda1; Landroid/security/KeyStore2$$ExternalSyntheticLambda3; @@ -28984,12 +29063,6 @@ Landroid/security/Scrypt; Landroid/security/attestationverification/AttestationVerificationManager; Landroid/security/keymaster/ExportResult$1; Landroid/security/keymaster/ExportResult; -Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub; -Landroid/security/keymaster/IKeyAttestationApplicationIdProvider; -Landroid/security/keymaster/KeyAttestationApplicationId$1; -Landroid/security/keymaster/KeyAttestationApplicationId; -Landroid/security/keymaster/KeyAttestationPackageInfo$1; -Landroid/security/keymaster/KeyAttestationPackageInfo; Landroid/security/keymaster/KeyCharacteristics$1; Landroid/security/keymaster/KeyCharacteristics; Landroid/security/keymaster/KeymasterArgument$1; @@ -31055,6 +31128,8 @@ Landroid/view/SurfaceControl$TrustedPresentationCallback; Landroid/view/SurfaceControl$TrustedPresentationThresholds; Landroid/view/SurfaceControl; Landroid/view/SurfaceControlHdrLayerInfoListener; +Landroid/view/SurfaceControlRegistry$DefaultReporter; +Landroid/view/SurfaceControlRegistry$Reporter; Landroid/view/SurfaceControlRegistry; Landroid/view/SurfaceControlViewHost$SurfacePackage$1; Landroid/view/SurfaceControlViewHost$SurfacePackage; @@ -31612,11 +31687,15 @@ Landroid/view/inputmethod/JoinOrSplitGesture; Landroid/view/inputmethod/ParcelableHandwritingGesture$1; Landroid/view/inputmethod/ParcelableHandwritingGesture; Landroid/view/inputmethod/PreviewableHandwritingGesture; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda11; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda24; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda25; -Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda36; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda27; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda28; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda37; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda39; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda40; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda42; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda8; Landroid/view/inputmethod/RemoteInputConnectionImpl$1; Landroid/view/inputmethod/RemoteInputConnectionImpl$KnownAlwaysTrueEndBatchEditCache; @@ -35862,7 +35941,6 @@ Lgov/nist/javax/sip/stack/UDPMessageChannel$PingBackTimerTask; Lgov/nist/javax/sip/stack/UDPMessageChannel; Lgov/nist/javax/sip/stack/UDPMessageProcessor; Ljava/nio/DirectByteBuffer; -Ljava/util/GregorianCalendar; Ljavax/microedition/khronos/egl/EGL10; Ljavax/microedition/khronos/egl/EGL11; Ljavax/microedition/khronos/egl/EGL; @@ -36320,7 +36398,6 @@ Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl; [Landroid/renderscript/Element$DataKind; [Landroid/renderscript/Element$DataType; [Landroid/renderscript/RenderScript$ContextType; -[Landroid/security/KeyStore$State; [Landroid/service/notification/NotificationListenerService$Ranking; [Landroid/service/notification/StatusBarNotification; [Landroid/service/notification/ZenModeConfig$ZenRule; diff --git a/boot/preloaded-classes b/boot/preloaded-classes index 187bfcb6a84d..0f69d13d1a59 100644 --- a/boot/preloaded-classes +++ b/boot/preloaded-classes @@ -93,6 +93,7 @@ android.animation.AnimationHandler$AnimationFrameCallback android.animation.AnimationHandler$AnimationFrameCallbackProvider android.animation.AnimationHandler$MyFrameCallbackProvider android.animation.AnimationHandler +android.animation.Animator$AnimatorCaller android.animation.Animator$AnimatorConstantState android.animation.Animator$AnimatorListener android.animation.Animator$AnimatorPauseListener @@ -100,6 +101,7 @@ android.animation.Animator android.animation.AnimatorInflater$PathDataEvaluator android.animation.AnimatorInflater android.animation.AnimatorListenerAdapter +android.animation.AnimatorSet$$ExternalSyntheticLambda0 android.animation.AnimatorSet$1 android.animation.AnimatorSet$2 android.animation.AnimatorSet$3 @@ -621,7 +623,9 @@ android.app.NotificationManager android.app.OnActivityPausedListener android.app.PackageInstallObserver$1 android.app.PackageInstallObserver +android.app.PendingIntent$$ExternalSyntheticLambda0 android.app.PendingIntent$$ExternalSyntheticLambda1 +android.app.PendingIntent$$ExternalSyntheticLambda2 android.app.PendingIntent$1 android.app.PendingIntent$CancelListener android.app.PendingIntent$CanceledException @@ -690,12 +694,14 @@ android.app.ServiceStartArgs android.app.ServiceStartNotAllowedException android.app.SharedElementCallback$1 android.app.SharedElementCallback +android.app.SharedPreferencesImpl$$ExternalSyntheticLambda0 android.app.SharedPreferencesImpl$1 android.app.SharedPreferencesImpl$EditorImpl$$ExternalSyntheticLambda0 android.app.SharedPreferencesImpl$EditorImpl$1 android.app.SharedPreferencesImpl$EditorImpl$2 android.app.SharedPreferencesImpl$EditorImpl android.app.SharedPreferencesImpl$MemoryCommitResult +android.app.SharedPreferencesImpl$SharedPreferencesThreadFactory android.app.SharedPreferencesImpl android.app.StackTrace android.app.StatusBarManager @@ -851,6 +857,7 @@ android.app.SystemServiceRegistry$StaticServiceProducerWithoutBinder android.app.SystemServiceRegistry android.app.TaskInfo android.app.TaskStackListener +android.app.UiModeManager$Globals android.app.UiModeManager$InnerListener android.app.UiModeManager$OnProjectionStateChangedListener android.app.UiModeManager$OnProjectionStateChangedListenerResourceManager @@ -1263,6 +1270,7 @@ android.app.wallpapereffectsgeneration.WallpaperEffectsGenerationManager android.app.wearable.WearableSensingManager android.apphibernation.AppHibernationManager android.appwidget.AppWidgetManager$$ExternalSyntheticLambda0 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda10 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda1 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda2 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda3 @@ -2343,6 +2351,8 @@ android.gsi.GsiProgress android.gsi.IGsiService$Stub$Proxy android.gsi.IGsiService$Stub android.gsi.IGsiService +android.gui.StalledTransactionInfo$1 +android.gui.StalledTransactionInfo android.hardware.Camera$CameraInfo android.hardware.Camera$Face android.hardware.Camera @@ -2470,6 +2480,7 @@ android.hardware.camera2.CameraManager$CameraManagerGlobal$6 android.hardware.camera2.CameraManager$CameraManagerGlobal$7 android.hardware.camera2.CameraManager$CameraManagerGlobal android.hardware.camera2.CameraManager$DeviceStateListener +android.hardware.camera2.CameraManager$FoldStateListener$$ExternalSyntheticLambda0 android.hardware.camera2.CameraManager$FoldStateListener android.hardware.camera2.CameraManager$TorchCallback android.hardware.camera2.CameraManager @@ -2654,6 +2665,9 @@ android.hardware.display.DeviceProductInfo$1 android.hardware.display.DeviceProductInfo$ManufactureDate$1 android.hardware.display.DeviceProductInfo$ManufactureDate android.hardware.display.DeviceProductInfo +android.hardware.display.DisplayManager$$ExternalSyntheticLambda0 +android.hardware.display.DisplayManager$$ExternalSyntheticLambda1 +android.hardware.display.DisplayManager$$ExternalSyntheticLambda2 android.hardware.display.DisplayManager$DisplayListener android.hardware.display.DisplayManager$WeakDisplayCache android.hardware.display.DisplayManager @@ -2772,6 +2786,7 @@ android.hardware.input.InputManager android.hardware.input.InputManagerGlobal$InputDeviceListenerDelegate android.hardware.input.InputManagerGlobal$OnTabletModeChangedListenerDelegate android.hardware.input.InputManagerGlobal +android.hardware.input.InputSettings android.hardware.input.KeyboardLayout$1 android.hardware.input.KeyboardLayout android.hardware.input.TouchCalibration$1 @@ -4764,6 +4779,7 @@ android.media.AudioManager$NativeEventHandlerDelegate android.media.AudioManager$OnAmPortUpdateListener android.media.AudioManager$OnAudioFocusChangeListener android.media.AudioManager$OnAudioPortUpdateListener +android.media.AudioManager$OnModeChangedListener android.media.AudioManager$PlaybackConfigChangeCallbackData android.media.AudioManager$RecordConfigChangeCallbackData android.media.AudioManager$SafeWaitObject @@ -6493,7 +6509,6 @@ android.security.KeyChain android.security.KeyChainAliasCallback android.security.KeyChainException android.security.KeyPairGeneratorSpec -android.security.KeyStore$State android.security.KeyStore2$$ExternalSyntheticLambda0 android.security.KeyStore2$$ExternalSyntheticLambda1 android.security.KeyStore2$$ExternalSyntheticLambda3 @@ -6515,12 +6530,6 @@ android.security.Scrypt android.security.attestationverification.AttestationVerificationManager android.security.keymaster.ExportResult$1 android.security.keymaster.ExportResult -android.security.keymaster.IKeyAttestationApplicationIdProvider$Stub -android.security.keymaster.IKeyAttestationApplicationIdProvider -android.security.keymaster.KeyAttestationApplicationId$1 -android.security.keymaster.KeyAttestationApplicationId -android.security.keymaster.KeyAttestationPackageInfo$1 -android.security.keymaster.KeyAttestationPackageInfo android.security.keymaster.KeyCharacteristics$1 android.security.keymaster.KeyCharacteristics android.security.keymaster.KeymasterArgument$1 @@ -8377,6 +8386,8 @@ android.view.IScrollCaptureCallbacks android.view.IScrollCaptureResponseListener$Stub$Proxy android.view.IScrollCaptureResponseListener$Stub android.view.IScrollCaptureResponseListener +android.view.ISurfaceControlViewHostParent$Stub +android.view.ISurfaceControlViewHostParent android.view.ISystemGestureExclusionListener$Stub$Proxy android.view.ISystemGestureExclusionListener$Stub android.view.ISystemGestureExclusionListener @@ -8577,6 +8588,7 @@ android.view.SurfaceControl$TrustedPresentationCallback android.view.SurfaceControl$TrustedPresentationThresholds android.view.SurfaceControl android.view.SurfaceControlHdrLayerInfoListener +android.view.SurfaceControlRegistry android.view.SurfaceControlViewHost$SurfacePackage$1 android.view.SurfaceControlViewHost$SurfacePackage android.view.SurfaceHolder$Callback2 @@ -8590,6 +8602,7 @@ android.view.SurfaceView$$ExternalSyntheticLambda3 android.view.SurfaceView$$ExternalSyntheticLambda4 android.view.SurfaceView$$ExternalSyntheticLambda5 android.view.SurfaceView$1 +android.view.SurfaceView$2 android.view.SurfaceView$SurfaceViewPositionUpdateListener android.view.SurfaceView$SyncBufferTransactionCallback android.view.SurfaceView @@ -8726,6 +8739,7 @@ android.view.ViewRootImpl$$ExternalSyntheticLambda15 android.view.ViewRootImpl$$ExternalSyntheticLambda16 android.view.ViewRootImpl$$ExternalSyntheticLambda17 android.view.ViewRootImpl$$ExternalSyntheticLambda18 +android.view.ViewRootImpl$$ExternalSyntheticLambda19 android.view.ViewRootImpl$$ExternalSyntheticLambda1 android.view.ViewRootImpl$$ExternalSyntheticLambda2 android.view.ViewRootImpl$$ExternalSyntheticLambda3 @@ -8744,6 +8758,7 @@ android.view.ViewRootImpl$6$$ExternalSyntheticLambda0 android.view.ViewRootImpl$6 android.view.ViewRootImpl$7 android.view.ViewRootImpl$8$$ExternalSyntheticLambda0 +android.view.ViewRootImpl$8$$ExternalSyntheticLambda1 android.view.ViewRootImpl$8 android.view.ViewRootImpl$AccessibilityInteractionConnection android.view.ViewRootImpl$AccessibilityInteractionConnectionManager @@ -9870,6 +9885,7 @@ android.window.WindowInfosListener$DisplayInfo android.window.WindowInfosListener android.window.WindowMetricsController$$ExternalSyntheticLambda0 android.window.WindowMetricsController +android.window.WindowOnBackInvokedDispatcher$$ExternalSyntheticLambda0 android.window.WindowOnBackInvokedDispatcher$Checker android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0 android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda1 @@ -10620,6 +10636,9 @@ com.android.internal.compat.IPlatformCompatNative$Stub com.android.internal.compat.IPlatformCompatNative com.android.internal.config.appcloning.AppCloningDeviceConfigHelper$$ExternalSyntheticLambda0 com.android.internal.config.appcloning.AppCloningDeviceConfigHelper +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags$FlagResolver +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags$NotificationFlags +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags com.android.internal.content.F2fsUtils com.android.internal.content.NativeLibraryHelper$Handle com.android.internal.content.NativeLibraryHelper @@ -11379,6 +11398,7 @@ com.android.internal.telephony.Phone$$ExternalSyntheticLambda0 com.android.internal.telephony.Phone$NetworkSelectMessage com.android.internal.telephony.Phone$SilentRedialParam com.android.internal.telephony.Phone +com.android.internal.telephony.PhoneConfigurationManager$$ExternalSyntheticLambda0 com.android.internal.telephony.PhoneConfigurationManager$ConfigManagerHandler com.android.internal.telephony.PhoneConfigurationManager$MockableInterface com.android.internal.telephony.PhoneConfigurationManager @@ -12546,6 +12566,8 @@ com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda1 com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda2 com.android.internal.util.LatencyTracker$Action com.android.internal.util.LatencyTracker$ActionProperties +com.android.internal.util.LatencyTracker$FrameworkStatsLogEvent +com.android.internal.util.LatencyTracker$Session$$ExternalSyntheticLambda0 com.android.internal.util.LatencyTracker$Session com.android.internal.util.LineBreakBufferedWriter com.android.internal.util.LocalLog @@ -13359,7 +13381,6 @@ gov.nist.javax.sip.stack.UDPMessageChannel$PingBackTimerTask gov.nist.javax.sip.stack.UDPMessageChannel gov.nist.javax.sip.stack.UDPMessageProcessor java.nio.DirectByteBuffer -java.util.GregorianCalendar javax.microedition.khronos.egl.EGL10 javax.microedition.khronos.egl.EGL11 javax.microedition.khronos.egl.EGL @@ -13816,7 +13837,6 @@ org.ccil.cowan.tagsoup.jaxp.SAXParserImpl [Landroid.renderscript.Element$DataKind; [Landroid.renderscript.Element$DataType; [Landroid.renderscript.RenderScript$ContextType; -[Landroid.security.KeyStore$State; [Landroid.service.notification.NotificationListenerService$Ranking; [Landroid.service.notification.StatusBarNotification; [Landroid.service.notification.ZenModeConfig$ZenRule; diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt index 9d4a2f58f30b..9abac0f47100 100644 --- a/config/boot-image-profile.txt +++ b/config/boot-image-profile.txt @@ -143,6 +143,18 @@ HSPLandroid/animation/AnimationHandler;->requestAnimatorsEnabledImpl(ZLjava/lang HSPLandroid/animation/AnimationHandler;->resumeAnimators()V HSPLandroid/animation/AnimationHandler;->setAnimatorPausingEnabled(Z)V HSPLandroid/animation/AnimationHandler;->setProvider(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;)V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda3;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda4;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda5;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;-><init>()V +HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V +HSPLandroid/animation/Animator$AnimatorCaller;-><clinit>()V +HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V+]Landroid/animation/ValueAnimator$AnimatorUpdateListener;missing_types HSPLandroid/animation/Animator$AnimatorConstantState;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator; @@ -153,6 +165,7 @@ HSPLandroid/animation/Animator;-><init>()V HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V +HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator; HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/Animator;->getBackgroundPauseDelay()J @@ -160,6 +173,7 @@ HSPLandroid/animation/Animator;->getChangingConfigurations()I HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList; HSPLandroid/animation/Animator;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/Animator;->notifyEndListeners(Z)V +HSPLandroid/animation/Animator;->notifyListeners(Landroid/animation/Animator$AnimatorCaller;Z)V+]Landroid/animation/Animator;missing_types HSPLandroid/animation/Animator;->notifyStartListeners(Z)V HSPLandroid/animation/Animator;->pause()V HSPLandroid/animation/Animator;->removeAllListeners()V @@ -685,7 +699,6 @@ HSPLandroid/app/ActivityClient;->reportSizeConfigurations(Landroid/os/IBinder;La HSPLandroid/app/ActivityClient;->setActivityClientController(Landroid/app/IActivityClientController;)Landroid/app/IActivityClientController; HSPLandroid/app/ActivityClient;->setRequestedOrientation(Landroid/os/IBinder;I)V HSPLandroid/app/ActivityClient;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V -HSPLandroid/app/ActivityManager$1;-><init>(Landroid/app/ActivityManager;)V HSPLandroid/app/ActivityManager$3;->create()Landroid/app/IActivityManager; HSPLandroid/app/ActivityManager$3;->create()Ljava/lang/Object; HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo; @@ -1383,11 +1396,11 @@ HSPLandroid/app/BackStackRecord;->runOnCommitRunnables()V HSPLandroid/app/BroadcastOptions;-><init>()V HSPLandroid/app/BroadcastOptions;->isTemporaryAppAllowlistSet()Z HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions; -HSPLandroid/app/BroadcastOptions;->resetTemporaryAppAllowlist()V HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle; HSPLandroid/app/ClientTransactionHandler;-><init>()V HSPLandroid/app/ClientTransactionHandler;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V +HSPLandroid/app/ConfigurationChangedListenerController;-><init>()V HSPLandroid/app/ConfigurationController;-><init>(Landroid/app/ActivityThreadInternal;)V HSPLandroid/app/ConfigurationController;->applyCompatConfiguration()Landroid/content/res/Configuration; HSPLandroid/app/ConfigurationController;->createNewConfigAndUpdateIfNotNull(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; @@ -1971,7 +1984,6 @@ HSPLandroid/app/IUiModeManager$Stub$Proxy;->getCurrentModeType()I HSPLandroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager; HSPLandroid/app/IUiModeManagerCallback$Stub;-><init>()V HSPLandroid/app/IUiModeManagerCallback$Stub;->asBinder()Landroid/os/IBinder; -HSPLandroid/app/IUidFrozenStateChangedCallback$Stub;-><init>()V HSPLandroid/app/IUidObserver$Stub;-><init>()V HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder; HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z @@ -2042,7 +2054,6 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->ru HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable; HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V+]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/app/LoadedApk$ReceiverDispatcher$Args;Landroid/app/LoadedApk$ReceiverDispatcher$Args;]Landroid/content/Intent;Landroid/content/Intent; -HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;-><init>(Landroid/app/IApplicationThread;Landroid/app/LoadedApk$ReceiverDispatcher;Z)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/app/IApplicationThread;Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V @@ -2402,7 +2413,7 @@ HSPLandroid/app/PendingIntent;-><init>(Landroid/content/IIntentSender;)V HSPLandroid/app/PendingIntent;-><init>(Landroid/os/IBinder;Ljava/lang/Object;)V HSPLandroid/app/PendingIntent;->buildServicePendingIntent(Landroid/content/Context;ILandroid/content/Intent;II)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent;->cancel()V -HSPLandroid/app/PendingIntent;->checkPendingIntent(ILandroid/content/Intent;Landroid/content/Context;Z)V +HSPLandroid/app/PendingIntent;->checkPendingIntent(ILandroid/content/Intent;Landroid/content/Context;Z)V+]Landroid/content/Context;missing_types HSPLandroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z HSPLandroid/app/PendingIntent;->getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent;->getActivitiesAsUser(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent; @@ -2688,7 +2699,9 @@ HSPLandroid/app/SystemServiceRegistry$109;->createService(Landroid/app/ContextIm HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Landroid/media/MediaRouter; HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager; HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Landroid/permission/LegacyPermissionManager; HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$114;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2716,18 +2729,27 @@ HSPLandroid/app/SystemServiceRegistry$15;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$18;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/AccessibilityManager; HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager; +HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager; HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/input/InputManager; +HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager; HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$29;Landroid/app/SystemServiceRegistry$29; HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager; HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager; HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater; HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager; HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager; @@ -2740,6 +2762,7 @@ HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Landroid/accounts/AccountManager; HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager; HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2748,7 +2771,9 @@ HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager; HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager; HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityManager; HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2789,6 +2814,7 @@ HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$87;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager; HSPLandroid/app/SystemServiceRegistry$87;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -3614,8 +3640,7 @@ HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions; HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->-$$Nest$smcreateFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;-><init>(ZI)V -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions;-><init>(IIIIILandroid/util/ArraySet;)V HSPLandroid/content/ContentCaptureOptions;-><init>(ZIIIIIZZLandroid/content/ContentCaptureOptions$ContentProtectionOptions;Landroid/util/ArraySet;)V HSPLandroid/content/ContentCaptureOptions;->isWhitelisted(Landroid/content/Context;)Z @@ -4324,7 +4349,7 @@ HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ApplicationInfo;-><init>()V HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V -HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ApplicationInfo-IA;)V HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String; HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; @@ -4448,7 +4473,7 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->requestPackageChecksums(Ljav HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveContentProvider(Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveService(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager; HSPLandroid/content/pm/IPackageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/content/pm/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V @@ -5001,13 +5026,13 @@ HSPLandroid/content/res/Configuration;-><init>()V HSPLandroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;Landroid/content/res/Configuration-IA;)V -HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I +HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I HSPLandroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z HSPLandroid/content/res/Configuration;->equals(Ljava/lang/Object;)Z -HSPLandroid/content/res/Configuration;->fixUpLocaleList()V +HSPLandroid/content/res/Configuration;->fixUpLocaleList()V+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; HSPLandroid/content/res/Configuration;->getGrammaticalGender()I HSPLandroid/content/res/Configuration;->getLayoutDirection()I @@ -5026,18 +5051,20 @@ HSPLandroid/content/res/Configuration;->resetScreenLayout(I)I HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V -HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V +HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;II)V HSPLandroid/content/res/Configuration;->setToDefaults()V HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V -HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I +HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/ConfigurationBoundResourceCache;-><init>()V HSPLandroid/content/res/ConfigurationBoundResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ConfigurationBoundResourceCache;->getGeneration()I HSPLandroid/content/res/ConfigurationBoundResourceCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ConfigurationBoundResourceCache;->onConfigurationChange(I)V +HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;I)V +HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;IZ)V HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Landroid/content/res/ConstantState;I)Z HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z HSPLandroid/content/res/ConstantState;-><init>()V @@ -5091,7 +5118,9 @@ HSPLandroid/content/res/Resources$ThemeKey;-><init>()V HSPLandroid/content/res/Resources$ThemeKey;->append(IZ)V HSPLandroid/content/res/Resources$ThemeKey;->clone()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z +HSPLandroid/content/res/Resources$ThemeKey;->findValue(IZ)I HSPLandroid/content/res/Resources$ThemeKey;->hashCode()I +HSPLandroid/content/res/Resources$ThemeKey;->moveToLast(I)V HSPLandroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resources$ThemeKey;)V HSPLandroid/content/res/Resources;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V HSPLandroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V @@ -5246,7 +5275,7 @@ HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/Resou HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; HSPLandroid/content/res/ResourcesImpl;->startPreloading()V -HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V +HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Landroid/content/res/loader/ResourcesLoader;)V HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z @@ -5257,7 +5286,7 @@ HSPLandroid/content/res/StringBlock;->applyStyles(Ljava/lang/String;[ILandroid/c HSPLandroid/content/res/StringBlock;->close()V HSPLandroid/content/res/StringBlock;->finalize()V HSPLandroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; -HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence; +HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/content/res/ThemedResourceCache;-><init>()V HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ThemedResourceCache;->getGeneration()I @@ -5266,6 +5295,8 @@ HSPLandroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/ HSPLandroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V HSPLandroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z HSPLandroid/content/res/ThemedResourceCache;->pruneLocked(I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;I)V +HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;IZ)V HSPLandroid/content/res/TypedArray;-><init>(Landroid/content/res/Resources;)V HSPLandroid/content/res/TypedArray;->extractThemeAttrs()[I HSPLandroid/content/res/TypedArray;->extractThemeAttrs([I)[I @@ -5303,7 +5334,7 @@ HSPLandroid/content/res/TypedArray;->hasValue(I)Z HSPLandroid/content/res/TypedArray;->hasValueOrEmpty(I)Z HSPLandroid/content/res/TypedArray;->length()I HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence; -HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray; +HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue; HSPLandroid/content/res/TypedArray;->recycle()V HSPLandroid/content/res/TypedArray;->resize(I)V @@ -5572,7 +5603,7 @@ HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V HSPLandroid/database/sqlite/SQLiteClosable;->close()V -HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V +HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->getTruncateSize()J HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V @@ -6255,6 +6286,7 @@ HSPLandroid/graphics/HardwareRenderer;->setStopped(Z)V HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;)V HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;Z)V HSPLandroid/graphics/HardwareRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V +HSPLandroid/graphics/HardwareRenderer;->setTargetHdrSdrRatio(F)V HSPLandroid/graphics/HardwareRenderer;->setupDiskCache(Ljava/io/File;)V HSPLandroid/graphics/HardwareRenderer;->syncAndDrawFrame(Landroid/graphics/FrameInfo;)I HSPLandroid/graphics/HardwareRenderer;->trimMemory(I)V @@ -6274,6 +6306,8 @@ HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getResources()Landroi HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->toString()Ljava/lang/String; HSPLandroid/graphics/ImageDecoder$ImageDecoderSourceTrace;-><init>(Landroid/graphics/ImageDecoder;)V HSPLandroid/graphics/ImageDecoder$ImageDecoderSourceTrace;->close()V +HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/util/Size;ZLjava/lang/String;Landroid/graphics/ColorSpace;)V +HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/util/Size;ZLjava/lang/String;Landroid/graphics/ColorSpace;Landroid/graphics/ImageDecoder$ImageInfo-IA;)V HSPLandroid/graphics/ImageDecoder$InputStreamSource;-><init>(Landroid/content/res/Resources;Ljava/io/InputStream;I)V HSPLandroid/graphics/ImageDecoder$InputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder; HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getDensity()I @@ -6299,7 +6333,9 @@ HSPLandroid/graphics/ImageDecoder;->decodeDrawable(Landroid/graphics/ImageDecode HSPLandroid/graphics/ImageDecoder;->decodeDrawableImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/ImageDecoder;->describeDecoderForTrace(Landroid/graphics/ImageDecoder;)Ljava/lang/String; HSPLandroid/graphics/ImageDecoder;->finalize()V +HSPLandroid/graphics/ImageDecoder;->getColorSpace()Landroid/graphics/ColorSpace; HSPLandroid/graphics/ImageDecoder;->getColorSpacePtr()J +HSPLandroid/graphics/ImageDecoder;->getMimeType()Ljava/lang/String; HSPLandroid/graphics/ImageDecoder;->requestedResize()Z HSPLandroid/graphics/ImageDecoder;->setAllocator(I)V HSPLandroid/graphics/ImageDecoder;->setTargetSize(II)V @@ -8142,6 +8178,10 @@ HSPLandroid/hardware/display/DeviceProductInfo$ManufactureDate;->equals(Ljava/la HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/display/DeviceProductInfo-IA;)V HSPLandroid/hardware/display/DeviceProductInfo;->equals(Ljava/lang/Object;)Z +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda0;-><init>()V +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2;-><init>()V +HSPLandroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;-><init>()V HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;-><init>(Landroid/hardware/display/DisplayManager$WeakDisplayCache-IA;)V HSPLandroid/hardware/display/DisplayManager$WeakDisplayCache;->get(I)Landroid/view/Display;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; @@ -8151,9 +8191,11 @@ HSPLandroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V HSPLandroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display; HSPLandroid/hardware/display/DisplayManager;->getDisplays()[Landroid/view/Display; HSPLandroid/hardware/display/DisplayManager;->getDisplays(Ljava/lang/String;)[Landroid/view/Display; -HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display; +HSPLandroid/hardware/display/DisplayManager;->getDisplays([ILjava/util/function/Predicate;)[Landroid/view/Display; +HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display;]Landroid/content/Context;Landroid/app/Application; HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; +HSPLandroid/hardware/display/DisplayManager;->isPresentationDisplay(Landroid/view/Display;)Z HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V @@ -8162,7 +8204,6 @@ HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integ HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;JLandroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()V -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;J)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleMessage(Landroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->lambda$sendDisplayEvent$0(JLandroid/os/Message;)V @@ -8187,8 +8228,6 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landro HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V -HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;J)V -HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;J)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V HSPLandroid/hardware/display/DisplayManagerGlobal;->updateCallbackIfNeededLocked()V @@ -8262,6 +8301,7 @@ HSPLandroid/hardware/input/InputManagerGlobal;->getInputManagerService()Landroid HSPLandroid/hardware/input/InputManagerGlobal;->getInstance()Landroid/hardware/input/InputManagerGlobal; HSPLandroid/hardware/input/InputManagerGlobal;->populateInputDevicesLocked()V HSPLandroid/hardware/input/InputManagerGlobal;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V +HSPLandroid/hardware/input/InputSettings;->isStylusPointerIconEnabled(Landroid/content/Context;)Z HSPLandroid/hardware/location/ContextHubClient;-><init>(Landroid/hardware/location/ContextHubInfo;Z)V HSPLandroid/hardware/location/ContextHubClient;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I HSPLandroid/hardware/location/ContextHubClient;->setClientProxy(Landroid/hardware/location/IContextHubClient;)V @@ -11774,6 +11814,7 @@ HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayL HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable; +HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable; @@ -11991,8 +12032,8 @@ HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback; HSPLandroid/os/Handler;-><init>(Z)V HSPLandroid/os/Handler;->createAsync(Landroid/os/Looper;)Landroid/os/Handler; HSPLandroid/os/Handler;->disallowNullArgumentIfShared(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V -HSPLandroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z +HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V+]Landroid/os/Handler;megamorphic_types]Landroid/os/Handler$Callback;missing_types +HSPLandroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z+]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Handler;->executeOrSendMessage(Landroid/os/Message;)Z HSPLandroid/os/Handler;->getIMessenger()Landroid/os/IMessenger; HSPLandroid/os/Handler;->getLooper()Landroid/os/Looper; @@ -12028,7 +12069,7 @@ HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z -HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z +HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z+]Landroid/os/Handler;megamorphic_types HSPLandroid/os/Handler;->toString()Ljava/lang/String; HSPLandroid/os/HandlerExecutor;-><init>(Landroid/os/Handler;)V HSPLandroid/os/HandlerExecutor;->execute(Ljava/lang/Runnable;)V @@ -12196,7 +12237,7 @@ HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread; HSPLandroid/os/Looper;->isCurrentThread()Z HSPLandroid/os/Looper;->loop()V -HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z +HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;missing_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Looper;->myLooper()Landroid/os/Looper; HSPLandroid/os/Looper;->myQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->prepare()V @@ -12245,11 +12286,11 @@ HSPLandroid/os/MessageQueue;->addIdleHandler(Landroid/os/MessageQueue$IdleHandle HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V HSPLandroid/os/MessageQueue;->dispatchEvents(II)I HSPLandroid/os/MessageQueue;->dispose()V -HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z +HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->finalize()V HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z -HSPLandroid/os/MessageQueue;->next()Landroid/os/Message; +HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/MessageQueue$IdleHandler;Landroid/app/ActivityThread$PurgeIdler;,Landroid/app/ActivityThread$Idler;]Landroid/os/Message;Landroid/os/Message;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/os/MessageQueue;->postSyncBarrier()I HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I HSPLandroid/os/MessageQueue;->quit(Z)V @@ -12880,12 +12921,12 @@ HSPLandroid/os/Temperature;-><init>(FILjava/lang/String;I)V HSPLandroid/os/Temperature;->getStatus()I HSPLandroid/os/Temperature;->isValidStatus(I)Z HSPLandroid/os/ThreadLocalWorkSource$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; -HSPLandroid/os/ThreadLocalWorkSource;->getToken()J -HSPLandroid/os/ThreadLocalWorkSource;->getUid()I +HSPLandroid/os/ThreadLocalWorkSource;->getToken()J+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/os/ThreadLocalWorkSource;->getUid()I+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/os/ThreadLocalWorkSource;->lambda$static$0()[I HSPLandroid/os/ThreadLocalWorkSource;->parseUidFromToken(J)I -HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V -HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J +HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V HSPLandroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V HSPLandroid/os/Trace;->asyncTraceForTrackBegin(JLjava/lang/String;Ljava/lang/String;I)V @@ -12946,10 +12987,6 @@ HSPLandroid/os/UserManager$3;->bypass(Ljava/lang/Object;)Z HSPLandroid/os/UserManager$3;->recompute(Ljava/lang/Integer;)Ljava/lang/String; HSPLandroid/os/UserManager$3;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/os/UserManager$4;-><init>(Landroid/os/UserManager;ILjava/lang/String;)V -HSPLandroid/os/UserManager$4;->bypass(Ljava/lang/Integer;)Z -HSPLandroid/os/UserManager$4;->bypass(Ljava/lang/Object;)Z+]Landroid/os/UserManager$4;Landroid/os/UserManager$4; -HSPLandroid/os/UserManager$4;->recompute(Ljava/lang/Integer;)Landroid/content/pm/UserProperties;+]Ljava/lang/Integer;Ljava/lang/Integer; -HSPLandroid/os/UserManager$4;->recompute(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/os/UserManager$4;Landroid/os/UserManager$4; HSPLandroid/os/UserManager;->-$$Nest$fgetmService(Landroid/os/UserManager;)Landroid/os/IUserManager; HSPLandroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V HSPLandroid/os/UserManager;->convertUserIdsToUserHandles([I)Ljava/util/List; @@ -12976,7 +13013,6 @@ HSPLandroid/os/UserManager;->getUserHandle(I)I HSPLandroid/os/UserManager;->getUserHandles(Z)Ljava/util/List; HSPLandroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo; HSPLandroid/os/UserManager;->getUserProfiles()Ljava/util/List; -HSPLandroid/os/UserManager;->getUserProperties(Landroid/os/UserHandle;)Landroid/content/pm/UserProperties;+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/app/PropertyInvalidatedCache;Landroid/os/UserManager$4; HSPLandroid/os/UserManager;->getUserRestrictionSources(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List; HSPLandroid/os/UserManager;->getUserRestrictions()Landroid/os/Bundle; HSPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle; @@ -13012,8 +13048,6 @@ HSPLandroid/os/UserManager;->supportsMultipleUsers()Z HSPLandroid/os/VibrationAttributes$Builder;-><init>()V HSPLandroid/os/VibrationAttributes$Builder;->build()Landroid/os/VibrationAttributes; HSPLandroid/os/VibrationAttributes$Builder;->setUsage(Landroid/media/AudioAttributes;)V -HSPLandroid/os/VibrationAttributes;-><init>(III)V -HSPLandroid/os/VibrationAttributes;-><init>(IIILandroid/os/VibrationAttributes-IA;)V HSPLandroid/os/VibrationEffect$Composed;->validate()V HSPLandroid/os/VibrationEffect;-><init>()V HSPLandroid/os/VibrationEffect;->createOneShot(JI)Landroid/os/VibrationEffect; @@ -13771,7 +13805,9 @@ HSPLandroid/speech/tts/TtsEngines;->isEngineInstalled(Ljava/lang/String;)Z HSPLandroid/speech/tts/TtsEngines;->isSystemEngine(Landroid/content/pm/ServiceInfo;)Z HSPLandroid/sysprop/DisplayProperties;->debug_force_rtl()Ljava/util/Optional; HSPLandroid/sysprop/DisplayProperties;->debug_layout()Ljava/util/Optional; +HSPLandroid/sysprop/DisplayProperties;->debug_vri_package()Ljava/util/Optional; HSPLandroid/sysprop/DisplayProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean; +HSPLandroid/sysprop/DisplayProperties;->tryParseString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/sysprop/InputProperties;->tryParseString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/sysprop/TelephonyProperties$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/sysprop/TelephonyProperties$$ExternalSyntheticLambda10;->apply(Ljava/lang/Object;)Ljava/lang/Object; @@ -15977,12 +16013,14 @@ HSPLandroid/view/Choreographer$FrameData;->getPreferredFrameTimeline()Landroid/v HSPLandroid/view/Choreographer$FrameData;->setInCallback(Z)V+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameData;->update(JI)V HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver$VsyncEventData;)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; +HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver;J)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/DisplayEventReceiver;Landroid/view/Choreographer$FrameDisplayEventReceiver;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V HSPLandroid/view/Choreographer$FrameHandler;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;)V HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V HSPLandroid/view/Choreographer$FrameTimeline;->-$$Nest$fgetmDeadlineNanos(Landroid/view/Choreographer$FrameTimeline;)J +HSPLandroid/view/Choreographer$FrameTimeline;->-$$Nest$fgetmVsyncId(Landroid/view/Choreographer$FrameTimeline;)J HSPLandroid/view/Choreographer$FrameTimeline;-><init>()V HSPLandroid/view/Choreographer$FrameTimeline;->getDeadlineNanos()J HSPLandroid/view/Choreographer$FrameTimeline;->setInCallback(Z)V @@ -15994,7 +16032,7 @@ HSPLandroid/view/Choreographer;->-$$Nest$sfputmMainInstance(Landroid/view/Choreo HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;ILandroid/view/Choreographer-IA;)V -HSPLandroid/view/Choreographer;->doCallbacks(IJ)V +HSPLandroid/view/Choreographer;->doCallbacks(IJ)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V HSPLandroid/view/Choreographer;->doScheduleCallback(I)V HSPLandroid/view/Choreographer;->doScheduleVsync()V @@ -16145,6 +16183,7 @@ HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>()V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>(JJJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData;-><init>()V +HSPLandroid/view/DisplayEventReceiver$VsyncEventData;-><init>([Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;IIJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline; HSPLandroid/view/DisplayEventReceiver$VsyncEventData;->preferredFrameTimeline()Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline; HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;II)V @@ -16415,6 +16454,9 @@ HSPLandroid/view/InsetsAnimationThreadControlRunner;->getControllingTypes()I HSPLandroid/view/InsetsAnimationThreadControlRunner;->getTypes()I HSPLandroid/view/InsetsAnimationThreadControlRunner;->notifyControlRevoked(I)V HSPLandroid/view/InsetsAnimationThreadControlRunner;->updateSurfacePosition(Landroid/util/SparseArray;)V +HSPLandroid/view/InsetsController$$ExternalSyntheticLambda9;-><init>(Landroid/view/InsetsController;)V +HSPLandroid/view/InsetsController$1;-><init>(Landroid/view/InsetsController;)V +HSPLandroid/view/InsetsController$2;-><init>(Landroid/view/InsetsController;)V HSPLandroid/view/InsetsController$2;->onFinish(Landroid/view/InsetsState;Landroid/view/InsetsState;)V HSPLandroid/view/InsetsController$3;-><init>(Landroid/view/InsetsController;)V HSPLandroid/view/InsetsController$3;->onFinish(Landroid/view/InsetsState;Landroid/view/InsetsState;)V @@ -16440,11 +16482,13 @@ HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onReady(Lan HSPLandroid/view/InsetsController$RunningAnimation;-><init>(Landroid/view/InsetsAnimationControlRunner;I)V HSPLandroid/view/InsetsController;->-$$Nest$sfgetsEvaluator()Landroid/animation/TypeEvaluator; HSPLandroid/view/InsetsController;-><init>(Landroid/view/InsetsController$Host;)V +HSPLandroid/view/InsetsController;-><init>(Landroid/view/InsetsController$Host;Lcom/android/internal/util/function/TriFunction;Landroid/os/Handler;)V HSPLandroid/view/InsetsController;->abortPendingImeControlRequest()V HSPLandroid/view/InsetsController;->applyAnimation(IZZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->applyAnimation(IZZZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->applyLocalVisibilityOverride()V HSPLandroid/view/InsetsController;->calculateControllableTypes()I +HSPLandroid/view/InsetsController;->calculateInsets(ZIIIII)Landroid/view/WindowInsets; HSPLandroid/view/InsetsController;->calculateVisibleInsets(IIII)Landroid/graphics/Insets; HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->cancelExistingAnimations()V @@ -16457,10 +16501,12 @@ HSPLandroid/view/InsetsController;->getAnimationType(I)I HSPLandroid/view/InsetsController;->getHost()Landroid/view/InsetsController$Host; HSPLandroid/view/InsetsController;->getLastDispatchedState()Landroid/view/InsetsState; HSPLandroid/view/InsetsController;->getRequestedVisibleTypes()I +HSPLandroid/view/InsetsController;->getSourceConsumer(II)Landroid/view/InsetsSourceConsumer; HSPLandroid/view/InsetsController;->getState()Landroid/view/InsetsState; HSPLandroid/view/InsetsController;->getSystemBarsAppearance()I HSPLandroid/view/InsetsController;->hide(I)V HSPLandroid/view/InsetsController;->invokeControllableInsetsChangedListeners()I +HSPLandroid/view/InsetsController;->lambda$new$2(Landroid/view/InsetsController;Ljava/lang/Integer;Ljava/lang/Integer;)Landroid/view/InsetsSourceConsumer; HSPLandroid/view/InsetsController;->lambda$static$1(FLandroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets; HSPLandroid/view/InsetsController;->notifyControlRevoked(Landroid/view/InsetsSourceConsumer;)V HSPLandroid/view/InsetsController;->notifyFinished(Landroid/view/InsetsAnimationControlRunner;Z)V @@ -16488,11 +16534,13 @@ HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroi HSPLandroid/view/InsetsSource;->calculateVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Insets; HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z +HSPLandroid/view/InsetsSource;->getFlags()I HSPLandroid/view/InsetsSource;->getFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->getId()I HSPLandroid/view/InsetsSource;->getIntersection(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/InsetsSource;->getType()I HSPLandroid/view/InsetsSource;->getVisibleFrame()Landroid/graphics/Rect; +HSPLandroid/view/InsetsSource;->hasFlags(I)Z HSPLandroid/view/InsetsSource;->isVisible()Z HSPLandroid/view/InsetsSource;->setVisible(Z)Landroid/view/InsetsSource; HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V @@ -16541,6 +16589,7 @@ HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZIIIIILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->calculateRelativeCutout(Landroid/graphics/Rect;)Landroid/view/DisplayCutout; HSPLandroid/view/InsetsState;->calculateRelativeDisplayShape(Landroid/graphics/Rect;)Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->calculateRelativePrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/PrivacyIndicatorBounds; @@ -16548,6 +16597,7 @@ HSPLandroid/view/InsetsState;->calculateRelativeRoundedCorners(Landroid/graphics HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Insets; HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z +HSPLandroid/view/InsetsState;->clearsCompatInsets(IIII)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;ZZ)Z HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout; @@ -16815,6 +16865,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl HSPLandroid/view/SurfaceControl$Transaction;->notifyReparentedSurfaces()V HSPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->sanitize(II)V HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; @@ -16832,8 +16883,8 @@ HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/Surfac HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeApplyTransaction(JZ)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeCreateTransaction()J +HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSanitize(JII)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetDestinationFrame(JJIIII)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetExtendedRangeBrightness(JJFF)V HSPLandroid/view/SurfaceControl;->-$$Nest$smnativeSetFlags(JJII)V @@ -16841,6 +16892,7 @@ HSPLandroid/view/SurfaceControl;-><init>()V HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceControl;Ljava/lang/String;)V HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;Landroid/util/SparseIntArray;Ljava/lang/ref/WeakReference;Ljava/lang/String;)V +HSPLandroid/view/SurfaceControl;->addToRegistry()V HSPLandroid/view/SurfaceControl;->assignNativeObject(JLjava/lang/String;)V HSPLandroid/view/SurfaceControl;->checkNotReleased()V HSPLandroid/view/SurfaceControl;->copyFrom(Landroid/view/SurfaceControl;Ljava/lang/String;)V @@ -16850,8 +16902,13 @@ HSPLandroid/view/SurfaceControl;->isSameSurface(Landroid/view/SurfaceControl;)Z HSPLandroid/view/SurfaceControl;->isValid()Z HSPLandroid/view/SurfaceControl;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/view/SurfaceControl;->release()V +HSPLandroid/view/SurfaceControl;->removeFromRegistry()V HSPLandroid/view/SurfaceControl;->rotationToBufferTransform(I)I HSPLandroid/view/SurfaceControl;->setTransformHint(I)V +HSPLandroid/view/SurfaceControlRegistry$DefaultReporter;-><init>()V +HSPLandroid/view/SurfaceControlRegistry$DefaultReporter;-><init>(Landroid/view/SurfaceControlRegistry$DefaultReporter-IA;)V +HSPLandroid/view/SurfaceControlRegistry;-><clinit>()V +HSPLandroid/view/SurfaceControlRegistry;->getProcessInstance()Landroid/view/SurfaceControlRegistry; HSPLandroid/view/SurfaceSession;-><init>()V HSPLandroid/view/SurfaceSession;->finalize()V HSPLandroid/view/SurfaceSession;->kill()V @@ -16982,6 +17039,7 @@ HSPLandroid/view/VelocityTracker;->recycle()V HSPLandroid/view/View$$ExternalSyntheticLambda4;-><init>(Landroid/view/View;)V HSPLandroid/view/View$$ExternalSyntheticLambda4;->run()V HSPLandroid/view/View$$ExternalSyntheticLambda5;->run()V +HSPLandroid/view/View$$ExternalSyntheticLambda7;-><init>(Landroid/view/View;)V HSPLandroid/view/View$$ExternalSyntheticLambda7;->run()V HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object; @@ -17566,6 +17624,7 @@ HSPLandroid/view/View;->setAlpha(F)V HSPLandroid/view/View;->setAlphaInternal(F)V HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V +HSPLandroid/view/View;->setAutoHandwritingEnabled(Z)V HSPLandroid/view/View;->setAutofilled(ZZ)V HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setBackgroundBounds()V @@ -17689,7 +17748,7 @@ HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V HSPLandroid/view/View;->unFocus(Landroid/view/View;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V -HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode; +HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/view/View;missing_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V HSPLandroid/view/View;->updateHandwritingArea()V HSPLandroid/view/View;->updateKeepClearRects()V @@ -17815,7 +17874,7 @@ HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V +HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V @@ -17829,7 +17888,7 @@ HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V @@ -17915,7 +17974,7 @@ HSPLandroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View; HSPLandroid/view/ViewGroup;->onAttachedToWindow()V HSPLandroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I -HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V +HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->onDescendantUnbufferedRequested()V HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z @@ -17927,7 +17986,7 @@ HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V HSPLandroid/view/ViewGroup;->populateChildrenForContentCapture(Ljava/util/ArrayList;)V HSPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V -HSPLandroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V +HSPLandroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->removeAllViews()V HSPLandroid/view/ViewGroup;->removeAllViewsInLayout()V HSPLandroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V @@ -18035,6 +18094,7 @@ HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAni HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda0;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda17;-><init>(Landroid/view/ViewRootImpl;)V +HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda2;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda3;->run()V HSPLandroid/view/ViewRootImpl$2;-><init>(Landroid/view/ViewRootImpl;Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V HSPLandroid/view/ViewRootImpl$2;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; @@ -18047,6 +18107,9 @@ HSPLandroid/view/ViewRootImpl$6$$ExternalSyntheticLambda0;->onFrameCommit(Z)V HSPLandroid/view/ViewRootImpl$6;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; HSPLandroid/view/ViewRootImpl$7;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$7;->run()V +HSPLandroid/view/ViewRootImpl$8$$ExternalSyntheticLambda1;-><init>(Landroid/view/ViewRootImpl$8;JLandroid/window/SurfaceSyncGroup;Z)V +HSPLandroid/view/ViewRootImpl$8$$ExternalSyntheticLambda1;->onFrameCommit(Z)V +HSPLandroid/view/ViewRootImpl$8;->lambda$onFrameDraw$1(JLandroid/window/SurfaceSyncGroup;ZZ)V HSPLandroid/view/ViewRootImpl$8;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureNoConnection()V @@ -18184,6 +18247,7 @@ HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V HSPLandroid/view/ViewRootImpl;->doTraversal()V +HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V @@ -18241,7 +18305,7 @@ HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z HSPLandroid/view/ViewRootImpl;->isContentCaptureReallyEnabled()Z -HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z +HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; HSPLandroid/view/ViewRootImpl;->isInLayout()Z HSPLandroid/view/ViewRootImpl;->isInTouchMode()Z HSPLandroid/view/ViewRootImpl;->isInWMSRequestedSync()Z @@ -18249,6 +18313,7 @@ HSPLandroid/view/ViewRootImpl;->isLayoutRequested()Z HSPLandroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewRootImpl;->isTextDirectionResolved()Z HSPLandroid/view/ViewRootImpl;->keepClearRectsChanged(Z)V +HSPLandroid/view/ViewRootImpl;->lambda$createSyncIfNeeded$4(ILandroid/view/SurfaceControl$Transaction;)V HSPLandroid/view/ViewRootImpl;->lambda$getOrCreateSurfaceSyncGroup$14()V HSPLandroid/view/ViewRootImpl;->lambda$new$0(Landroid/view/View;)Ljava/util/List; HSPLandroid/view/ViewRootImpl;->lambda$new$1(Landroid/view/View;)Ljava/util/List; @@ -18274,6 +18339,7 @@ HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V +HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup; HSPLandroid/view/ViewRootImpl;->performHapticFeedback(IZ)Z HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V HSPLandroid/view/ViewRootImpl;->performMeasure(II)V @@ -18287,6 +18353,7 @@ HSPLandroid/view/ViewRootImpl;->recycleQueuedInputEvent(Landroid/view/ViewRootIm HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewRootImpl;->registerBackCallbackOnWindow()V HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V +HSPLandroid/view/ViewRootImpl;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V @@ -18326,11 +18393,10 @@ HSPLandroid/view/ViewRootImpl;->unscheduleTraversals()V HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V HSPLandroid/view/ViewRootImpl;->updateBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Z HSPLandroid/view/ViewRootImpl;->updateCaptionInsets()Z -HSPLandroid/view/ViewRootImpl;->updateColorModeIfNeeded(I)V HSPLandroid/view/ViewRootImpl;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootImpl;->updateCompatSystemUiVisibilityInfo(IIII)V HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V -HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z +HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z+]Landroid/view/WindowCallbacks;Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->updateForceDarkMode()V HSPLandroid/view/ViewRootImpl;->updateInternalDisplay(ILandroid/content/res/Resources;)V HSPLandroid/view/ViewRootImpl;->updateKeepClearForAccessibilityFocusRect()V @@ -18485,6 +18551,7 @@ HSPLandroid/view/WindowInsets$Type;->statusBars()I HSPLandroid/view/WindowInsets$Type;->systemBars()I HSPLandroid/view/WindowInsets$Type;->systemGestures()I HSPLandroid/view/WindowInsets$Type;->toString(I)Ljava/lang/String; +HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;IZ)V+]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;][Landroid/graphics/Insets;[Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->consumeStableInsets()Landroid/view/WindowInsets; @@ -20662,6 +20729,7 @@ HSPLandroid/widget/TextView;->isPasswordInputType(I)Z HSPLandroid/widget/TextView;->isPositionVisible(FF)Z HSPLandroid/widget/TextView;->isShowingHint()Z HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z +HSPLandroid/widget/TextView;->isTextAutofillable()Z+]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->isTextEditable()Z HSPLandroid/widget/TextView;->isTextSelectable()Z HSPLandroid/widget/TextView;->isVisibleToAccessibility()Z @@ -20795,6 +20863,7 @@ HSPLandroid/widget/TextView;->setTextSize(F)V HSPLandroid/widget/TextView;->setTextSize(IF)V HSPLandroid/widget/TextView;->setTextSizeInternal(IFZ)V HSPLandroid/widget/TextView;->setTransformationMethod(Landroid/text/method/TransformationMethod;)V +HSPLandroid/widget/TextView;->setTransformationMethodInternal(Landroid/text/method/TransformationMethod;Z)V+]Landroid/text/method/TransformationMethod2;Landroid/text/method/AllCapsTransformationMethod; HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V @@ -20936,6 +21005,7 @@ HSPLandroid/window/SurfaceSyncGroup;-><init>(Ljava/lang/String;Ljava/util/functi HSPLandroid/window/SurfaceSyncGroup;->add(Landroid/window/ISurfaceSyncGroup;ZLjava/lang/Runnable;)Z HSPLandroid/window/SurfaceSyncGroup;->addLocalSync(Landroid/window/ISurfaceSyncGroup;Z)Z HSPLandroid/window/SurfaceSyncGroup;->addSyncCompleteCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V +HSPLandroid/window/SurfaceSyncGroup;->addTimeout()V HSPLandroid/window/SurfaceSyncGroup;->checkIfSyncIsComplete()V HSPLandroid/window/SurfaceSyncGroup;->createTransactionReadyCallback(Z)Landroid/window/ITransactionReadyCallback; HSPLandroid/window/SurfaceSyncGroup;->getSurfaceSyncGroup(Landroid/window/ISurfaceSyncGroup;)Landroid/window/SurfaceSyncGroup; @@ -20977,9 +21047,11 @@ HSPLandroid/window/WindowMetricsController;->getWindowInsetsFromServerForDisplay HSPLandroid/window/WindowMetricsController;->getWindowMetricsInternal(Z)Landroid/view/WindowMetrics; HSPLandroid/window/WindowMetricsController;->lambda$getWindowMetricsInternal$0(Landroid/os/IBinder;Landroid/graphics/Rect;ZI)Landroid/view/WindowInsets; HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->-$$Nest$mgetContext(Landroid/window/WindowOnBackInvokedDispatcher$Checker;)Landroid/content/Context; +HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->-$$Nest$smisOnBackInvokedCallbackEnabled(Landroid/content/Context;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;-><init>(Landroid/content/Context;)V HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->checkApplicationCallbackRegistration(ILandroid/window/OnBackInvokedCallback;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->getContext()Landroid/content/Context; +HSPLandroid/window/WindowOnBackInvokedDispatcher$Checker;->isOnBackInvokedCallbackEnabled(Landroid/content/Context;)Z HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0;-><init>(Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;)V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0;->run()V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda2;->run()V @@ -23563,7 +23635,6 @@ HSPLdalvik/system/ZygoteHooks;->onEndPreload()V HSPLdalvik/system/ZygoteHooks;->postForkChild(IZZLjava/lang/String;)V HSPLdalvik/system/ZygoteHooks;->postForkCommon()V HSPLdalvik/system/ZygoteHooks;->preFork()V -HSPLdalvik/system/ZygoteHooks;->waitUntilAllThreadsStopped()V HSPLjava/io/Bits;->getBoolean([BI)Z HSPLjava/io/Bits;->getDouble([BI)D HSPLjava/io/Bits;->getFloat([BI)F @@ -23654,10 +23725,10 @@ HSPLjava/io/DataInputStream;->read([BII)I HSPLjava/io/DataInputStream;->readBoolean()Z HSPLjava/io/DataInputStream;->readByte()B HSPLjava/io/DataInputStream;->readFully([B)V -HSPLjava/io/DataInputStream;->readFully([BII)V +HSPLjava/io/DataInputStream;->readFully([BII)V+]Ljava/io/InputStream;Ljava/io/ByteArrayInputStream; HSPLjava/io/DataInputStream;->readInt()I HSPLjava/io/DataInputStream;->readLong()J -HSPLjava/io/DataInputStream;->readShort()S +HSPLjava/io/DataInputStream;->readShort()S+]Ljava/io/DataInputStream;Ljava/io/DataInputStream; HSPLjava/io/DataInputStream;->readUTF()Ljava/lang/String; HSPLjava/io/DataInputStream;->readUTF(Ljava/io/DataInput;)Ljava/lang/String; HSPLjava/io/DataInputStream;->readUnsignedByte()I @@ -23778,7 +23849,7 @@ HSPLjava/io/FilterInputStream;->available()I HSPLjava/io/FilterInputStream;->close()V HSPLjava/io/FilterInputStream;->mark(I)V HSPLjava/io/FilterInputStream;->markSupported()Z -HSPLjava/io/FilterInputStream;->read()I +HSPLjava/io/FilterInputStream;->read()I+]Ljava/io/InputStream;Ljava/io/BufferedInputStream;,Ljava/io/PushbackInputStream; HSPLjava/io/FilterInputStream;->read([B)I HSPLjava/io/FilterInputStream;->read([BII)I HSPLjava/io/FilterInputStream;->reset()V @@ -24237,7 +24308,7 @@ HSPLjava/io/Writer;->append(C)Ljava/io/Writer; HSPLjava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; HSPLjava/io/Writer;->write(Ljava/lang/String;)V HSPLjava/lang/AbstractStringBuilder;-><init>(I)V -HSPLjava/lang/AbstractStringBuilder;->append(C)Ljava/lang/AbstractStringBuilder; +HSPLjava/lang/AbstractStringBuilder;->append(C)Ljava/lang/AbstractStringBuilder;+]Ljava/lang/AbstractStringBuilder;Ljava/lang/StringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(D)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(F)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(I)Ljava/lang/AbstractStringBuilder; @@ -24245,7 +24316,7 @@ HSPLjava/lang/AbstractStringBuilder;->append(J)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/AbstractStringBuilder; -HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder; +HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/StringBuffer;)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append(Z)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append([CII)Ljava/lang/AbstractStringBuilder; @@ -24273,7 +24344,7 @@ HSPLjava/lang/AbstractStringBuilder;->isLatin1()Z HSPLjava/lang/AbstractStringBuilder;->lastIndexOf(Ljava/lang/String;I)I HSPLjava/lang/AbstractStringBuilder;->length()I HSPLjava/lang/AbstractStringBuilder;->newCapacity(I)I -HSPLjava/lang/AbstractStringBuilder;->putStringAt(ILjava/lang/String;)V +HSPLjava/lang/AbstractStringBuilder;->putStringAt(ILjava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/AbstractStringBuilder;Ljava/lang/StringBuilder;,Ljava/lang/StringBuffer; HSPLjava/lang/AbstractStringBuilder;->replace(IILjava/lang/String;)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->reverse()Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->setCharAt(IC)V @@ -24316,7 +24387,7 @@ HSPLjava/lang/Byte;->toString(B)Ljava/lang/String; HSPLjava/lang/Byte;->toUnsignedInt(B)I HSPLjava/lang/Byte;->valueOf(B)Ljava/lang/Byte; HSPLjava/lang/CaseMapper;->toLowerCase(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Locale;Ljava/util/Locale; -HSPLjava/lang/CaseMapper;->toUpperCase(Ljava/util/Locale;Ljava/lang/String;I)Ljava/lang/String; +HSPLjava/lang/CaseMapper;->toUpperCase(Ljava/util/Locale;Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Locale;Ljava/util/Locale; HSPLjava/lang/CaseMapper;->upperIndex(I)I HSPLjava/lang/Character$Subset;->equals(Ljava/lang/Object;)Z HSPLjava/lang/Character$Subset;->hashCode()I @@ -24395,7 +24466,7 @@ HSPLjava/lang/Class;->getConstructors()[Ljava/lang/reflect/Constructor; HSPLjava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; HSPLjava/lang/Class;->getDeclaredConstructors()[Ljava/lang/reflect/Constructor; HSPLjava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; -HSPLjava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method; +HSPLjava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;+]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;]Ljava/lang/Class;Ljava/lang/Class; HSPLjava/lang/Class;->getEnclosingConstructor()Ljava/lang/reflect/Constructor; HSPLjava/lang/Class;->getEnclosingMethod()Ljava/lang/reflect/Method; HSPLjava/lang/Class;->getEnumConstants()[Ljava/lang/Object; @@ -24425,9 +24496,9 @@ HSPLjava/lang/Class;->getTypeParameters()[Ljava/lang/reflect/TypeVariable; HSPLjava/lang/Class;->isAnnotation()Z HSPLjava/lang/Class;->isAnnotationPresent(Ljava/lang/Class;)Z HSPLjava/lang/Class;->isArray()Z -HSPLjava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z +HSPLjava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z+]Ljava/lang/Class;Ljava/lang/Class; HSPLjava/lang/Class;->isEnum()Z -HSPLjava/lang/Class;->isInstance(Ljava/lang/Object;)Z +HSPLjava/lang/Class;->isInstance(Ljava/lang/Object;)Z+]Ljava/lang/Class;Ljava/lang/Class; HSPLjava/lang/Class;->isInterface()Z HSPLjava/lang/Class;->isLocalClass()Z HSPLjava/lang/Class;->isLocalOrAnonymousClass()Z @@ -24605,7 +24676,7 @@ HSPLjava/lang/Integer;->valueOf(I)Ljava/lang/Integer; HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer; HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer; HSPLjava/lang/InterruptedException;-><init>()V -HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V+]Ljava/lang/Iterable;Ljava/util/HashSet;]Ljava/util/function/Consumer;Lcom/android/internal/app/LocaleStore$$ExternalSyntheticLambda0;,Ljava/util/ArrayDeque$$ExternalSyntheticLambda1;]Ljava/util/Iterator;missing_types +HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V+]Ljava/lang/Iterable;Ljava/util/HashSet;]Ljava/util/function/Consumer;missing_types]Ljava/util/Iterator;missing_types HSPLjava/lang/LinkageError;-><init>(Ljava/lang/String;)V HSPLjava/lang/Long;-><init>(J)V HSPLjava/lang/Long;->bitCount(J)I @@ -24632,7 +24703,7 @@ HSPLjava/lang/Long;->numberOfLeadingZeros(J)I HSPLjava/lang/Long;->numberOfTrailingZeros(J)I HSPLjava/lang/Long;->parseLong(Ljava/lang/CharSequence;III)J HSPLjava/lang/Long;->parseLong(Ljava/lang/String;)J -HSPLjava/lang/Long;->parseLong(Ljava/lang/String;I)J +HSPLjava/lang/Long;->parseLong(Ljava/lang/String;I)J+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/Long;->reverse(J)J HSPLjava/lang/Long;->reverseBytes(J)J HSPLjava/lang/Long;->rotateLeft(JI)J @@ -24772,7 +24843,7 @@ HSPLjava/lang/String;->checkOffset(II)V HSPLjava/lang/String;->codePointAt(I)I HSPLjava/lang/String;->codePointCount(II)I HSPLjava/lang/String;->coder()B -HSPLjava/lang/String;->compareTo(Ljava/lang/Object;)I +HSPLjava/lang/String;->compareTo(Ljava/lang/Object;)I+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I HSPLjava/lang/String;->contains(Ljava/lang/CharSequence;)Z HSPLjava/lang/String;->contentEquals(Ljava/lang/CharSequence;)Z @@ -24784,8 +24855,8 @@ HSPLjava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/S HSPLjava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; HSPLjava/lang/String;->getBytes()[B HSPLjava/lang/String;->getBytes(Ljava/lang/String;)[B -HSPLjava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B -HSPLjava/lang/String;->getBytes([BIB)V +HSPLjava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B+]Ljava/lang/String;Ljava/lang/String;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU; +HSPLjava/lang/String;->getBytes([BIB)V+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/String;->getChars(II[CI)V HSPLjava/lang/String;->getChars([CI)V HSPLjava/lang/String;->hashCode()I+]Ljava/lang/String;Ljava/lang/String; @@ -24799,7 +24870,7 @@ HSPLjava/lang/String;->isEmpty()Z HSPLjava/lang/String;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; HSPLjava/lang/String;->join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String; HSPLjava/lang/String;->lastIndexOf(I)I -HSPLjava/lang/String;->lastIndexOf(II)I +HSPLjava/lang/String;->lastIndexOf(II)I+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;)I HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;I)I HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;I)I @@ -24816,7 +24887,7 @@ HSPLjava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/l HSPLjava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; HSPLjava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; HSPLjava/lang/String;->startsWith(Ljava/lang/String;)Z -HSPLjava/lang/String;->startsWith(Ljava/lang/String;I)Z +HSPLjava/lang/String;->startsWith(Ljava/lang/String;I)Z+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/String;->subSequence(II)Ljava/lang/CharSequence; HSPLjava/lang/String;->substring(I)Ljava/lang/String; HSPLjava/lang/String;->substring(II)Ljava/lang/String; @@ -25025,7 +25096,7 @@ HSPLjava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal;Ljava/l HSPLjava/lang/ThreadLocal$ThreadLocalMap;->cleanSomeSlots(II)Z HSPLjava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntries()V HSPLjava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntry(I)I -HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; +HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;+]Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; HSPLjava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I HSPLjava/lang/ThreadLocal$ThreadLocalMap;->prevIndex(II)I @@ -25039,7 +25110,7 @@ HSPLjava/lang/ThreadLocal;->-$$Nest$fgetthreadLocalHashCode(Ljava/lang/ThreadLoc HSPLjava/lang/ThreadLocal;-><init>()V HSPLjava/lang/ThreadLocal;->createInheritedMap(Ljava/lang/ThreadLocal$ThreadLocalMap;)Ljava/lang/ThreadLocal$ThreadLocalMap; HSPLjava/lang/ThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V -HSPLjava/lang/ThreadLocal;->get()Ljava/lang/Object; +HSPLjava/lang/ThreadLocal;->get()Ljava/lang/Object;+]Ljava/lang/ThreadLocal;missing_types HSPLjava/lang/ThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap; HSPLjava/lang/ThreadLocal;->initialValue()Ljava/lang/Object; HSPLjava/lang/ThreadLocal;->nextHashCode()I @@ -25258,10 +25329,10 @@ HSPLjava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class; HSPLjava/lang/reflect/Method;->getGenericParameterTypes()[Ljava/lang/reflect/Type; HSPLjava/lang/reflect/Method;->getGenericReturnType()Ljava/lang/reflect/Type; HSPLjava/lang/reflect/Method;->getModifiers()I -HSPLjava/lang/reflect/Method;->getName()Ljava/lang/String; +HSPLjava/lang/reflect/Method;->getName()Ljava/lang/String;+]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; HSPLjava/lang/reflect/Method;->getParameterAnnotations()[[Ljava/lang/annotation/Annotation; HSPLjava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class; -HSPLjava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; +HSPLjava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;+]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; HSPLjava/lang/reflect/Method;->hashCode()I HSPLjava/lang/reflect/Method;->isBridge()Z HSPLjava/lang/reflect/Method;->isDefault()Z @@ -25999,7 +26070,6 @@ HSPLjava/nio/ByteBuffer;->clear()Ljava/nio/Buffer; HSPLjava/nio/ByteBuffer;->compare(BB)I HSPLjava/nio/ByteBuffer;->compareTo(Ljava/lang/Object;)I HSPLjava/nio/ByteBuffer;->compareTo(Ljava/nio/ByteBuffer;)I -HSPLjava/nio/ByteBuffer;->equals(BB)Z HSPLjava/nio/ByteBuffer;->equals(Ljava/lang/Object;)Z HSPLjava/nio/ByteBuffer;->flip()Ljava/nio/Buffer; HSPLjava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer; @@ -27371,7 +27441,7 @@ HSPLjava/util/ArrayList;->equalsArrayList(Ljava/util/ArrayList;)Z HSPLjava/util/ArrayList;->equalsRange(Ljava/util/List;II)Z HSPLjava/util/ArrayList;->fastRemove([Ljava/lang/Object;I)V HSPLjava/util/ArrayList;->forEach(Ljava/util/function/Consumer;)V -HSPLjava/util/ArrayList;->get(I)Ljava/lang/Object; +HSPLjava/util/ArrayList;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLjava/util/ArrayList;->grow()[Ljava/lang/Object; HSPLjava/util/ArrayList;->grow(I)[Ljava/lang/Object; HSPLjava/util/ArrayList;->hashCode()I @@ -27813,7 +27883,7 @@ HSPLjava/util/Comparator;->naturalOrder()Ljava/util/Comparator; HSPLjava/util/Comparator;->nullsFirst(Ljava/util/Comparator;)Ljava/util/Comparator; HSPLjava/util/Comparator;->reversed()Ljava/util/Comparator; HSPLjava/util/Comparator;->thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator; -HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator; +HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;+]Ljava/util/Comparator;Ljava/util/Comparator$$ExternalSyntheticLambda5; HSPLjava/util/Comparators$NaturalOrderComparator;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I HSPLjava/util/Comparators$NaturalOrderComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLjava/util/Comparators$NullComparator;-><init>(ZLjava/util/Comparator;)V @@ -28102,7 +28172,7 @@ HSPLjava/util/HashMap;->forEach(Ljava/util/function/BiConsumer;)V HSPLjava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/HashMap;->getNode(Ljava/lang/Object;)Ljava/util/HashMap$Node; HSPLjava/util/HashMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I +HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I+]Ljava/lang/Object;missing_types HSPLjava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V HSPLjava/util/HashMap;->isEmpty()Z HSPLjava/util/HashMap;->keySet()Ljava/util/Set; @@ -28193,6 +28263,7 @@ HSPLjava/util/IdentityHashMap$EntryIterator;-><init>(Ljava/util/IdentityHashMap; HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/lang/Object; HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/util/Map$Entry; HSPLjava/util/IdentityHashMap$EntrySet;-><init>(Ljava/util/IdentityHashMap;)V +HSPLjava/util/IdentityHashMap$EntrySet;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$EntrySet-IA;)V HSPLjava/util/IdentityHashMap$EntrySet;->iterator()Ljava/util/Iterator; HSPLjava/util/IdentityHashMap$EntrySet;->size()I HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;-><init>(Ljava/util/IdentityHashMap;)V @@ -28251,10 +28322,9 @@ HSPLjava/util/ImmutableCollections$MapN;->probe(Ljava/lang/Object;)I HSPLjava/util/ImmutableCollections$SetN;-><init>([Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$SetN;->contains(Ljava/lang/Object;)Z HSPLjava/util/ImmutableCollections$SetN;->probe(Ljava/lang/Object;)I -HSPLjava/util/ImmutableCollections;->-$$Nest$sfgetEMPTY()Ljava/lang/Object; HSPLjava/util/ImmutableCollections;-><clinit>()V HSPLjava/util/ImmutableCollections;->listCopy(Ljava/util/Collection;)Ljava/util/List; -HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;Ljava/util/stream/Nodes$FixedNodeBuilder;,Ljava/util/stream/ReferencePipeline$2$1;,Ljava/util/stream/ReferencePipeline$3$1;,Ljava/util/stream/ReferencePipeline$4$1;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; +HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;missing_types]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLjava/util/JumboEnumSet$EnumSetIterator;-><init>(Ljava/util/JumboEnumSet;)V HSPLjava/util/JumboEnumSet$EnumSetIterator;->hasNext()Z HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Enum; @@ -28329,7 +28399,7 @@ HSPLjava/util/LinkedList;-><init>()V HSPLjava/util/LinkedList;-><init>(Ljava/util/Collection;)V HSPLjava/util/LinkedList;->add(ILjava/lang/Object;)V HSPLjava/util/LinkedList;->add(Ljava/lang/Object;)Z -HSPLjava/util/LinkedList;->addAll(ILjava/util/Collection;)Z +HSPLjava/util/LinkedList;->addAll(ILjava/util/Collection;)Z+]Ljava/util/Collection;Ljava/util/LinkedList;]Ljava/util/LinkedList;Ljava/util/LinkedList; HSPLjava/util/LinkedList;->addAll(Ljava/util/Collection;)Z HSPLjava/util/LinkedList;->addFirst(Ljava/lang/Object;)V HSPLjava/util/LinkedList;->addLast(Ljava/lang/Object;)V @@ -28376,7 +28446,7 @@ HSPLjava/util/List;->of(Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of([Ljava/lang/Object;)Ljava/util/List; -HSPLjava/util/List;->sort(Ljava/util/Comparator;)V +HSPLjava/util/List;->sort(Ljava/util/Comparator;)V+]Ljava/util/ListIterator;Ljava/util/LinkedList$ListItr;]Ljava/util/List;Ljava/util/LinkedList; HSPLjava/util/List;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Locale$Builder;-><init>()V HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale; @@ -28400,12 +28470,12 @@ HSPLjava/util/Locale;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/Local HSPLjava/util/Locale;->cleanCache()V HSPLjava/util/Locale;->clone()Ljava/lang/Object; HSPLjava/util/Locale;->convertOldISOCodes(Ljava/lang/String;)Ljava/lang/String; -HSPLjava/util/Locale;->equals(Ljava/lang/Object;)Z +HSPLjava/util/Locale;->equals(Ljava/lang/Object;)Z+]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLjava/util/Locale;->forLanguageTag(Ljava/lang/String;)Ljava/util/Locale; HSPLjava/util/Locale;->getAvailableLocales()[Ljava/util/Locale; HSPLjava/util/Locale;->getBaseLocale()Lsun/util/locale/BaseLocale; HSPLjava/util/Locale;->getCompatibilityExtensions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions; -HSPLjava/util/Locale;->getCountry()Ljava/lang/String; +HSPLjava/util/Locale;->getCountry()Ljava/lang/String;+]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLjava/util/Locale;->getDefault()Ljava/util/Locale; HSPLjava/util/Locale;->getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; HSPLjava/util/Locale;->getDisplayCountry(Ljava/util/Locale;)Ljava/lang/String; @@ -28417,10 +28487,10 @@ HSPLjava/util/Locale;->getISO3Language()Ljava/lang/String; HSPLjava/util/Locale;->getISOLanguages()[Ljava/lang/String; HSPLjava/util/Locale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale; HSPLjava/util/Locale;->getInstance(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale; -HSPLjava/util/Locale;->getLanguage()Ljava/lang/String; +HSPLjava/util/Locale;->getLanguage()Ljava/lang/String;+]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLjava/util/Locale;->getScript()Ljava/lang/String; HSPLjava/util/Locale;->getUnicodeLocaleType(Ljava/lang/String;)Ljava/lang/String; -HSPLjava/util/Locale;->getVariant()Ljava/lang/String; +HSPLjava/util/Locale;->getVariant()Ljava/lang/String;+]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLjava/util/Locale;->hasExtensions()Z HSPLjava/util/Locale;->hashCode()I HSPLjava/util/Locale;->isUnicodeExtensionKey(Ljava/lang/String;)Z @@ -28431,7 +28501,7 @@ HSPLjava/util/Locale;->readObject(Ljava/io/ObjectInputStream;)V HSPLjava/util/Locale;->readResolve()Ljava/lang/Object; HSPLjava/util/Locale;->setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V HSPLjava/util/Locale;->setDefault(Ljava/util/Locale;)V -HSPLjava/util/Locale;->toLanguageTag()Ljava/lang/String; +HSPLjava/util/Locale;->toLanguageTag()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lsun/util/locale/LanguageTag;Lsun/util/locale/LanguageTag;]Ljava/util/List;Ljava/util/Collections$EmptyList;]Ljava/util/Iterator;Ljava/util/Collections$EmptyIterator; HSPLjava/util/Locale;->toString()Ljava/lang/String; HSPLjava/util/Locale;->writeObject(Ljava/io/ObjectOutputStream;)V HSPLjava/util/Map;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/function/Function;missing_types]Ljava/util/Map;Landroid/util/ArrayMap; @@ -28443,7 +28513,7 @@ HSPLjava/util/NoSuchElementException;-><init>()V HSPLjava/util/NoSuchElementException;-><init>(Ljava/lang/String;)V HSPLjava/util/Objects;->checkFromIndexSize(III)I HSPLjava/util/Objects;->checkIndex(II)I -HSPLjava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z +HSPLjava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z+]Ljava/lang/Object;megamorphic_types HSPLjava/util/Objects;->hash([Ljava/lang/Object;)I HSPLjava/util/Objects;->hashCode(Ljava/lang/Object;)I HSPLjava/util/Objects;->nonNull(Ljava/lang/Object;)Z @@ -28630,7 +28700,7 @@ HSPLjava/util/SimpleTimeZone;->getOffset(J)I HSPLjava/util/SimpleTimeZone;->getOffsets(J[I)I HSPLjava/util/SimpleTimeZone;->getRawOffset()I HSPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z -HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Spliterator$OfInt;Ljava/util/Spliterators$IntArraySpliterator; +HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Spliterator$OfInt;Ljava/util/Spliterators$IntArraySpliterator;,Ljava/util/stream/Streams$RangeIntSpliterator; HSPLjava/util/Spliterator;->getExactSizeIfKnown()J+]Ljava/util/Spliterator;megamorphic_types HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;I)V HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V @@ -29079,7 +29149,7 @@ HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z HSPLjava/util/concurrent/ConcurrentHashMap;->replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z -HSPLjava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLjava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/lang/Object;Landroid/icu/impl/locale/BaseLocale$Key; HSPLjava/util/concurrent/ConcurrentHashMap;->resizeStamp(I)I HSPLjava/util/concurrent/ConcurrentHashMap;->setTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;)V HSPLjava/util/concurrent/ConcurrentHashMap;->size()I @@ -29980,7 +30050,7 @@ HSPLjava/util/regex/Pattern;-><init>(Ljava/lang/String;I)V HSPLjava/util/regex/Pattern;->compile()V HSPLjava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; HSPLjava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern; -HSPLjava/util/regex/Pattern;->fastSplit(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String; +HSPLjava/util/regex/Pattern;->fastSplit(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLjava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; HSPLjava/util/regex/Pattern;->matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z HSPLjava/util/regex/Pattern;->pattern()Ljava/lang/String; @@ -32571,6 +32641,13 @@ Landroid/animation/AnimationHandler$AnimationFrameCallback; Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider; Landroid/animation/AnimationHandler$MyFrameCallbackProvider; Landroid/animation/AnimationHandler; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda3; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda4; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda5; +Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6; Landroid/animation/Animator$AnimatorCaller; Landroid/animation/Animator$AnimatorConstantState; Landroid/animation/Animator$AnimatorListener; @@ -32848,6 +32925,7 @@ Landroid/app/BackgroundServiceStartNotAllowedException; Landroid/app/BroadcastOptions; Landroid/app/ClientTransactionHandler; Landroid/app/ComponentOptions; +Landroid/app/ConfigurationChangedListenerController; Landroid/app/ConfigurationController; Landroid/app/ContentProviderHolder$1; Landroid/app/ContentProviderHolder; @@ -39005,7 +39083,6 @@ Landroid/security/KeyChain; Landroid/security/KeyChainAliasCallback; Landroid/security/KeyChainException; Landroid/security/KeyPairGeneratorSpec; -Landroid/security/KeyStore$State; Landroid/security/KeyStore2$$ExternalSyntheticLambda0; Landroid/security/KeyStore2$$ExternalSyntheticLambda1; Landroid/security/KeyStore2$$ExternalSyntheticLambda3; @@ -39027,12 +39104,6 @@ Landroid/security/Scrypt; Landroid/security/attestationverification/AttestationVerificationManager; Landroid/security/keymaster/ExportResult$1; Landroid/security/keymaster/ExportResult; -Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub; -Landroid/security/keymaster/IKeyAttestationApplicationIdProvider; -Landroid/security/keymaster/KeyAttestationApplicationId$1; -Landroid/security/keymaster/KeyAttestationApplicationId; -Landroid/security/keymaster/KeyAttestationPackageInfo$1; -Landroid/security/keymaster/KeyAttestationPackageInfo; Landroid/security/keymaster/KeyCharacteristics$1; Landroid/security/keymaster/KeyCharacteristics; Landroid/security/keymaster/KeymasterArgument$1; @@ -41125,6 +41196,8 @@ Landroid/view/SurfaceControl$TrustedPresentationCallback; Landroid/view/SurfaceControl$TrustedPresentationThresholds; Landroid/view/SurfaceControl; Landroid/view/SurfaceControlHdrLayerInfoListener; +Landroid/view/SurfaceControlRegistry$DefaultReporter; +Landroid/view/SurfaceControlRegistry$Reporter; Landroid/view/SurfaceControlRegistry; Landroid/view/SurfaceControlViewHost$SurfacePackage$1; Landroid/view/SurfaceControlViewHost$SurfacePackage; @@ -41682,11 +41755,15 @@ Landroid/view/inputmethod/JoinOrSplitGesture; Landroid/view/inputmethod/ParcelableHandwritingGesture$1; Landroid/view/inputmethod/ParcelableHandwritingGesture; Landroid/view/inputmethod/PreviewableHandwritingGesture; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda11; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda24; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda25; -Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda36; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda27; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda28; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda37; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda39; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda40; +Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda42; Landroid/view/inputmethod/RemoteInputConnectionImpl$$ExternalSyntheticLambda8; Landroid/view/inputmethod/RemoteInputConnectionImpl$1; Landroid/view/inputmethod/RemoteInputConnectionImpl$KnownAlwaysTrueEndBatchEditCache; @@ -49367,7 +49444,6 @@ Lsun/util/logging/PlatformLogger; [Landroid/renderscript/Element$DataKind; [Landroid/renderscript/Element$DataType; [Landroid/renderscript/RenderScript$ContextType; -[Landroid/security/KeyStore$State; [Landroid/service/notification/NotificationListenerService$Ranking; [Landroid/service/notification/StatusBarNotification; [Landroid/service/notification/ZenModeConfig$ZenRule; diff --git a/config/preloaded-classes b/config/preloaded-classes index 7f8f5e3f362b..8331358455c4 100644 --- a/config/preloaded-classes +++ b/config/preloaded-classes @@ -93,6 +93,7 @@ android.animation.AnimationHandler$AnimationFrameCallback android.animation.AnimationHandler$AnimationFrameCallbackProvider android.animation.AnimationHandler$MyFrameCallbackProvider android.animation.AnimationHandler +android.animation.Animator$AnimatorCaller android.animation.Animator$AnimatorConstantState android.animation.Animator$AnimatorListener android.animation.Animator$AnimatorPauseListener @@ -100,6 +101,7 @@ android.animation.Animator android.animation.AnimatorInflater$PathDataEvaluator android.animation.AnimatorInflater android.animation.AnimatorListenerAdapter +android.animation.AnimatorSet$$ExternalSyntheticLambda0 android.animation.AnimatorSet$1 android.animation.AnimatorSet$2 android.animation.AnimatorSet$3 @@ -621,7 +623,9 @@ android.app.NotificationManager android.app.OnActivityPausedListener android.app.PackageInstallObserver$1 android.app.PackageInstallObserver +android.app.PendingIntent$$ExternalSyntheticLambda0 android.app.PendingIntent$$ExternalSyntheticLambda1 +android.app.PendingIntent$$ExternalSyntheticLambda2 android.app.PendingIntent$1 android.app.PendingIntent$CancelListener android.app.PendingIntent$CanceledException @@ -690,12 +694,14 @@ android.app.ServiceStartArgs android.app.ServiceStartNotAllowedException android.app.SharedElementCallback$1 android.app.SharedElementCallback +android.app.SharedPreferencesImpl$$ExternalSyntheticLambda0 android.app.SharedPreferencesImpl$1 android.app.SharedPreferencesImpl$EditorImpl$$ExternalSyntheticLambda0 android.app.SharedPreferencesImpl$EditorImpl$1 android.app.SharedPreferencesImpl$EditorImpl$2 android.app.SharedPreferencesImpl$EditorImpl android.app.SharedPreferencesImpl$MemoryCommitResult +android.app.SharedPreferencesImpl$SharedPreferencesThreadFactory android.app.SharedPreferencesImpl android.app.StackTrace android.app.StatusBarManager @@ -851,6 +857,7 @@ android.app.SystemServiceRegistry$StaticServiceProducerWithoutBinder android.app.SystemServiceRegistry android.app.TaskInfo android.app.TaskStackListener +android.app.UiModeManager$Globals android.app.UiModeManager$InnerListener android.app.UiModeManager$OnProjectionStateChangedListener android.app.UiModeManager$OnProjectionStateChangedListenerResourceManager @@ -1263,6 +1270,7 @@ android.app.wallpapereffectsgeneration.WallpaperEffectsGenerationManager android.app.wearable.WearableSensingManager android.apphibernation.AppHibernationManager android.appwidget.AppWidgetManager$$ExternalSyntheticLambda0 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda10 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda1 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda2 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda3 @@ -2347,6 +2355,8 @@ android.gsi.GsiProgress android.gsi.IGsiService$Stub$Proxy android.gsi.IGsiService$Stub android.gsi.IGsiService +android.gui.StalledTransactionInfo$1 +android.gui.StalledTransactionInfo android.hardware.Camera$CameraInfo android.hardware.Camera$Face android.hardware.Camera @@ -2474,6 +2484,7 @@ android.hardware.camera2.CameraManager$CameraManagerGlobal$6 android.hardware.camera2.CameraManager$CameraManagerGlobal$7 android.hardware.camera2.CameraManager$CameraManagerGlobal android.hardware.camera2.CameraManager$DeviceStateListener +android.hardware.camera2.CameraManager$FoldStateListener$$ExternalSyntheticLambda0 android.hardware.camera2.CameraManager$FoldStateListener android.hardware.camera2.CameraManager$TorchCallback android.hardware.camera2.CameraManager @@ -2658,6 +2669,9 @@ android.hardware.display.DeviceProductInfo$1 android.hardware.display.DeviceProductInfo$ManufactureDate$1 android.hardware.display.DeviceProductInfo$ManufactureDate android.hardware.display.DeviceProductInfo +android.hardware.display.DisplayManager$$ExternalSyntheticLambda0 +android.hardware.display.DisplayManager$$ExternalSyntheticLambda1 +android.hardware.display.DisplayManager$$ExternalSyntheticLambda2 android.hardware.display.DisplayManager$DisplayListener android.hardware.display.DisplayManager$WeakDisplayCache android.hardware.display.DisplayManager @@ -2776,6 +2790,7 @@ android.hardware.input.InputManager android.hardware.input.InputManagerGlobal$InputDeviceListenerDelegate android.hardware.input.InputManagerGlobal$OnTabletModeChangedListenerDelegate android.hardware.input.InputManagerGlobal +android.hardware.input.InputSettings android.hardware.input.KeyboardLayout$1 android.hardware.input.KeyboardLayout android.hardware.input.TouchCalibration$1 @@ -4768,6 +4783,7 @@ android.media.AudioManager$NativeEventHandlerDelegate android.media.AudioManager$OnAmPortUpdateListener android.media.AudioManager$OnAudioFocusChangeListener android.media.AudioManager$OnAudioPortUpdateListener +android.media.AudioManager$OnModeChangedListener android.media.AudioManager$PlaybackConfigChangeCallbackData android.media.AudioManager$RecordConfigChangeCallbackData android.media.AudioManager$SafeWaitObject @@ -6497,7 +6513,6 @@ android.security.KeyChain android.security.KeyChainAliasCallback android.security.KeyChainException android.security.KeyPairGeneratorSpec -android.security.KeyStore$State android.security.KeyStore2$$ExternalSyntheticLambda0 android.security.KeyStore2$$ExternalSyntheticLambda1 android.security.KeyStore2$$ExternalSyntheticLambda3 @@ -6543,13 +6558,7 @@ android.security.keystore.AttestationUtils android.security.keystore.BackendBusyException android.security.keystore.DelegatingX509Certificate android.security.keystore.DeviceIdAttestationException -android.security.keystore.IKeyAttestationApplicationIdProvider$Stub -android.security.keystore.IKeyAttestationApplicationIdProvider -android.security.keystore.KeyAttestationApplicationId$Stub -android.security.keystore.KeyAttestationApplicationId android.security.keystore.KeyAttestationException -android.security.keystore.KeyAttestationPackageInfo$Stub -android.security.keystore.KeyAttestationPackageInfo android.security.keystore.KeyExpiredException android.security.keystore.KeyGenParameterSpec$Builder android.security.keystore.KeyGenParameterSpec @@ -6572,8 +6581,6 @@ android.security.keystore.KeystoreResponse$1 android.security.keystore.KeystoreResponse android.security.keystore.ParcelableKeyGenParameterSpec$1 android.security.keystore.ParcelableKeyGenParameterSpec -android.security.keystore.Signature$Stub -android.security.keystore.Signature android.security.keystore.SecureKeyImportUnavailableException android.security.keystore.StrongBoxUnavailableException android.security.keystore.UserAuthArgs @@ -8410,6 +8417,8 @@ android.view.IScrollCaptureCallbacks android.view.IScrollCaptureResponseListener$Stub$Proxy android.view.IScrollCaptureResponseListener$Stub android.view.IScrollCaptureResponseListener +android.view.ISurfaceControlViewHostParent$Stub +android.view.ISurfaceControlViewHostParent android.view.ISystemGestureExclusionListener$Stub$Proxy android.view.ISystemGestureExclusionListener$Stub android.view.ISystemGestureExclusionListener @@ -8610,6 +8619,7 @@ android.view.SurfaceControl$TrustedPresentationCallback android.view.SurfaceControl$TrustedPresentationThresholds android.view.SurfaceControl android.view.SurfaceControlHdrLayerInfoListener +android.view.SurfaceControlRegistry android.view.SurfaceControlViewHost$SurfacePackage$1 android.view.SurfaceControlViewHost$SurfacePackage android.view.SurfaceHolder$Callback2 @@ -8623,6 +8633,7 @@ android.view.SurfaceView$$ExternalSyntheticLambda3 android.view.SurfaceView$$ExternalSyntheticLambda4 android.view.SurfaceView$$ExternalSyntheticLambda5 android.view.SurfaceView$1 +android.view.SurfaceView$2 android.view.SurfaceView$SurfaceViewPositionUpdateListener android.view.SurfaceView$SyncBufferTransactionCallback android.view.SurfaceView @@ -8759,6 +8770,7 @@ android.view.ViewRootImpl$$ExternalSyntheticLambda15 android.view.ViewRootImpl$$ExternalSyntheticLambda16 android.view.ViewRootImpl$$ExternalSyntheticLambda17 android.view.ViewRootImpl$$ExternalSyntheticLambda18 +android.view.ViewRootImpl$$ExternalSyntheticLambda19 android.view.ViewRootImpl$$ExternalSyntheticLambda1 android.view.ViewRootImpl$$ExternalSyntheticLambda2 android.view.ViewRootImpl$$ExternalSyntheticLambda3 @@ -8777,6 +8789,7 @@ android.view.ViewRootImpl$6$$ExternalSyntheticLambda0 android.view.ViewRootImpl$6 android.view.ViewRootImpl$7 android.view.ViewRootImpl$8$$ExternalSyntheticLambda0 +android.view.ViewRootImpl$8$$ExternalSyntheticLambda1 android.view.ViewRootImpl$8 android.view.ViewRootImpl$AccessibilityInteractionConnection android.view.ViewRootImpl$AccessibilityInteractionConnectionManager @@ -9903,6 +9916,7 @@ android.window.WindowInfosListener$DisplayInfo android.window.WindowInfosListener android.window.WindowMetricsController$$ExternalSyntheticLambda0 android.window.WindowMetricsController +android.window.WindowOnBackInvokedDispatcher$$ExternalSyntheticLambda0 android.window.WindowOnBackInvokedDispatcher$Checker android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda0 android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda1 @@ -10653,6 +10667,9 @@ com.android.internal.compat.IPlatformCompatNative$Stub com.android.internal.compat.IPlatformCompatNative com.android.internal.config.appcloning.AppCloningDeviceConfigHelper$$ExternalSyntheticLambda0 com.android.internal.config.appcloning.AppCloningDeviceConfigHelper +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags$FlagResolver +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags$NotificationFlags +com.android.internal.config.sysui.SystemUiSystemPropertiesFlags com.android.internal.content.F2fsUtils com.android.internal.content.NativeLibraryHelper$Handle com.android.internal.content.NativeLibraryHelper @@ -11412,6 +11429,7 @@ com.android.internal.telephony.Phone$$ExternalSyntheticLambda0 com.android.internal.telephony.Phone$NetworkSelectMessage com.android.internal.telephony.Phone$SilentRedialParam com.android.internal.telephony.Phone +com.android.internal.telephony.PhoneConfigurationManager$$ExternalSyntheticLambda0 com.android.internal.telephony.PhoneConfigurationManager$ConfigManagerHandler com.android.internal.telephony.PhoneConfigurationManager$MockableInterface com.android.internal.telephony.PhoneConfigurationManager @@ -12579,6 +12597,8 @@ com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda1 com.android.internal.util.LatencyTracker$$ExternalSyntheticLambda2 com.android.internal.util.LatencyTracker$Action com.android.internal.util.LatencyTracker$ActionProperties +com.android.internal.util.LatencyTracker$FrameworkStatsLogEvent +com.android.internal.util.LatencyTracker$Session$$ExternalSyntheticLambda0 com.android.internal.util.LatencyTracker$Session com.android.internal.util.LineBreakBufferedWriter com.android.internal.util.LocalLog @@ -13950,6 +13970,7 @@ java.io.ObjectStreamClass$5 java.io.ObjectStreamClass$Caches java.io.ObjectStreamClass$ClassDataSlot java.io.ObjectStreamClass$DefaultSUIDCompatibilityListener +java.io.ObjectStreamClass$DeserializationConstructorsCache java.io.ObjectStreamClass$EntryFuture$1 java.io.ObjectStreamClass$EntryFuture java.io.ObjectStreamClass$ExceptionInfo @@ -16821,7 +16842,6 @@ sun.util.logging.PlatformLogger [Landroid.renderscript.Element$DataKind; [Landroid.renderscript.Element$DataType; [Landroid.renderscript.RenderScript$ContextType; -[Landroid.security.KeyStore$State; [Landroid.service.notification.NotificationListenerService$Ranking; [Landroid.service.notification.StatusBarNotification; [Landroid.service.notification.ZenModeConfig$ZenRule; diff --git a/core/api/current.txt b/core/api/current.txt index 3f1f720f9a4e..31fb78af955d 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -13322,9 +13322,12 @@ package android.content.pm { public final class SigningInfo implements android.os.Parcelable { ctor public SigningInfo(); + ctor @FlaggedApi("android.content.pm.archiving") public SigningInfo(@IntRange(from=0) int, @Nullable java.util.Collection<android.content.pm.Signature>, @Nullable java.util.Collection<java.security.PublicKey>, @Nullable java.util.Collection<android.content.pm.Signature>); ctor public SigningInfo(android.content.pm.SigningInfo); method public int describeContents(); method public android.content.pm.Signature[] getApkContentsSigners(); + method @FlaggedApi("android.content.pm.archiving") @NonNull public java.util.Collection<java.security.PublicKey> getPublicKeys(); + method @FlaggedApi("android.content.pm.archiving") @IntRange(from=0) public int getSchemeVersion(); method public android.content.pm.Signature[] getSigningCertificateHistory(); method public boolean hasMultipleSigners(); method public boolean hasPastSigningCertificates(); @@ -18189,12 +18192,16 @@ package android.hardware { field public static final int D_16 = 48; // 0x30 field public static final int D_24 = 49; // 0x31 field public static final int D_FP32 = 51; // 0x33 + field @FlaggedApi("com.android.graphics.hwui.flags.requested_formats_v") public static final int RGBA_10101010 = 59; // 0x3b field public static final int RGBA_1010102 = 43; // 0x2b field public static final int RGBA_8888 = 1; // 0x1 field public static final int RGBA_FP16 = 22; // 0x16 field public static final int RGBX_8888 = 2; // 0x2 field public static final int RGB_565 = 4; // 0x4 field public static final int RGB_888 = 3; // 0x3 + field @FlaggedApi("com.android.graphics.hwui.flags.requested_formats_v") public static final int RG_1616_UINT = 58; // 0x3a + field @FlaggedApi("com.android.graphics.hwui.flags.requested_formats_v") public static final int R_16_UINT = 57; // 0x39 + field @FlaggedApi("com.android.graphics.hwui.flags.requested_formats_v") public static final int R_8 = 56; // 0x38 field public static final int S_UI8 = 53; // 0x35 field public static final long USAGE_COMPOSER_OVERLAY = 2048L; // 0x800L field public static final long USAGE_CPU_READ_OFTEN = 3L; // 0x3L @@ -28484,6 +28491,7 @@ package android.net.vcn { method @NonNull public long[] getRetryIntervalsMillis(); method @NonNull public java.util.List<android.net.vcn.VcnUnderlyingNetworkTemplate> getVcnUnderlyingNetworkPriorities(); method public boolean hasGatewayOption(int); + method @FlaggedApi("android.net.vcn.safe_mode_config") public boolean isSafeModeEnabled(); field public static final int VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY = 0; // 0x0 } @@ -28492,6 +28500,7 @@ package android.net.vcn { method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addExposedCapability(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addGatewayOption(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig build(); + method @FlaggedApi("android.net.vcn.safe_mode_config") @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder enableSafeMode(boolean); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeGatewayOption(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setMaxMtu(@IntRange(from=0x500) int); @@ -32195,7 +32204,7 @@ package android.os { field public static final int S_V2 = 32; // 0x20 field public static final int TIRAMISU = 33; // 0x21 field public static final int UPSIDE_DOWN_CAKE = 34; // 0x22 - field public static final int VANILLA_ICE_CREAM = 10000; // 0x2710 + field @FlaggedApi("android.os.android_os_build_vanilla_ice_cream") public static final int VANILLA_ICE_CREAM = 10000; // 0x2710 } public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable { @@ -33452,7 +33461,9 @@ package android.os { method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle); method public boolean hasUserRestriction(String); method public boolean isAdminUser(); + method @FlaggedApi("android.multiuser.support_communal_profile") public boolean isCommunalProfile(); method public boolean isDemoUser(); + method @FlaggedApi("android.multiuser.support_communal_profile_nextgen") public boolean isForegroundUserAdmin(); method public static boolean isHeadlessSystemUserMode(); method public boolean isManagedProfile(); method public boolean isProfile(); @@ -51142,6 +51153,7 @@ package android.view { method public void clear(); method public void copyFrom(android.view.MotionEvent.PointerCoords); method public float getAxisValue(int); + method @FlaggedApi("com.android.hardware.input.pointer_coords_is_resampled_api") public boolean isResampled(); method public void setAxisValue(int, float); field public float orientation; field public float pressure; diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 5bbff0b0b52f..07374963bea0 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -15,7 +15,7 @@ package android.app { @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback { method public final boolean addDumpable(@NonNull android.util.Dumpable); - method public final boolean isResumed(); + method @FlaggedApi("android.nfc.enable_nfc_mainline") public final boolean isResumed(); } public class ActivityManager { diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 119e0ad4e3da..0ad73af28a2c 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -3875,6 +3875,7 @@ package android.content.pm { method public void setInstallAsInstantApp(boolean); method public void setInstallAsVirtualPreload(); method public void setRequestDowngrade(boolean); + method @FlaggedApi("android.content.pm.rollback_lifetime") @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackLifetimeMillis(long); method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged(); } @@ -9660,6 +9661,7 @@ package android.nfc { method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable(); method @FlaggedApi("android.nfc.enable_nfc_reader_option") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean); + method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getAdapterState(); method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int); method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn(); method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported(); @@ -9670,6 +9672,7 @@ package android.nfc { method @FlaggedApi("android.nfc.enable_nfc_mainline") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderMode(boolean); method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean); method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener); + field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC"; field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0 field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe @@ -9731,6 +9734,10 @@ package android.nfc.cardemulation { field @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.ApduServiceInfo> CREATOR; } + public final class CardEmulation { + method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int); + } + @FlaggedApi("android.nfc.enable_nfc_mainline") public final class NfcFServiceInfo implements android.os.Parcelable { ctor @FlaggedApi("android.nfc.enable_nfc_mainline") public NfcFServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; method @FlaggedApi("android.nfc.enable_nfc_mainline") public int describeContents(); diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 796c8008c833..74a444059452 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -866,13 +866,21 @@ package android.companion { } +package android.companion.virtual { + + public final class VirtualDeviceManager { + method @FlaggedApi("android.companion.virtual.flags.interactive_screen_mirror") public boolean isVirtualDeviceOwnedMirrorDisplay(int); + } + +} + package android.content { public final class AttributionSource implements android.os.Parcelable { ctor public AttributionSource(int, @Nullable String, @Nullable String); ctor public AttributionSource(int, @Nullable String, @Nullable String, @NonNull android.os.IBinder); ctor public AttributionSource(int, @Nullable String, @Nullable String, @Nullable java.util.Set<java.lang.String>, @Nullable android.content.AttributionSource); - ctor public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], @Nullable android.content.AttributionSource); + ctor @FlaggedApi("android.permission.flags.attribution_source_constructor") public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], @Nullable android.content.AttributionSource); ctor @FlaggedApi("android.permission.flags.device_aware_permission_apis") public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], int, @Nullable android.content.AttributionSource); method public void enforceCallingPid(); } @@ -1085,7 +1093,7 @@ package android.content.pm { method public boolean isMain(); method public boolean isManagedProfile(); method @Deprecated public boolean isPrimary(); - method public boolean isPrivateProfile(); + method @FlaggedApi("android.os.allow_private_profile") public boolean isPrivateProfile(); method public boolean isProfile(); method public boolean isQuietModeEnabled(); method public boolean isRestricted(); @@ -1794,8 +1802,8 @@ package android.media { public class AudioManager { method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String); - method @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull java.util.List<java.lang.Integer>); - method @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean exitAudioFocusFreezeForTest(); + method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull java.util.List<java.lang.Integer>); + method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean exitAudioFocusFreezeForTest(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceComputeCsdOnAllDevices(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceUseFrameworkMel(boolean); method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat); @@ -1803,9 +1811,9 @@ package android.media { method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getCsd(); method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int); method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes); - method @NonNull @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public java.util.List<java.lang.Integer> getFocusDuckedUidsForTest(); - method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest(); - method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusUnmuteDelayAfterFadeOutForTest(); + method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @NonNull @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public java.util.List<java.lang.Integer> getFocusDuckedUidsForTest(); + method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest(); + method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusUnmuteDelayAfterFadeOutForTest(); method @Nullable public static android.media.AudioHalVersionInfo getHalVersion(); method public static final int[] getPublicStreamTypes(); method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats(); @@ -2148,7 +2156,9 @@ package android.os { } public final class BugreportParams { + field @FlaggedApi("android.app.admin.flags.onboarding_bugreport_v2_enabled") public static final int BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL = 4; // 0x4 field @FlaggedApi("android.os.bugreport_mode_max_value") public static final int BUGREPORT_MODE_MAX_VALUE = 7; // 0x7 + field @FlaggedApi("android.app.admin.flags.onboarding_bugreport_v2_enabled") public static final int BUGREPORT_MODE_ONBOARDING = 7; // 0x7 } public class Build { @@ -2287,7 +2297,7 @@ package android.os { public final class PowerManager { method public boolean areAutoPowerSaveModesEnabled(); method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void forceLowPowerStandbyActive(boolean); - method public boolean isBatterySaverSupported(); + method @FlaggedApi("android.os.battery_saver_supported_check_api") public boolean isBatterySaverSupported(); field public static final String ACTION_ENHANCED_DISCHARGE_PREDICTION_CHANGED = "android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED"; field @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public static final int SYSTEM_WAKELOCK = -2147483648; // 0x80000000 } @@ -2355,6 +2365,7 @@ package android.os { method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int); method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.content.pm.UserInfo> getAliveUsers(); method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getBootUser(); + method @FlaggedApi("android.multiuser.support_communal_profile") @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getCommunalProfile(); method public int getMainDisplayIdAssignedToUser(); method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.Set<java.lang.String> getPreInstallableSystemPackages(@NonNull String); method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public String getUserType(); diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index e51a41e8d4bc..be433d2ab0f2 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -9072,6 +9072,7 @@ public class Activity extends ContextThemeWrapper * @hide */ @UnsupportedAppUsage + @FlaggedApi(android.nfc.Flags.FLAG_ENABLE_NFC_MAINLINE) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public final boolean isResumed() { return mResumed; diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index ecbc9b1d52c2..9a19d8edf8a8 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -8638,8 +8638,8 @@ public class AppOpsManager { } } - SyncNotedAppOp syncOp = mService.noteProxyOperation(op, attributionSource.asState(), - collectionMode == COLLECT_ASYNC, message, + SyncNotedAppOp syncOp = mService.noteProxyOperationWithState(op, + attributionSource.asState(), collectionMode == COLLECT_ASYNC, message, shouldCollectMessage, skipProxyOperation); if (syncOp.getOpMode() == MODE_ALLOWED) { @@ -9110,7 +9110,7 @@ public class AppOpsManager { } } - SyncNotedAppOp syncOp = mService.startProxyOperation(clientId, op, + SyncNotedAppOp syncOp = mService.startProxyOperationWithState(clientId, op, attributionSource.asState(), false, collectionMode == COLLECT_ASYNC, message, shouldCollectMessage, skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlags, attributionChainId); @@ -9229,8 +9229,8 @@ public class AppOpsManager { public void finishProxyOp(@NonNull IBinder clientId, @NonNull String op, @NonNull AttributionSource attributionSource, boolean skipProxyOperation) { try { - mService.finishProxyOperation(clientId, strOpToOp(op), attributionSource.asState(), - skipProxyOperation); + mService.finishProxyOperationWithState( + clientId, strOpToOp(op), attributionSource.asState(), skipProxyOperation); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java index 2d554031ab48..545ba8e81f62 100644 --- a/core/java/android/app/KeyguardManager.java +++ b/core/java/android/app/KeyguardManager.java @@ -26,6 +26,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UserIdInt; import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager.PasswordComplexity; import android.app.admin.PasswordMetrics; @@ -736,7 +737,7 @@ public class KeyguardManager { * @see #isKeyguardLocked() */ public boolean isDeviceLocked() { - return isDeviceLocked(mContext.getUserId()); + return isDeviceLocked(mContext.getUserId(), mContext.getDeviceId()); } /** @@ -746,8 +747,17 @@ public class KeyguardManager { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) public boolean isDeviceLocked(int userId) { + return isDeviceLocked(userId, mContext.getDeviceId()); + } + + /** + * Per-user per-device version of {@link #isDeviceLocked()}. + * + * @hide + */ + public boolean isDeviceLocked(@UserIdInt int userId, int deviceId) { try { - return mTrustManager.isDeviceLocked(userId, mContext.getAssociatedDisplayId()); + return mTrustManager.isDeviceLocked(userId, deviceId); } catch (RemoteException e) { return false; } @@ -769,7 +779,7 @@ public class KeyguardManager { * @see #isKeyguardSecure() */ public boolean isDeviceSecure() { - return isDeviceSecure(mContext.getUserId()); + return isDeviceSecure(mContext.getUserId(), mContext.getDeviceId()); } /** @@ -779,8 +789,17 @@ public class KeyguardManager { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public boolean isDeviceSecure(int userId) { + return isDeviceSecure(userId, mContext.getDeviceId()); + } + + /** + * Per-user per-device version of {@link #isDeviceSecure()}. + * + * @hide + */ + public boolean isDeviceSecure(@UserIdInt int userId, int deviceId) { try { - return mTrustManager.isDeviceSecure(userId, mContext.getAssociatedDisplayId()); + return mTrustManager.isDeviceSecure(userId, deviceId); } catch (RemoteException e) { return false; } diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 3bde39c03f25..bbc843b0acc5 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -374,7 +374,7 @@ public class Notification implements Parcelable * that you take care of task management as described in the * <a href="{@docRoot}guide/topics/fundamentals/tasks-and-back-stack.html">Tasks and Back * Stack</a> document. In particular, make sure to read the - * <a href="{@docRoot}/training/notify-user/navigation">Start + * <a href="{@docRoot}training/notify-user/navigation">Start * an Activity from a Notification</a> page for the correct ways to launch an application from a * notification. */ @@ -5606,7 +5606,8 @@ public class Notification implements Parcelable contentView.setInt(R.id.expand_button, "setDefaultPillColor", pillColor); // Use different highlighted colors for conversations' unread count if (p.mHighlightExpander) { - pillColor = Colors.flattenAlpha(getColors(p).getTertiaryAccentColor(), bgColor); + pillColor = Colors.flattenAlpha( + getColors(p).getTertiaryFixedDimAccentColor(), bgColor); textColor = Colors.flattenAlpha( getColors(p).getOnTertiaryAccentTextColor(), pillColor); } @@ -12835,6 +12836,9 @@ public class Notification implements Parcelable private int mSecondaryAccentColor = COLOR_INVALID; private int mTertiaryAccentColor = COLOR_INVALID; private int mOnTertiaryAccentTextColor = COLOR_INVALID; + private int mTertiaryFixedDimAccentColor = COLOR_INVALID; + private int mOnTertiaryFixedAccentTextColor = COLOR_INVALID; + private int mErrorColor = COLOR_INVALID; private int mContrastColor = COLOR_INVALID; private int mRippleAlpha = 0x33; @@ -12892,7 +12896,7 @@ public class Notification implements Parcelable if (isColorized) { if (rawColor == COLOR_DEFAULT) { - int[] attrs = {R.attr.colorAccentSecondary}; + int[] attrs = {R.attr.materialColorSecondary}; try (TypedArray ta = obtainDayNightAttributes(ctx, attrs)) { mBackgroundColor = getColor(ta, 0, Color.WHITE); } @@ -12910,17 +12914,21 @@ public class Notification implements Parcelable mSecondaryAccentColor = mSecondaryTextColor; mTertiaryAccentColor = flattenAlpha(mPrimaryTextColor, mBackgroundColor); mOnTertiaryAccentTextColor = mBackgroundColor; + mTertiaryFixedDimAccentColor = mTertiaryAccentColor; + mOnTertiaryFixedAccentTextColor = mOnTertiaryAccentTextColor; mErrorColor = mPrimaryTextColor; mRippleAlpha = 0x33; } else { int[] attrs = { - R.attr.colorSurface, - R.attr.textColorPrimary, - R.attr.textColorSecondary, - R.attr.colorAccent, - R.attr.colorAccentSecondary, - R.attr.colorAccentTertiary, - R.attr.textColorOnAccent, + R.attr.materialColorSurfaceContainerHigh, + R.attr.materialColorOnSurface, + R.attr.materialColorOnSurfaceVariant, + R.attr.materialColorPrimary, + R.attr.materialColorSecondary, + R.attr.materialColorTertiary, + R.attr.materialColorOnTertiary, + R.attr.materialColorTertiaryFixedDim, + R.attr.materialColorOnTertiaryFixed, R.attr.colorError, R.attr.colorControlHighlight }; @@ -12932,8 +12940,10 @@ public class Notification implements Parcelable mSecondaryAccentColor = getColor(ta, 4, COLOR_INVALID); mTertiaryAccentColor = getColor(ta, 5, COLOR_INVALID); mOnTertiaryAccentTextColor = getColor(ta, 6, COLOR_INVALID); - mErrorColor = getColor(ta, 7, COLOR_INVALID); - mRippleAlpha = Color.alpha(getColor(ta, 8, 0x33ffffff)); + mTertiaryFixedDimAccentColor = getColor(ta, 7, COLOR_INVALID); + mOnTertiaryFixedAccentTextColor = getColor(ta, 8, COLOR_INVALID); + mErrorColor = getColor(ta, 9, COLOR_INVALID); + mRippleAlpha = Color.alpha(getColor(ta, 10, 0x33ffffff)); } mContrastColor = calculateContrastColor(ctx, rawColor, mPrimaryAccentColor, mBackgroundColor, nightMode); @@ -12961,6 +12971,14 @@ public class Notification implements Parcelable ContrastColorUtil.resolvePrimaryColor( ctx, mTertiaryAccentColor, nightMode), 0xFF); } + if (mTertiaryFixedDimAccentColor == COLOR_INVALID) { + mTertiaryFixedDimAccentColor = mContrastColor; + } + if (mOnTertiaryFixedAccentTextColor == COLOR_INVALID) { + mOnTertiaryFixedAccentTextColor = ColorUtils.setAlphaComponent( + ContrastColorUtil.resolvePrimaryColor( + ctx, mTertiaryFixedDimAccentColor, nightMode), 0xFF); + } if (mErrorColor == COLOR_INVALID) { mErrorColor = mPrimaryTextColor; } @@ -13034,6 +13052,16 @@ public class Notification implements Parcelable return mOnTertiaryAccentTextColor; } + /** @return the theme's tertiary fixed dim accent color for colored UI elements. */ + public @ColorInt int getTertiaryFixedDimAccentColor() { + return mTertiaryFixedDimAccentColor; + } + + /** @return the theme's text color to be used on the tertiary fixed accent color. */ + public @ColorInt int getOnTertiaryFixedAccentTextColor() { + return mOnTertiaryFixedAccentTextColor; + } + /** * @return the contrast-adjusted version of the color provided by the app, or the * primary text color when colorized. diff --git a/core/java/android/app/admin/flags/flags.aconfig b/core/java/android/app/admin/flags/flags.aconfig index 5a41c65535e6..bbd07b8c21ea 100644 --- a/core/java/android/app/admin/flags/flags.aconfig +++ b/core/java/android/app/admin/flags/flags.aconfig @@ -41,3 +41,10 @@ flag { description: "Improve access to security logging in the context of Zero Trust." bug: "295324350" } + +flag { + name: "dumpsys_policy_engine_migration_enabled" + namespace: "enterprise" + description: "Update DumpSys to include information about migrated APIs in DPE" + bug: "304999634" +} diff --git a/core/java/android/app/smartspace/flags.aconfig b/core/java/android/app/smartspace/flags.aconfig index 6aefa38ac18c..12af888bfaa5 100644 --- a/core/java/android/app/smartspace/flags.aconfig +++ b/core/java/android/app/smartspace/flags.aconfig @@ -6,3 +6,10 @@ flag { description: "Flag to enable the FlaggedApi to include RemoteViews in SmartspaceTarget" bug: "300157758" } + +flag { + name: "access_smartspace" + namespace: "sysui_integrations" + description: "Flag to enable the ACCESS_SMARTSPACE check in SmartspaceManagerService" + bug: "297207196" +} diff --git a/core/java/android/app/trust/ITrustManager.aidl b/core/java/android/app/trust/ITrustManager.aidl index a5e5135f2cb0..70c25ea3ab1c 100644 --- a/core/java/android/app/trust/ITrustManager.aidl +++ b/core/java/android/app/trust/ITrustManager.aidl @@ -34,8 +34,8 @@ interface ITrustManager { void unregisterTrustListener(in ITrustListener trustListener); void reportKeyguardShowingChanged(); void setDeviceLockedForUser(int userId, boolean locked); - boolean isDeviceLocked(int userId, int displayId); - boolean isDeviceSecure(int userId, int displayId); + boolean isDeviceLocked(int userId, int deviceId); + boolean isDeviceSecure(int userId, int deviceId); @EnforcePermission("TRUST_LISTENER") boolean isTrustUsuallyManaged(int userId); void unlockedByBiometricForUser(int userId, in BiometricSourceType source); diff --git a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl index b665036c202f..04933126f294 100644 --- a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl +++ b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl @@ -122,4 +122,10 @@ interface IVirtualDeviceManager { * {@code android.media.AudioManager.SystemSoundEffect} */ void playSoundEffect(int deviceId, int effectType); + + /** + * Returns whether the given display is an auto-mirror display owned by a virtual + * device. + */ + boolean isVirtualDeviceOwnedMirrorDisplay(int displayId); } diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 25693660e1ab..d40a5911d8f4 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -28,6 +28,7 @@ import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.annotation.UserIdInt; import android.app.PendingIntent; import android.companion.AssociationInfo; @@ -436,6 +437,25 @@ public final class VirtualDeviceManager { } /** + * Returns whether the given display is an auto-mirror display owned by a virtual device. + * + * @hide + */ + @FlaggedApi(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR) + @TestApi + public boolean isVirtualDeviceOwnedMirrorDisplay(int displayId) { + if (mService == null) { + Log.w(TAG, "Failed to retrieve virtual devices; no virtual device manager service."); + return false; + } + try { + return mService.isVirtualDeviceOwnedMirrorDisplay(displayId); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * A representation of a virtual device. * * <p>A virtual device can have its own virtual displays, audio input/output, sensors, etc. diff --git a/core/java/android/companion/virtual/flags.aconfig b/core/java/android/companion/virtual/flags.aconfig index cf274f5cbbb9..55ae8eec35d9 100644 --- a/core/java/android/companion/virtual/flags.aconfig +++ b/core/java/android/companion/virtual/flags.aconfig @@ -49,3 +49,17 @@ flag { description: "Enable streaming permission dialogs to Virtual Devices" bug: "291737919" } + +flag { + name: "express_metrics" + namespace: "virtual_devices" + description: "Enable express metrics in VDM" + bug: "307297730" +} + +flag { + name: "interactive_screen_mirror" + namespace: "virtual_devices" + description: "Enable interactive screen mirroring using Virtual Devices" + bug: "292212199" +} diff --git a/core/java/android/content/AttributionSource.java b/core/java/android/content/AttributionSource.java index 62fbcaff79e3..4b2cee698df2 100644 --- a/core/java/android/content/AttributionSource.java +++ b/core/java/android/content/AttributionSource.java @@ -155,6 +155,7 @@ public final class AttributionSource implements Parcelable { /** @hide */ @TestApi + @FlaggedApi(Flags.FLAG_ATTRIBUTION_SOURCE_CONSTRUCTOR) public AttributionSource(int uid, int pid, @Nullable String packageName, @Nullable String attributionTag, @NonNull IBinder token, @Nullable String[] renouncedPermissions, diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index aefa55f30826..323592c43760 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -1204,12 +1204,15 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { /** * This change id is the gatekeeper for all treatments that force a given min aspect ratio. * Enabling this change will allow the following min aspect ratio treatments to be applied: - * OVERRIDE_MIN_ASPECT_RATIO_MEDIUM - * OVERRIDE_MIN_ASPECT_RATIO_LARGE + * <ul> + * <li>OVERRIDE_MIN_ASPECT_RATIO_MEDIUM + * <li>OVERRIDE_MIN_ASPECT_RATIO_LARGE + * </ul> * * If OVERRIDE_MIN_ASPECT_RATIO is applied, the min aspect ratio given in the app's manifest * will be overridden to the largest enabled aspect ratio treatment unless the app's manifest - * value is higher. + * value is higher. By default, this will only apply to activities with fixed portrait + * orientation if OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY is not explicitly disabled. * @hide */ @ChangeId diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index cd8938d1dd77..cbb20e08f368 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -2535,6 +2535,8 @@ public class PackageInstaller { public DataLoaderParams dataLoaderParams; /** {@hide} */ public int rollbackDataPolicy = PackageManager.ROLLBACK_DATA_POLICY_RESTORE; + /** @hide */ + public long rollbackLifetimeMillis = 0; /** {@hide} */ public boolean forceQueryableOverride; /** {@hide} */ @@ -2589,6 +2591,7 @@ public class PackageInstaller { dataLoaderParams = new DataLoaderParams(dataLoaderParamsParcel); } rollbackDataPolicy = source.readInt(); + rollbackLifetimeMillis = source.readLong(); requireUserAction = source.readInt(); packageSource = source.readInt(); applicationEnabledSettingPersistent = source.readBoolean(); @@ -2621,6 +2624,7 @@ public class PackageInstaller { ret.requiredInstalledVersionCode = requiredInstalledVersionCode; ret.dataLoaderParams = dataLoaderParams; ret.rollbackDataPolicy = rollbackDataPolicy; + ret.rollbackLifetimeMillis = rollbackLifetimeMillis; ret.requireUserAction = requireUserAction; ret.packageSource = packageSource; ret.applicationEnabledSettingPersistent = applicationEnabledSettingPersistent; @@ -2902,12 +2906,7 @@ public class PackageInstaller { */ @SystemApi public void setEnableRollback(boolean enable) { - if (enable) { - installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK; - } else { - installFlags &= ~PackageManager.INSTALL_ENABLE_ROLLBACK; - } - rollbackDataPolicy = PackageManager.ROLLBACK_DATA_POLICY_RESTORE; + setEnableRollback(enable, PackageManager.ROLLBACK_DATA_POLICY_RESTORE); } /** @@ -2931,10 +2930,36 @@ public class PackageInstaller { installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK; } else { installFlags &= ~PackageManager.INSTALL_ENABLE_ROLLBACK; + rollbackLifetimeMillis = 0; } rollbackDataPolicy = dataPolicy; } + /** + * If rollback enabled for this session (via {@link #setEnableRollback}, set time + * after which rollback will no longer be possible + * + * <p>For multi-package installs, this value must be set on the parent session. + * Child session rollback lifetime will be ignored. + * + * @param lifetimeMillis time after which rollback expires + * @throws IllegalArgumentException if lifetimeMillis is negative or rollback is not + * enabled via setEnableRollback. + * @hide + */ + @SystemApi + @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) + @FlaggedApi(Flags.FLAG_ROLLBACK_LIFETIME) + public void setRollbackLifetimeMillis(@DurationMillisLong long lifetimeMillis) { + if (lifetimeMillis < 0) { + throw new IllegalArgumentException("rollbackLifetimeMillis can't be negative."); + } + if ((installFlags & PackageManager.INSTALL_ENABLE_ROLLBACK) == 0) { + throw new IllegalArgumentException( + "Can't set rollbackLifetimeMillis when rollback is not enabled"); + } + rollbackLifetimeMillis = lifetimeMillis; + } /** * @deprecated use {@link #setRequestDowngrade(boolean)}. @@ -3295,6 +3320,7 @@ public class PackageInstaller { pw.printPair("requiredInstalledVersionCode", requiredInstalledVersionCode); pw.printPair("dataLoaderParams", dataLoaderParams); pw.printPair("rollbackDataPolicy", rollbackDataPolicy); + pw.printPair("rollbackLifetimeMillis", rollbackLifetimeMillis); pw.printPair("applicationEnabledSettingPersistent", applicationEnabledSettingPersistent); pw.printHexPair("developmentInstallFlags", developmentInstallFlags); @@ -3336,6 +3362,7 @@ public class PackageInstaller { dest.writeParcelable(null, flags); } dest.writeInt(rollbackDataPolicy); + dest.writeLong(rollbackLifetimeMillis); dest.writeInt(requireUserAction); dest.writeInt(packageSource); dest.writeBoolean(applicationEnabledSettingPersistent); @@ -3529,6 +3556,9 @@ public class PackageInstaller { /** {@hide} */ public int rollbackDataPolicy; + /** @hide */ + public long rollbackLifetimeMillis; + /** {@hide} */ public int requireUserAction; @@ -3596,6 +3626,7 @@ public class PackageInstaller { isCommitted = source.readBoolean(); isPreapprovalRequested = source.readBoolean(); rollbackDataPolicy = source.readInt(); + rollbackLifetimeMillis = source.readLong(); createdMillis = source.readLong(); requireUserAction = source.readInt(); installerUid = source.readInt(); @@ -4220,6 +4251,7 @@ public class PackageInstaller { dest.writeBoolean(isCommitted); dest.writeBoolean(isPreapprovalRequested); dest.writeInt(rollbackDataPolicy); + dest.writeLong(rollbackLifetimeMillis); dest.writeLong(createdMillis); dest.writeInt(requireUserAction); dest.writeInt(installerUid); diff --git a/core/java/android/content/pm/SigningInfo.java b/core/java/android/content/pm/SigningInfo.java index 554de0c2ea7b..543703e734c2 100644 --- a/core/java/android/content/pm/SigningInfo.java +++ b/core/java/android/content/pm/SigningInfo.java @@ -16,9 +16,16 @@ package android.content.pm; +import android.annotation.FlaggedApi; +import android.annotation.IntRange; import android.annotation.NonNull; +import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; +import android.util.ArraySet; + +import java.security.PublicKey; +import java.util.Collection; /** * Information pertaining to the signing certificates used to sign a package. @@ -33,6 +40,43 @@ public final class SigningInfo implements Parcelable { } /** + * Creates a new instance of information used to sign the APK. + * + * @param schemeVersion version of signing schema. + * @param apkContentsSigners signing certificates. + * @param publicKeys for the signing certificates. + * @param signingCertificateHistory All signing certificates the package has proven it is + * authorized to use. + * + * @see + * <a href="https://source.android.com/docs/security/features/apksigning#schemes">APK signing + * schemas</a> + */ + @FlaggedApi(Flags.FLAG_ARCHIVING) + public SigningInfo(@IntRange(from = 0) int schemeVersion, + @Nullable Collection<Signature> apkContentsSigners, + @Nullable Collection<PublicKey> publicKeys, + @Nullable Collection<Signature> signingCertificateHistory) { + if (schemeVersion <= 0 || apkContentsSigners == null) { + mSigningDetails = SigningDetails.UNKNOWN; + return; + } + Signature[] signatures = apkContentsSigners != null && !apkContentsSigners.isEmpty() + ? apkContentsSigners.toArray(new Signature[apkContentsSigners.size()]) + : null; + Signature[] pastSignatures = + signingCertificateHistory != null && !signingCertificateHistory.isEmpty() + ? signingCertificateHistory.toArray(new Signature[signingCertificateHistory.size()]) + : null; + if (Signature.areExactArraysMatch(signatures, pastSignatures)) { + pastSignatures = null; + } + ArraySet<PublicKey> keys = + publicKeys != null && !publicKeys.isEmpty() ? new ArraySet<>(publicKeys) : null; + mSigningDetails = new SigningDetails(signatures, schemeVersion, keys, pastSignatures); + } + + /** * @hide only packagemanager should be populating this */ public SigningInfo(SigningDetails signingDetails) { @@ -116,6 +160,26 @@ public final class SigningInfo implements Parcelable { return mSigningDetails.getSignatures(); } + /** + * Returns the version of signing schema used to sign the APK. + * + * @see + * <a href="https://source.android.com/docs/security/features/apksigning#schemes">APK signing + * schemas</a> + */ + @FlaggedApi(Flags.FLAG_ARCHIVING) + public @IntRange(from = 0) int getSchemeVersion() { + return mSigningDetails.getSignatureSchemeVersion(); + } + + /** + * Returns the public keys for the signing certificates. + */ + @FlaggedApi(Flags.FLAG_ARCHIVING) + public @NonNull Collection<PublicKey> getPublicKeys() { + return mSigningDetails.getPublicKeys(); + } + @Override public int describeContents() { return 0; diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java index 9f4459d6591b..be586c3fb5c5 100644 --- a/core/java/android/content/pm/UserInfo.java +++ b/core/java/android/content/pm/UserInfo.java @@ -16,6 +16,9 @@ package android.content.pm; +import static android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE; + +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -390,6 +393,7 @@ public class UserInfo implements Parcelable { return UserManager.isUserTypeCommunalProfile(userType); } + @FlaggedApi(FLAG_ALLOW_PRIVATE_PROFILE) public boolean isPrivateProfile() { return UserManager.isUserTypePrivateProfile(userType); } diff --git a/core/java/android/content/pm/flags.aconfig b/core/java/android/content/pm/flags.aconfig index 96609ad241bc..a8fe21ebfbbd 100644 --- a/core/java/android/content/pm/flags.aconfig +++ b/core/java/android/content/pm/flags.aconfig @@ -58,3 +58,19 @@ flag { bug: "295827951" is_fixed_read_only: true } + +flag { + + name: "rollback_lifetime" + namespace: "package_manager_service" + description: "Feature flag to enable custom rollback lifetime during install." + bug: "299670324" + is_fixed_read_only: true +} + +flag { + name: "improve_install_freeze" + namespace: "package_manager_service" + description: "Feature flag to improve install freeze time." + bug: "307561242" +} diff --git a/core/java/android/content/pm/multiuser.aconfig b/core/java/android/content/pm/multiuser.aconfig index 3ec239c7125e..43cf97fd2090 100644 --- a/core/java/android/content/pm/multiuser.aconfig +++ b/core/java/android/content/pm/multiuser.aconfig @@ -28,3 +28,10 @@ flag { description: "Framework support for communal profile." bug: "285426179" } + +flag { + name: "support_communal_profile_nextgen" + namespace: "multiuser" + description: "Further framework support for communal profile, beyond the basics, for later releases." + bug: "285426179" +} diff --git a/core/java/android/hardware/CameraSessionStats.java b/core/java/android/hardware/CameraSessionStats.java index b1d6ac4b4cd2..32938ffae63d 100644 --- a/core/java/android/hardware/CameraSessionStats.java +++ b/core/java/android/hardware/CameraSessionStats.java @@ -65,6 +65,7 @@ public class CameraSessionStats implements Parcelable { private String mUserTag; private int mVideoStabilizationMode; private boolean mUsedUltraWide; + private boolean mUsedZoomOverride; private int mSessionIndex; private CameraExtensionSessionStats mCameraExtensionSessionStats; @@ -84,6 +85,7 @@ public class CameraSessionStats implements Parcelable { mStreamStats = new ArrayList<CameraStreamStats>(); mVideoStabilizationMode = -1; mUsedUltraWide = false; + mUsedZoomOverride = false; mSessionIndex = 0; mCameraExtensionSessionStats = new CameraExtensionSessionStats(); } @@ -106,6 +108,7 @@ public class CameraSessionStats implements Parcelable { mStreamStats = new ArrayList<CameraStreamStats>(); mVideoStabilizationMode = -1; mUsedUltraWide = false; + mUsedZoomOverride = false; mSessionIndex = sessionIdx; mCameraExtensionSessionStats = new CameraExtensionSessionStats(); } @@ -152,6 +155,7 @@ public class CameraSessionStats implements Parcelable { dest.writeString(mUserTag); dest.writeInt(mVideoStabilizationMode); dest.writeBoolean(mUsedUltraWide); + dest.writeBoolean(mUsedZoomOverride); dest.writeInt(mSessionIndex); mCameraExtensionSessionStats.writeToParcel(dest, 0); } @@ -180,6 +184,7 @@ public class CameraSessionStats implements Parcelable { mVideoStabilizationMode = in.readInt(); mUsedUltraWide = in.readBoolean(); + mUsedZoomOverride = in.readBoolean(); mSessionIndex = in.readInt(); mCameraExtensionSessionStats = CameraExtensionSessionStats.CREATOR.createFromParcel(in); @@ -257,6 +262,10 @@ public class CameraSessionStats implements Parcelable { return mUsedUltraWide; } + public boolean getUsedZoomOverride() { + return mUsedZoomOverride; + } + public int getSessionIndex() { return mSessionIndex; } diff --git a/core/java/android/hardware/HardwareBuffer.java b/core/java/android/hardware/HardwareBuffer.java index 5ff0e7aff6aa..e714887920e9 100644 --- a/core/java/android/hardware/HardwareBuffer.java +++ b/core/java/android/hardware/HardwareBuffer.java @@ -16,6 +16,7 @@ package android.hardware; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.LongDef; @@ -65,6 +66,10 @@ public final class HardwareBuffer implements Parcelable, AutoCloseable { DS_FP32UI8, S_UI8, YCBCR_P010, + R_8, + R_16_UINT, + RG_1616_UINT, + RGBA_10101010, }) public @interface Format { } @@ -105,7 +110,19 @@ public final class HardwareBuffer implements Parcelable, AutoCloseable { * followed by a Wx(H/2) CbCr plane. Each sample is represented by a 16-bit * little-endian value, with the lower 6 bits set to zero. */ - public static final int YCBCR_P010 = 0x36; + public static final int YCBCR_P010 = 0x36; + /** Format: 8 bits red */ + @FlaggedApi(com.android.graphics.hwui.flags.Flags.FLAG_REQUESTED_FORMATS_V) + public static final int R_8 = 0x38; + /** Format: 16 bits red */ + @FlaggedApi(com.android.graphics.hwui.flags.Flags.FLAG_REQUESTED_FORMATS_V) + public static final int R_16_UINT = 0x39; + /** Format: 16 bits each red, green */ + @FlaggedApi(com.android.graphics.hwui.flags.Flags.FLAG_REQUESTED_FORMATS_V) + public static final int RG_1616_UINT = 0x3a; + /** Format: 10 bits each red, green, blue, alpha */ + @FlaggedApi(com.android.graphics.hwui.flags.Flags.FLAG_REQUESTED_FORMATS_V) + public static final int RGBA_10101010 = 0x3b; // Note: do not rename, this field is used by native code @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index aeddd0c8d4b1..8e49c4c165c4 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -46,6 +46,7 @@ import android.os.Looper; import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; +import android.util.Log; import android.util.Pair; import android.util.Slog; import android.util.SparseArray; @@ -71,7 +72,11 @@ import java.util.function.Predicate; @SystemService(Context.DISPLAY_SERVICE) public final class DisplayManager { private static final String TAG = "DisplayManager"; - private static final boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayManager DEBUG && adb reboot' + static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG) + || Log.isLoggable("DisplayManager_All", Log.DEBUG); private static final boolean ENABLE_VIRTUAL_DISPLAY_REFRESH_RATE = true; /** diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java index b2a281980939..75f0ceb7e651 100644 --- a/core/java/android/hardware/display/DisplayManagerGlobal.java +++ b/core/java/android/hardware/display/DisplayManagerGlobal.java @@ -81,7 +81,9 @@ public final class DisplayManagerGlobal { private static String sCurrentPackageName = ActivityThread.currentPackageName(); private static boolean sExtraDisplayListenerLogging = initExtraLogging(); - private static final boolean DEBUG = false || sExtraDisplayListenerLogging; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayManager DEBUG && adb reboot' + private static final boolean DEBUG = DisplayManager.DEBUG || sExtraDisplayListenerLogging; // True if display info and display ids should be cached. // @@ -1433,12 +1435,10 @@ public final class DisplayManagerGlobal { sExtraDisplayListenerLogging = !TextUtils.isEmpty(EXTRA_LOGGING_PACKAGE_NAME) && EXTRA_LOGGING_PACKAGE_NAME.equals(sCurrentPackageName); } - // TODO: b/306170135 - return sExtraDisplayListenerLogging instead - return true; + return sExtraDisplayListenerLogging; } private static boolean extraLogging() { - // TODO: b/306170135 - return sExtraDisplayListenerLogging & package name check instead - return true; + return sExtraDisplayListenerLogging; } } diff --git a/core/java/android/hardware/input/input_framework.aconfig b/core/java/android/hardware/input/input_framework.aconfig index ebfe66f51bbc..97c45a76ade9 100644 --- a/core/java/android/hardware/input/input_framework.aconfig +++ b/core/java/android/hardware/input/input_framework.aconfig @@ -17,3 +17,10 @@ flag { bug: "294546335" } + +flag { + namespace: "input_native" + name: "pointer_coords_is_resampled_api" + description: "Makes MotionEvent.PointerCoords#isResampled() a public API" + bug: "298197511" +}
\ No newline at end of file diff --git a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java index a40fb154c256..779a8db433a8 100644 --- a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java +++ b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java @@ -16,10 +16,12 @@ package android.net.vcn; import static android.net.ipsec.ike.IkeSessionParams.IKE_OPTION_MOBIKE; +import static android.net.vcn.Flags.FLAG_SAFE_MODE_CONFIG; import static android.net.vcn.VcnUnderlyingNetworkTemplate.MATCH_REQUIRED; import static com.android.internal.annotations.VisibleForTesting.Visibility; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; @@ -235,6 +237,9 @@ public final class VcnGatewayConnectionConfig { "mMinUdpPort4500NatTimeoutSeconds"; private final int mMinUdpPort4500NatTimeoutSeconds; + private static final String IS_SAFE_MODE_DISABLED_KEY = "mIsSafeModeDisabled"; + private final boolean mIsSafeModeDisabled; + private static final String GATEWAY_OPTIONS_KEY = "mGatewayOptions"; @NonNull private final Set<Integer> mGatewayOptions; @@ -247,6 +252,7 @@ public final class VcnGatewayConnectionConfig { @NonNull long[] retryIntervalsMs, @IntRange(from = MIN_MTU_V6) int maxMtu, @NonNull int minUdpPort4500NatTimeoutSeconds, + boolean isSafeModeDisabled, @NonNull Set<Integer> gatewayOptions) { mGatewayConnectionName = gatewayConnectionName; mTunnelConnectionParams = tunnelConnectionParams; @@ -255,6 +261,7 @@ public final class VcnGatewayConnectionConfig { mMaxMtu = maxMtu; mMinUdpPort4500NatTimeoutSeconds = minUdpPort4500NatTimeoutSeconds; mGatewayOptions = Collections.unmodifiableSet(new ArraySet(gatewayOptions)); + mIsSafeModeDisabled = isSafeModeDisabled; mUnderlyingNetworkTemplates = new ArrayList<>(underlyingNetworkTemplates); if (mUnderlyingNetworkTemplates.isEmpty()) { @@ -317,6 +324,7 @@ public final class VcnGatewayConnectionConfig { in.getInt( MIN_UDP_PORT_4500_NAT_TIMEOUT_SECONDS_KEY, MIN_UDP_PORT_4500_NAT_TIMEOUT_UNSET); + mIsSafeModeDisabled = in.getBoolean(IS_SAFE_MODE_DISABLED_KEY); validate(); } @@ -483,6 +491,16 @@ public final class VcnGatewayConnectionConfig { } /** + * Check whether safe mode is enabled + * + * @see Builder#enableSafeMode(boolean) + */ + @FlaggedApi(FLAG_SAFE_MODE_CONFIG) + public boolean isSafeModeEnabled() { + return !mIsSafeModeDisabled; + } + + /** * Checks if the given VCN gateway option is enabled. * * @param option the option to check. @@ -528,6 +546,7 @@ public final class VcnGatewayConnectionConfig { result.putLongArray(RETRY_INTERVAL_MS_KEY, mRetryIntervalsMs); result.putInt(MAX_MTU_KEY, mMaxMtu); result.putInt(MIN_UDP_PORT_4500_NAT_TIMEOUT_SECONDS_KEY, mMinUdpPort4500NatTimeoutSeconds); + result.putBoolean(IS_SAFE_MODE_DISABLED_KEY, mIsSafeModeDisabled); return result; } @@ -542,6 +561,7 @@ public final class VcnGatewayConnectionConfig { Arrays.hashCode(mRetryIntervalsMs), mMaxMtu, mMinUdpPort4500NatTimeoutSeconds, + mIsSafeModeDisabled, mGatewayOptions); } @@ -559,6 +579,7 @@ public final class VcnGatewayConnectionConfig { && Arrays.equals(mRetryIntervalsMs, rhs.mRetryIntervalsMs) && mMaxMtu == rhs.mMaxMtu && mMinUdpPort4500NatTimeoutSeconds == rhs.mMinUdpPort4500NatTimeoutSeconds + && mIsSafeModeDisabled == rhs.mIsSafeModeDisabled && mGatewayOptions.equals(rhs.mGatewayOptions); } @@ -577,6 +598,7 @@ public final class VcnGatewayConnectionConfig { @NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS; private int mMaxMtu = DEFAULT_MAX_MTU; private int mMinUdpPort4500NatTimeoutSeconds = MIN_UDP_PORT_4500_NAT_TIMEOUT_UNSET; + private boolean mIsSafeModeDisabled = false; @NonNull private final Set<Integer> mGatewayOptions = new ArraySet<>(); @@ -789,6 +811,27 @@ public final class VcnGatewayConnectionConfig { } /** + * Enable/disable safe mode + * + * <p>If a VCN fails to provide connectivity within a system-provided timeout, it will enter + * safe mode. In safe mode, the VCN Network will be torn down and the system will restore + * connectivity by allowing underlying cellular networks to be used as default. At the same + * time, VCN will continue to retry until it succeeds. + * + * <p>When safe mode is disabled and VCN connection fails to provide connectivity, end users + * might not have connectivity, and may not have access to carrier-owned underlying + * networks. + * + * @param enabled whether safe mode should be enabled. Defaults to {@code true} + */ + @FlaggedApi(FLAG_SAFE_MODE_CONFIG) + @NonNull + public Builder enableSafeMode(boolean enabled) { + mIsSafeModeDisabled = !enabled; + return this; + } + + /** * Builds and validates the VcnGatewayConnectionConfig. * * @return an immutable VcnGatewayConnectionConfig instance @@ -803,6 +846,7 @@ public final class VcnGatewayConnectionConfig { mRetryIntervalsMs, mMaxMtu, mMinUdpPort4500NatTimeoutSeconds, + mIsSafeModeDisabled, mGatewayOptions); } } diff --git a/core/java/android/net/vcn/flags.aconfig b/core/java/android/net/vcn/flags.aconfig new file mode 100644 index 000000000000..6956916af0f1 --- /dev/null +++ b/core/java/android/net/vcn/flags.aconfig @@ -0,0 +1,8 @@ +package: "android.net.vcn" + +flag { + name: "safe_mode_config" + namespace: "vcn" + description: "Feature flag for safe mode configurability" + bug: "276358140" +}
\ No newline at end of file diff --git a/core/java/android/nfc/INfcCardEmulation.aidl b/core/java/android/nfc/INfcCardEmulation.aidl index 53843fe73d33..c7b3b2c03f65 100644 --- a/core/java/android/nfc/INfcCardEmulation.aidl +++ b/core/java/android/nfc/INfcCardEmulation.aidl @@ -40,5 +40,6 @@ interface INfcCardEmulation boolean unsetPreferredService(); boolean supportsAidPrefixRegistration(); ApduServiceInfo getPreferredPaymentService(int userHandle); + boolean setServiceEnabledForCategoryOther(int userHandle, in ComponentName app, boolean status); boolean isDefaultPaymentRegistered(); } diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java index 4a7bd3f29458..c89759553810 100644 --- a/core/java/android/nfc/NfcAdapter.java +++ b/core/java/android/nfc/NfcAdapter.java @@ -378,6 +378,8 @@ public final class NfcAdapter { * <p>An external NFC field detected when device locked and SecureNfc enabled. * @hide */ + @SystemApi + @FlaggedApi(Flags.FLAG_ENABLE_NFC_MAINLINE) public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC"; @@ -944,7 +946,8 @@ public final class NfcAdapter { * * @hide */ - @UnsupportedAppUsage + @SystemApi + @FlaggedApi(Flags.FLAG_ENABLE_NFC_MAINLINE) public int getAdapterState() { try { return sService.getState(); diff --git a/core/java/android/nfc/cardemulation/ApduServiceInfo.java b/core/java/android/nfc/cardemulation/ApduServiceInfo.java index 665b7531d3ce..9cf8c4ddc53b 100644 --- a/core/java/android/nfc/cardemulation/ApduServiceInfo.java +++ b/core/java/android/nfc/cardemulation/ApduServiceInfo.java @@ -127,6 +127,11 @@ public final class ApduServiceInfo implements Parcelable { private final String mSettingsActivityName; /** + * State of the service for CATEGORY_OTHER selection + */ + private boolean mOtherServiceSelectionState; + + /** * @hide */ public ApduServiceInfo(ResolveInfo info, boolean onHost, String description, @@ -134,8 +139,21 @@ public final class ApduServiceInfo implements Parcelable { boolean requiresUnlock, int bannerResource, int uid, String settingsActivityName, String offHost, String staticOffHost) { this(info, onHost, description, staticAidGroups, dynamicAidGroups, + requiresUnlock, bannerResource, uid, settingsActivityName, + offHost, staticOffHost, false); + } + + /** + * @hide + */ + public ApduServiceInfo(ResolveInfo info, boolean onHost, String description, + List<AidGroup> staticAidGroups, List<AidGroup> dynamicAidGroups, + boolean requiresUnlock, int bannerResource, int uid, + String settingsActivityName, String offHost, String staticOffHost, + boolean isSelected) { + this(info, onHost, description, staticAidGroups, dynamicAidGroups, requiresUnlock, onHost ? true : false, bannerResource, uid, - settingsActivityName, offHost, staticOffHost); + settingsActivityName, offHost, staticOffHost, isSelected); } /** @@ -144,7 +162,7 @@ public final class ApduServiceInfo implements Parcelable { public ApduServiceInfo(ResolveInfo info, boolean onHost, String description, List<AidGroup> staticAidGroups, List<AidGroup> dynamicAidGroups, boolean requiresUnlock, boolean requiresScreenOn, int bannerResource, int uid, - String settingsActivityName, String offHost, String staticOffHost) { + String settingsActivityName, String offHost, String staticOffHost, boolean isSelected) { this.mService = info; this.mDescription = description; this.mStaticAidGroups = new HashMap<String, AidGroup>(); @@ -163,6 +181,8 @@ public final class ApduServiceInfo implements Parcelable { this.mBannerResourceId = bannerResource; this.mUid = uid; this.mSettingsActivityName = settingsActivityName; + this.mOtherServiceSelectionState = isSelected; + } /** @@ -351,6 +371,9 @@ public final class ApduServiceInfo implements Parcelable { } // Set uid mUid = si.applicationInfo.uid; + + mOtherServiceSelectionState = false; // support other category + } /** @@ -720,43 +743,47 @@ public final class ApduServiceInfo implements Parcelable { dest.writeInt(mBannerResourceId); dest.writeInt(mUid); dest.writeString(mSettingsActivityName); + + dest.writeInt(mOtherServiceSelectionState ? 1 : 0); }; @FlaggedApi(Flags.FLAG_ENABLE_NFC_MAINLINE) public static final @NonNull Parcelable.Creator<ApduServiceInfo> CREATOR = new Parcelable.Creator<ApduServiceInfo>() { - @Override - public ApduServiceInfo createFromParcel(Parcel source) { - ResolveInfo info = ResolveInfo.CREATOR.createFromParcel(source); - String description = source.readString(); - boolean onHost = source.readInt() != 0; - String offHostName = source.readString(); - String staticOffHostName = source.readString(); - ArrayList<AidGroup> staticAidGroups = new ArrayList<AidGroup>(); - int numStaticGroups = source.readInt(); - if (numStaticGroups > 0) { - source.readTypedList(staticAidGroups, AidGroup.CREATOR); - } - ArrayList<AidGroup> dynamicAidGroups = new ArrayList<AidGroup>(); - int numDynamicGroups = source.readInt(); - if (numDynamicGroups > 0) { - source.readTypedList(dynamicAidGroups, AidGroup.CREATOR); - } - boolean requiresUnlock = source.readInt() != 0; - boolean requiresScreenOn = source.readInt() != 0; - int bannerResource = source.readInt(); - int uid = source.readInt(); - String settingsActivityName = source.readString(); - return new ApduServiceInfo(info, onHost, description, staticAidGroups, - dynamicAidGroups, requiresUnlock, requiresScreenOn, bannerResource, uid, - settingsActivityName, offHostName, staticOffHostName); - } + @Override + public ApduServiceInfo createFromParcel(Parcel source) { + ResolveInfo info = ResolveInfo.CREATOR.createFromParcel(source); + String description = source.readString(); + boolean onHost = source.readInt() != 0; + String offHostName = source.readString(); + String staticOffHostName = source.readString(); + ArrayList<AidGroup> staticAidGroups = new ArrayList<AidGroup>(); + int numStaticGroups = source.readInt(); + if (numStaticGroups > 0) { + source.readTypedList(staticAidGroups, AidGroup.CREATOR); + } + ArrayList<AidGroup> dynamicAidGroups = new ArrayList<AidGroup>(); + int numDynamicGroups = source.readInt(); + if (numDynamicGroups > 0) { + source.readTypedList(dynamicAidGroups, AidGroup.CREATOR); + } + boolean requiresUnlock = source.readInt() != 0; + boolean requiresScreenOn = source.readInt() != 0; + int bannerResource = source.readInt(); + int uid = source.readInt(); + String settingsActivityName = source.readString(); + boolean isSelected = source.readInt() != 0; + return new ApduServiceInfo(info, onHost, description, staticAidGroups, + dynamicAidGroups, requiresUnlock, requiresScreenOn, bannerResource, uid, + settingsActivityName, offHostName, staticOffHostName, + isSelected); + } - @Override - public ApduServiceInfo[] newArray(int size) { - return new ApduServiceInfo[size]; - } - }; + @Override + public ApduServiceInfo[] newArray(int size) { + return new ApduServiceInfo[size]; + } + }; /** * Dump contents for debugging. @@ -779,14 +806,16 @@ public final class ApduServiceInfo implements Parcelable { } pw.println(" Static AID groups:"); for (AidGroup group : mStaticAidGroups.values()) { - pw.println(" Category: " + group.getCategory()); + pw.println(" Category: " + group.getCategory() + + "(selected: " + mOtherServiceSelectionState + ")"); for (String aid : group.getAids()) { pw.println(" AID: " + aid); } } pw.println(" Dynamic AID groups:"); for (AidGroup group : mDynamicAidGroups.values()) { - pw.println(" Category: " + group.getCategory()); + pw.println(" Category: " + group.getCategory() + + "(selected: " + mOtherServiceSelectionState + ")"); for (String aid : group.getAids()) { pw.println(" AID: " + aid); } @@ -796,6 +825,22 @@ public final class ApduServiceInfo implements Parcelable { pw.println(" Requires Device ScreenOn: " + mRequiresDeviceScreenOn); } + + /** + * @hide + */ + public void setOtherServiceState(boolean selected) { + mOtherServiceSelectionState = selected; + } + + + /** + * @hide + */ + public boolean isSelectedOtherService() { + return mOtherServiceSelectionState; + } + /** * Dump debugging info as ApduServiceInfoProto. * diff --git a/core/java/android/nfc/cardemulation/CardEmulation.java b/core/java/android/nfc/cardemulation/CardEmulation.java index 32c2a1b40530..d048b595ad1e 100644 --- a/core/java/android/nfc/cardemulation/CardEmulation.java +++ b/core/java/android/nfc/cardemulation/CardEmulation.java @@ -16,17 +16,21 @@ package android.nfc.cardemulation; +import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.SystemApi; +import android.annotation.UserIdInt; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.nfc.Constants; +import android.nfc.Flags; import android.nfc.INfcCardEmulation; import android.nfc.NfcAdapter; import android.os.RemoteException; @@ -877,9 +881,16 @@ public final class CardEmulation { } /** + * Retrieves list of services registered of the provided category for the provided user. + * + * @param category Category string, one of {@link #CATEGORY_PAYMENT} or {@link #CATEGORY_OTHER} + * @param userId the user handle of the user whose information is being requested. * @hide */ - public List<ApduServiceInfo> getServices(String category, int userId) { + @SystemApi + @FlaggedApi(Flags.FLAG_ENABLE_NFC_MAINLINE) + @NonNull + public List<ApduServiceInfo> getServices(@NonNull String category, @UserIdInt int userId) { try { return sService.getServices(userId, category); } catch (RemoteException e) { @@ -936,6 +947,39 @@ public final class CardEmulation { return true; } + /** + * Allows to set or unset preferred service (category other) to avoid AID Collision. + * + * @param service The ComponentName of the service + * @param status true to enable, false to disable + * @return set service for the category and true if service is already set return false. + * + * @hide + */ + public boolean setServiceEnabledForCategoryOther(ComponentName service, boolean status) { + if (service == null) { + throw new NullPointerException("activity or service or category is null"); + } + int userId = mContext.getUser().getIdentifier(); + + try { + return sService.setServiceEnabledForCategoryOther(userId, service, status); + } catch (RemoteException e) { + // Try one more time + recoverService(); + if (sService == null) { + Log.e(TAG, "Failed to recover CardEmulationService."); + return false; + } + try { + return sService.setServiceEnabledForCategoryOther(userId, service, status); + } catch (RemoteException ee) { + Log.e(TAG, "Failed to reach CardEmulationService."); + return false; + } + } + } + void recoverService() { NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext); sService = adapter.getCardEmulationService(); diff --git a/core/java/android/os/BugreportManager.java b/core/java/android/os/BugreportManager.java index 58def6ef7961..960e84d671e7 100644 --- a/core/java/android/os/BugreportManager.java +++ b/core/java/android/os/BugreportManager.java @@ -26,6 +26,7 @@ import android.annotation.RequiresPermission; import android.annotation.SuppressAutoDoc; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UserHandleAware; import android.annotation.WorkerThread; import android.app.ActivityManager; import android.content.Context; @@ -280,8 +281,8 @@ public final class BugreportManager { * * <p>{@link BugreportManager} takes ownership of {@code bugreportFd}. * - * <p>The caller may only request to retrieve a given bugreport once. Subsequent calls will fail - * with error code {@link BugreportCallback#BUGREPORT_ERROR_NO_BUGREPORT_TO_RETRIEVE}. + * <p>The caller can reattempt to retrieve the bugreport multiple times if the user has not + * consented on previous attempts. * * @param bugreportFile the identifier for a bugreport that was previously generated for this * caller using {@code startBugreport}. @@ -294,6 +295,7 @@ public final class BugreportManager { @SystemApi @RequiresPermission(Manifest.permission.DUMP) @WorkerThread + @UserHandleAware public void retrieveBugreport( @NonNull String bugreportFile, @NonNull ParcelFileDescriptor bugreportFd, @@ -307,8 +309,10 @@ public final class BugreportManager { Preconditions.checkNotNull(callback); DumpstateListener dsListener = new DumpstateListener(executor, callback, false, false); mBinder.retrieveBugreport(Binder.getCallingUid(), mContext.getOpPackageName(), + mContext.getUserId(), bugreportFd.getFileDescriptor(), bugreportFile, + /* keepBugreportOnRetrieval = */ false, dsListener); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); diff --git a/core/java/android/os/BugreportParams.java b/core/java/android/os/BugreportParams.java index e8ad303c4208..8510084c309d 100644 --- a/core/java/android/os/BugreportParams.java +++ b/core/java/android/os/BugreportParams.java @@ -20,6 +20,7 @@ import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.app.admin.flags.Flags; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -128,6 +129,8 @@ public final class BugreportParams { * * @hide */ + @TestApi + @FlaggedApi(Flags.FLAG_ONBOARDING_BUGREPORT_V2_ENABLED) public static final int BUGREPORT_MODE_ONBOARDING = IDumpstate.BUGREPORT_MODE_ONBOARDING; /** @@ -145,7 +148,8 @@ public final class BugreportParams { @Retention(RetentionPolicy.SOURCE) @IntDef(flag = true, prefix = { "BUGREPORT_FLAG_" }, value = { BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA, - BUGREPORT_FLAG_DEFER_CONSENT + BUGREPORT_FLAG_DEFER_CONSENT, + BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL }) public @interface BugreportFlag {} @@ -165,4 +169,20 @@ public final class BugreportParams { * String, ParcelFileDescriptor, Executor, BugreportManager.BugreportCallback)}. */ public static final int BUGREPORT_FLAG_DEFER_CONSENT = IDumpstate.BUGREPORT_FLAG_DEFER_CONSENT; + + /** + * Flag for keeping a bugreport stored even after it has been retrieved via + * {@link BugreportManager#retrieveBugreport}. + * + * <p>This flag can only be used when {@link #BUGREPORT_FLAG_DEFER_CONSENT} is set. + * The bugreport may be retrieved multiple times using + * {@link BugreportManager#retrieveBugreport( + * String, ParcelFileDescriptor, Executor, BugreportManager.BugreportCallback)}. + * + * @hide + */ + @TestApi + @FlaggedApi(Flags.FLAG_ONBOARDING_BUGREPORT_V2_ENABLED) + public static final int BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL = + IDumpstate.BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL; } diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java index 509c3b88441e..a9b7257a5406 100755 --- a/core/java/android/os/Build.java +++ b/core/java/android/os/Build.java @@ -17,6 +17,7 @@ package android.os; import android.Manifest; +import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; @@ -1227,6 +1228,7 @@ public class Build { /** * Vanilla Ice Cream. */ + @FlaggedApi(Flags.FLAG_ANDROID_OS_BUILD_VANILLA_ICE_CREAM) public static final int VANILLA_ICE_CREAM = CUR_DEVELOPMENT; } diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl index 839c56f85b7e..330b992ef308 100644 --- a/core/java/android/os/IUserManager.aidl +++ b/core/java/android/os/IUserManager.aidl @@ -137,6 +137,7 @@ interface IUserManager { boolean isUserVisible(int userId); int[] getVisibleUsers(); int getMainDisplayIdAssignedToUser(); + boolean isForegroundUserAdmin(); boolean isUserNameSet(int userId); boolean hasRestrictedProfiles(int userId); boolean requestQuietModeEnabled(String callingPackage, boolean enableQuietMode, int userId, in IntentSender target, int flags); diff --git a/core/java/android/os/MessageQueue.java b/core/java/android/os/MessageQueue.java index 87c4f331e93f..9d8a71bf4abd 100644 --- a/core/java/android/os/MessageQueue.java +++ b/core/java/android/os/MessageQueue.java @@ -25,6 +25,8 @@ import android.util.Printer; import android.util.SparseArray; import android.util.proto.ProtoOutputStream; +import dalvik.annotation.optimization.CriticalNative; + import java.io.FileDescriptor; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -70,6 +72,7 @@ public final class MessageQueue { private native static void nativeDestroy(long ptr); @UnsupportedAppUsage private native void nativePollOnce(long ptr, int timeoutMillis); /*non-static for callbacks*/ + @CriticalNative private native static void nativeWake(long ptr); private native static boolean nativeIsPolling(long ptr); private native static void nativeSetFileDescriptorEvents(long ptr, int fd, int events); diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index fce715ade5af..d2c17556bb2f 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -16,6 +16,7 @@ package android.os; +import android.annotation.FlaggedApi; import android.Manifest.permission; import android.annotation.CallbackExecutor; import android.annotation.CurrentTimeMillisLong; @@ -1940,6 +1941,7 @@ public final class PowerManager { * * @hide */ + @FlaggedApi(android.os.Flags.FLAG_BATTERY_SAVER_SUPPORTED_CHECK_API) @TestApi public boolean isBatterySaverSupported() { try { diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 72bc2113f93f..cc79ae307f60 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -2774,6 +2774,8 @@ public class UserManager { * Returns the designated "communal profile" of the device, or {@code null} if there is none. * @hide */ + @FlaggedApi(android.multiuser.Flags.FLAG_SUPPORT_COMMUNAL_PROFILE) + @TestApi @RequiresPermission(anyOf = { Manifest.permission.MANAGE_USERS, Manifest.permission.CREATE_USERS, @@ -2791,16 +2793,33 @@ public class UserManager { } /** + * Checks if the context user is running in a communal profile. + * + * A communal profile is a {@link #isProfile() profile}, but instead of being associated with a + * particular parent user, it is communal to the device. + * + * @return whether the context user is a communal profile. + */ + @FlaggedApi(android.multiuser.Flags.FLAG_SUPPORT_COMMUNAL_PROFILE) + @UserHandleAware( + requiresAnyOfPermissionsIfNotCallerProfileGroup = { + android.Manifest.permission.MANAGE_USERS, + android.Manifest.permission.QUERY_USERS, + android.Manifest.permission.INTERACT_ACROSS_USERS}) + public boolean isCommunalProfile() { + return isCommunalProfile(mUserId); + } + + /** * Returns {@code true} if the given user is the designated "communal profile" of the device. * @hide */ @RequiresPermission(anyOf = { - Manifest.permission.MANAGE_USERS, - Manifest.permission.CREATE_USERS, - Manifest.permission.QUERY_USERS}) - public boolean isCommunalProfile(@UserIdInt int userId) { - final UserInfo user = getUserInfo(userId); - return user != null && user.isCommunalProfile(); + android.Manifest.permission.MANAGE_USERS, + android.Manifest.permission.QUERY_USERS, + android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional = true) + private boolean isCommunalProfile(@UserIdInt int userId) { + return isUserTypeCommunalProfile(getProfileType(userId)); } /** @@ -2840,6 +2859,23 @@ public class UserManager { } /** + * Used to check if the user currently running in the <b>foreground</b> is an + * {@link #isAdminUser() admin} user. + * + * @return whether the foreground user is an admin user. + * @see #isAdminUser() + * @see #isUserForeground() + */ + @FlaggedApi(android.multiuser.Flags.FLAG_SUPPORT_COMMUNAL_PROFILE_NEXTGEN) + public boolean isForegroundUserAdmin() { + try { + return mService.isForegroundUserAdmin(); + } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); + } + } + + /** * Returns whether the context user is of the given user type. * * @param userType the name of the user's user type, e.g. @@ -2997,7 +3033,7 @@ public class UserManager { } /** - * Checks if the calling context user can have a restricted profile. + * Checks if the context user can have a restricted profile. * @return whether the context user can have a restricted profile. * @hide */ @@ -3101,11 +3137,11 @@ public class UserManager { } /** - * Checks if the calling context user is running in a profile. A profile is a user that + * Checks if the context user is running in a profile. A profile is a user that * typically has its own separate data but shares its UI with some parent user. For example, a * {@link #isManagedProfile() managed profile} is a type of profile. * - * @return whether the caller is in a profile. + * @return whether the context user is in a profile. */ @UserHandleAware( requiresAnyOfPermissionsIfNotCallerProfileGroup = { @@ -5247,7 +5283,7 @@ public class UserManager { /** * Returns the parent of the profile which this method is called from - * or null if called from a user that is not a profile. + * or null if it has no parent (e.g. if it is not a profile). * * @hide */ @@ -5269,7 +5305,7 @@ public class UserManager { * * @param user the handle of the user profile * - * @return the parent of the user or {@code null} if the user is not profile + * @return the parent of the user or {@code null} if the user has no parent * * @hide */ diff --git a/core/java/android/os/flags.aconfig b/core/java/android/os/flags.aconfig index 10b9e3a15834..940ddf2b2597 100644 --- a/core/java/android/os/flags.aconfig +++ b/core/java/android/os/flags.aconfig @@ -1,6 +1,13 @@ package: "android.os" flag { + name: "android_os_build_vanilla_ice_cream" + namespace: "build" + description: "Feature flag for adding the VANILLA_ICE_CREAM constant." + bug: "264658905" +} + +flag { name: "state_of_health_public" namespace: "system_sw_battery" description: "Feature flag for making state_of_health a public api." @@ -41,3 +48,10 @@ flag { description: "Guards the ADPF power efficiency API" bug: "288117936" } + +flag { + name: "battery_saver_supported_check_api" + namespace: "backstage_power" + description: "Guards a new API in PowerManager to check if battery saver is supported or not." + bug: "305067031" +}
\ No newline at end of file diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig index 3f06a91f6e5b..0798f6523a23 100644 --- a/core/java/android/permission/flags.aconfig +++ b/core/java/android/permission/flags.aconfig @@ -35,3 +35,10 @@ flag { description: "enable the shouldRegisterAttributionSource API" bug: "305057691" } + +flag { + name: "attribution_source_constructor" + namespace: "permissions" + description: "enable AttributionSource(int, int, String, String, IBinder, String[], AttributionSource)" + bug: "304478648" +}
\ No newline at end of file diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index a2f1ce1e0efa..c282c9685f24 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -11662,45 +11662,6 @@ public final class Settings { "accessibility_magnification_two_finger_triple_tap_enabled"; /** - * Controls magnification enable gesture. Accessibility magnification can have one or more - * enable gestures. - * - * @see #ACCESSIBILITY_MAGNIFICATION_GESTURE_NONE - * @see #ACCESSIBILITY_MAGNIFICATION_GESTURE_SINGLE_FINGER_TRIPLE_TAP - * @see #ACCESSIBILITY_MAGNIFICATION_GESTURE_TWO_FINGER_TRIPLE_TAP - * @hide - */ - public static final String ACCESSIBILITY_MAGNIFICATION_GESTURE = - "accessibility_magnification_gesture"; - - /** - * Magnification enable gesture value that is a default value. - * @hide - */ - public static final int ACCESSIBILITY_MAGNIFICATION_GESTURE_NONE = 0x0; - - /** - * Magnification enable gesture value is single finger triple tap. - * @hide - */ - public static final int ACCESSIBILITY_MAGNIFICATION_GESTURE_SINGLE_FINGER_TRIPLE_TAP = 0x1; - - /** - * Magnification enable gesture value is two finger triple tap. - * @hide - */ - public static final int ACCESSIBILITY_MAGNIFICATION_GESTURE_TWO_FINGER_TRIPLE_TAP = 0x2; - - /** - * Magnification enable gesture values include single finger triple tap and two finger - * triple tap. - * @hide - */ - public static final int ACCESSIBILITY_MAGNIFICATION_GESTURE_ALL = - ACCESSIBILITY_MAGNIFICATION_GESTURE_SINGLE_FINGER_TRIPLE_TAP - | ACCESSIBILITY_MAGNIFICATION_GESTURE_TWO_FINGER_TRIPLE_TAP; - - /** * Controls magnification capability. Accessibility magnification is capable of at least one * of the magnification modes. * diff --git a/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java b/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java index 76e506cc6728..7eb52807e93f 100644 --- a/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java +++ b/core/java/android/service/voice/HotwordTrainingDataLimitEnforcer.java @@ -27,10 +27,9 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import java.io.File; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; +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 @@ -111,9 +110,9 @@ public class HotwordTrainingDataLimitEnforcer { } private boolean incrementTrainingDataEgressCountLocked() { - SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd", Locale.US); - dt.setTimeZone(TimeZone.getTimeZone("UTC")); - String currentDate = dt.format(new Date()); + 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); diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java index 70e18963d921..68e8c726a209 100644 --- a/core/java/android/view/MotionEvent.java +++ b/core/java/android/view/MotionEvent.java @@ -21,6 +21,7 @@ import static android.view.Display.DEFAULT_DISPLAY; import static java.lang.annotation.RetentionPolicy.SOURCE; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -35,6 +36,8 @@ import android.os.SystemClock; import android.util.Log; import android.util.SparseArray; +import com.android.hardware.input.Flags; + import dalvik.annotation.optimization.CriticalNative; import dalvik.annotation.optimization.FastNative; @@ -4378,6 +4381,28 @@ public final class MotionEvent extends InputEvent implements Parcelable { public boolean isResampled; /** + * Returns true if these pointer coordinates were generated by resampling, rather than from + * an actual input event from the device at this time. + * <p> + * Resampling extrapolates or interpolates touch coordinates reported by the input device to + * better align them with the refresh rate of the display, resulting in smoother movements, + * in particular for scrolling. Resampled coordinates are always added to batches, so a + * motion event will always contain at least one sample that is an original event from the + * input device (i.e. for which this method will return {@code false}). + * </p><p> + * Resampling does not occur if unbuffered dispatch has been requested, or if it has been + * disabled by the manufacturer (for example, on hardware that already synchronizes its + * touch events and display frames). + * </p> + * @see android.view.View#requestUnbufferedDispatch(int) + * @see android.view.View#requestUnbufferedDispatch(MotionEvent) + */ + @FlaggedApi(Flags.FLAG_POINTER_COORDS_IS_RESAMPLED_API) + public boolean isResampled() { + return isResampled; + } + + /** * Clears the contents of this object. * Resets all axes to zero. */ diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index e22207c9771d..9d88af95ade8 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -70,7 +70,6 @@ import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import android.os.ServiceManager; -import android.os.SystemProperties; import android.util.ArrayMap; import android.util.Log; import android.util.Slog; @@ -3304,7 +3303,7 @@ public final class SurfaceControl implements Parcelable { checkPreconditions(sc); if (SurfaceControlRegistry.sCallStackDebuggingEnabled) { SurfaceControlRegistry.getProcessInstance().checkCallStackDebugging( - "setCornerRadius", this, sc, "w=" + width + " h=" + height); + "setWindowCrop", this, sc, "w=" + width + " h=" + height); } nativeSetWindowCrop(mNativeObject, sc.mNativeObject, 0, 0, width, height); return this; diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index dfada58771a6..4da02f902e60 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1020,8 +1020,7 @@ public final class ViewRootImpl implements ViewParent, mDisplay = display; mBasePackageName = context.getBasePackageName(); final String name = DisplayProperties.debug_vri_package().orElse(null); - // TODO: b/306170135 - return to using textutils check on package name. - mExtraDisplayListenerLogging = true; + mExtraDisplayListenerLogging = !TextUtils.isEmpty(name) && name.equals(mBasePackageName); mThread = Thread.currentThread(); mLocation = new WindowLeaked(null); mLocation.fillInStackTrace(); @@ -11613,7 +11612,14 @@ public final class ViewRootImpl implements ViewParent, Log.d(mTag, "registerCallbacksForSync syncBuffer=" + syncBuffer); } - surfaceSyncGroup.addTransaction(mPendingTransaction); + final Transaction t; + if (mHasPendingTransactions) { + t = new Transaction(); + t.merge(mPendingTransaction); + } else { + t = null; + } + mAttachInfo.mThreadedRenderer.registerRtFrameCallback(new FrameDrawingCallback() { @Override public void onFrameDraw(long frame) { @@ -11626,6 +11632,9 @@ public final class ViewRootImpl implements ViewParent, "Received frameDrawingCallback syncResult=" + syncResult + " frameNum=" + frame + "."); } + if (t != null) { + mergeWithNextTransaction(t, frame); + } // If the syncResults are SYNC_LOST_SURFACE_REWARD_IF_FOUND or // SYNC_CONTEXT_IS_STOPPED it means nothing will draw. There's no need to set up diff --git a/core/java/android/view/contentcapture/ContentCaptureManager.java b/core/java/android/view/contentcapture/ContentCaptureManager.java index 57011e879454..5f612d6b0009 100644 --- a/core/java/android/view/contentcapture/ContentCaptureManager.java +++ b/core/java/android/view/contentcapture/ContentCaptureManager.java @@ -395,6 +395,22 @@ public final class ContentCaptureManager { public static final String DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD = "content_protection_optional_groups_threshold"; + /** + * Sets the initial delay for fetching content protection allowlist in milliseconds. + * + * @hide + */ + public static final String DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS = + "content_protection_allowlist_delay_ms"; + + /** + * Sets the timeout for fetching content protection allowlist in milliseconds. + * + * @hide + */ + public static final String DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS = + "content_protection_allowlist_timeout_ms"; + /** @hide */ @TestApi public static final int LOGGING_LEVEL_OFF = 0; @@ -445,6 +461,10 @@ public final class ContentCaptureManager { public static final String DEFAULT_CONTENT_PROTECTION_OPTIONAL_GROUPS_CONFIG = ""; /** @hide */ public static final int DEFAULT_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD = 0; + /** @hide */ + public static final long DEFAULT_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS = 30000; + /** @hide */ + public static final long DEFAULT_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS = 250; private final Object mLock = new Object(); diff --git a/core/java/android/window/SystemPerformanceHinter.java b/core/java/android/window/SystemPerformanceHinter.java index 2736b68845a2..5b0d8d1233c6 100644 --- a/core/java/android/window/SystemPerformanceHinter.java +++ b/core/java/android/window/SystemPerformanceHinter.java @@ -29,11 +29,11 @@ import android.content.Context; import android.os.PerformanceHintManager; import android.os.Trace; import android.util.Log; +import android.view.Display; import android.view.SurfaceControl; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Random; import java.util.function.Supplier; /** @@ -45,6 +45,7 @@ import java.util.function.Supplier; public class SystemPerformanceHinter { private static final String TAG = "SystemPerformanceHinter"; + private static final int HINT_NO_OP = 0; // Change app and SF wakeup times to allow sf more time to composite a frame public static final int HINT_SF_EARLY_WAKEUP = 1 << 0; // Force max refresh rate @@ -88,14 +89,17 @@ public class SystemPerformanceHinter { private final @HintFlags int hintFlags; private final String reason; private final int displayId; - private final int traceCookie; + private String mTraceName; protected HighPerfSession(@HintFlags int hintFlags, int displayId, @NonNull String reason) { this.hintFlags = hintFlags; this.reason = reason; this.displayId = displayId; - this.traceCookie = new Random().nextInt(); - if (hintFlags != 0) { + } + + /** Makes this session active. It is no-op if this session is already active. */ + public void start() { + if (!mActiveSessions.contains(this)) { startSession(this); } } @@ -103,15 +107,36 @@ public class SystemPerformanceHinter { /** * Closes this session. */ + @Override public void close() { - if (hintFlags != 0) { - endSession(this); - } + endSession(this); } + @Override public void finalize() { close(); } + + boolean asyncTraceBegin() { + if (!Trace.isTagEnabled(mTraceTag)) { + mTraceName = null; + return false; + } + if (mTraceName == null) { + mTraceName = "PerfSession-d" + displayId + "-" + reason; + } + Trace.asyncTraceForTrackBegin(mTraceTag, TAG, mTraceName, + System.identityHashCode(this)); + return true; + } + + boolean asyncTraceEnd() { + if (mTraceName == null) { + return false; + } + Trace.asyncTraceForTrackEnd(mTraceTag, TAG, System.identityHashCode(this)); + return true; + } } /** @@ -119,14 +144,22 @@ public class SystemPerformanceHinter { */ private class NoOpHighPerfSession extends HighPerfSession { public NoOpHighPerfSession() { - super(0 /* hintFlags */, -1 /* displayId */, ""); + super(HINT_NO_OP, Display.INVALID_DISPLAY, ""); + } + + @Override + public void start() { } + @Override public void close() { // Do nothing } } + /** The tag category of trace. */ + public long mTraceTag = Trace.TRACE_TAG_APP; + // The active sessions private final ArrayList<HighPerfSession> mActiveSessions = new ArrayList<>(); private final SurfaceControl.Transaction mTransaction; @@ -134,7 +167,6 @@ public class SystemPerformanceHinter { private @Nullable PerformanceHintManager.Session mAdpfSession; private @Nullable DisplayRootProvider mDisplayRootProvider; - /** * Constructor for the hinter. * @hide @@ -167,12 +199,12 @@ public class SystemPerformanceHinter { mAdpfSession = adpfSession; } - /** - * Starts a session that requires high performance. - * @hide - */ - public HighPerfSession startSession(@HintFlags int hintFlags, int displayId, + /** Creates a session that requires high performance. */ + public HighPerfSession createSession(@HintFlags int hintFlags, int displayId, @NonNull String reason) { + if (hintFlags == HINT_NO_OP) { + throw new IllegalArgumentException("Not allow empty hint flags"); + } if (mDisplayRootProvider == null && (hintFlags & HINT_SF_FRAME_RATE) != 0) { throw new IllegalArgumentException( "Using SF frame rate hints requires a valid display root provider"); @@ -193,9 +225,20 @@ public class SystemPerformanceHinter { } /** - * Starts a session that requires high performance. + * Starts a new session that requires high performance. */ + public HighPerfSession startSession(@HintFlags int hintFlags, int displayId, + @NonNull String reason) { + final HighPerfSession session = createSession(hintFlags, displayId, reason); + if (session.hintFlags != HINT_NO_OP) { + startSession(session); + } + return session; + } + + /** Starts the session that requires high performance. */ private void startSession(HighPerfSession session) { + final boolean isTraceEnabled = session.asyncTraceBegin(); int oldGlobalFlags = calculateActiveHintFlags(HINT_GLOBAL); int oldPerDisplayFlags = calculateActiveHintFlagsForDisplay(HINT_PER_DISPLAY, session.displayId); @@ -217,19 +260,24 @@ public class SystemPerformanceHinter { mTransaction.setFrameRateCategory( displaySurfaceControl, FRAME_RATE_CATEGORY_HIGH, /* smoothSwitchOnly= */ false); transactionChanged = true; - Trace.beginAsyncSection("PerfHint-framerate-" + session.displayId + "-" - + session.reason, session.traceCookie); + if (isTraceEnabled) { + asyncTraceBegin(HINT_SF_FRAME_RATE, session.displayId); + } } // Global flags if (nowEnabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) { mTransaction.setEarlyWakeupStart(); transactionChanged = true; - Trace.beginAsyncSection("PerfHint-early_wakeup-" + session.reason, session.traceCookie); + if (isTraceEnabled) { + asyncTraceBegin(HINT_SF_EARLY_WAKEUP, Display.INVALID_DISPLAY); + } } if (nowEnabled(oldGlobalFlags, newGlobalFlags, HINT_ADPF)) { mAdpfSession.sendHint(PerformanceHintManager.Session.CPU_LOAD_UP); - Trace.beginAsyncSection("PerfHint-adpf-" + session.reason, session.traceCookie); + if (isTraceEnabled) { + asyncTraceBegin(HINT_ADPF, Display.INVALID_DISPLAY); + } } if (transactionChanged) { mTransaction.applyAsyncUnsafe(); @@ -240,6 +288,7 @@ public class SystemPerformanceHinter { * Ends a session that requires high performance. */ private void endSession(HighPerfSession session) { + final boolean isTraceEnabled = session.asyncTraceEnd(); int oldGlobalFlags = calculateActiveHintFlags(HINT_GLOBAL); int oldPerDisplayFlags = calculateActiveHintFlagsForDisplay(HINT_PER_DISPLAY, session.displayId); @@ -261,19 +310,24 @@ public class SystemPerformanceHinter { mTransaction.setFrameRateCategory(displaySurfaceControl, FRAME_RATE_CATEGORY_DEFAULT, /* smoothSwitchOnly= */ false); transactionChanged = true; - Trace.endAsyncSection("PerfHint-framerate-" + session.displayId + "-" + session.reason, - session.traceCookie); + if (isTraceEnabled) { + asyncTraceEnd(HINT_SF_FRAME_RATE); + } } // Global flags if (nowDisabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) { mTransaction.setEarlyWakeupEnd(); transactionChanged = true; - Trace.endAsyncSection("PerfHint-early_wakeup-" + session.reason, session.traceCookie); + if (isTraceEnabled) { + asyncTraceEnd(HINT_SF_EARLY_WAKEUP); + } } if (nowDisabled(oldGlobalFlags, newGlobalFlags, HINT_ADPF)) { mAdpfSession.sendHint(PerformanceHintManager.Session.CPU_LOAD_RESET); - Trace.endAsyncSection("PerfHint-adpf-" + session.reason, session.traceCookie); + if (isTraceEnabled) { + asyncTraceEnd(HINT_ADPF); + } } if (transactionChanged) { mTransaction.applyAsyncUnsafe(); @@ -323,6 +377,23 @@ public class SystemPerformanceHinter { return flags; } + private void asyncTraceBegin(@HintFlags int flag, int displayId) { + final String prefix = switch (flag) { + case HINT_SF_EARLY_WAKEUP -> "PerfHint-early_wakeup"; + case HINT_SF_FRAME_RATE -> "PerfHint-framerate"; + case HINT_ADPF -> "PerfHint-adpf"; + default -> "PerfHint-" + flag; + }; + final String name = displayId != Display.INVALID_DISPLAY + ? (prefix + "-d" + displayId) : prefix; + Trace.asyncTraceForTrackBegin(mTraceTag, TAG, name, + flag ^ System.identityHashCode(this)); + } + + private void asyncTraceEnd(@HintFlags int flag) { + Trace.asyncTraceForTrackEnd(mTraceTag, TAG, flag ^ System.identityHashCode(this)); + } + /** * Dumps the existing sessions. */ diff --git a/core/java/android/window/TaskFragmentParentInfo.java b/core/java/android/window/TaskFragmentParentInfo.java index 841354a92192..e6eeca4b4801 100644 --- a/core/java/android/window/TaskFragmentParentInfo.java +++ b/core/java/android/window/TaskFragmentParentInfo.java @@ -35,17 +35,21 @@ public class TaskFragmentParentInfo implements Parcelable { private final boolean mVisible; + private final boolean mHasDirectActivity; + public TaskFragmentParentInfo(@NonNull Configuration configuration, int displayId, - boolean visible) { + boolean visible, boolean hasDirectActivity) { mConfiguration.setTo(configuration); mDisplayId = displayId; mVisible = visible; + mHasDirectActivity = hasDirectActivity; } public TaskFragmentParentInfo(@NonNull TaskFragmentParentInfo info) { mConfiguration.setTo(info.getConfiguration()); mDisplayId = info.mDisplayId; mVisible = info.mVisible; + mHasDirectActivity = info.mHasDirectActivity; } /** The {@link Configuration} of the parent Task */ @@ -68,6 +72,14 @@ public class TaskFragmentParentInfo implements Parcelable { } /** + * Whether the parent Task has any direct child activity, which is not embedded in any + * TaskFragment, or not + */ + public boolean hasDirectActivity() { + return mHasDirectActivity; + } + + /** * Returns {@code true} if the parameters which are important for task fragment * organizers are equal between this {@link TaskFragmentParentInfo} and {@code that}. * Note that this method is usually called with @@ -80,7 +92,7 @@ public class TaskFragmentParentInfo implements Parcelable { return false; } return getWindowingMode() == that.getWindowingMode() && mDisplayId == that.mDisplayId - && mVisible == that.mVisible; + && mVisible == that.mVisible && mHasDirectActivity == that.mHasDirectActivity; } @WindowConfiguration.WindowingMode @@ -94,6 +106,7 @@ public class TaskFragmentParentInfo implements Parcelable { + "config=" + mConfiguration + ", displayId=" + mDisplayId + ", visible=" + mVisible + + ", hasDirectActivity=" + mHasDirectActivity + "}"; } @@ -114,7 +127,8 @@ public class TaskFragmentParentInfo implements Parcelable { final TaskFragmentParentInfo that = (TaskFragmentParentInfo) obj; return mConfiguration.equals(that.mConfiguration) && mDisplayId == that.mDisplayId - && mVisible == that.mVisible; + && mVisible == that.mVisible + && mHasDirectActivity == that.mHasDirectActivity; } @Override @@ -122,6 +136,7 @@ public class TaskFragmentParentInfo implements Parcelable { int result = mConfiguration.hashCode(); result = 31 * result + mDisplayId; result = 31 * result + (mVisible ? 1 : 0); + result = 31 * result + (mHasDirectActivity ? 1 : 0); return result; } @@ -130,12 +145,14 @@ public class TaskFragmentParentInfo implements Parcelable { mConfiguration.writeToParcel(dest, flags); dest.writeInt(mDisplayId); dest.writeBoolean(mVisible); + dest.writeBoolean(mHasDirectActivity); } private TaskFragmentParentInfo(Parcel in) { mConfiguration.readFromParcel(in); mDisplayId = in.readInt(); mVisible = in.readBoolean(); + mHasDirectActivity = in.readBoolean(); } public static final Creator<TaskFragmentParentInfo> CREATOR = diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl index 584dd806361c..492e2ac7cc28 100644 --- a/core/java/com/android/internal/app/IAppOpsService.aidl +++ b/core/java/com/android/internal/app/IAppOpsService.aidl @@ -20,6 +20,7 @@ import android.app.AppOpsManager; import android.app.AsyncNotedAppOp; import android.app.SyncNotedAppOp; import android.app.RuntimeAppOpAccessMessage; +import android.content.AttributionSource; import android.content.AttributionSourceState; import android.content.pm.ParceledListSlice; import android.os.Bundle; @@ -32,10 +33,17 @@ import com.android.internal.app.IAppOpsNotedCallback; import com.android.internal.app.IAppOpsStartedCallback; import com.android.internal.app.MessageSamplingConfig; +// AppOpsService AIDL interface. +// PLEASE READ BEFORE MODIFYING THIS FILE. +// Some methods in this interface or their transaction codes are mentioned in +// frameworks/base/boot/hiddenapi/hiddenapi-unsupported.txt, meaning that we cannot change their +// signature or ordering as they may be used by 3p apps. +// Also, some methods are mentioned in native code, meaning that the numbering in +// frameworks/native/libs/permission/include/binder/IAppOpsService.h must match the order here. +// Please be careful to respect both these issues when modifying this file. interface IAppOpsService { - // These methods are also called by native code, so must - // be kept in sync with frameworks/native/libs/permission/include/binder/IAppOpsService.h - // and not be reordered + // These methods are also called by native code, so please be careful that the number in + // frameworks/native/libs/permission/include/binder/IAppOpsService.h matches the ordering here. int checkOperation(int code, int uid, String packageName); SyncNotedAppOp noteOperation(int code, int uid, String packageName, @nullable String attributionTag, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage); @@ -54,21 +62,21 @@ interface IAppOpsService { void setCameraAudioRestriction(int mode); void startWatchingModeWithFlags(int op, String packageName, int flags, IAppOpsCallback callback); - // End of methods also called by native code. - // Any new method exposed to native must be added after the last one, do not reorder - - SyncNotedAppOp noteProxyOperation(int code, in AttributionSourceState attributionSourceState, + // End of methods also called by native code (there may be more blocks like this of native + // methods later in this file). + // Deprecated, use noteProxyOperationWithState instead. + SyncNotedAppOp noteProxyOperation(int code, in AttributionSource attributionSource, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation); + // Deprecated, use startProxyOperationWithState instead. SyncNotedAppOp startProxyOperation(IBinder clientId, int code, - in AttributionSourceState attributionSourceState, boolean startIfModeDefault, + in AttributionSource attributionSource, boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation, int proxyAttributionFlags, int proxiedAttributionFlags, int attributionChainId); - void finishProxyOperation(IBinder clientId, int code, - in AttributionSourceState attributionSourceState, boolean skipProxyOperation); - - // Remaining methods are only used in Java. + // Deprecated, use finishProxyOperationWithState instead. + void finishProxyOperation(IBinder clientId, int code, in AttributionSource attributionSource, + boolean skipProxyOperation); int checkPackage(int uid, String packageName); RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage(); MessageSamplingConfig reportRuntimeAppOpAccessMessageAndGetConfig(String packageName, @@ -127,8 +135,19 @@ interface IAppOpsService { List<AsyncNotedAppOp> extractAsyncOps(String packageName); int checkOperationRaw(int code, int uid, String packageName, @nullable String attributionTag); - void reloadNonHistoricalState(); void collectNoteOpCallsForValidation(String stackTrace, int op, String packageName, long version); + + SyncNotedAppOp noteProxyOperationWithState(int code, + in AttributionSourceState attributionSourceStateState, + boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, + boolean skipProxyOperation); + SyncNotedAppOp startProxyOperationWithState(IBinder clientId, int code, + in AttributionSourceState attributionSourceStateState, boolean startIfModeDefault, + boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, + boolean skipProxyOperation, int proxyAttributionFlags, int proxiedAttributionFlags, + int attributionChainId); + void finishProxyOperationWithState(IBinder clientId, int code, + in AttributionSourceState attributionSourceStateState, boolean skipProxyOperation); } diff --git a/core/java/com/android/internal/os/BatteryStatsHistory.java b/core/java/com/android/internal/os/BatteryStatsHistory.java index 039943098d7a..7d78f299c625 100644 --- a/core/java/com/android/internal/os/BatteryStatsHistory.java +++ b/core/java/com/android/internal/os/BatteryStatsHistory.java @@ -603,6 +603,17 @@ public class BatteryStatsHistory { } /** + * Returns the monotonic clock time when the available battery history collection started. + */ + public long getStartTime() { + if (!mHistoryFiles.isEmpty()) { + return mHistoryFiles.get(0).monotonicTimeMs; + } else { + return mHistoryBufferStartTime; + } + } + + /** * Start iterating history files and history buffer. * * @param startTimeMs monotonic time (the HistoryItem.time field) to start iterating from, diff --git a/core/java/com/android/internal/os/MultiStateStats.java b/core/java/com/android/internal/os/MultiStateStats.java index dc5055a0881b..ecfed537b798 100644 --- a/core/java/com/android/internal/os/MultiStateStats.java +++ b/core/java/com/android/internal/os/MultiStateStats.java @@ -29,6 +29,8 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.io.PrintWriter; import java.util.Arrays; +import java.util.function.Consumer; +import java.util.function.Function; /** * Maintains multidimensional multi-state stats. States could be something like on-battery (0,1), @@ -52,13 +54,55 @@ public class MultiStateStats { public States(String name, boolean tracked, String... labels) { mName = name; - this.mTracked = tracked; - this.mLabels = labels; + mTracked = tracked; + mLabels = labels; } public boolean isTracked() { return mTracked; } + + public String getName() { + return mName; + } + + public String[] getLabels() { + return mLabels; + } + + /** + * Iterates over all combinations of tracked states and invokes <code>consumer</code> + * for each of them. + */ + public static void forEachTrackedStateCombination(States[] states, + Consumer<int[]> consumer) { + forEachTrackedStateCombination(consumer, states, new int[states.length], 0); + } + + /** + * Recursive function that does a depth-first traversal of the multi-dimensional + * state space. Each time the traversal reaches the end of the <code>states</code> array, + * <code>statesValues</code> contains a unique combination of values for all tracked states. + * For untracked states, the corresponding values are left as 0. The end result is + * that the <code>consumer</code> is invoked for every unique combination of tracked state + * values. For example, it may be a sequence of calls like screen-on/power-on, + * screen-on/power-off, screen-off/power-on, screen-off/power-off. + */ + private static void forEachTrackedStateCombination(Consumer<int[]> consumer, + States[] states, int[] statesValues, int stateIndex) { + if (stateIndex < statesValues.length) { + if (!states[stateIndex].mTracked) { + forEachTrackedStateCombination(consumer, states, statesValues, stateIndex + 1); + return; + } + for (int i = 0; i < states[stateIndex].mLabels.length; i++) { + statesValues[stateIndex] = i; + forEachTrackedStateCombination(consumer, states, statesValues, stateIndex + 1); + } + return; + } + consumer.accept(statesValues); + } } /** @@ -276,6 +320,13 @@ public class MultiStateStats { } /** + * Updates the stats values for the provided combination of states. + */ + public void setStats(int[] states, long[] values) { + mCounter.setValues(mFactory.getSerialState(states), values); + } + + /** * Resets the counters. */ public void reset() { @@ -293,24 +344,27 @@ public class MultiStateStats { */ public void writeXml(TypedXmlSerializer serializer) throws IOException { long[] tmpArray = new long[mCounter.getArrayLength()]; - writeXmlAllStates(serializer, new int[mFactory.mStates.length], 0, tmpArray); - } - - private void writeXmlAllStates(TypedXmlSerializer serializer, int[] states, int stateIndex, - long[] values) throws IOException { - if (stateIndex < states.length) { - if (!mFactory.mStates[stateIndex].mTracked) { - writeXmlAllStates(serializer, states, stateIndex + 1, values); - return; - } - for (int i = 0; i < mFactory.mStates[stateIndex].mLabels.length; i++) { - states[stateIndex] = i; - writeXmlAllStates(serializer, states, stateIndex + 1, values); + try { + States.forEachTrackedStateCombination(mFactory.mStates, + states -> { + try { + writeXmlForStates(serializer, states, tmpArray); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + } catch (RuntimeException e) { + if (e.getCause() instanceof IOException) { + throw (IOException) e.getCause(); + } else { + throw e; } - return; } + } + private void writeXmlForStates(TypedXmlSerializer serializer, int[] states, long[] values) + throws IOException { mCounter.getCounts(values, mFactory.getSerialState(states)); boolean nonZero = false; for (long value : values) { @@ -391,48 +445,33 @@ public class MultiStateStats { /** * Prints the accumulated stats, one line of every combination of states that has data. */ - public void dump(PrintWriter pw) { - long[] tmpArray = new long[mCounter.getArrayLength()]; - dumpAllStates(pw, new int[mFactory.mStates.length], 0, tmpArray); - } - - private void dumpAllStates(PrintWriter pw, int[] states, int stateIndex, long[] values) { - if (stateIndex < states.length) { - if (!mFactory.mStates[stateIndex].mTracked) { - dumpAllStates(pw, states, stateIndex + 1, values); - return; - } - - for (int i = 0; i < mFactory.mStates[stateIndex].mLabels.length; i++) { - states[stateIndex] = i; - dumpAllStates(pw, states, stateIndex + 1, values); + public void dump(PrintWriter pw, Function<long[], String> statsFormatter) { + long[] values = new long[mCounter.getArrayLength()]; + States.forEachTrackedStateCombination(mFactory.mStates, states -> { + mCounter.getCounts(values, mFactory.getSerialState(states)); + boolean nonZero = false; + for (long value : values) { + if (value != 0) { + nonZero = true; + break; + } } - return; - } - - mCounter.getCounts(values, mFactory.getSerialState(states)); - boolean nonZero = false; - for (long value : values) { - if (value != 0) { - nonZero = true; - break; + if (!nonZero) { + return; } - } - if (!nonZero) { - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < states.length; i++) { - if (mFactory.mStates[i].mTracked) { - if (sb.length() != 0) { - sb.append(" "); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < states.length; i++) { + if (mFactory.mStates[i].mTracked) { + if (sb.length() != 0) { + sb.append(" "); + } + sb.append(mFactory.mStates[i].mLabels[states[i]]); } - sb.append(mFactory.mStates[i].mLabels[states[i]]); } - } - sb.append(" "); - sb.append(Arrays.toString(values)); - pw.println(sb); + sb.append(" "); + sb.append(statsFormatter.apply(values)); + pw.println(sb); + }); } } diff --git a/core/java/com/android/internal/os/PowerProfile.java b/core/java/com/android/internal/os/PowerProfile.java index 503e689c0d5d..2298cbde10d1 100644 --- a/core/java/com/android/internal/os/PowerProfile.java +++ b/core/java/com/android/internal/os/PowerProfile.java @@ -44,7 +44,6 @@ import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.Locale; /** * Reports power consumption values for various device activities. Reads values from an XML file. @@ -295,7 +294,7 @@ public class PowerProfile { private static final long SUBSYSTEM_FIELDS_MASK = 0xFFFF_FFFF; - private static final int DEFAULT_CPU_POWER_BRACKET_NUMBER = 3; + public static final int POWER_BRACKETS_UNSPECIFIED = -1; /** * A map from Power Use Item to its power consumption. @@ -361,7 +360,7 @@ public class PowerProfile { } initCpuClusters(); initCpuScalingPolicies(); - initCpuPowerBrackets(DEFAULT_CPU_POWER_BRACKET_NUMBER); + initCpuPowerBrackets(); initDisplays(); initModem(); } @@ -560,8 +559,7 @@ public class PowerProfile { /** * Parses or computes CPU power brackets: groups of states with similar power requirements. */ - @VisibleForTesting - public void initCpuPowerBrackets(int defaultCpuPowerBracketNumber) { + private void initCpuPowerBrackets() { boolean anyBracketsSpecified = false; boolean allBracketsSpecified = true; for (int i = mCpuScalingPolicies.size() - 1; i >= 0; i--) { @@ -580,79 +578,32 @@ public class PowerProfile { "Power brackets should be specified for all scaling policies or none"); } - mCpuPowerBracketCount = 0; - if (allBracketsSpecified) { - for (int i = mCpuScalingPolicies.size() - 1; i >= 0; i--) { - int policy = mCpuScalingPolicies.keyAt(i); - CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); - final Double[] data = sPowerArrayMap.get(CPU_POWER_BRACKETS_PREFIX + policy); - if (data.length != cpuScalingPolicyPower.powerBrackets.length) { - throw new RuntimeException( - "Wrong number of items in " + CPU_POWER_BRACKETS_PREFIX + policy - + ", expected: " - + cpuScalingPolicyPower.powerBrackets.length); - } + if (!allBracketsSpecified) { + mCpuPowerBracketCount = POWER_BRACKETS_UNSPECIFIED; + return; + } - for (int j = 0; j < data.length; j++) { - final int bracket = (int) Math.round(data[j]); - cpuScalingPolicyPower.powerBrackets[j] = bracket; - if (bracket > mCpuPowerBracketCount) { - mCpuPowerBracketCount = bracket; - } - } - } - mCpuPowerBracketCount++; - } else { - double minPower = Double.MAX_VALUE; - double maxPower = Double.MIN_VALUE; - int stateCount = 0; - for (int i = mCpuScalingPolicies.size() - 1; i >= 0; i--) { - int policy = mCpuScalingPolicies.keyAt(i); - CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); - final int steps = cpuScalingPolicyPower.stepPower.length; - for (int step = 0; step < steps; step++) { - final double power = getAveragePowerForCpuScalingStep(policy, step); - if (power < minPower) { - minPower = power; - } - if (power > maxPower) { - maxPower = power; - } - } - stateCount += steps; + mCpuPowerBracketCount = 0; + for (int i = mCpuScalingPolicies.size() - 1; i >= 0; i--) { + int policy = mCpuScalingPolicies.keyAt(i); + CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); + final Double[] data = sPowerArrayMap.get(CPU_POWER_BRACKETS_PREFIX + policy); + if (data.length != cpuScalingPolicyPower.powerBrackets.length) { + throw new RuntimeException( + "Wrong number of items in " + CPU_POWER_BRACKETS_PREFIX + policy + + ", expected: " + + cpuScalingPolicyPower.powerBrackets.length); } - if (stateCount <= defaultCpuPowerBracketNumber) { - mCpuPowerBracketCount = stateCount; - int bracket = 0; - for (int i = 0; i < mCpuScalingPolicies.size(); i++) { - CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); - final int steps = cpuScalingPolicyPower.stepPower.length; - for (int step = 0; step < steps; step++) { - cpuScalingPolicyPower.powerBrackets[step] = bracket++; - } - } - } else { - mCpuPowerBracketCount = defaultCpuPowerBracketNumber; - final double minLogPower = Math.log(minPower); - final double logBracket = (Math.log(maxPower) - minLogPower) - / defaultCpuPowerBracketNumber; - - for (int i = mCpuScalingPolicies.size() - 1; i >= 0; i--) { - int policy = mCpuScalingPolicies.keyAt(i); - CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); - final int steps = cpuScalingPolicyPower.stepPower.length; - for (int step = 0; step < steps; step++) { - final double power = getAveragePowerForCpuScalingStep(policy, step); - int bracket = (int) ((Math.log(power) - minLogPower) / logBracket); - if (bracket >= defaultCpuPowerBracketNumber) { - bracket = defaultCpuPowerBracketNumber - 1; - } - cpuScalingPolicyPower.powerBrackets[step] = bracket; - } + for (int j = 0; j < data.length; j++) { + final int bracket = (int) Math.round(data[j]); + cpuScalingPolicyPower.powerBrackets[j] = bracket; + if (bracket > mCpuPowerBracketCount) { + mCpuPowerBracketCount = bracket; } } } + mCpuPowerBracketCount++; } private static class CpuScalingPolicyPower { @@ -771,44 +722,13 @@ public class PowerProfile { /** * Returns the number of CPU power brackets: groups of states with similar power requirements. + * If power brackets are not specified, returns {@link #POWER_BRACKETS_UNSPECIFIED} */ public int getCpuPowerBracketCount() { return mCpuPowerBracketCount; } /** - * Description of a CPU power bracket: which cluster/frequency combinations are included. - */ - public String getCpuPowerBracketDescription(CpuScalingPolicies cpuScalingPolicies, - int powerBracket) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < mCpuScalingPolicies.size(); i++) { - int policy = mCpuScalingPolicies.keyAt(i); - CpuScalingPolicyPower cpuScalingPolicyPower = mCpuScalingPolicies.valueAt(i); - int[] brackets = cpuScalingPolicyPower.powerBrackets; - int[] freqs = cpuScalingPolicies.getFrequencies(policy); - for (int step = 0; step < brackets.length; step++) { - if (brackets[step] == powerBracket) { - if (sb.length() != 0) { - sb.append(", "); - } - if (mCpuScalingPolicies.size() > 1) { - sb.append(policy).append('/'); - } - if (step < freqs.length) { - sb.append(freqs[step] / 1000); - } - sb.append('('); - sb.append(String.format(Locale.US, "%.1f", - getAveragePowerForCpuScalingStep(policy, step))); - sb.append(')'); - } - } - } - return sb.toString(); - } - - /** * Returns the CPU power bracket corresponding to the specified scaling policy and frequency * step */ diff --git a/core/java/com/android/internal/os/PowerStats.java b/core/java/com/android/internal/os/PowerStats.java index 1130a454c6b0..1a7efac82278 100644 --- a/core/java/com/android/internal/os/PowerStats.java +++ b/core/java/com/android/internal/os/PowerStats.java @@ -55,12 +55,12 @@ public final class PowerStats { private static final int STATS_ARRAY_LENGTH_SHIFT = Integer.numberOfTrailingZeros(STATS_ARRAY_LENGTH_MASK); public static final int MAX_STATS_ARRAY_LENGTH = - 2 ^ Integer.bitCount(STATS_ARRAY_LENGTH_MASK) - 1; + (1 << Integer.bitCount(STATS_ARRAY_LENGTH_MASK)) - 1; private static final int UID_STATS_ARRAY_LENGTH_MASK = 0x00FF0000; private static final int UID_STATS_ARRAY_LENGTH_SHIFT = Integer.numberOfTrailingZeros(UID_STATS_ARRAY_LENGTH_MASK); public static final int MAX_UID_STATS_ARRAY_LENGTH = - (2 ^ Integer.bitCount(UID_STATS_ARRAY_LENGTH_MASK)) - 1; + (1 << Integer.bitCount(UID_STATS_ARRAY_LENGTH_MASK)) - 1; /** * Descriptor of the stats collected for a given power component (e.g. CPU, WiFi etc). diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index 965277c4635e..1c5f4f0f1369 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -868,6 +868,11 @@ public final class Zygote { args.mPkgDataInfoList, args.mAllowlistedDataInfoList, args.mBindMountAppDataDirs, args.mBindMountAppStorageDirs); + // While `specializeAppProcess` sets the thread name on the process's main thread, this + // is distinct from the app process name which appears in stack traces, as the latter is + // sourced from the argument buffer of the Process class. Set the app process name here. + Zygote.setAppProcessName(args, TAG); + Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); return ZygoteInit.zygoteInit(args.mTargetSdkVersion, diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index 993e4e7b4b3d..5fe086da8c6a 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -296,7 +296,6 @@ class ZygoteConnection { } else { // child; result is a Runnable. zygoteServer.setForkChild(); - Zygote.setAppProcessName(parsedArgs, TAG); // ??? Necessary? return result; } } diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 8d11672144b2..a3e0016f9174 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -1105,10 +1105,9 @@ public class LockPatternUtils { @UnsupportedAppUsage public long setLockoutAttemptDeadline(int userId, int timeoutMs) { final long deadline = SystemClock.elapsedRealtime() + timeoutMs; - if (isSpecialUserId(userId)) { - // For secure password storage (that is required for special users such as FRP), the - // underlying storage also enforces the deadline. Since we cannot store settings - // for special users, don't. + if (userId == USER_FRP) { + // For secure password storage (that is required for FRP), the underlying storage also + // enforces the deadline. Since we cannot store settings for the FRP user, don't. return deadline; } mLockoutDeadlines.put(userId, deadline); diff --git a/core/jni/android_os_MessageQueue.cpp b/core/jni/android_os_MessageQueue.cpp index 30d9ea19be39..9525605a6a8c 100644 --- a/core/jni/android_os_MessageQueue.cpp +++ b/core/jni/android_os_MessageQueue.cpp @@ -225,7 +225,7 @@ static void android_os_MessageQueue_nativePollOnce(JNIEnv* env, jobject obj, nativeMessageQueue->pollOnce(env, obj, timeoutMillis); } -static void android_os_MessageQueue_nativeWake(JNIEnv* env, jclass clazz, jlong ptr) { +static void android_os_MessageQueue_nativeWake(jlong ptr) { NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr); nativeMessageQueue->wake(); } diff --git a/core/jni/android_view_VelocityTracker.cpp b/core/jni/android_view_VelocityTracker.cpp index 03e9a6a9d139..1b24efa163db 100644 --- a/core/jni/android_view_VelocityTracker.cpp +++ b/core/jni/android_view_VelocityTracker.cpp @@ -39,7 +39,7 @@ public: explicit VelocityTrackerState(const VelocityTracker::Strategy strategy); void clear(); - void addMovement(const MotionEvent* event); + void addMovement(const MotionEvent& event); // TODO(b/32830165): consider supporting an overload that supports computing velocity only for // a subset of the supported axes. void computeCurrentVelocity(int32_t units, float maxVelocity); @@ -57,7 +57,7 @@ void VelocityTrackerState::clear() { mVelocityTracker.clear(); } -void VelocityTrackerState::addMovement(const MotionEvent* event) { +void VelocityTrackerState::addMovement(const MotionEvent& event) { mVelocityTracker.addMovement(event); } @@ -102,13 +102,13 @@ static void android_view_VelocityTracker_nativeClear(JNIEnv* env, jclass clazz, static void android_view_VelocityTracker_nativeAddMovement(JNIEnv* env, jclass clazz, jlong ptr, jobject eventObj) { const MotionEvent* event = android_view_MotionEvent_getNativePtr(env, eventObj); - if (!event) { + if (event == nullptr) { LOG(WARNING) << "nativeAddMovement failed because MotionEvent was finalized."; return; } VelocityTrackerState* state = reinterpret_cast<VelocityTrackerState*>(ptr); - state->addMovement(event); + state->addMovement(*event); } static void android_view_VelocityTracker_nativeComputeCurrentVelocity(JNIEnv* env, jclass clazz, diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 56066b2d813c..b12e14782361 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -1121,10 +1121,8 @@ static std::string getAppDataDirName(std::string_view parent_path, std::string_v } } // Fallback done - - fail_fn(CREATE_ERROR("Unable to find %s:%lld in %s", package_name.data(), - ce_data_inode, parent_path.data())); - return nullptr; + ALOGW("Unable to find %s:%lld in %s", package_name.data(), ce_data_inode, parent_path.data()); + return ""; } } @@ -1145,11 +1143,19 @@ static void isolateAppDataPerPackage(int userId, std::string_view package_name, true /*call_fail_fn*/); std::string ce_data_path = getAppDataDirName(mirrorCePath, package_name, ce_data_inode, fail_fn); + if (ce_data_path.empty()) { + ALOGE("Ignoring missing CE app data dir for %s\n", package_name.data()); + return; + } if (!createAndMountAppData(package_name, ce_data_path, mirrorCePath, actualCePath, fail_fn, false /*call_fail_fn*/)) { // CE might unlocks and the name is decrypted // get the name and mount again ce_data_path=getAppDataDirName(mirrorCePath, package_name, ce_data_inode, fail_fn); + if (ce_data_path.empty()) { + ALOGE("Ignoring missing CE app data dir for %s\n", package_name.data()); + return; + } mountAppData(package_name, ce_data_path, mirrorCePath, actualCePath, fail_fn); } } diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index 5b0a5027dde2..4d6ed80aa763 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -98,8 +98,8 @@ message SecureSettingsProto { // Settings for font scaling optional SettingProto accessibility_font_scaling_has_been_changed = 51 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto accessibility_force_invert_color_enabled = 52 [ (android.privacy).dest = DEST_AUTOMATIC ]; - optional SettingProto accessibility_magnification_gesture = 53 [ (android.privacy).dest = DEST_AUTOMATIC ]; - optional SettingProto accessibility_magnification_two_finger_triple_tap_enabled = 54 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto accessibility_magnification_two_finger_triple_tap_enabled = 53 [ (android.privacy).dest = DEST_AUTOMATIC ]; + } optional Accessibility accessibility = 2; diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml index a6830a6e3793..c0c6e05efe87 100644 --- a/core/res/res/values/colors.xml +++ b/core/res/res/values/colors.xml @@ -135,11 +135,12 @@ <drawable name="notification_template_icon_low_bg">#0cffffff</drawable> <drawable name="notification_template_divider">#29000000</drawable> <drawable name="notification_template_divider_media">#29ffffff</drawable> - <color name="notification_primary_text_color_light">@color/primary_text_default_material_light</color> - <color name="notification_primary_text_color_dark">@color/primary_text_default_material_dark</color> - <color name="notification_secondary_text_color_light">@color/primary_text_default_material_light</color> + <color name="notification_primary_text_color_light">@color/system_on_surface_light</color> + <color name="notification_primary_text_color_dark">@color/system_on_surface_dark</color> + <!-- Note that the primary and secondary notification text colors are, in fact, the same. --> + <color name="notification_secondary_text_color_light">@color/system_on_surface_light</color> + <color name="notification_secondary_text_color_dark">@color/system_on_surface_dark</color> <item name="notification_secondary_text_disabled_alpha" format="float" type="dimen">0.38</item> - <color name="notification_secondary_text_color_dark">@color/primary_text_default_material_dark</color> <color name="notification_default_color_dark">#ddffffff</color> <color name="notification_default_color_light">#a3202124</color> diff --git a/core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/ConversionUtilsTest.java b/core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/ConversionUtilsTest.java index 14f268a91abf..7ad6e8d51940 100644 --- a/core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/ConversionUtilsTest.java +++ b/core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/ConversionUtilsTest.java @@ -16,7 +16,9 @@ package com.android.server.broadcastradio.aidl; -import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyLong; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; import android.app.compat.CompatChanges; import android.hardware.broadcastradio.AmFmBandRange; @@ -43,14 +45,16 @@ import com.google.common.truth.Expect; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.mockito.stubbing.Answer; import java.util.Map; import java.util.Set; public final class ConversionUtilsTest extends ExtendedRadioMockitoTestCase { - private static final int U_APP_UID = 1001; - private static final int T_APP_UID = 1002; + private static final int T_APP_UID = 1001; + private static final int U_APP_UID = 1002; + private static final int V_APP_UID = 1003; private static final int FM_LOWER_LIMIT = 87_500; private static final int FM_UPPER_LIMIT = 108_000; @@ -133,10 +137,18 @@ public final class ConversionUtilsTest extends ExtendedRadioMockitoTestCase { @Before public void setUp() { - doReturn(true).when(() -> CompatChanges.isChangeEnabled( - ConversionUtils.RADIO_U_VERSION_REQUIRED, U_APP_UID)); - doReturn(false).when(() -> CompatChanges.isChangeEnabled( - ConversionUtils.RADIO_U_VERSION_REQUIRED, T_APP_UID)); + doAnswer((Answer<Boolean>) invocationOnMock -> { + long changeId = invocationOnMock.getArgument(0); + int uid = invocationOnMock.getArgument(1); + if (uid == V_APP_UID) { + return changeId == ConversionUtils.RADIO_V_VERSION_REQUIRED + || changeId == ConversionUtils.RADIO_U_VERSION_REQUIRED; + } else if (uid == U_APP_UID) { + return changeId == ConversionUtils.RADIO_U_VERSION_REQUIRED; + } + return false; + } + ).when(() -> CompatChanges.isChangeEnabled(anyLong(), anyInt())); } @Test diff --git a/core/tests/bugreports/src/com/android/os/bugreports/tests/BugreportManagerTest.java b/core/tests/bugreports/src/com/android/os/bugreports/tests/BugreportManagerTest.java index 72969f7d8b96..37a499adf682 100644 --- a/core/tests/bugreports/src/com/android/os/bugreports/tests/BugreportManagerTest.java +++ b/core/tests/bugreports/src/com/android/os/bugreports/tests/BugreportManagerTest.java @@ -104,19 +104,15 @@ public class BugreportManagerTest { private static final String EXTRA_SCREENSHOT = "android.intent.extra.SCREENSHOT"; private static final Path[] UI_TRACES_PREDUMPED = { + Paths.get("/data/misc/perfetto-traces/bugreport/systrace.pftrace"), Paths.get("/data/misc/wmtrace/ime_trace_clients.winscope"), Paths.get("/data/misc/wmtrace/ime_trace_managerservice.winscope"), Paths.get("/data/misc/wmtrace/ime_trace_service.winscope"), Paths.get("/data/misc/wmtrace/wm_trace.winscope"), Paths.get("/data/misc/wmtrace/wm_log.winscope"), - Paths.get("/data/misc/wmtrace/layers_trace.winscope"), - Paths.get("/data/misc/wmtrace/transactions_trace.winscope"), - Paths.get("/data/misc/wmtrace/transition_trace.winscope"), + Paths.get("/data/misc/wmtrace/wm_transition_trace.winscope"), Paths.get("/data/misc/wmtrace/shell_transition_trace.winscope"), }; - private static final Path[] UI_TRACES_GENERATED_DURING_BUGREPORT = { - Paths.get("/data/misc/wmtrace/layers_trace_from_transactions.winscope"), - }; private Handler mHandler; private Executor mExecutor; @@ -210,7 +206,7 @@ public class BugreportManagerTest { mBrm.preDumpUiData(); waitTillDumpstateExitedOrTimeout(); - List<File> expectedPreDumpedTraceFiles = copyFilesAsRoot(UI_TRACES_PREDUMPED); + List<File> expectedPreDumpedTraceFiles = copyFiles(UI_TRACES_PREDUMPED); BugreportCallbackImpl callback = new BugreportCallbackImpl(); mBrm.startBugreport(mBugreportFd, null, fullWithUsePreDumpFlag(), mExecutor, @@ -225,7 +221,6 @@ public class BugreportManagerTest { assertFdsAreClosed(mBugreportFd); assertThatBugreportContainsFiles(UI_TRACES_PREDUMPED); - assertThatBugreportContainsFiles(UI_TRACES_GENERATED_DURING_BUGREPORT); List<File> actualPreDumpedTraceFiles = extractFilesFromBugreport(UI_TRACES_PREDUMPED); assertThatAllFileContentsAreEqual(actualPreDumpedTraceFiles, expectedPreDumpedTraceFiles); @@ -240,9 +235,9 @@ public class BugreportManagerTest { // In some corner cases, data dumped as part of the full bugreport could be the same as the // pre-dumped data and this test would fail. Hence, here we create fake/artificial // pre-dumped data that we know it won't match with the full bugreport data. - createFilesWithFakeDataAsRoot(UI_TRACES_PREDUMPED, "system"); + createFakeTraceFiles(UI_TRACES_PREDUMPED); - List<File> preDumpedTraceFiles = copyFilesAsRoot(UI_TRACES_PREDUMPED); + List<File> preDumpedTraceFiles = copyFiles(UI_TRACES_PREDUMPED); BugreportCallbackImpl callback = new BugreportCallbackImpl(); mBrm.startBugreport(mBugreportFd, null, full(), mExecutor, @@ -257,7 +252,6 @@ public class BugreportManagerTest { assertFdsAreClosed(mBugreportFd); assertThatBugreportContainsFiles(UI_TRACES_PREDUMPED); - assertThatBugreportContainsFiles(UI_TRACES_GENERATED_DURING_BUGREPORT); List<File> actualTraceFiles = extractFilesFromBugreport(UI_TRACES_PREDUMPED); assertThatAllFileContentsAreDifferent(preDumpedTraceFiles, actualTraceFiles); @@ -480,7 +474,32 @@ public class BugreportManagerTest { return f; } - private static void startPreDumpedUiTraces() { + private static void startPreDumpedUiTraces() throws Exception { + // Perfetto traces + String perfettoConfig = + "buffers: {\n" + + " size_kb: 2048\n" + + " fill_policy: RING_BUFFER\n" + + "}\n" + + "data_sources: {\n" + + " config {\n" + + " name: \"android.surfaceflinger.transactions\"\n" + + " }\n" + + "}\n" + + "bugreport_score: 10\n"; + File tmp = createTempFile("tmp", ".cfg"); + Files.write(perfettoConfig.getBytes(StandardCharsets.UTF_8), tmp); + InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( + "install -m 644 -o root -g root " + + tmp.getAbsolutePath() + " /data/misc/perfetto-configs/bugreport-manager-test.cfg" + ); + InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( + "perfetto --background-wait" + + " --config /data/misc/perfetto-configs/bugreport-manager-test.cfg --txt" + + " --out /data/misc/perfetto-traces/not-used.perfetto-trace" + ); + + // Legacy traces InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( "cmd input_method tracing start" ); @@ -563,19 +582,24 @@ public class BugreportManagerTest { return extractedFile; } - private static void createFilesWithFakeDataAsRoot(Path[] paths, String owner) throws Exception { + private static void createFakeTraceFiles(Path[] paths) throws Exception { File src = createTempFile("fake", ".data"); Files.write("fake data".getBytes(StandardCharsets.UTF_8), src); for (Path path : paths) { InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( - "install -m 611 -o " + owner + " -g " + owner - + " " + src.getAbsolutePath() + " " + path.toString() + "install -m 644 -o system -g system " + + src.getAbsolutePath() + " " + path.toString() ); } + + // Dumpstate executes "perfetto --save-for-bugreport" as shell + InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand( + "chown shell:shell /data/misc/perfetto-traces/bugreport/systrace.pftrace" + ); } - private static List<File> copyFilesAsRoot(Path[] paths) throws Exception { + private static List<File> copyFiles(Path[] paths) throws Exception { ArrayList<File> files = new ArrayList<File>(); for (Path src : paths) { File dst = createTempFile(src.getFileName().toString(), ".copy"); diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java index 9430ba6a939a..1577d9c1c1ab 100644 --- a/core/tests/coretests/src/android/app/NotificationTest.java +++ b/core/tests/coretests/src/android/app/NotificationTest.java @@ -859,6 +859,10 @@ public class NotificationTest { assertEquals(cDay.getTertiaryAccentColor(), cNight.getTertiaryAccentColor()); assertEquals(cDay.getOnTertiaryAccentTextColor(), cNight.getOnTertiaryAccentTextColor()); + assertEquals(cDay.getTertiaryFixedDimAccentColor(), + cNight.getTertiaryFixedDimAccentColor()); + assertEquals(cDay.getOnTertiaryFixedAccentTextColor(), + cNight.getOnTertiaryFixedAccentTextColor()); assertEquals(cDay.getProtectionColor(), cNight.getProtectionColor()); assertEquals(cDay.getContrastColor(), cNight.getContrastColor()); assertEquals(cDay.getRippleAlpha(), cNight.getRippleAlpha()); @@ -1832,6 +1836,8 @@ public class NotificationTest { assertThat(c.getSecondaryAccentColor()).isNotEqualTo(Notification.COLOR_INVALID); assertThat(c.getTertiaryAccentColor()).isNotEqualTo(Notification.COLOR_INVALID); assertThat(c.getOnTertiaryAccentTextColor()).isNotEqualTo(Notification.COLOR_INVALID); + assertThat(c.getTertiaryFixedDimAccentColor()).isNotEqualTo(Notification.COLOR_INVALID); + assertThat(c.getOnTertiaryFixedAccentTextColor()).isNotEqualTo(Notification.COLOR_INVALID); assertThat(c.getErrorColor()).isNotEqualTo(Notification.COLOR_INVALID); assertThat(c.getContrastColor()).isNotEqualTo(Notification.COLOR_INVALID); assertThat(c.getRippleAlpha()).isAtLeast(0x00); @@ -1847,9 +1853,12 @@ public class NotificationTest { // These colors are only used for emphasized buttons; they do not need contrast assertContrastIsAtLeast(c.getSecondaryAccentColor(), c.getBackgroundColor(), 1); assertContrastIsAtLeast(c.getTertiaryAccentColor(), c.getBackgroundColor(), 1); + assertContrastIsAtLeast(c.getTertiaryFixedDimAccentColor(), c.getBackgroundColor(), 1); // The text that is used within the accent color DOES need to have contrast assertContrastIsAtLeast(c.getOnTertiaryAccentTextColor(), c.getTertiaryAccentColor(), 4.5); + assertContrastIsAtLeast(c.getOnTertiaryFixedAccentTextColor(), + c.getTertiaryFixedDimAccentColor(), 4.5); } private void resolveColorsInNightMode(boolean nightMode, Notification.Colors c, int rawColor, diff --git a/core/tests/coretests/src/android/content/BrickDeniedTest.java b/core/tests/coretests/src/android/content/BrickDeniedTest.java deleted file mode 100644 index d8c9baa8df5b..000000000000 --- a/core/tests/coretests/src/android/content/BrickDeniedTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES 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.content; - -import android.test.AndroidTestCase; - -import androidx.test.filters.SmallTest; - -/** Test to make sure brick intents <b>don't</b> work without permission. */ -public class BrickDeniedTest extends AndroidTestCase { - @SmallTest - public void testBrick() { - // Try both the old and new brick intent names. Neither should work, - // since this test application doesn't have the required permission. - // If it does work, well, the test certainly won't pass. - getContext().sendBroadcast(new Intent("SHES_A_BRICK_HOUSE")); - getContext().sendBroadcast(new Intent("android.intent.action.BRICK")); - } -} diff --git a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutChooserActivityTest.java b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutChooserActivityTest.java index 06b62f85bede..dd116b5b5c35 100644 --- a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutChooserActivityTest.java +++ b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutChooserActivityTest.java @@ -33,6 +33,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.endsWith; +import static org.junit.Assume.assumeFalse; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; @@ -119,6 +120,11 @@ public class AccessibilityShortcutChooserActivityTest { @Before public void setUp() throws Exception { + final PackageManager pm = + InstrumentationRegistry.getInstrumentation().getContext().getPackageManager(); + assumeFalse("AccessibilityShortcutChooserActivity not supported on watch", + pm.hasSystemFeature(PackageManager.FEATURE_WATCH)); + mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.wakeUp(); when(mAccessibilityServiceInfo.getResolveInfo()).thenReturn(mResolveInfo); @@ -138,7 +144,9 @@ public class AccessibilityShortcutChooserActivityTest { @After public void cleanUp() { - mScenario.close(); + if (mScenario != null) { + mScenario.close(); + } } @Test diff --git a/core/tests/coretests/src/com/android/internal/os/PowerProfileTest.java b/core/tests/coretests/src/com/android/internal/os/PowerProfileTest.java index 8fa63760d231..77202d1faa31 100644 --- a/core/tests/coretests/src/com/android/internal/os/PowerProfileTest.java +++ b/core/tests/coretests/src/com/android/internal/os/PowerProfileTest.java @@ -21,16 +21,12 @@ import static com.android.internal.os.PowerProfile.POWER_GROUP_DISPLAY_AMBIENT; import static com.android.internal.os.PowerProfile.POWER_GROUP_DISPLAY_SCREEN_FULL; import static com.android.internal.os.PowerProfile.POWER_GROUP_DISPLAY_SCREEN_ON; -import static com.google.common.truth.Truth.assertThat; - -import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import android.annotation.XmlRes; import android.content.Context; import android.content.res.Resources; import android.content.res.XmlResourceParser; -import android.util.SparseArray; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; @@ -540,66 +536,4 @@ public class PowerProfileTest { private void assertEquals(double expected, double actual) { Assert.assertEquals(expected, actual, 0.1); } - - @Test - public void powerBrackets_specifiedInPowerProfile() { - mProfile.forceInitForTesting(mContext, R.xml.power_profile_test_power_brackets); - mProfile.initCpuPowerBrackets(8); - - int cpuPowerBracketCount = mProfile.getCpuPowerBracketCount(); - assertThat(cpuPowerBracketCount).isEqualTo(2); - assertThat(new int[]{ - mProfile.getCpuPowerBracketForScalingStep(0, 0), - mProfile.getCpuPowerBracketForScalingStep(4, 0), - mProfile.getCpuPowerBracketForScalingStep(4, 1), - }).isEqualTo(new int[]{1, 1, 0}); - } - - @Test - public void powerBrackets_automatic() { - mProfile.forceInitForTesting(mContext, R.xml.power_profile_test); - CpuScalingPolicies scalingPolicies = new CpuScalingPolicies( - new SparseArray<>() {{ - put(0, new int[]{0, 1, 2}); - put(3, new int[]{3, 4}); - }}, - new SparseArray<>() {{ - put(0, new int[]{300000, 1000000, 2000000}); - put(3, new int[]{300000, 1000000, 2500000, 3000000}); - }}); - - assertThat(mProfile.getCpuPowerBracketCount()).isEqualTo(3); - assertThat(mProfile.getCpuPowerBracketDescription(scalingPolicies, 0)) - .isEqualTo("0/300(10.0)"); - assertThat(mProfile.getCpuPowerBracketDescription(scalingPolicies, 1)) - .isEqualTo("0/1000(20.0), 0/2000(30.0), 3/300(25.0)"); - assertThat(mProfile.getCpuPowerBracketDescription(scalingPolicies, 2)) - .isEqualTo("3/1000(35.0), 3/2500(50.0), 3/3000(60.0)"); - assertThat(new int[]{ - mProfile.getCpuPowerBracketForScalingStep(0, 0), - mProfile.getCpuPowerBracketForScalingStep(0, 1), - mProfile.getCpuPowerBracketForScalingStep(0, 2), - mProfile.getCpuPowerBracketForScalingStep(3, 0), - mProfile.getCpuPowerBracketForScalingStep(3, 1), - mProfile.getCpuPowerBracketForScalingStep(3, 2), - mProfile.getCpuPowerBracketForScalingStep(3, 3), - }).isEqualTo(new int[]{0, 1, 1, 1, 2, 2, 2}); - } - - @Test - public void powerBrackets_moreBracketsThanStates() { - mProfile.forceInitForTesting(mContext, R.xml.power_profile_test); - mProfile.initCpuPowerBrackets(8); - - assertThat(mProfile.getCpuPowerBracketCount()).isEqualTo(7); - assertThat(new int[]{ - mProfile.getCpuPowerBracketForScalingStep(0, 0), - mProfile.getCpuPowerBracketForScalingStep(0, 1), - mProfile.getCpuPowerBracketForScalingStep(0, 2), - mProfile.getCpuPowerBracketForScalingStep(3, 0), - mProfile.getCpuPowerBracketForScalingStep(3, 1), - mProfile.getCpuPowerBracketForScalingStep(3, 2), - mProfile.getCpuPowerBracketForScalingStep(3, 3), - }).isEqualTo(new int[]{0, 1, 2, 3, 4, 5, 6}); - } } diff --git a/data/etc/services.core.protolog.json b/data/etc/services.core.protolog.json index 35498b79ccb8..87be13ab4a93 100644 --- a/data/etc/services.core.protolog.json +++ b/data/etc/services.core.protolog.json @@ -961,6 +961,12 @@ "group": "WM_DEBUG_RECENTS_ANIMATIONS", "at": "com\/android\/server\/wm\/RecentsAnimationController.java" }, + "-1204565480": { + "message": "Adding display switch to existing collecting transition", + "level": "DEBUG", + "group": "WM_DEBUG_WINDOW_TRANSITIONS", + "at": "com\/android\/server\/wm\/PhysicalDisplaySwitchTransitionLauncher.java" + }, "-1198579104": { "message": "Pushing next activity %s out to target's task %s", "level": "VERBOSE", diff --git a/data/keyboards/Vendor_18d1_Product_9451.kl b/data/keyboards/Vendor_18d1_Product_9451.kl index fb425be8bc23..2a1f897b5e08 100644 --- a/data/keyboards/Vendor_18d1_Product_9451.kl +++ b/data/keyboards/Vendor_18d1_Product_9451.kl @@ -17,15 +17,15 @@ # key 116 POWER WAKE -key 217 ASSIST WAKE +key 217 ASSIST key 103 DPAD_UP key 108 DPAD_DOWN key 105 DPAD_LEFT key 106 DPAD_RIGHT -key 353 DPAD_CENTER +key 353 DPAD_CENTER WAKE -key 158 BACK +key 158 BACK WAKE key 172 HOME WAKE key 113 VOLUME_MUTE diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java index 49606f0bf485..76f0b6769855 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -1280,9 +1280,9 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen // Check whether the Intent should be embedded in the known Task. final TaskContainer taskContainer = mTaskContainers.valueAt(0); if (taskContainer.isInPictureInPicture() - || taskContainer.getTopNonFinishingActivity() == null) { + || taskContainer.getTopNonFinishingActivity(false /* includeOverlay */) == null) { // We don't embed activity when it is in PIP, or if we can't find any other owner - // activity in the Task. + // activity in non-overlay container in the Task. return null; } @@ -1431,7 +1431,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen } else { final TaskContainer taskContainer = getTaskContainer(taskId); activityInTask = taskContainer != null - ? taskContainer.getTopNonFinishingActivity() + ? taskContainer.getTopNonFinishingActivity(true /* includeOverlay */) : null; } if (activityInTask == null) { @@ -1763,6 +1763,11 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen return; } + if (container.isOverlay()) { + updateOverlayContainer(wct, container); + return; + } + if (launchPlaceholderIfNecessary(wct, container)) { // Placeholder was launched, the positions will be updated when the activity is added // to the secondary container. @@ -1783,6 +1788,25 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen updateSplitContainerIfNeeded(splitContainer, wct, null /* splitAttributes */); } + + @VisibleForTesting + // Suppress GuardedBy warning because lint ask to mark this method as + // @GuardedBy(mPresenter.mController.mLock), which is mLock itself + @SuppressWarnings("GuardedBy") + @GuardedBy("mLock") + void updateOverlayContainer(@NonNull WindowContainerTransaction wct, + @NonNull TaskFragmentContainer container) { + final TaskContainer taskContainer = container.getTaskContainer(); + // Dismiss the overlay container if it's the only container in the task and there's no + // direct activity in the parent task. + if (taskContainer.getTaskFragmentContainers().size() == 1 + && !taskContainer.hasDirectActivity()) { + container.finish(false /* shouldFinishDependent */, mPresenter, wct, this); + } + + // TODO(b/295805054): Add the logic to update overlay container + } + /** * Updates {@link SplitContainer} with the given {@link SplitAttributes} if the * {@link SplitContainer} is the top most and not finished. If passed {@link SplitAttributes} diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskContainer.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskContainer.java index 9e533808ccc0..028e75fe010f 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskContainer.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskContainer.java @@ -75,6 +75,8 @@ class TaskContainer { private boolean mIsVisible; + private boolean mHasDirectActivity; + /** * TaskFragments that the organizer has requested to be closed. They should be removed when * the organizer receives @@ -102,8 +104,9 @@ class TaskContainer { mConfiguration = taskProperties.getConfiguration(); mDisplayId = taskProperties.getDisplayId(); // Note that it is always called when there's a new Activity is started, which implies - // the host task is visible. + // the host task is visible and has an activity in the task. mIsVisible = true; + mHasDirectActivity = true; } int getTaskId() { @@ -118,6 +121,10 @@ class TaskContainer { return mIsVisible; } + boolean hasDirectActivity() { + return mHasDirectActivity; + } + @NonNull TaskProperties getTaskProperties() { return new TaskProperties(mDisplayId, mConfiguration); @@ -127,6 +134,7 @@ class TaskContainer { mConfiguration.setTo(info.getConfiguration()); mDisplayId = info.getDisplayId(); mIsVisible = info.isVisible(); + mHasDirectActivity = info.hasDirectActivity(); } /** @@ -227,9 +235,13 @@ class TaskContainer { } @Nullable - Activity getTopNonFinishingActivity() { + Activity getTopNonFinishingActivity(boolean includeOverlay) { for (int i = mContainers.size() - 1; i >= 0; i--) { - final Activity activity = mContainers.get(i).getTopNonFinishingActivity(); + final TaskFragmentContainer container = mContainers.get(i); + if (!includeOverlay && container.isOverlay()) { + continue; + } + final Activity activity = container.getTopNonFinishingActivity(); if (activity != null) { return activity; } diff --git a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java index 405f0b2f51dc..50cfd941adb3 100644 --- a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java +++ b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/OverlayPresentationTest.java @@ -58,6 +58,7 @@ import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.window.TaskFragmentInfo; +import android.window.TaskFragmentParentInfo; import android.window.WindowContainerTransaction; import androidx.annotation.NonNull; @@ -413,6 +414,44 @@ public class OverlayPresentationTest { .isEqualTo(overlayContainer); } + @Test + public void testGetTopNonFinishingActivityWithOverlay() { + createTestOverlayContainer(TASK_ID, "test1"); + final Activity activity = createMockActivity(); + final TaskFragmentContainer container = createMockTaskFragmentContainer(activity); + final TaskContainer task = container.getTaskContainer(); + + assertThat(task.getTopNonFinishingActivity(true /* includeOverlay */)).isEqualTo(mActivity); + assertThat(task.getTopNonFinishingActivity(false /* includeOverlay */)).isEqualTo(activity); + } + + @Test + public void testUpdateContainer_dontInvokeUpdateOverlayForNonOverlayContainer() { + TaskFragmentContainer taskFragmentContainer = createMockTaskFragmentContainer(mActivity); + + mSplitController.updateContainer(mTransaction, taskFragmentContainer); + verify(mSplitController, never()).updateOverlayContainer(any(), any()); + } + + @Test + public void testUpdateOverlayContainer_dismissOverlayIfNeeded() { + TaskFragmentContainer overlayContainer = createTestOverlayContainer(TASK_ID, "test"); + + mSplitController.updateOverlayContainer(mTransaction, overlayContainer); + + final TaskContainer taskContainer = overlayContainer.getTaskContainer(); + assertThat(taskContainer.getTaskFragmentContainers()).containsExactly(overlayContainer); + + taskContainer.updateTaskFragmentParentInfo(new TaskFragmentParentInfo(Configuration.EMPTY, + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */)); + + mSplitController.updateOverlayContainer(mTransaction, overlayContainer); + + assertWithMessage("The overlay must be dismissed since there's no activity" + + " in the task and other taskFragment.") + .that(taskContainer.getTaskFragmentContainers()).isEmpty(); + } + /** * A simplified version of {@link SplitController.ActivityStartMonitor * #createOrUpdateOverlayTaskFragmentIfNeeded} diff --git a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java index 96839c57d745..02031a67e7e3 100644 --- a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java +++ b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitControllerTest.java @@ -1139,7 +1139,7 @@ public class SplitControllerTest { public void testOnTransactionReady_taskFragmentParentInfoChanged() { final TaskFragmentTransaction transaction = new TaskFragmentTransaction(); final TaskFragmentParentInfo parentInfo = new TaskFragmentParentInfo(Configuration.EMPTY, - DEFAULT_DISPLAY, true); + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */); transaction.addChange(new TaskFragmentTransaction.Change( TYPE_TASK_FRAGMENT_PARENT_INFO_CHANGED) .setTaskId(TASK_ID) diff --git a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/TaskContainerTest.java b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/TaskContainerTest.java index 21889960a8b2..e56c8ab686e7 100644 --- a/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/TaskContainerTest.java +++ b/libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/TaskContainerTest.java @@ -79,14 +79,14 @@ public class TaskContainerTest { configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FULLSCREEN); taskContainer.updateTaskFragmentParentInfo(new TaskFragmentParentInfo(configuration, - DEFAULT_DISPLAY, true /* visible */)); + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */)); assertEquals(WINDOWING_MODE_MULTI_WINDOW, taskContainer.getWindowingModeForSplitTaskFragment(splitBounds)); configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FREEFORM); taskContainer.updateTaskFragmentParentInfo(new TaskFragmentParentInfo(configuration, - DEFAULT_DISPLAY, true /* visible */)); + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */)); assertEquals(WINDOWING_MODE_FREEFORM, taskContainer.getWindowingModeForSplitTaskFragment(splitBounds)); @@ -106,13 +106,13 @@ public class TaskContainerTest { configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FULLSCREEN); taskContainer.updateTaskFragmentParentInfo(new TaskFragmentParentInfo(configuration, - DEFAULT_DISPLAY, true /* visible */)); + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */)); assertFalse(taskContainer.isInPictureInPicture()); configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_PINNED); taskContainer.updateTaskFragmentParentInfo(new TaskFragmentParentInfo(configuration, - DEFAULT_DISPLAY, true /* visible */)); + DEFAULT_DISPLAY, true /* visible */, false /* hasDirectActivity */)); assertTrue(taskContainer.isInPictureInPicture()); } @@ -151,21 +151,24 @@ public class TaskContainerTest { @Test public void testGetTopNonFinishingActivity() { final TaskContainer taskContainer = createTestTaskContainer(); - assertNull(taskContainer.getTopNonFinishingActivity()); + assertNull(taskContainer.getTopNonFinishingActivity(true /* includeOverlay */)); final TaskFragmentContainer tf0 = mock(TaskFragmentContainer.class); taskContainer.addTaskFragmentContainer(tf0); final Activity activity0 = mock(Activity.class); doReturn(activity0).when(tf0).getTopNonFinishingActivity(); - assertEquals(activity0, taskContainer.getTopNonFinishingActivity()); + assertEquals(activity0, taskContainer.getTopNonFinishingActivity( + true /* includeOverlay */)); final TaskFragmentContainer tf1 = mock(TaskFragmentContainer.class); taskContainer.addTaskFragmentContainer(tf1); - assertEquals(activity0, taskContainer.getTopNonFinishingActivity()); + assertEquals(activity0, taskContainer.getTopNonFinishingActivity( + true /* includeOverlay */)); final Activity activity1 = mock(Activity.class); doReturn(activity1).when(tf1).getTopNonFinishingActivity(); - assertEquals(activity1, taskContainer.getTopNonFinishingActivity()); + assertEquals(activity1, taskContainer.getTopNonFinishingActivity( + true /* includeOverlay */)); } @Test diff --git a/libs/WindowManager/Shell/aconfig/multitasking.aconfig b/libs/WindowManager/Shell/aconfig/multitasking.aconfig index 51c71b1fffb7..0e59e9ad744d 100644 --- a/libs/WindowManager/Shell/aconfig/multitasking.aconfig +++ b/libs/WindowManager/Shell/aconfig/multitasking.aconfig @@ -15,10 +15,11 @@ flag { } flag { - name: "desktop_windowing" + name: "enable_desktop_windowing" namespace: "multitasking" description: "Enables desktop windowing" bug: "304778354" + is_fixed_read_only: true } flag { diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml index fa56516e0d22..c525a297b2e0 100644 --- a/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml +++ b/libs/WindowManager/Shell/res/layout/desktop_mode_app_controls_window_decor.xml @@ -35,8 +35,8 @@ <ImageView android:id="@+id/application_icon" - android:layout_width="24dp" - android:layout_height="24dp" + android:layout_width="@dimen/desktop_mode_caption_icon_radius" + android:layout_height="@dimen/desktop_mode_caption_icon_radius" android:layout_gravity="center_vertical" android:contentDescription="@string/app_icon_text" /> diff --git a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu.xml b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu.xml index 87e0b2867090..c6f85a0b4ed4 100644 --- a/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu.xml +++ b/libs/WindowManager/Shell/res/layout/desktop_mode_window_decor_handle_menu.xml @@ -34,10 +34,10 @@ <ImageView android:id="@+id/application_icon" - android:layout_width="24dp" - android:layout_height="24dp" - android:layout_marginStart="14dp" - android:layout_marginEnd="14dp" + android:layout_width="@dimen/desktop_mode_caption_icon_radius" + android:layout_height="@dimen/desktop_mode_caption_icon_radius" + android:layout_marginStart="12dp" + android:layout_marginEnd="12dp" android:contentDescription="@string/app_icon_text"/> <TextView diff --git a/libs/WindowManager/Shell/res/values/dimen.xml b/libs/WindowManager/Shell/res/values/dimen.xml index 1f6f7aeadd45..c4be384f48b3 100644 --- a/libs/WindowManager/Shell/res/values/dimen.xml +++ b/libs/WindowManager/Shell/res/values/dimen.xml @@ -454,6 +454,9 @@ <!-- The radius of the caption menu corners. --> <dimen name="desktop_mode_handle_menu_corner_radius">26dp</dimen> + <!-- The radius of the caption menu icon. --> + <dimen name="desktop_mode_caption_icon_radius">28dp</dimen> + <!-- The radius of the caption menu shadow. --> <dimen name="desktop_mode_handle_menu_shadow_radius">2dp</dimen> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java index 4640106b5f1c..cc9c2beff873 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java @@ -17,6 +17,8 @@ package com.android.wm.shell.activityembedding; +import static android.app.ActivityOptions.ANIM_CUSTOM; + import static com.android.internal.policy.TransitionAnimation.WALLPAPER_TRANSITION_NONE; import static com.android.wm.shell.transition.TransitionAnimationHelper.loadAttributeAnimation; @@ -199,8 +201,12 @@ class ActivityEmbeddingAnimationSpec { Animation loadOpenAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, @NonNull Rect wholeAnimationBounds) { final boolean isEnter = TransitionUtil.isOpeningType(change.getMode()); + final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final Animation animation; - if (shouldShowBackdrop(info, change)) { + if (options != null && options.getType() == ANIM_CUSTOM) { + animation = mTransitionAnimation.loadAnimationRes(options.getPackageName(), + isEnter ? options.getEnterResId() : options.getExitResId()); + } else if (shouldShowBackdrop(info, change)) { animation = mTransitionAnimation.loadDefaultAnimationRes(isEnter ? com.android.internal.R.anim.task_fragment_clear_top_open_enter : com.android.internal.R.anim.task_fragment_clear_top_open_exit); @@ -223,8 +229,12 @@ class ActivityEmbeddingAnimationSpec { Animation loadCloseAnimation(@NonNull TransitionInfo info, @NonNull TransitionInfo.Change change, @NonNull Rect wholeAnimationBounds) { final boolean isEnter = TransitionUtil.isOpeningType(change.getMode()); + final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); final Animation animation; - if (shouldShowBackdrop(info, change)) { + if (options != null && options.getType() == ANIM_CUSTOM) { + animation = mTransitionAnimation.loadAnimationRes(options.getPackageName(), + isEnter ? options.getEnterResId() : options.getExitResId()); + } else if (shouldShowBackdrop(info, change)) { animation = mTransitionAnimation.loadDefaultAnimationRes(isEnter ? com.android.internal.R.anim.task_fragment_clear_top_close_enter : com.android.internal.R.anim.task_fragment_clear_top_close_exit); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java index 8cf869b175ef..b4e852cfaa48 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java @@ -16,6 +16,7 @@ package com.android.wm.shell.activityembedding; +import static android.app.ActivityOptions.ANIM_CUSTOM; import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.window.TransitionInfo.FLAG_FILLS_TASK; import static android.window.TransitionInfo.FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY; @@ -110,12 +111,18 @@ public class ActivityEmbeddingController implements Transitions.TransitionHandle } final TransitionInfo.AnimationOptions options = info.getAnimationOptions(); - if (options != null - // Scene-transition will be handled by app side. - && (options.getType() == ANIM_SCENE_TRANSITION - // Use default transition handler to animate override animation. - || isSupportedOverrideAnimation(options))) { - return false; + if (options != null) { + // Scene-transition should be handled by app side. + if (options.getType() == ANIM_SCENE_TRANSITION) { + return false; + } + // The case of ActivityOptions#makeCustomAnimation, Activity#overridePendingTransition, + // and Activity#overrideActivityTransition are supported. + if (options.getType() == ANIM_CUSTOM) { + return true; + } + // Use default transition handler to animate other override animation. + return !isSupportedOverrideAnimation(options); } return true; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java index d08c573736d1..cb5d1c42c7d2 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java @@ -83,11 +83,6 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont public static final boolean IS_ENABLED = SystemProperties.getInt("persist.wm.debug.predictive_back", SETTING_VALUE_ON) == SETTING_VALUE_ON; - /** Flag for U animation features */ - public static boolean IS_U_ANIMATION_ENABLED = - SystemProperties.getInt("persist.wm.debug.predictive_back_anim", - SETTING_VALUE_ON) == SETTING_VALUE_ON; - public static final float FLING_MAX_LENGTH_SECONDS = 0.1f; // 100ms public static final float FLING_SPEED_UP_FACTOR = 0.6f; @@ -110,10 +105,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont /** Tracks if an uninterruptible animation is in progress */ private boolean mPostCommitAnimationInProgress = false; + /** Tracks if we should start the back gesture on the next motion move event */ private boolean mShouldStartOnNextMoveEvent = false; - /** @see #setTriggerBack(boolean) */ - private boolean mTriggerBack; private final FlingAnimationUtils mFlingAnimationUtils; @@ -128,6 +122,18 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont private final ShellController mShellController; private final ShellExecutor mShellExecutor; private final Handler mBgHandler; + + /** + * Tracks the current user back gesture. + */ + private TouchTracker mCurrentTracker = new TouchTracker(); + + /** + * Tracks the next back gesture in case a new user gesture has started while the back animation + * (and navigation) associated with {@link #mCurrentTracker} have not yet finished. + */ + private TouchTracker mQueuedTracker = new TouchTracker(); + private final Runnable mAnimationTimeoutRunnable = () -> { ProtoLog.w(WM_SHELL_BACK_PREVIEW, "Animation didn't finish in %d ms. Resetting...", MAX_ANIMATION_DURATION); @@ -138,8 +144,6 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont @VisibleForTesting BackAnimationAdapter mBackAnimationAdapter; - private final TouchTracker mTouchTracker = new TouchTracker(); - @Nullable private IOnBackInvokedCallback mActiveCallback; @@ -156,7 +160,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont } ProtoLog.i(WM_SHELL_BACK_PREVIEW, "Navigation window gone."); setTriggerBack(false); - onGestureFinished(false); + resetTouchTracker(); }); } }); @@ -357,6 +361,12 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont mShellBackAnimationRegistry.unregisterAnimation(type); } + private TouchTracker getActiveTracker() { + if (mCurrentTracker.isActive()) return mCurrentTracker; + if (mQueuedTracker.isActive()) return mQueuedTracker; + return null; + } + /** * Called when a new motion event needs to be transferred to this * {@link BackAnimationController} @@ -368,11 +378,18 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont float velocityY, int keyAction, @BackEvent.SwipeEdge int swipeEdge) { - if (mPostCommitAnimationInProgress) { + + TouchTracker activeTouchTracker = getActiveTracker(); + if (activeTouchTracker != null) { + activeTouchTracker.update(touchX, touchY, velocityX, velocityY); + } + + // two gestures are waiting to be processed at the moment, skip any further user touches + if (mCurrentTracker.isFinished() && mQueuedTracker.isFinished()) { + Log.d(TAG, "Ignoring MotionEvent because two gestures are already being queued."); return; } - mTouchTracker.update(touchX, touchY, velocityX, velocityY); if (keyAction == MotionEvent.ACTION_DOWN) { if (!mBackGestureStarted) { mShouldStartOnNextMoveEvent = true; @@ -390,33 +407,46 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont ProtoLog.d(WM_SHELL_BACK_PREVIEW, "Finishing gesture with event action: %d", keyAction); if (keyAction == MotionEvent.ACTION_CANCEL) { - mTriggerBack = false; + setTriggerBack(false); } - onGestureFinished(true); + onGestureFinished(); } } private void onGestureStarted(float touchX, float touchY, @BackEvent.SwipeEdge int swipeEdge) { - ProtoLog.d(WM_SHELL_BACK_PREVIEW, "initAnimation mMotionStarted=%b", mBackGestureStarted); - if (mBackGestureStarted || mBackNavigationInfo != null) { - Log.e(TAG, "Animation is being initialized but is already started."); - finishBackNavigation(); + TouchTracker touchTracker; + if (mCurrentTracker.isInInitialState()) { + touchTracker = mCurrentTracker; + } else if (mQueuedTracker.isInInitialState()) { + touchTracker = mQueuedTracker; + } else { + Log.w(TAG, "Cannot start tracking new gesture with neither tracker in initial state."); + return; } - - mTouchTracker.setGestureStartLocation(touchX, touchY, swipeEdge); + touchTracker.setGestureStartLocation(touchX, touchY, swipeEdge); + touchTracker.setState(TouchTracker.TouchTrackerState.ACTIVE); mBackGestureStarted = true; + if (touchTracker == mCurrentTracker) { + // Only start the back navigation if no other gesture is being processed. Otherwise, + // the back navigation will be started once the current gesture has finished. + startBackNavigation(mCurrentTracker); + } + } + + private void startBackNavigation(@NonNull TouchTracker touchTracker) { try { mBackNavigationInfo = mActivityTaskManager.startBackNavigation( mNavigationObserver, mEnableAnimations.get() ? mBackAnimationAdapter : null); - onBackNavigationInfoReceived(mBackNavigationInfo); + onBackNavigationInfoReceived(mBackNavigationInfo, touchTracker); } catch (RemoteException remoteException) { Log.e(TAG, "Failed to initAnimation", remoteException); - finishBackNavigation(); + finishBackNavigation(touchTracker.getTriggerBack()); } } - private void onBackNavigationInfoReceived(@Nullable BackNavigationInfo backNavigationInfo) { + private void onBackNavigationInfoReceived(@Nullable BackNavigationInfo backNavigationInfo, + @NonNull TouchTracker touchTracker) { ProtoLog.d(WM_SHELL_BACK_PREVIEW, "Received backNavigationInfo:%s", backNavigationInfo); if (backNavigationInfo == null) { Log.e(TAG, "Received BackNavigationInfo is null."); @@ -430,7 +460,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont } } else { mActiveCallback = mBackNavigationInfo.getOnBackInvokedCallback(); - dispatchOnBackStarted(mActiveCallback, mTouchTracker.createStartEvent(null)); + dispatchOnBackStarted(mActiveCallback, touchTracker.createStartEvent(null)); } } @@ -438,12 +468,14 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont if (!mBackGestureStarted || mBackNavigationInfo == null || mActiveCallback == null) { return; } - - final BackMotionEvent backEvent = mTouchTracker.createProgressEvent(); + // Skip dispatching if the move corresponds to the queued instead of the current gesture + if (mQueuedTracker.isActive()) return; + final BackMotionEvent backEvent = mCurrentTracker.createProgressEvent(); dispatchOnBackProgressed(mActiveCallback, backEvent); } private void injectBackKey() { + Log.d(TAG, "injectBackKey"); sendBackEvent(KeyEvent.ACTION_DOWN); sendBackEvent(KeyEvent.ACTION_UP); } @@ -488,7 +520,8 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont * * @param callback the callback to be invoked when the animation ends. */ - private void dispatchOrAnimateOnBackInvoked(IOnBackInvokedCallback callback) { + private void dispatchOrAnimateOnBackInvoked(IOnBackInvokedCallback callback, + @NonNull TouchTracker touchTracker) { if (callback == null) { return; } @@ -497,12 +530,12 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont if (mBackNavigationInfo != null && mBackNavigationInfo.isAnimationCallback()) { - final BackMotionEvent backMotionEvent = mTouchTracker.createProgressEvent(); + final BackMotionEvent backMotionEvent = touchTracker.createProgressEvent(); if (backMotionEvent != null) { // Constraints - absolute values float minVelocity = mFlingAnimationUtils.getMinVelocityPxPerSecond(); float maxVelocity = mFlingAnimationUtils.getHighVelocityPxPerSecond(); - float maxX = mTouchTracker.getMaxDistance(); // px + float maxX = touchTracker.getMaxDistance(); // px float maxFlingDistance = maxX * MAX_FLING_PROGRESS; // px // Current state @@ -530,9 +563,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont animator.addUpdateListener(animation -> { Float animatedValue = (Float) animation.getAnimatedValue(); - float progress = mTouchTracker.getProgress(animatedValue); - final BackMotionEvent backEvent = mTouchTracker - .createProgressEvent(progress); + float progress = touchTracker.getProgress(animatedValue); + final BackMotionEvent backEvent = touchTracker.createProgressEvent( + progress); dispatchOnBackProgressed(mActiveCallback, backEvent); }); @@ -591,27 +624,27 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont * Sets to true when the back gesture has passed the triggering threshold, false otherwise. */ public void setTriggerBack(boolean triggerBack) { - if (mPostCommitAnimationInProgress) { - return; + TouchTracker activeBackGestureInfo = getActiveTracker(); + if (activeBackGestureInfo != null) { + activeBackGestureInfo.setTriggerBack(triggerBack); } - mTriggerBack = triggerBack; - mTouchTracker.setTriggerBack(triggerBack); } private void setSwipeThresholds( float linearDistance, float maxDistance, float nonLinearFactor) { - mTouchTracker.setProgressThresholds(linearDistance, maxDistance, nonLinearFactor); + mCurrentTracker.setProgressThresholds(linearDistance, maxDistance, nonLinearFactor); + mQueuedTracker.setProgressThresholds(linearDistance, maxDistance, nonLinearFactor); } - private void invokeOrCancelBack() { + private void invokeOrCancelBack(@NonNull TouchTracker touchTracker) { // Make a synchronized call to core before dispatch back event to client side. // If the close transition happens before the core receives onAnimationFinished, there will // play a second close animation for that transition. if (mBackAnimationFinishedCallback != null) { try { - mBackAnimationFinishedCallback.onAnimationFinished(mTriggerBack); + mBackAnimationFinishedCallback.onAnimationFinished(touchTracker.getTriggerBack()); } catch (RemoteException e) { Log.e(TAG, "Failed call IBackAnimationFinishedCallback", e); } @@ -620,30 +653,30 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont if (mBackNavigationInfo != null) { final IOnBackInvokedCallback callback = mBackNavigationInfo.getOnBackInvokedCallback(); - if (mTriggerBack) { - dispatchOrAnimateOnBackInvoked(callback); + if (touchTracker.getTriggerBack()) { + dispatchOrAnimateOnBackInvoked(callback, touchTracker); } else { dispatchOnBackCancelled(callback); } } - finishBackNavigation(); + finishBackNavigation(touchTracker.getTriggerBack()); } /** * Called when the gesture is released, then it could start the post commit animation. */ - private void onGestureFinished(boolean fromTouch) { - ProtoLog.d(WM_SHELL_BACK_PREVIEW, "onGestureFinished() mTriggerBack == %s", mTriggerBack); - if (!mBackGestureStarted) { - finishBackNavigation(); + private void onGestureFinished() { + TouchTracker activeTouchTracker = getActiveTracker(); + if (!mBackGestureStarted || activeTouchTracker == null) { + // This can happen when an unfinished gesture has been reset in resetTouchTracker + Log.d(TAG, "onGestureFinished called while no gesture is started"); return; } + boolean triggerBack = activeTouchTracker.getTriggerBack(); + ProtoLog.d(WM_SHELL_BACK_PREVIEW, "onGestureFinished() mTriggerBack == %s", triggerBack); - if (fromTouch) { - // Let touch reset the flag otherwise it will start a new back navigation and refresh - // the info when received a new move event. - mBackGestureStarted = false; - } + mBackGestureStarted = false; + activeTouchTracker.setState(TouchTracker.TouchTrackerState.FINISHED); if (mPostCommitAnimationInProgress) { ProtoLog.w(WM_SHELL_BACK_PREVIEW, "Animation is still running"); @@ -652,11 +685,16 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont if (mBackNavigationInfo == null) { // No focus window found or core are running recents animation, inject back key as - // legacy behavior. - if (mTriggerBack) { + // legacy behavior, or new back gesture was started while previous has not finished yet + if (!mQueuedTracker.isInInitialState()) { + Log.e(TAG, "mBackNavigationInfo is null AND there is another back animation in " + + "progress"); + } + mCurrentTracker.reset(); + if (triggerBack) { injectBackKey(); } - finishBackNavigation(); + finishBackNavigation(triggerBack); return; } @@ -664,7 +702,9 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont // Simply trigger and finish back navigation when no animator defined. if (!shouldDispatchToAnimator() || mShellBackAnimationRegistry.isAnimationCancelledOrNull(backType)) { - invokeOrCancelBack(); + Log.d(TAG, "Trigger back without dispatching to animator."); + invokeOrCancelBack(mCurrentTracker); + mCurrentTracker.reset(); return; } else if (mShellBackAnimationRegistry.isWaitingAnimation(backType)) { ProtoLog.w(WM_SHELL_BACK_PREVIEW, "Gesture released, but animation didn't ready."); @@ -691,8 +731,8 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont mShellExecutor.executeDelayed(mAnimationTimeoutRunnable, MAX_ANIMATION_DURATION); // The next callback should be {@link #onBackAnimationFinished}. - if (mTriggerBack) { - dispatchOrAnimateOnBackInvoked(mActiveCallback); + if (mCurrentTracker.getTriggerBack()) { + dispatchOrAnimateOnBackInvoked(mActiveCallback, mCurrentTracker); } else { dispatchOnBackCancelled(mActiveCallback); } @@ -708,27 +748,64 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont mShellExecutor.removeCallbacks(mAnimationTimeoutRunnable); mPostCommitAnimationInProgress = false; - ProtoLog.d(WM_SHELL_BACK_PREVIEW, "BackAnimationController: onBackAnimationFinished()"); + Log.d(TAG, "BackAnimationController: onBackAnimationFinished()"); + + if (mCurrentTracker.isActive() || mCurrentTracker.isFinished()) { + // Trigger the real back. + invokeOrCancelBack(mCurrentTracker); + } else { + Log.d(TAG, "mCurrentBackGestureInfo was null when back animation finished"); + } + resetTouchTracker(); + } + + /** + * Resets the TouchTracker and potentially starts a new back navigation in case one is queued + */ + private void resetTouchTracker() { + TouchTracker temp = mCurrentTracker; + mCurrentTracker = mQueuedTracker; + temp.reset(); + mQueuedTracker = temp; + + if (mCurrentTracker.isInInitialState()) { + if (mBackGestureStarted) { + mBackGestureStarted = false; + dispatchOnBackCancelled(mActiveCallback); + finishBackNavigation(false); + Log.d(TAG, "resetTouchTracker -> reset an unfinished gesture"); + } else { + Log.d(TAG, "resetTouchTracker -> no queued gesture"); + } + return; + } - // Trigger the real back. - invokeOrCancelBack(); + if (mCurrentTracker.isFinished() && mCurrentTracker.getTriggerBack()) { + Log.d(TAG, "resetTouchTracker -> start queued back navigation AND post commit " + + "animation"); + injectBackKey(); + finishBackNavigation(true); + mCurrentTracker.reset(); + } else if (!mCurrentTracker.isFinished()) { + Log.d(TAG, "resetTouchTracker -> queued gesture not finished; do nothing"); + } else { + Log.d(TAG, "resetTouchTracker -> reset queued gesture"); + mCurrentTracker.reset(); + } } /** * This should be called after the whole back navigation is completed. */ @VisibleForTesting - void finishBackNavigation() { + void finishBackNavigation(boolean triggerBack) { ProtoLog.d(WM_SHELL_BACK_PREVIEW, "BackAnimationController: finishBackNavigation()"); - mShouldStartOnNextMoveEvent = false; - mTouchTracker.reset(); mActiveCallback = null; mShellBackAnimationRegistry.resetDefaultCrossActivity(); if (mBackNavigationInfo != null) { - mBackNavigationInfo.onBackNavigationFinished(mTriggerBack); + mBackNavigationInfo.onBackNavigationFinished(triggerBack); mBackNavigationInfo = null; } - mTriggerBack = false; } @@ -781,14 +858,14 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont if (apps.length >= 1) { dispatchOnBackStarted( mActiveCallback, - mTouchTracker.createStartEvent(apps[0])); + mCurrentTracker.createStartEvent(apps[0])); } // Dispatch the first progress after animation start for // smoothing the initial animation, instead of waiting for next // onMove. - final BackMotionEvent backFinish = - mTouchTracker.createProgressEvent(); + final BackMotionEvent backFinish = mCurrentTracker + .createProgressEvent(); dispatchOnBackProgressed(mActiveCallback, backFinish); if (!mBackGestureStarted) { // if the down -> up gesture happened before animation @@ -808,7 +885,7 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont return; } if (!mBackGestureStarted) { - invokeOrCancelBack(); + invokeOrCancelBack(mCurrentTracker); } }); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java index a0ada39b459e..8a59a9f62425 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/TouchTracker.java @@ -52,6 +52,7 @@ class TouchTracker { private float mStartThresholdX; private int mSwipeEdge; private boolean mCancelled; + private TouchTrackerState mState = TouchTrackerState.INITIAL; void update(float touchX, float touchY, float velocityX, float velocityY) { /** @@ -76,6 +77,26 @@ class TouchTracker { mTriggerBack = triggerBack; } + boolean getTriggerBack() { + return mTriggerBack; + } + + void setState(TouchTrackerState state) { + mState = state; + } + + boolean isInInitialState() { + return mState == TouchTrackerState.INITIAL; + } + + boolean isActive() { + return mState == TouchTrackerState.ACTIVE; + } + + boolean isFinished() { + return mState == TouchTrackerState.FINISHED; + } + void setGestureStartLocation(float touchX, float touchY, int swipeEdge) { mInitTouchX = touchX; mInitTouchY = touchY; @@ -89,6 +110,7 @@ class TouchTracker { mStartThresholdX = 0; mCancelled = false; mTriggerBack = false; + mState = TouchTrackerState.INITIAL; mSwipeEdge = BackEvent.EDGE_LEFT; } @@ -186,4 +208,9 @@ class TouchTracker { mMaxDistance = maxDistance; mNonLinearFactor = nonLinearFactor; } + + enum TouchTrackerState { + INITIAL, ACTIVE, FINISHED + } + } 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 37bcf1ddeac5..0568edaa7ab6 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 @@ -949,7 +949,9 @@ public class BubbleExpandedView extends LinearLayout { if (mTaskView != null && mTaskView.getVisibility() == VISIBLE && mTaskView.isAttachedToWindow()) { - mTaskView.onLocationChanged(); + // post this to the looper, because if the device orientation just changed, we need to + // let the current shell transition complete before updating the task view bounds. + post(() -> mTaskView.onLocationChanged()); } if (mIsOverflow) { // post this to the looper so that the view has a chance to be laid out before it can 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 ac5ba51ec139..9402d028ecc4 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 @@ -57,6 +57,7 @@ import android.view.SurfaceView; import android.view.View; import android.view.ViewGroup; import android.view.ViewOutlineProvider; +import android.view.ViewPropertyAnimator; import android.view.ViewTreeObserver; import android.view.WindowManagerPolicyConstants; import android.view.accessibility.AccessibilityNodeInfo; @@ -212,7 +213,8 @@ public class BubbleStackView extends FrameLayout private ExpandedViewAnimationController mExpandedViewAnimationController; private View mScrim; - private boolean mScrimAnimating; + @Nullable + private ViewPropertyAnimator mScrimAnimation; private View mManageMenuScrim; private FrameLayout mExpandedViewContainer; @@ -748,8 +750,8 @@ public class BubbleStackView extends FrameLayout float collapsed = -Math.min(dy, 0); mExpandedViewAnimationController.updateDrag((int) collapsed); - // Update scrim - if (!mScrimAnimating) { + // Update scrim if it's not animating already + if (mScrimAnimation == null) { mScrim.setAlpha(getScrimAlphaForDrag(collapsed)); } } @@ -768,8 +770,8 @@ public class BubbleStackView extends FrameLayout } else { mExpandedViewAnimationController.animateBackToExpanded(); - // Update scrim - if (!mScrimAnimating) { + // Update scrim if it's not animating already + if (mScrimAnimation == null) { showScrim(true, null /* runnable */); } } @@ -1010,15 +1012,15 @@ public class BubbleStackView extends FrameLayout } if (mIsExpanded) { - // Re-draw bubble row and pointer for new orientation. - beforeExpandedViewAnimation(); + // update the expanded view and pointer location for the new orientation. + hideFlyoutImmediate(); + mExpandedViewContainer.setAlpha(0f); + updateExpandedView(); updateOverflowVisibility(); - updatePointerPosition(false /* forIme */); - mExpandedAnimationController.expandFromStack(() -> { - afterExpandedViewAnimation(); - mExpandedViewContainer.setVisibility(VISIBLE); - showManageMenu(mShowingManage); - } /* after */); + updatePointerPosition(false); + requestUpdate(); + showManageMenu(mShowingManage); + PointF p = mPositioner.getExpandedBubbleXY(getBubbleIndex(mExpandedBubble), getState()); final float translationY = mPositioner.getExpandedViewY(mExpandedBubble, @@ -1027,6 +1029,7 @@ public class BubbleStackView extends FrameLayout mExpandedViewContainer.setTranslationY(translationY); mExpandedViewContainer.setAlpha(1f); } + removeOnLayoutChangeListener(mOrientationChangedListener); }; final float maxDismissSize = getResources().getDimensionPixelSize( @@ -2237,26 +2240,27 @@ public class BubbleStackView extends FrameLayout private void showScrim(boolean show, Runnable after) { AnimatorListenerAdapter listener = new AnimatorListenerAdapter() { @Override - public void onAnimationStart(Animator animation) { - mScrimAnimating = true; - } - - @Override public void onAnimationEnd(Animator animation) { - mScrimAnimating = false; + mScrimAnimation = null; if (after != null) { after.run(); } } }; + if (mScrimAnimation != null) { + // Cancel scrim animation if it animates + mScrimAnimation.cancel(); + } if (show) { - mScrim.animate() + mScrimAnimation = mScrim.animate(); + mScrimAnimation .setInterpolator(ALPHA_IN) .alpha(BUBBLE_EXPANDED_SCRIM_ALPHA) .setListener(listener) .start(); } else { - mScrim.animate() + mScrimAnimation = mScrim.animate(); + mScrimAnimation .alpha(0f) .setInterpolator(ALPHA_OUT) .setListener(listener) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java index 77831136b0bc..dc82fc1b35dd 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java @@ -18,11 +18,15 @@ package com.android.wm.shell.desktopmode; import android.os.SystemProperties; +import com.android.wm.shell.Flags; + /** * Constants for desktop mode feature */ public class DesktopModeStatus { + private static final boolean ENABLE_DESKTOP_WINDOWING = Flags.enableDesktopWindowing(); + /** * Flag to indicate whether desktop mode proto is available on the device */ @@ -54,6 +58,12 @@ public class DesktopModeStatus { * Return {@code true} is desktop windowing proto 2 is enabled */ public static boolean isEnabled() { + // Check for aconfig flag first + if (ENABLE_DESKTOP_WINDOWING) { + return true; + } + // Fall back to sysprop flag + // TODO(b/304778354): remove sysprop once desktop aconfig flag supports dynamic overriding return IS_PROTO2_ENABLED; } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java index de03f5826925..9cd318f27355 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java @@ -25,6 +25,7 @@ import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_DOWN; import static android.app.ActivityOptions.ANIM_THUMBNAIL_SCALE_UP; import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM; +import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_RESOURCE_UPDATED; import static android.app.admin.DevicePolicyManager.EXTRA_RESOURCE_TYPE; @@ -515,7 +516,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { } if (backgroundColorForTransition != 0) { - addBackgroundColorOnTDA(info, backgroundColorForTransition, startTransaction, + addBackgroundColor(info, backgroundColorForTransition, startTransaction, finishTransaction); } @@ -546,7 +547,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { return true; } - private void addBackgroundColorOnTDA(@NonNull TransitionInfo info, + private void addBackgroundColor(@NonNull TransitionInfo info, @ColorInt int color, @NonNull SurfaceControl.Transaction startTransaction, @NonNull SurfaceControl.Transaction finishTransaction) { final Color bgColor = Color.valueOf(color); @@ -558,9 +559,19 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler { .setName("animation-background") .setCallsite("DefaultTransitionHandler") .setColorLayer(); - - mRootTDAOrganizer.attachToDisplayArea(displayId, colorLayerBuilder); final SurfaceControl backgroundSurface = colorLayerBuilder.build(); + + // Attaching the background surface to the transition root could unexpectedly make it + // cover one of the split root tasks. To avoid this, put the background surface just + // above the display area when split is on. + final boolean isSplitTaskInvolved = + info.getChanges().stream().anyMatch(c-> c.getTaskInfo() != null + && c.getTaskInfo().getWindowingMode() == WINDOWING_MODE_MULTI_WINDOW); + if (isSplitTaskInvolved) { + mRootTDAOrganizer.attachToDisplayArea(displayId, colorLayerBuilder); + } else { + startTransaction.reparent(backgroundSurface, info.getRootLeash()); + } startTransaction.setColor(backgroundSurface, colorArray) .setLayer(backgroundSurface, -1) .show(backgroundSurface); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java index ca2c3b4fbff1..293b66084d28 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/RemoteTransitionHandler.java @@ -146,13 +146,13 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { }); } }; + // If the remote is actually in the same process, then make a copy of parameters since + // remote impls assume that they have to clean-up native references. + final SurfaceControl.Transaction remoteStartT = + copyIfLocal(startTransaction, remote.getRemoteTransition()); + final TransitionInfo remoteInfo = + remoteStartT == startTransaction ? info : info.localRemoteCopy(); try { - // If the remote is actually in the same process, then make a copy of parameters since - // remote impls assume that they have to clean-up native references. - final SurfaceControl.Transaction remoteStartT = - copyIfLocal(startTransaction, remote.getRemoteTransition()); - final TransitionInfo remoteInfo = - remoteStartT == startTransaction ? info : info.localRemoteCopy(); handleDeath(remote.asBinder(), finishCallback); remote.getRemoteTransition().startAnimation(transition, remoteInfo, remoteStartT, cb); // assume that remote will apply the start transaction. @@ -160,6 +160,10 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler { Transitions.setRunningRemoteTransitionDelegate(remote.getAppThread()); } catch (RemoteException e) { Log.e(Transitions.TAG, "Error running remote transition.", e); + if (remoteStartT != startTransaction) { + remoteStartT.close(); + } + startTransaction.apply(); unhandleDeath(remote.asBinder(), finishCallback); mRequestedRemotes.remove(transition); mMainExecutor.execute(() -> finishCallback.onTransitionFinished(null /* wct */)); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldTransitionHandler.java index 68b5a81f8d7b..b26d0613f3b6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldTransitionHandler.java @@ -20,6 +20,7 @@ import static android.view.WindowManager.TRANSIT_CHANGE; import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_TRANSITIONS; +import android.animation.ValueAnimator; import android.app.ActivityManager; import android.os.IBinder; import android.view.SurfaceControl; @@ -74,9 +75,9 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene Executor executor, Transitions transitions) { mUnfoldProgressProvider = unfoldProgressProvider; + mTransitions = transitions; mTransactionPool = transactionPool; mExecutor = executor; - mTransitions = transitions; mAnimators.add(splitUnfoldTaskAnimator); mAnimators.add(fullscreenUnfoldAnimator); @@ -104,6 +105,16 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene @NonNull SurfaceControl.Transaction startTransaction, @NonNull SurfaceControl.Transaction finishTransaction, @NonNull TransitionFinishCallback finishCallback) { + if (hasUnfold(info) && transition != mTransition) { + // Take over transition that has unfold, we might receive it if no other handler + // accepted request in handleRequest, e.g. for rotation + unfold or + // TRANSIT_NONE + unfold transitions + mTransition = transition; + + ProtoLog.v(WM_SHELL_TRANSITIONS, "UnfoldTransitionHandler: " + + "take over startAnimation"); + } + if (transition != mTransition) return false; for (int i = 0; i < mAnimators.size(); i++) { @@ -203,6 +214,33 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene && request.getDisplayChange().isPhysicalDisplayChanged()); } + /** Whether `transitionInfo` contains an unfold action. */ + public boolean hasUnfold(@NonNull TransitionInfo transitionInfo) { + // Unfold animation won't play when animations are disabled + if (!ValueAnimator.areAnimatorsEnabled()) return false; + + for (int i = 0; i < transitionInfo.getChanges().size(); i++) { + final TransitionInfo.Change change = transitionInfo.getChanges().get(i); + if ((change.getFlags() & TransitionInfo.FLAG_IS_DISPLAY) != 0) { + if (change.getEndAbsBounds() == null || change.getStartAbsBounds() == null) { + continue; + } + + // Handle only unfolding, currently we don't have an animation when folding + final int afterArea = + change.getEndAbsBounds().width() * change.getEndAbsBounds().height(); + final int beforeArea = change.getStartAbsBounds().width() + * change.getStartAbsBounds().height(); + + if (afterArea > beforeArea) { + return true; + } + } + } + + return false; + } + @Nullable @Override public WindowContainerTransaction handleRequest(@NonNull IBinder transition, 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 3aed9ebc6c5e..a976584e9811 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 @@ -20,6 +20,8 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.windowingModeToString; +import static com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT; + import android.app.ActivityManager; import android.app.WindowConfiguration.WindowingMode; import android.content.Context; @@ -27,6 +29,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; +import android.graphics.Bitmap; import android.graphics.Point; import android.graphics.PointF; import android.graphics.Rect; @@ -44,6 +47,7 @@ import android.widget.ImageButton; import android.window.WindowContainerTransaction; import com.android.internal.policy.ScreenDecorationsUtils; +import com.android.launcher3.icons.BaseIconFactory; import com.android.launcher3.icons.IconProvider; import com.android.wm.shell.R; import com.android.wm.shell.RootTaskDisplayAreaOrganizer; @@ -93,7 +97,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin private ResizeVeil mResizeVeil; - private Drawable mAppIcon; + private Drawable mAppIconDrawable; + private Bitmap mAppIconBitmap; private CharSequence mAppName; private ExclusionRegionListener mExclusionRegionListener; @@ -255,7 +260,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mOnCaptionButtonClickListener, mOnCaptionLongClickListener, mAppName, - mAppIcon + mAppIconBitmap ); } else { throw new IllegalArgumentException("Unexpected layout resource id"); @@ -362,10 +367,15 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin String packageName = mTaskInfo.realActivity.getPackageName(); PackageManager pm = mContext.getApplicationContext().getPackageManager(); try { - IconProvider provider = new IconProvider(mContext); - mAppIcon = provider.getIcon(pm.getActivityInfo(mTaskInfo.baseActivity, + final IconProvider provider = new IconProvider(mContext); + mAppIconDrawable = provider.getIcon(pm.getActivityInfo(mTaskInfo.baseActivity, PackageManager.ComponentInfoFlags.of(0))); - ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, + final Resources resources = mContext.getResources(); + final BaseIconFactory factory = new BaseIconFactory(mContext, + resources.getDisplayMetrics().densityDpi, + resources.getDimensionPixelSize(R.dimen.desktop_mode_caption_icon_radius)); + mAppIconBitmap = factory.createScaledBitmap(mAppIconDrawable, MODE_DEFAULT); + final ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)); mAppName = pm.getApplicationLabel(applicationInfo); } catch (PackageManager.NameNotFoundException e) { @@ -386,7 +396,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * until a resize event calls showResizeVeil below. */ void createResizeVeil() { - mResizeVeil = new ResizeVeil(mContext, mAppIcon, mTaskInfo, + mResizeVeil = new ResizeVeil(mContext, mAppIconDrawable, mTaskInfo, mSurfaceControlBuilderSupplier, mDisplay, mSurfaceControlTransactionSupplier); } @@ -459,7 +469,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin */ void createHandleMenu() { mHandleMenu = new HandleMenu.Builder(this) - .setAppIcon(mAppIcon) + .setAppIcon(mAppIconBitmap) .setAppName(mAppName) .setOnClickListener(mOnCaptionButtonClickListener) .setOnTouchListener(mOnCaptionTouchListener) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java index 6391518b5911..1941d66cc172 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.java @@ -29,9 +29,9 @@ import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; +import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.PointF; -import android.graphics.drawable.Drawable; import android.view.MotionEvent; import android.view.SurfaceControl; import android.view.View; @@ -58,7 +58,7 @@ class HandleMenu { private WindowDecoration.AdditionalWindow mHandleMenuWindow; private final PointF mHandleMenuPosition = new PointF(); private final boolean mShouldShowWindowingPill; - private final Drawable mAppIcon; + private final Bitmap mAppIconBitmap; private final CharSequence mAppName; private final View.OnClickListener mOnClickListener; private final View.OnTouchListener mOnTouchListener; @@ -76,7 +76,7 @@ class HandleMenu { HandleMenu(WindowDecoration parentDecor, int layoutResId, int captionX, int captionY, View.OnClickListener onClickListener, View.OnTouchListener onTouchListener, - Drawable appIcon, CharSequence appName, boolean shouldShowWindowingPill, + Bitmap appIcon, CharSequence appName, boolean shouldShowWindowingPill, int captionHeight) { mParentDecor = parentDecor; mContext = mParentDecor.mDecorWindowContext; @@ -86,7 +86,7 @@ class HandleMenu { mCaptionY = captionY; mOnClickListener = onClickListener; mOnTouchListener = onTouchListener; - mAppIcon = appIcon; + mAppIconBitmap = appIcon; mAppName = appName; mShouldShowWindowingPill = shouldShowWindowingPill; mCaptionHeight = captionHeight; @@ -150,7 +150,7 @@ class HandleMenu { final ImageView appIcon = handleMenu.findViewById(R.id.application_icon); final TextView appName = handleMenu.findViewById(R.id.application_name); collapseBtn.setOnClickListener(mOnClickListener); - appIcon.setImageDrawable(mAppIcon); + appIcon.setImageBitmap(mAppIconBitmap); appName.setText(mAppName); } @@ -335,7 +335,7 @@ class HandleMenu { static final class Builder { private final WindowDecoration mParent; private CharSequence mName; - private Drawable mAppIcon; + private Bitmap mAppIcon; private View.OnClickListener mOnClickListener; private View.OnTouchListener mOnTouchListener; private int mLayoutId; @@ -354,7 +354,7 @@ class HandleMenu { return this; } - Builder setAppIcon(@Nullable Drawable appIcon) { + Builder setAppIcon(@Nullable Bitmap appIcon) { mAppIcon = appIcon; return this; } 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 400dec4df506..d64312a1c0c8 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 @@ -2,7 +2,7 @@ package com.android.wm.shell.windowdecor.viewholder import android.app.ActivityManager.RunningTaskInfo import android.content.res.ColorStateList -import android.graphics.drawable.Drawable +import android.graphics.Bitmap import android.graphics.drawable.GradientDrawable import android.view.View import android.view.View.OnLongClickListener @@ -22,7 +22,7 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( onCaptionButtonClickListener: View.OnClickListener, onLongClickListener: OnLongClickListener, appName: CharSequence, - appIcon: Drawable + appIconBitmap: Bitmap ) : DesktopModeWindowDecorationViewHolder(rootView) { private val captionView: View = rootView.requireViewById(R.id.desktop_mode_caption) @@ -44,7 +44,7 @@ internal class DesktopModeAppControlsWindowDecorationViewHolder( maximizeWindowButton.onLongClickListener = onLongClickListener closeWindowButton.setOnTouchListener(onCaptionTouchListener) appNameTextView.text = appName - appIconImageView.setImageDrawable(appIcon) + appIconImageView.setImageBitmap(appIconBitmap) } override fun bindData(taskInfo: RunningTaskInfo) { diff --git a/libs/WindowManager/Shell/tests/flicker/Android.bp b/libs/WindowManager/Shell/tests/flicker/Android.bp index acfb259d7359..bd2eb5b4a8ae 100644 --- a/libs/WindowManager/Shell/tests/flicker/Android.bp +++ b/libs/WindowManager/Shell/tests/flicker/Android.bp @@ -153,9 +153,8 @@ java_library { } java_defaults { - name: "WMShellFlickerTestsDefault", + name: "WMShellFlickerTestsDefaultWithoutTemplate", manifest: "manifests/AndroidManifest.xml", - test_config_template: "AndroidTestTemplate.xml", platform_apis: true, certificate: "platform", optimize: { @@ -182,6 +181,12 @@ java_defaults { ], } +java_defaults { + name: "WMShellFlickerTestsDefault", + defaults: ["WMShellFlickerTestsDefaultWithoutTemplate"], + test_config_template: "AndroidTestTemplate.xml", +} + android_test { name: "WMShellFlickerTestsOther", defaults: ["WMShellFlickerTestsDefault"], @@ -276,6 +281,23 @@ android_test { } android_test { + name: "WMShellFlickerTestsPipAppsCSuite", + defaults: ["WMShellFlickerTestsDefaultWithoutTemplate"], + additional_manifests: ["manifests/AndroidManifestPip.xml"], + package_name: "com.android.wm.shell.flicker.pip.apps", + instrumentation_target_package: "com.android.wm.shell.flicker.pip.apps", + srcs: [ + ":WMShellFlickerTestsBase-src", + ":WMShellFlickerTestsPipApps-src", + ":WMShellFlickerTestsPipCommon-src", + ], + test_suites: [ + "device-tests", + "csuite", + ], +} + +android_test { name: "WMShellFlickerTestsSplitScreenGroup1", defaults: ["WMShellFlickerTestsDefault"], additional_manifests: ["manifests/AndroidManifestSplitScreen.xml"], @@ -327,3 +349,8 @@ android_test { ":WMShellFlickerServicePlatinumTests-src", ], } + +csuite_test { + name: "csuite-1p3p-pip-flickers", + test_config_template: "csuiteDefaultTemplate.xml", +} diff --git a/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml b/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml new file mode 100644 index 000000000000..ca182fa5a266 --- /dev/null +++ b/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml @@ -0,0 +1,121 @@ +<?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. + --> +<configuration description="Runs WindowManager Shell Flicker Tests WMShellFlickerTestsPipAppsCSuite"> + <option name="test-tag" value="FlickerTests"/> + <!-- Needed for storing the perfetto trace files in the sdcard/test_results--> + <option name="isolated-storage" value="false"/> + + <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> + <!-- keeps the screen on during tests --> + <option name="screen-always-on" value="on"/> + <!-- prevents the phone from restarting --> + <option name="force-skip-system-props" value="true"/> + <!-- set WM tracing verbose level to all --> + <option name="run-command" value="cmd window tracing level all"/> + <!-- set WM tracing to frame (avoid incomplete states) --> + <option name="run-command" value="cmd window tracing frame"/> + <!-- disable betterbug as it's log collection dialogues cause flakes in e2e tests --> + <option name="run-command" value="pm disable com.google.android.internal.betterbug"/> + <!-- ensure lock screen mode is swipe --> + <option name="run-command" value="locksettings set-disabled false"/> + <!-- restart launcher to activate TAPL --> + <option name="run-command" + value="setprop ro.test_harness 1 ; am force-stop com.google.android.apps.nexuslauncher"/> + <!-- Increase trace size: 20mb for WM and 80mb for SF --> + <option name="run-command" value="cmd window tracing size 20480"/> + <option name="run-command" value="su root service call SurfaceFlinger 1029 i32 81920"/> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> + <option name="test-user-token" value="%TEST_USER%"/> + <option name="run-command" value="rm -rf /data/user/%TEST_USER%/files/*"/> + <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1"/> + <option name="run-command" value="settings put system show_touches 1"/> + <option name="run-command" value="settings put system pointer_location 1"/> + <option name="teardown-command" + value="settings delete secure show_ime_with_hard_keyboard"/> + <option name="teardown-command" value="settings delete system show_touches"/> + <option name="teardown-command" value="settings delete system pointer_location"/> + <option name="teardown-command" + value="cmd overlay enable com.android.internal.systemui.navbar.gestural"/> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> + <option name="cleanup-apks" value="true"/> + <option name="test-file-name" value="WMShellFlickerTestsPipAppsCSuite.apk"/> + <option name="test-file-name" value="FlickerTestApp.apk"/> + </target_preparer> + <!-- Enable mocking GPS location by the test app --> + <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> + <option name="run-command" + value="appops set com.android.wm.shell.flicker.pip.apps android:mock_location allow"/> + <option name="teardown-command" + value="appops set com.android.wm.shell.flicker.pip.apps android:mock_location deny"/> + </target_preparer> + + <!-- Needed for pushing the trace config file --> + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/> + <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> + <option name="push-file" + key="trace_config.textproto" + value="/data/misc/perfetto-traces/trace_config.textproto" + /> + <!--Install the content provider automatically when we push some file in sdcard folder.--> + <!--Needed to avoid the installation during the test suite.--> + <option name="push-file" key="trace_config.textproto" value="/sdcard/sample.textproto"/> + </target_preparer> + <test class="com.android.tradefed.testtype.AndroidJUnitTest"> + <option name="package" value="com.android.wm.shell.flicker.pip.apps"/> + <option name="shell-timeout" value="6600s"/> + <option name="test-timeout" value="6000s"/> + <option name="hidden-api-checks" value="false"/> + <option name="device-listeners" value="android.device.collectors.PerfettoListener"/> + <!-- PerfettoListener related arguments --> + <option name="instrumentation-arg" key="perfetto_config_text_proto" value="true"/> + <option name="instrumentation-arg" + key="perfetto_config_file" + value="trace_config.textproto" + /> + <option name="instrumentation-arg" key="per_run" value="true"/> + </test> + <!-- Needed for pulling the collected trace config on to the host --> + <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> + <option name="pull-pattern-keys" value="perfetto_file_path"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.bubbles/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.pip/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.pip.apps/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.splitscreen/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.service/files"/> + <option name="collect-on-run-ended-only" value="true"/> + <option name="clean-up" value="true"/> + </metrics_collector> + + <!-- Needed for installing apk's from Play Store --> + <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup"> + <option name="aapt-version" value="AAPT2"/> + <option name="throw-if-not-found" value="false"/> + <option name="install-arg" value="-d"/> + <option name="install-arg" value="-g"/> + <option name="install-arg" value="-r"/> + <option name="test-file-name" value="pstash://com.netflix.mediaclient"/> + </target_preparer> +</configuration> diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java index 83d9f654376c..974d69b2ac5d 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java @@ -187,6 +187,25 @@ public class ActivityEmbeddingControllerTests extends ActivityEmbeddingAnimation verifyNoMoreInteractions(mFinishTransaction); } + @Test + public void testShouldAnimate_containsAnimationOptions() { + final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_CLOSE, 0) + .addChange(createEmbeddedChange(EMBEDDED_RIGHT_BOUNDS, TASK_BOUNDS, TASK_BOUNDS)) + .build(); + + info.setAnimationOptions(TransitionInfo.AnimationOptions + .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* exitResId */, + 0 /* backgroundColor */, false /* overrideTaskTransition */)); + assertTrue(mController.shouldAnimate(info)); + + info.setAnimationOptions(TransitionInfo.AnimationOptions + .makeSceneTransitionAnimOptions()); + assertFalse(mController.shouldAnimate(info)); + + info.setAnimationOptions(TransitionInfo.AnimationOptions.makeCrossProfileAnimOptions()); + assertFalse(mController.shouldAnimate(info)); + } + @UiThreadTest @Test public void testMergeAnimation() { diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java index d6141cfd21ba..6cf5450db9ea 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/back/BackAnimationControllerTest.java @@ -37,6 +37,7 @@ import android.app.WindowConfiguration; import android.content.pm.ApplicationInfo; import android.graphics.Point; import android.graphics.Rect; +import android.hardware.input.InputManager; import android.os.Bundle; import android.os.Handler; import android.os.RemoteCallback; @@ -44,9 +45,9 @@ import android.os.RemoteException; import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.testing.TestableContentResolver; -import android.testing.TestableContext; import android.testing.TestableLooper; import android.view.IRemoteAnimationRunner; +import android.view.KeyEvent; import android.view.MotionEvent; import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; @@ -58,7 +59,6 @@ import android.window.IOnBackInvokedCallback; import androidx.annotation.Nullable; import androidx.test.filters.SmallTest; -import androidx.test.platform.app.InstrumentationRegistry; import com.android.internal.util.test.FakeSettingsProvider; import com.android.wm.shell.ShellTestCase; @@ -69,7 +69,6 @@ import com.android.wm.shell.sysui.ShellSharedConstants; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -86,9 +85,6 @@ public class BackAnimationControllerTest extends ShellTestCase { private static final String ANIMATION_ENABLED = "1"; private final TestShellExecutor mShellExecutor = new TestShellExecutor(); - @Rule - public TestableContext mContext = - new TestableContext(InstrumentationRegistry.getInstrumentation().getContext()); private ShellInit mShellInit; @Mock @@ -112,6 +108,9 @@ public class BackAnimationControllerTest extends ShellTestCase { @Mock private BackAnimationBackground mAnimationBackground; + @Mock + private InputManager mInputManager; + private BackAnimationController mController; private TestableContentResolver mContentResolver; private TestableLooper mTestableLooper; @@ -121,6 +120,7 @@ public class BackAnimationControllerTest extends ShellTestCase { @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); + mContext.addMockSystemService(InputManager.class, mInputManager); mContext.getApplicationInfo().privateFlags |= ApplicationInfo.PRIVATE_FLAG_PRIVILEGED; mContentResolver = new TestableContentResolver(mContext); mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider()); @@ -224,7 +224,7 @@ public class BackAnimationControllerTest extends ShellTestCase { .setPrepareRemoteAnimation(true) .setOnBackNavigationDone(new RemoteCallback(result))); triggerBackGesture(); - simulateRemoteAnimationStart(type); + simulateRemoteAnimationStart(); mShellExecutor.flushAll(); releaseBackGesture(); simulateRemoteAnimationFinished(); @@ -248,7 +248,7 @@ public class BackAnimationControllerTest extends ShellTestCase { // Check that back start and progress is dispatched when first move. doMotionEvent(MotionEvent.ACTION_MOVE, 100); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); verify(mAnimatorCallback).onBackStarted(any(BackMotionEvent.class)); verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); @@ -274,7 +274,7 @@ public class BackAnimationControllerTest extends ShellTestCase { // Check that back start and progress is dispatched when first move. doMotionEvent(MotionEvent.ACTION_MOVE, 100, 3000); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); verify(mAnimatorCallback).onBackStarted(any(BackMotionEvent.class)); verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); @@ -327,14 +327,14 @@ public class BackAnimationControllerTest extends ShellTestCase { } @Test - public void ignoresGesture_transitionInProgress() throws RemoteException { + public void gestureQueued_WhenPreviousTransitionHasNotYetEnded() throws RemoteException { registerAnimation(BackNavigationInfo.TYPE_RETURN_TO_HOME); createNavigationInfo(BackNavigationInfo.TYPE_RETURN_TO_HOME, /* enableAnimation = */ true, /* isAnimationCallback = */ false); triggerBackGesture(); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); releaseBackGesture(); // Check that back invocation is dispatched. @@ -344,24 +344,64 @@ public class BackAnimationControllerTest extends ShellTestCase { reset(mAnimatorCallback); reset(mBackAnimationRunner); - // Verify that we prevent animation from restarting if another gestures happens before - // the previous transition is finished. - doMotionEvent(MotionEvent.ACTION_DOWN, 0); + // Verify that we prevent any interaction with the animator callback in case a new gesture + // starts while the current back animation has not ended, instead the gesture is queued + triggerBackGesture(); verifyNoMoreInteractions(mAnimatorCallback); - // Finish back navigation. + // Finish previous back navigation. simulateRemoteAnimationFinished(); - // Verify that more events from a rejected swipe cannot start animation. + // Verify that releasing the gesture causes back key to be injected + releaseBackGesture(); + verify(mInputManager, times(2)) + .injectInputEvent(any(KeyEvent.class), any(Integer.class)); + + // Verify that we start accepting gestures again once transition finishes. + doMotionEvent(MotionEvent.ACTION_DOWN, 0); doMotionEvent(MotionEvent.ACTION_MOVE, 100); - doMotionEvent(MotionEvent.ACTION_UP, 0); + + simulateRemoteAnimationStart(); + verify(mAnimatorCallback).onBackStarted(any()); + verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); + } + + @Test + public void queuedFinishedGesture_RunsAfterPreviousTransitionEnded() throws RemoteException { + registerAnimation(BackNavigationInfo.TYPE_RETURN_TO_HOME); + createNavigationInfo(BackNavigationInfo.TYPE_RETURN_TO_HOME, + /* enableAnimation = */ true, + /* isAnimationCallback = */ false); + + triggerBackGesture(); + simulateRemoteAnimationStart(); + releaseBackGesture(); + + // Check that back invocation is dispatched. + verify(mAnimatorCallback).onBackInvoked(); + verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); + + reset(mAnimatorCallback); + reset(mBackAnimationRunner); + + // Verify that we prevent any interaction with the animator callback in case a new gesture + // starts while the current back animation has not ended, instead the gesture is queued + triggerBackGesture(); + releaseBackGesture(); verifyNoMoreInteractions(mAnimatorCallback); + // Finish previous back navigation. + simulateRemoteAnimationFinished(); + + // Verify that back key press is injected after previous back navigation has ended + verify(mInputManager, times(2)) + .injectInputEvent(any(KeyEvent.class), any(Integer.class)); + // Verify that we start accepting gestures again once transition finishes. doMotionEvent(MotionEvent.ACTION_DOWN, 0); doMotionEvent(MotionEvent.ACTION_MOVE, 100); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); verify(mAnimatorCallback).onBackStarted(any()); verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); } @@ -377,7 +417,7 @@ public class BackAnimationControllerTest extends ShellTestCase { doNothing().when(mAnimatorCallback).onBackInvoked(); triggerBackGesture(); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); mShellExecutor.flushAll(); releaseBackGesture(); @@ -388,7 +428,7 @@ public class BackAnimationControllerTest extends ShellTestCase { doMotionEvent(MotionEvent.ACTION_DOWN, 0); doMotionEvent(MotionEvent.ACTION_MOVE, 100); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); verify(mAnimatorCallback).onBackStarted(any()); } @@ -404,7 +444,7 @@ public class BackAnimationControllerTest extends ShellTestCase { // Check that back start and progress is dispatched when first move. doMotionEvent(MotionEvent.ACTION_MOVE, 100); - simulateRemoteAnimationStart(BackNavigationInfo.TYPE_RETURN_TO_HOME); + simulateRemoteAnimationStart(); verify(mAnimatorCallback).onBackStarted(any()); verify(mBackAnimationRunner).onAnimationStart(anyInt(), any(), any(), any(), any()); @@ -443,7 +483,7 @@ public class BackAnimationControllerTest extends ShellTestCase { .setPrepareRemoteAnimation(true) .setOnBackNavigationDone(new RemoteCallback(result))); triggerBackGesture(); - simulateRemoteAnimationStart(type); + simulateRemoteAnimationStart(); mShellExecutor.flushAll(); releaseBackGesture(); @@ -527,7 +567,7 @@ public class BackAnimationControllerTest extends ShellTestCase { // Check that back start and progress is dispatched when first move. doMotionEvent(MotionEvent.ACTION_MOVE, 100); - simulateRemoteAnimationStart(type); + simulateRemoteAnimationStart(); verify(callback).onBackStarted(any(BackMotionEvent.class)); verify(animationRunner).startAnimation(any(), any(), any(), any()); @@ -552,7 +592,7 @@ public class BackAnimationControllerTest extends ShellTestCase { /* swipeEdge */ BackEvent.EDGE_LEFT); } - private void simulateRemoteAnimationStart(int type) throws RemoteException { + private void simulateRemoteAnimationStart() throws RemoteException { RemoteAnimationTarget animationTarget = createAnimationTarget(); RemoteAnimationTarget[] targets = new RemoteAnimationTarget[]{animationTarget}; if (mController.mBackAnimationAdapter != null) { @@ -564,7 +604,7 @@ public class BackAnimationControllerTest extends ShellTestCase { private void simulateRemoteAnimationFinished() { mController.onBackAnimationFinished(); - mController.finishBackNavigation(); + mController.finishBackNavigation(/*triggerBack*/ true); } private void registerAnimation(int type) { @@ -590,5 +630,4 @@ public class BackAnimationControllerTest extends ShellTestCase { mTriggerBack = result.getBoolean(KEY_TRIGGER_BACK); } } - ; } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/unfold/UnfoldTransitionHandlerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/unfold/UnfoldTransitionHandlerTest.java index 1d94c9c31de2..7917ba6eeb41 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/unfold/UnfoldTransitionHandlerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/unfold/UnfoldTransitionHandlerTest.java @@ -17,9 +17,12 @@ package com.android.wm.shell.unfold; import static android.view.WindowManager.TRANSIT_CHANGE; +import static android.view.WindowManager.TRANSIT_NONE; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; @@ -27,6 +30,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import android.app.ActivityManager; +import android.graphics.Rect; import android.os.Binder; import android.os.IBinder; import android.view.Display; @@ -35,6 +39,9 @@ import android.window.TransitionInfo; import android.window.TransitionRequestInfo; import android.window.WindowContainerTransaction; +import com.android.window.flags.FakeFeatureFlagsImpl; +import com.android.window.flags.FeatureFlags; +import com.android.window.flags.Flags; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.sysui.ShellInit; @@ -45,6 +52,8 @@ import com.android.wm.shell.unfold.animation.SplitTaskUnfoldAnimator; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import java.util.ArrayList; import java.util.List; @@ -132,6 +141,55 @@ public class UnfoldTransitionHandlerTest { } @Test + public void startAnimation_sameTransitionAsHandleRequest_startsAnimation() { + TransitionRequestInfo requestInfo = createUnfoldTransitionRequestInfo(); + mUnfoldTransitionHandler.handleRequest(mTransition, requestInfo); + TransitionFinishCallback finishCallback = mock(TransitionFinishCallback.class); + + boolean animationStarted = mUnfoldTransitionHandler.startAnimation( + mTransition, + mock(TransitionInfo.class), + mock(SurfaceControl.Transaction.class), + mock(SurfaceControl.Transaction.class), + finishCallback + ); + + assertThat(animationStarted).isTrue(); + } + + @Test + public void startAnimation_differentTransitionFromRequestWithUnfold_startsAnimation() { + mUnfoldTransitionHandler.handleRequest(new Binder(), createNoneTransitionInfo()); + TransitionFinishCallback finishCallback = mock(TransitionFinishCallback.class); + + boolean animationStarted = mUnfoldTransitionHandler.startAnimation( + mTransition, + createUnfoldTransitionInfo(), + mock(SurfaceControl.Transaction.class), + mock(SurfaceControl.Transaction.class), + finishCallback + ); + + assertThat(animationStarted).isTrue(); + } + + @Test + public void startAnimation_differentTransitionFromRequestWithoutUnfold_doesNotStart() { + mUnfoldTransitionHandler.handleRequest(new Binder(), createNoneTransitionInfo()); + TransitionFinishCallback finishCallback = mock(TransitionFinishCallback.class); + + boolean animationStarted = mUnfoldTransitionHandler.startAnimation( + mTransition, + createNonUnfoldTransitionInfo(), + mock(SurfaceControl.Transaction.class), + mock(SurfaceControl.Transaction.class), + finishCallback + ); + + assertThat(animationStarted).isFalse(); + } + + @Test public void startAnimation_animationFinishes_finishesTheTransition() { TransitionRequestInfo requestInfo = createUnfoldTransitionRequestInfo(); mUnfoldTransitionHandler.handleRequest(mTransition, requestInfo); @@ -215,6 +273,12 @@ public class UnfoldTransitionHandlerTest { triggerTaskInfo, /* remoteTransition= */ null, displayChange, 0 /* flags */); } + private TransitionRequestInfo createNoneTransitionInfo() { + return new TransitionRequestInfo(TRANSIT_NONE, + /* triggerTask= */ null, /* remoteTransition= */ null, + /* displayChange= */ null, /* flags= */ 0); + } + private static class TestShellUnfoldProgressProvider implements ShellUnfoldProgressProvider, ShellUnfoldProgressProvider.UnfoldListener { @@ -277,4 +341,35 @@ public class UnfoldTransitionHandlerTest { return false; } } + + static class TestCase { + private final boolean mShouldHandleMixedUnfold; + + public TestCase(boolean shouldHandleMixedUnfold) { + mShouldHandleMixedUnfold = shouldHandleMixedUnfold; + } + + public boolean mixedUnfoldFlagEnabled() { + return mShouldHandleMixedUnfold; + } + + @Override + public String toString() { + return "shouldHandleMixedUnfold flag = " + mShouldHandleMixedUnfold; + } + } + + private TransitionInfo createUnfoldTransitionInfo() { + TransitionInfo transitionInfo = new TransitionInfo(TRANSIT_CHANGE, /* flags= */ 0); + TransitionInfo.Change change = new TransitionInfo.Change(null, mock(SurfaceControl.class)); + change.setStartAbsBounds(new Rect(0, 0, 10, 10)); + change.setEndAbsBounds(new Rect(0, 0, 100, 100)); + change.setFlags(TransitionInfo.FLAG_IS_DISPLAY); + transitionInfo.addChange(change); + return transitionInfo; + } + + private TransitionInfo createNonUnfoldTransitionInfo() { + return new TransitionInfo(TRANSIT_CHANGE, /* flags= */ 0); + } }
\ No newline at end of file diff --git a/libs/hwui/aconfig/hwui_flags.aconfig b/libs/hwui/aconfig/hwui_flags.aconfig index e986c38a845a..78a64795967a 100644 --- a/libs/hwui/aconfig/hwui_flags.aconfig +++ b/libs/hwui/aconfig/hwui_flags.aconfig @@ -34,3 +34,10 @@ flag { description: "Clip z-above surfaceviews to global clip rect" bug: "298621623" } + +flag { + name: "requested_formats_v" + namespace: "core_graphics" + description: "Enable r_8, r_16_uint, rg_1616_uint, and rgba_10101010 in the SDK" + bug: "292545615" +} diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java index e28ad6757967..200d4ef86146 100644 --- a/location/java/android/location/GnssMeasurement.java +++ b/location/java/android/location/GnssMeasurement.java @@ -502,7 +502,7 @@ public final class GnssMeasurement implements Parcelable { * <td colspan="4"><strong>BDS</strong></td> * <td colspan="3"><strong>GAL</strong></td> * <td><strong>SBAS</strong></td> - * <td><strong>IRNSS</strong></td> + * <td><strong>NavIC</strong></td> * </tr> * <tr> * <td><strong>State Flag</strong></td> @@ -1528,17 +1528,17 @@ public final class GnssMeasurement implements Parcelable { * <p>Similar to the Attribute field described in RINEX 4.00, e.g., in Tables 9-16 (see * https://igs.org/wg/rinex/#documents-formats). * - * <p>Returns "A" for GALILEO E1A, GALILEO E6A, IRNSS L5A SPS, IRNSS SA SPS, GLONASS G1a L1OCd, + * <p>Returns "A" for GALILEO E1A, GALILEO E6A, NavIC L5A SPS, NavIC SA SPS, GLONASS G1a L1OCd, * GLONASS G2a L2CSI. * - * <p>Returns "B" for GALILEO E1B, GALILEO E6B, IRNSS L5B RS (D), IRNSS SB RS (D), GLONASS G1a + * <p>Returns "B" for GALILEO E1B, GALILEO E6B, NavIC L5B RS (D), NavIC SB RS (D), GLONASS G1a * L1OCp, GLONASS G2a L2OCp, QZSS L1Sb. * * <p>Returns "C" for GPS L1 C/A, GPS L2 C/A, GLONASS G1 C/A, GLONASS G2 C/A, GALILEO E1C, - * GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, IRNSS L5C RS (P), IRNSS SC RS (P). + * GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, NavIC L5C RS (P), NavIC SC RS (P). * * <p>Returns "D" for GPS L2 (L1(C/A) + (P2-P1) (semi-codeless)), QZSS L5S(I), BDS B1C Data, - * BDS B2a Data, BDS B2b Data, BDS B2 (B2a+B2b) Data, BDS B3a Data. + * BDS B2a Data, BDS B2b Data, BDS B2 (B2a+B2b) Data, BDS B3a Data, NavIC L1 Data. * * <p>Returns “E” for QZSS L1 C/B, QZSS L6E. * @@ -1553,7 +1553,7 @@ public final class GnssMeasurement implements Parcelable { * <p>Returns "N" for GPS L1 codeless, GPS L2 codeless. * * <p>Returns "P" for GPS L1P, GPS L2P, GLONASS G1P, GLONASS G2P, BDS B1C Pilot, BDS B2a Pilot, - * BDS B2b Pilot, BDS B2 (B2a+B2b) Pilot, BDS B3a Pilot, QZSS L5S(Q). + * BDS B2b Pilot, BDS B2 (B2a+B2b) Pilot, BDS B3a Pilot, QZSS L5S(Q), NavIC L1 Pilot. * * <p>Returns "Q" for GPS L5 Q, GLONASS G3 Q, GALILEO E5a Q, GALILEO E5b Q, GALILEO E5a+b Q, * SBAS L5 Q, QZSS L5 Q, BDS B1 Q, BDS B2 Q, BDS B3 Q. @@ -1567,7 +1567,8 @@ public final class GnssMeasurement implements Parcelable { * GLONASS G2a L2CSI+L2OCp, GLONASS G3 (I+Q), GALILEO E1 (B+C), GALILEO E5a (I+Q), GALILEO * E5b (I+Q), GALILEO E5a+b (I+Q), GALILEO E6 (B+C), SBAS L5 (I+Q), QZSS L1C (D+P), QZSS L2C * (M+L), QZSS L5 (I+Q), QZSS L6 (D+P), BDS B1 (I+Q), BDS B1C Data+Pilot, BDS B2a Data+Pilot, - * BDS B2 (I+Q), BDS B2 (B2a+B2b) Data+Pilot, BDS B3 (I+Q), IRNSS L5 (B+C), IRNSS S (B+C). + * BDS B2 (I+Q), BDS B2 (B2a+B2b) Data+Pilot, BDS B3 (I+Q), NavIC L5 (B+C), NavIC S (B+C), + * NavIC L1 Data+Pilot. * * <p>Returns "Y" for GPS L1Y, GPS L2Y. * diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 5b880797b7fd..eea635771dc3 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -20,8 +20,12 @@ import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAUL import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; import static android.content.Context.DEVICE_ID_DEFAULT; +import static com.android.media.audio.flags.Flags.autoPublicVolumeApiHardening; +import static com.android.media.audio.flags.Flags.FLAG_FOCUS_FREEZE_TEST_API; + import android.Manifest; import android.annotation.CallbackExecutor; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; @@ -1060,8 +1064,17 @@ public class AudioManager { * @see #isVolumeFixed() */ public void adjustVolume(int direction, @PublicVolumeFlags int flags) { - MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(getContext()); - helper.sendAdjustVolumeBy(USE_DEFAULT_STREAM_TYPE, direction, flags); + if (autoPublicVolumeApiHardening()) { + final IAudioService service = getService(); + try { + service.adjustVolume(direction, flags); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } else { + MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(getContext()); + helper.sendAdjustVolumeBy(USE_DEFAULT_STREAM_TYPE, direction, flags); + } } /** @@ -1090,8 +1103,17 @@ public class AudioManager { */ public void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, @PublicVolumeFlags int flags) { - MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(getContext()); - helper.sendAdjustVolumeBy(suggestedStreamType, direction, flags); + if (autoPublicVolumeApiHardening()) { + final IAudioService service = getService(); + try { + service.adjustSuggestedStreamVolume(direction, suggestedStreamType, flags); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } else { + MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(getContext()); + helper.sendAdjustVolumeBy(suggestedStreamType, direction, flags); + } } /** @hide */ @@ -4731,6 +4753,7 @@ public class AudioManager { * @return the list of UIDs, can be empty when no app is being ducked. */ @TestApi + @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public @NonNull List<Integer> getFocusDuckedUidsForTest() { try { @@ -4746,6 +4769,7 @@ public class AudioManager { * @return the fade out duration in ms */ @TestApi + @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest() { try { @@ -4762,6 +4786,7 @@ public class AudioManager { * @return the time gap after a fade-out completion on focus loss, and fade-in start in ms. */ @TestApi + @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusUnmuteDelayAfterFadeOutForTest() { try { @@ -4788,6 +4813,7 @@ public class AudioManager { * in a proper state with a predictable behavior for audio focus management. */ @TestApi + @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API) @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull List<Integer> exemptedUids) { Objects.requireNonNull(exemptedUids); @@ -4806,6 +4832,7 @@ public class AudioManager { * such as the freeze already having ended, or not started. */ @TestApi + @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API) @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean exitAudioFocusFreezeForTest() { try { diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl index 0e7718b060bc..8584dbc62ef9 100644 --- a/media/java/android/media/IAudioService.aidl +++ b/media/java/android/media/IAudioService.aidl @@ -498,6 +498,10 @@ interface IAudioService { in String packageName, int uid, int pid, in UserHandle userHandle, int targetSdkVersion); + oneway void adjustVolume(int direction, int flags); + + oneway void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags); + boolean isMusicActive(in boolean remotely); int getDeviceMaskForStream(in int streamType); diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java index cccf6f1caca7..937151b1aff4 100644 --- a/media/java/android/media/MediaRoute2Info.java +++ b/media/java/android/media/MediaRoute2Info.java @@ -880,6 +880,7 @@ public final class MediaRoute2Info implements Parcelable { .append(", volumeHandling=").append(getVolumeHandling()) .append(", volumeMax=").append(getVolumeMax()) .append(", volume=").append(getVolume()) + .append(", address=").append(getAddress()) .append(", deduplicationIds=").append(String.join(",", getDeduplicationIds())) .append(", providerId=").append(getProviderId()) .append(", isVisibilityRestricted=").append(mIsVisibilityRestricted) diff --git a/media/java/android/media/flags/media_better_together.aconfig b/media/java/android/media/flags/media_better_together.aconfig index c9cfa670cf02..386534b80925 100644 --- a/media/java/android/media/flags/media_better_together.aconfig +++ b/media/java/android/media/flags/media_better_together.aconfig @@ -34,3 +34,10 @@ flag { description: "Fallbacks to the default handling for volume adjustment when media session has fixed volume handling and its app is in the foreground and setting a media controller." bug: "293743975" } + +flag { + namespace: "media_solutions" + name: "enable_waiting_state_for_system_session_creation_request" + description: "Introduces a waiting state for the session creation request and prevents it from early failing when the selectedRoute from the bluetooth stack doesn't match the pending request route id." + bug: "307723189" +} diff --git a/media/java/android/media/projection/IMediaProjectionManager.aidl b/media/java/android/media/projection/IMediaProjectionManager.aidl index 10c880d8ab06..24efbd14bc02 100644 --- a/media/java/android/media/projection/IMediaProjectionManager.aidl +++ b/media/java/android/media/projection/IMediaProjectionManager.aidl @@ -158,15 +158,12 @@ interface IMediaProjectionManager { in @nullable IMediaProjection projection); /** - * Notifies system server that we are handling a particular state during the consent flow. + * Notifies system server that the permission request was initiated. * * <p>Only used for emitting atoms. * * @param hostUid The uid of the process requesting consent to capture, may be an app or * SystemUI. - * @param state The state that SystemUI is handling during the consent flow. - * Must be a valid - * state defined in the MediaProjectionState enum. * @param sessionCreationSource Only set if the state is MEDIA_PROJECTION_STATE_INITIATED. * Indicates the entry point for requesting the permission. Must be * a valid state defined @@ -175,27 +172,23 @@ interface IMediaProjectionManager { @EnforcePermission("android.Manifest.permission.MANAGE_MEDIA_PROJECTION") @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") - oneway void notifyPermissionRequestStateChange(int hostUid, int state, int sessionCreationSource); + oneway void notifyPermissionRequestInitiated(int hostUid, int sessionCreationSource); /** - * Notifies system server that the permission request was initiated. + * Notifies system server that the permission request was displayed. * * <p>Only used for emitting atoms. * - * @param hostUid The uid of the process requesting consent to capture, may be an app or - * SystemUI. - * @param sessionCreationSource Only set if the state is MEDIA_PROJECTION_STATE_INITIATED. - * Indicates the entry point for requesting the permission. Must be - * a valid state defined - * in the SessionCreationSource enum. + * @param hostUid The uid of the process requesting consent to capture, may be an app or + * SystemUI. */ @EnforcePermission("android.Manifest.permission.MANAGE_MEDIA_PROJECTION") @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") - oneway void notifyPermissionRequestInitiated(int hostUid, int sessionCreationSource); + oneway void notifyPermissionRequestDisplayed(int hostUid); /** - * Notifies system server that the permission request was displayed. + * Notifies system server that the permission request was cancelled. * * <p>Only used for emitting atoms. * @@ -205,7 +198,7 @@ interface IMediaProjectionManager { @EnforcePermission("android.Manifest.permission.MANAGE_MEDIA_PROJECTION") @JavaPassthrough(annotation = "@android.annotation.RequiresPermission(android.Manifest" + ".permission.MANAGE_MEDIA_PROJECTION)") - oneway void notifyPermissionRequestDisplayed(int hostUid); + oneway void notifyPermissionRequestCancelled(int hostUid); /** * Notifies system server that the app selector was displayed. diff --git a/native/android/system_fonts.cpp b/native/android/system_fonts.cpp index de7ea701b26d..91f78ce6f950 100644 --- a/native/android/system_fonts.cpp +++ b/native/android/system_fonts.cpp @@ -21,22 +21,20 @@ #include <android/font.h> #include <android/font_matcher.h> #include <android/system_fonts.h> - -#include <memory> -#include <string> -#include <vector> - #include <errno.h> #include <fcntl.h> -#include <libxml/tree.h> -#include <log/log.h> -#include <sys/stat.h> -#include <unistd.h> - #include <hwui/MinikinSkia.h> +#include <libxml/parser.h> +#include <log/log.h> #include <minikin/FontCollection.h> #include <minikin/LocaleList.h> #include <minikin/SystemFonts.h> +#include <sys/stat.h> +#include <unistd.h> + +#include <memory> +#include <string> +#include <vector> struct XmlCharDeleter { void operator()(xmlChar* b) { xmlFree(b); } diff --git a/packages/CredentialManager/shared/Android.bp b/packages/CredentialManager/shared/Android.bp index 0d4af2a60672..47ca944c479c 100644 --- a/packages/CredentialManager/shared/Android.bp +++ b/packages/CredentialManager/shared/Android.bp @@ -16,5 +16,6 @@ android_library { "androidx.core_core-ktx", "androidx.credentials_credentials", "guava", + "hilt_android", ], } diff --git a/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/PasswordRepository.kt b/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/PasswordRepository.kt index 1cce3baa303e..5738feea0772 100644 --- a/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/PasswordRepository.kt +++ b/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/PasswordRepository.kt @@ -25,8 +25,11 @@ import android.util.Log import com.android.credentialmanager.TAG import com.android.credentialmanager.model.Password import com.android.credentialmanager.model.Request +import javax.inject.Inject +import javax.inject.Singleton -class PasswordRepository { +@Singleton +class PasswordRepository @Inject constructor() { suspend fun selectPassword( password: Password, diff --git a/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/RequestRepository.kt b/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/RequestRepository.kt index 5ab5ab974720..1973fc175c1f 100644 --- a/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/RequestRepository.kt +++ b/packages/CredentialManager/shared/src/com/android/credentialmanager/repository/RequestRepository.kt @@ -16,17 +16,20 @@ package com.android.credentialmanager.repository -import android.app.Application import android.content.Intent +import android.content.pm.PackageManager import android.util.Log import com.android.credentialmanager.TAG import com.android.credentialmanager.model.Request import com.android.credentialmanager.parse import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import javax.inject.Inject +import javax.inject.Singleton -class RequestRepository( - private val application: Application, +@Singleton +class RequestRepository @Inject constructor( + private val packageManager: PackageManager, ) { private val _requests = MutableStateFlow<Request?>(null) @@ -34,7 +37,7 @@ class RequestRepository( suspend fun processRequest(intent: Intent, previousIntent: Intent? = null) { val request = intent.parse( - packageManager = application.packageManager, + packageManager = packageManager, previousIntent = previousIntent ) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt index 477e61d2a7b1..f0fa6c5c4dd2 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt @@ -336,7 +336,10 @@ class GetFlowUtils { return result } - private fun parseCredentialEntryFromSlice(slice: Slice): CredentialEntry? { + /** + * @hide + */ + fun parseCredentialEntryFromSlice(slice: Slice): CredentialEntry? { try { when (slice.spec?.type) { TYPE_PASSWORD_CREDENTIAL -> return PasswordCredentialEntry.fromSlice(slice)!! diff --git a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt index d35dcb54c36d..81cbd5acaca6 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/autofill/CredentialAutofillService.kt @@ -23,6 +23,8 @@ import android.credentials.CredentialOption import android.credentials.GetCandidateCredentialsException import android.credentials.GetCandidateCredentialsResponse import android.credentials.GetCredentialRequest +import android.credentials.ui.GetCredentialProviderData +import android.graphics.drawable.Icon import android.os.Bundle import android.os.CancellationSignal import android.os.OutcomeReceiver @@ -42,6 +44,9 @@ import android.view.autofill.AutofillId import org.json.JSONException import android.widget.inline.InlinePresentationSpec import androidx.autofill.inline.v1.InlineSuggestionUi +import androidx.credentials.provider.CustomCredentialEntry +import androidx.credentials.provider.PasswordCredentialEntry +import androidx.credentials.provider.PublicKeyCredentialEntry import com.android.credentialmanager.GetFlowUtils import com.android.credentialmanager.getflow.CredentialEntryInfo import com.android.credentialmanager.getflow.ProviderDisplayInfo @@ -110,6 +115,34 @@ class CredentialAutofillService : AutofillService() { ) } + private fun getEntryToIconMap( + candidateProviderDataList: MutableList<GetCredentialProviderData> + ): Map<String, Icon> { + val entryIconMap: MutableMap<String, Icon> = mutableMapOf() + candidateProviderDataList.forEach { provider -> + provider.credentialEntries.forEach { entry -> + val credentialEntry = GetFlowUtils.parseCredentialEntryFromSlice(entry.slice) + when (credentialEntry) { + is PasswordCredentialEntry -> { + entryIconMap[entry.key + entry.subkey] = credentialEntry.icon + } + is PublicKeyCredentialEntry -> { + entryIconMap[entry.key + entry.subkey] = credentialEntry.icon + } + is CustomCredentialEntry -> { + entryIconMap[entry.key + entry.subkey] = credentialEntry.icon + } + } + } + } + return entryIconMap + } + + private fun getDefaultIcon(): Icon { + return Icon.createWithResource( + this, com.android.credentialmanager.R.drawable.ic_other_sign_in_24) + } + private fun convertToFillResponse( getCredResponse: GetCandidateCredentialsResponse, filLRequest: FillRequest @@ -120,6 +153,8 @@ class CredentialAutofillService : AutofillService() { if (providerList.isEmpty()) { return null } + val entryIconMap: Map<String, Icon> = + getEntryToIconMap(getCredResponse.candidateProviderDataList) var totalEntryCount = 0 providerList.forEach { provider -> totalEntryCount += provider.credentialEntryList.size @@ -174,6 +209,10 @@ class CredentialAutofillService : AutofillService() { val sliceBuilder = InlineSuggestionUi .newContentBuilder(pendingIntent) .setTitle(credentialEntry.userName) + val icon: Icon = + entryIconMap[credentialEntry.entryKey + credentialEntry.entrySubkey] + ?: getDefaultIcon() + sliceBuilder.setStartIcon(icon) inlinePresentation = InlinePresentation( sliceBuilder.build().slice, spec, /* pinned= */ false) } diff --git a/packages/CredentialManager/wear/Android.bp b/packages/CredentialManager/wear/Android.bp index e5f5cc255733..c883b1f26160 100644 --- a/packages/CredentialManager/wear/Android.bp +++ b/packages/CredentialManager/wear/Android.bp @@ -22,6 +22,7 @@ android_app { static_libs: [ "CredentialManagerShared", + "hilt_android", "Horologist", "PlatformComposeCore", "androidx.activity_activity-compose", diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorActivity.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorActivity.kt index 273d0b120972..0a63cb74a25a 100644 --- a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorActivity.kt +++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorActivity.kt @@ -29,13 +29,13 @@ import com.android.credentialmanager.ui.WearApp import com.android.credentialmanager.ui.screens.single.password.SinglePasswordScreen import com.google.android.horologist.annotations.ExperimentalHorologistApi import com.google.android.horologist.compose.layout.belowTimeTextPreview +import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch -class CredentialSelectorActivity : ComponentActivity() { +@AndroidEntryPoint(ComponentActivity::class) +class CredentialSelectorActivity : Hilt_CredentialSelectorActivity() { - private val viewModel: CredentialSelectorViewModel by viewModels { - CredentialSelectorViewModel.Factory - } + private val viewModel: CredentialSelectorViewModel by viewModels() @OptIn(ExperimentalHorologistApi::class) override fun onCreate(savedInstanceState: Bundle?) { diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorApp.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorApp.kt index e8e403301129..6bd166e855ff 100644 --- a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorApp.kt +++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorApp.kt @@ -17,18 +17,7 @@ package com.android.credentialmanager import android.app.Application -import com.android.credentialmanager.di.inject -import com.android.credentialmanager.repository.PasswordRepository -import com.android.credentialmanager.repository.RequestRepository +import dagger.hilt.android.HiltAndroidApp -class CredentialSelectorApp : Application() { - - lateinit var requestRepository: RequestRepository - lateinit var passwordRepository: PasswordRepository - - override fun onCreate() { - super.onCreate() - - inject() - } -}
\ No newline at end of file +@HiltAndroidApp(Application::class) +class CredentialSelectorApp : Hilt_CredentialSelectorApp()
\ 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 d557dc071db7..435cd377114d 100644 --- a/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt +++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/CredentialSelectorViewModel.kt @@ -18,20 +18,20 @@ package com.android.credentialmanager import android.content.Intent import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY import androidx.lifecycle.viewModelScope -import androidx.lifecycle.viewmodel.CreationExtras import com.android.credentialmanager.model.Request import com.android.credentialmanager.repository.RequestRepository import com.android.credentialmanager.ui.mappers.toGet +import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch +import javax.inject.Inject -class CredentialSelectorViewModel( +@HiltViewModel +class CredentialSelectorViewModel @Inject constructor( private val requestRepository: RequestRepository, ) : ViewModel() { @@ -56,22 +56,6 @@ class CredentialSelectorViewModel( requestRepository.processRequest(intent = intent, previousIntent = previousIntent) } } - - companion object { - val Factory: ViewModelProvider.Factory = object : ViewModelProvider.Factory { - @Suppress("UNCHECKED_CAST") - override fun <T : ViewModel> create( - modelClass: Class<T>, - extras: CreationExtras - ): T { - val application = checkNotNull(extras[APPLICATION_KEY]) - - return CredentialSelectorViewModel( - requestRepository = (application as CredentialSelectorApp).requestRepository, - ) as T - } - } - } } sealed class CredentialSelectorUiState { diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/di/AppModule.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/di/AppModule.kt new file mode 100644 index 000000000000..cb1a4a13690e --- /dev/null +++ b/packages/CredentialManager/wear/src/com/android/credentialmanager/di/AppModule.kt @@ -0,0 +1,18 @@ +package com.android.credentialmanager.di + +import android.content.Context +import android.content.pm.PackageManager +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent +@Module +@InstallIn(SingletonComponent::class) +internal object AppModule { + @Provides + @JvmStatic + fun providePackageManager(@ApplicationContext context: Context): PackageManager = + context.packageManager +} + diff --git a/packages/CredentialManager/wear/src/com/android/credentialmanager/di/DI.kt b/packages/CredentialManager/wear/src/com/android/credentialmanager/di/DI.kt deleted file mode 100644 index 1e8f83d69e42..000000000000 --- a/packages/CredentialManager/wear/src/com/android/credentialmanager/di/DI.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.android.credentialmanager.di - -import android.app.Application -import com.android.credentialmanager.CredentialSelectorApp -import com.android.credentialmanager.repository.PasswordRepository -import com.android.credentialmanager.repository.RequestRepository - -// TODO b/301601582 add Hilt for dependency injection - -fun CredentialSelectorApp.inject() { - requestRepository = requestRepository(application = this) - passwordRepository = passwordRepository() -} - -private fun requestRepository( - application: Application, -): RequestRepository = RequestRepository( - application = application, -) - -private fun passwordRepository(): PasswordRepository = PasswordRepository() 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 c87cfd374cd3..81a067289d89 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 @@ -47,8 +47,7 @@ fun SinglePasswordScreen( columnState: ScalingLazyColumnState, onCloseApp: () -> Unit, modifier: Modifier = Modifier, - viewModel: SinglePasswordScreenViewModel = - viewModel(factory = SinglePasswordScreenViewModel.Factory), + viewModel: SinglePasswordScreenViewModel = viewModel(), ) { viewModel.initialize() 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 3167e6784e66..43514a039661 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 @@ -21,11 +21,7 @@ import android.util.Log import androidx.activity.result.IntentSenderRequest import androidx.annotation.MainThread import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY import androidx.lifecycle.viewModelScope -import androidx.lifecycle.viewmodel.CreationExtras -import com.android.credentialmanager.CredentialSelectorApp import com.android.credentialmanager.TAG import com.android.credentialmanager.ktx.getIntentSenderRequest import com.android.credentialmanager.model.Password @@ -33,12 +29,15 @@ import com.android.credentialmanager.model.Request import com.android.credentialmanager.repository.PasswordRepository import com.android.credentialmanager.repository.RequestRepository import com.android.credentialmanager.ui.model.PasswordUiModel +import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch +import javax.inject.Inject -class SinglePasswordScreenViewModel( +@HiltViewModel +class SinglePasswordScreenViewModel @Inject constructor( private val requestRepository: RequestRepository, private val passwordRepository: PasswordRepository, ) : ViewModel() { @@ -105,23 +104,6 @@ class SinglePasswordScreenViewModel( _uiState.value = SinglePasswordScreenUiState.Completed } } - - companion object { - val Factory: ViewModelProvider.Factory = object : ViewModelProvider.Factory { - @Suppress("UNCHECKED_CAST") - override fun <T : ViewModel> create( - modelClass: Class<T>, - extras: CreationExtras - ): T { - val application = checkNotNull(extras[APPLICATION_KEY]) - - return SinglePasswordScreenViewModel( - requestRepository = (application as CredentialSelectorApp).requestRepository, - passwordRepository = application.passwordRepository, - ) as T - } - } - } } sealed class SinglePasswordScreenUiState { diff --git a/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/AppSwitchPreference.java b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/AppSwitchPreference.java index 87bfc8111a4b..ecd500e1a160 100644 --- a/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/AppSwitchPreference.java +++ b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/AppSwitchPreference.java @@ -21,12 +21,13 @@ import android.util.AttributeSet; import android.view.View; import androidx.preference.PreferenceViewHolder; -import androidx.preference.SwitchPreference; +import androidx.preference.SwitchPreferenceCompat; + import com.android.settingslib.widget.preference.app.R; /** * The SwitchPreference for the pages need to show apps icon. */ -public class AppSwitchPreference extends SwitchPreference { +public class AppSwitchPreference extends SwitchPreferenceCompat { public AppSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { @@ -52,7 +53,7 @@ public class AppSwitchPreference extends SwitchPreference { @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - final View switchView = holder.findViewById(android.R.id.switch_widget); + final View switchView = holder.findViewById(androidx.preference.R.id.switchWidget); if (switchView != null) { final View rootView = switchView.getRootView(); rootView.setFilterTouchesWhenObscured(true); diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java index 155cfbbc6677..b63333719334 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarDelegate.java @@ -173,13 +173,12 @@ public class CollapsingToolbarDelegate { return mCoordinatorLayout; } - /** Sets the title on the collapsing layout, delegating to host if needed. */ + /** Sets the title on the collapsing layout and delegates to host. */ public void setTitle(CharSequence title) { if (mCollapsingToolbarLayout != null) { mCollapsingToolbarLayout.setTitle(title); - } else { - mHostCallback.setOuterTitle(title); } + mHostCallback.setOuterTitle(title); } /** Returns an instance of collapsing toolbar. */ diff --git a/packages/SettingsLib/Spa/build.gradle.kts b/packages/SettingsLib/Spa/build.gradle.kts index 0b7a568dd2f2..1c8ddcb431d2 100644 --- a/packages/SettingsLib/Spa/build.gradle.kts +++ b/packages/SettingsLib/Spa/build.gradle.kts @@ -26,7 +26,7 @@ plugins { } allprojects { - extra["jetpackComposeVersion"] = "1.6.0-alpha07" + extra["jetpackComposeVersion"] = "1.6.0-alpha08" } subprojects { diff --git a/packages/SettingsLib/Spa/settings.gradle.kts b/packages/SettingsLib/Spa/settings.gradle.kts index aac0fe97f793..b8dfae39dfdc 100644 --- a/packages/SettingsLib/Spa/settings.gradle.kts +++ b/packages/SettingsLib/Spa/settings.gradle.kts @@ -26,7 +26,14 @@ dependencyResolutionManagement { rulesMode.set(RulesMode.FAIL_ON_PROJECT_RULES) repositories { - google() + google { + content { + includeGroupAndSubgroups("com.google") + includeGroupAndSubgroups("com.android") + includeGroupAndSubgroups("android") + includeGroupAndSubgroups("androidx") + } + } mavenCentral() maven { url = uri("https://jitpack.io") diff --git a/packages/SettingsLib/Spa/spa/build.gradle.kts b/packages/SettingsLib/Spa/spa/build.gradle.kts index b73bbd8b80e1..189c2dd4af1f 100644 --- a/packages/SettingsLib/Spa/spa/build.gradle.kts +++ b/packages/SettingsLib/Spa/spa/build.gradle.kts @@ -57,7 +57,7 @@ dependencies { api("androidx.slice:slice-builders:1.1.0-alpha02") api("androidx.slice:slice-core:1.1.0-alpha02") api("androidx.slice:slice-view:1.1.0-alpha02") - api("androidx.compose.material3:material3:1.2.0-alpha09") + api("androidx.compose.material3:material3:1.2.0-alpha10") api("androidx.compose.material:material-icons-extended:$jetpackComposeVersion") api("androidx.compose.runtime:runtime-livedata:$jetpackComposeVersion") api("androidx.compose.ui:ui-tooling-preview:$jetpackComposeVersion") diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt index 4d42fbae24fd..56d75d8bee4b 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BaseLayout.kt @@ -26,13 +26,11 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.material3.HorizontalDivider import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsOpacity.alphaForEnabled import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -44,7 +42,7 @@ internal fun BaseLayout( subTitle: @Composable () -> Unit, modifier: Modifier = Modifier, icon: (@Composable () -> Unit)? = null, - enabled: State<Boolean> = true.toState(), + enabled: () -> Boolean = { true }, paddingStart: Dp = SettingsDimension.itemPaddingStart, paddingEnd: Dp = SettingsDimension.itemPaddingEnd, paddingVertical: Dp = SettingsDimension.itemPaddingVertical, @@ -56,7 +54,7 @@ internal fun BaseLayout( .padding(end = paddingEnd), verticalAlignment = Alignment.CenterVertically, ) { - val alphaModifier = Modifier.alphaForEnabled(enabled.value) + val alphaModifier = Modifier.alphaForEnabled(enabled()) BaseIcon(icon, alphaModifier, paddingStart) Titles( title = title, diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BasePreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BasePreference.kt index 081e6680c489..194ed81df0ee 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BasePreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/BasePreference.kt @@ -20,11 +20,9 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.BatteryChargingFull import androidx.compose.material3.Icon import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.ui.SettingsBody @@ -32,11 +30,11 @@ import com.android.settingslib.spa.widget.ui.SettingsBody @Composable internal fun BasePreference( title: String, - summary: State<String>, + summary: () -> String, modifier: Modifier = Modifier, singleLineSummary: Boolean = false, icon: @Composable (() -> Unit)? = null, - enabled: State<Boolean> = true.toState(), + enabled: () -> Boolean = { true }, paddingStart: Dp = SettingsDimension.itemPaddingStart, paddingEnd: Dp = SettingsDimension.itemPaddingEnd, paddingVertical: Dp = SettingsDimension.itemPaddingVertical, @@ -46,7 +44,7 @@ internal fun BasePreference( title = title, subTitle = { SettingsBody( - body = summary.value, + body = summary(), maxLines = if (singleLineSummary) 1 else Int.MAX_VALUE, ) }, @@ -66,7 +64,7 @@ private fun BasePreferencePreview() { SettingsTheme { BasePreference( title = "Screen Saver", - summary = "Clock".toState(), + summary = { "Clock" }, ) } } @@ -77,7 +75,7 @@ private fun BasePreferenceIconPreview() { SettingsTheme { BasePreference( title = "Screen Saver", - summary = "Clock".toState(), + summary = { "Clock" }, icon = { Icon(imageVector = Icons.Outlined.BatteryChargingFull, contentDescription = null) }, diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/ListPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/ListPreference.kt index 19779f67ca48..74f9c9d0f9e2 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/ListPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/ListPreference.kt @@ -89,7 +89,7 @@ fun ListPreference(model: ListPreferenceModel) { ) { Column(modifier = Modifier.selectableGroup()) { for (option in model.options) { - Radio(option, model.selectedId, model.enabled) { + Radio(option, model.selectedId.intValue, model.enabled.value) { dialogOpened = false model.onIdSelected(it) } @@ -113,12 +113,11 @@ fun ListPreference(model: ListPreferenceModel) { @Composable private fun Radio( option: ListPreferenceOption, - selectedId: IntState, - enabledState: State<Boolean>, + selectedId: Int, + enabled: Boolean, onIdSelected: (id: Int) -> Unit, ) { - val selected = option.id == selectedId.intValue - val enabled = enabledState.value + val selected = option.id == selectedId Row( modifier = Modifier .fillMaxWidth() diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/MainSwitchPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/MainSwitchPreference.kt index 0c16c8bc7229..35c34d4e8de9 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/MainSwitchPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/MainSwitchPreference.kt @@ -43,8 +43,8 @@ fun MainSwitchPreference(model: SwitchPreferenceModel) { ) { InternalSwitchPreference( title = model.title, - checked = model.checked, - changeable = model.changeable, + checked = model.checked.value, + changeable = model.changeable.value, onCheckedChange = model.onCheckedChange, paddingStart = 20.dp, paddingEnd = 20.dp, diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/Preference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/Preference.kt index b6099e99c529..7ecbec7ce0b4 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/Preference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/Preference.kt @@ -119,11 +119,11 @@ fun Preference( EntryHighlight { BasePreference( title = model.title, - summary = model.summary, + summary = { model.summary.value }, singleLineSummary = singleLineSummary, modifier = modifier, icon = model.icon, - enabled = model.enabled, + enabled = { model.enabled.value }, ) } } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/SwitchPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/SwitchPreference.kt index ba8c03d9438d..f14f68ce74c0 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/SwitchPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/SwitchPreference.kt @@ -32,7 +32,6 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import com.android.settingslib.spa.framework.compose.stateOf -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.EntryHighlight @@ -96,10 +95,10 @@ fun SwitchPreference(model: SwitchPreferenceModel) { EntryHighlight { InternalSwitchPreference( title = model.title, - summary = model.summary, + summary = { model.summary.value }, icon = model.icon, - checked = model.checked, - changeable = model.changeable, + checked = model.checked.value, + changeable = model.changeable.value, onCheckedChange = model.onCheckedChange, ) } @@ -108,25 +107,25 @@ fun SwitchPreference(model: SwitchPreferenceModel) { @Composable internal fun InternalSwitchPreference( title: String, - summary: State<String> = "".toState(), + summary: () -> String = { "" }, icon: @Composable (() -> Unit)? = null, - checked: State<Boolean?>, - changeable: State<Boolean> = true.toState(), + checked: Boolean?, + changeable: Boolean = true, paddingStart: Dp = SettingsDimension.itemPaddingStart, paddingEnd: Dp = SettingsDimension.itemPaddingEnd, paddingVertical: Dp = SettingsDimension.itemPaddingVertical, onCheckedChange: ((newChecked: Boolean) -> Unit)?, ) { - val checkedValue = checked.value val indication = LocalIndication.current val onChangeWithLog = wrapOnSwitchWithLog(onCheckedChange) - val modifier = remember(checkedValue, changeable.value) { - if (checkedValue != null && onChangeWithLog != null) { + val interactionSource = remember { MutableInteractionSource() } + val modifier = remember(checked, changeable) { + if (checked != null && onChangeWithLog != null) { Modifier.toggleable( - value = checkedValue, - interactionSource = MutableInteractionSource(), + value = checked, + interactionSource = interactionSource, indication = indication, - enabled = changeable.value, + enabled = changeable, role = Role.Switch, onValueChange = onChangeWithLog, ) @@ -136,7 +135,7 @@ internal fun InternalSwitchPreference( title = title, summary = summary, modifier = modifier, - enabled = changeable, + enabled = { changeable }, paddingStart = paddingStart, paddingEnd = paddingEnd, paddingVertical = paddingVertical, @@ -145,10 +144,11 @@ internal fun InternalSwitchPreference( Spacer(Modifier.width(SettingsDimension.itemPaddingEnd)) SettingsSwitch( checked = checked, - changeable = changeable, + changeable = { changeable }, // The onCheckedChange is handled on the whole SwitchPreference. // DO NOT set it on SettingsSwitch. onCheckedChange = null, + interactionSource = interactionSource, ) } } @@ -160,19 +160,19 @@ private fun SwitchPreferencePreview() { Column { InternalSwitchPreference( title = "Use Dark theme", - checked = true.toState(), + checked = true, onCheckedChange = {}, ) InternalSwitchPreference( title = "Use Dark theme", - summary = "Summary".toState(), - checked = false.toState(), + summary = { "Summary" }, + checked = false, onCheckedChange = {}, ) InternalSwitchPreference( title = "Use Dark theme", - summary = "Summary".toState(), - checked = true.toState(), + summary = { "Summary" }, + checked = true, onCheckedChange = {}, icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.AirplanemodeActive) diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt index 63de2c821154..9a6580c852a6 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreference.kt @@ -34,8 +34,8 @@ fun TwoTargetSwitchPreference( icon = icon, ) { SettingsSwitch( - checked = model.checked, - changeable = model.changeable, + checked = model.checked.value, + changeable = { model.changeable.value }, onCheckedChange = model.onCheckedChange, ) } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/ProgressBar.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/ProgressBar.kt index 0f5e935d6edc..2988be84b476 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/ProgressBar.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/ProgressBar.kt @@ -95,8 +95,8 @@ private fun DrawScope.drawLinearBarTrack( fun CircularProgressBar(progress: Float, radius: Float = 40f) { Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { CircularProgressIndicator( - progress = progress, - modifier = Modifier.size(radius.dp, radius.dp) + progress = { progress }, + modifier = Modifier.size(radius.dp, radius.dp), ) } } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt index 9831b918894b..a0da2418acbc 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Switch.kt @@ -16,29 +16,32 @@ package com.android.settingslib.spa.widget.ui +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.material3.Switch import androidx.compose.runtime.Composable -import androidx.compose.runtime.State +import androidx.compose.runtime.remember import com.android.settingslib.spa.framework.util.wrapOnSwitchWithLog @Composable -fun SettingsSwitch( - checked: State<Boolean?>, - changeable: State<Boolean>, +internal fun SettingsSwitch( + checked: Boolean?, + changeable: () -> Boolean, onCheckedChange: ((newChecked: Boolean) -> Unit)? = null, + interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, ) { - val checkedValue = checked.value - if (checkedValue != null) { + if (checked != null) { Switch( - checked = checkedValue, + checked = checked, onCheckedChange = wrapOnSwitchWithLog(onCheckedChange), - enabled = changeable.value, + enabled = changeable(), + interactionSource = interactionSource, ) } else { Switch( checked = false, onCheckedChange = null, enabled = false, + interactionSource = interactionSource, ) } } diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListRepository.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListRepository.kt index d95dd8c9ab13..abeffece2cd0 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListRepository.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListRepository.kt @@ -67,6 +67,9 @@ object AppListRepositoryUtil { AppListRepositoryImpl(context).getSystemPackageNamesBlocking(userId) } +/** + * This constructor is visible for tests only in order to override `featureFlags`. + */ class AppListRepositoryImpl( private val context: Context, private val featureFlags: FeatureFlags diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 96876747c082..6eaabbb389c2 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -1098,19 +1098,6 @@ <!-- Used to let users know that they have more than some amount of battery life remaining. ex: more than 1 day remaining [CHAR LIMIT = 40] --> <string name="power_remaining_only_more_than_subtext">More than <xliff:g id="time_remaining">%1$s</xliff:g> left</string> - <!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device --> - <string name="power_remaining_duration_only_shutdown_imminent" product="default">Phone may shut down soon</string> - <!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device --> - <string name="power_remaining_duration_only_shutdown_imminent" product="tablet">Tablet may shut down soon</string> - <!-- [CHAR_LIMIT=50] Short label for imminent shutdown warning of device --> - <string name="power_remaining_duration_only_shutdown_imminent" product="device">Device may shut down soon</string> - <!-- [CHAR_LIMIT=60] Label for battery level chart when shutdown is imminent--> - <string name="power_remaining_duration_shutdown_imminent" product="default">Phone may shut down soon (<xliff:g id="level">%1$s</xliff:g>)</string> - <!-- [CHAR_LIMIT=60] Label for battery level chart when shutdown is imminent--> - <string name="power_remaining_duration_shutdown_imminent" product="tablet">Tablet may shut down soon (<xliff:g id="level">%1$s</xliff:g>)</string> - <!-- [CHAR_LIMIT=60] Label for battery level chart when shutdown is imminent--> - <string name="power_remaining_duration_shutdown_imminent" product="device">Device may shut down soon (<xliff:g id="level">%1$s</xliff:g>)</string> - <!-- [CHAR_LIMIT=40] Label for battery level chart when charging --> <string name="power_charging"><xliff:g id="level">%1$s</xliff:g> - <xliff:g id="state">%2$s</xliff:g></string> <!-- [CHAR_LIMIT=40] Label for estimated remaining duration of battery charging --> diff --git a/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java index 363e20aace0d..0a2d9fc3372e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/PrimarySwitchPreference.java @@ -18,8 +18,11 @@ package com.android.settingslib; import android.content.Context; import android.util.AttributeSet; +import android.view.Gravity; import android.view.MotionEvent; -import android.widget.Switch; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.LinearLayout; import androidx.annotation.Keep; import androidx.annotation.Nullable; @@ -35,7 +38,7 @@ import com.android.settingslib.core.instrumentation.SettingsJankMonitor; */ public class PrimarySwitchPreference extends RestrictedPreference { - private Switch mSwitch; + private CompoundButton mSwitch; private boolean mChecked; private boolean mCheckedSet; private boolean mEnableSwitch = true; @@ -59,13 +62,17 @@ public class PrimarySwitchPreference extends RestrictedPreference { @Override protected int getSecondTargetResId() { - return R.layout.preference_widget_primary_switch; + return androidx.preference.R.layout.preference_widget_switch_compat; } @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - mSwitch = (Switch) holder.findViewById(R.id.switchWidget); + final View widgetFrame = holder.findViewById(android.R.id.widget_frame); + if (widgetFrame instanceof LinearLayout linearLayout) { + linearLayout.setGravity(Gravity.END | Gravity.CENTER_VERTICAL); + } + mSwitch = (CompoundButton) holder.findViewById(androidx.preference.R.id.switchWidget); if (mSwitch != null) { mSwitch.setOnClickListener(v -> { if (mSwitch != null && !mSwitch.isEnabled()) { @@ -153,7 +160,7 @@ public class PrimarySwitchPreference extends RestrictedPreference { setSwitchEnabled(admin == null); } - public Switch getSwitch() { + public CompoundButton getSwitch() { return mSwitch; } diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java index 758f090118ad..60321eb1a9dc 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java @@ -36,18 +36,17 @@ import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.VisibleForTesting; -import androidx.core.content.res.TypedArrayUtils; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceViewHolder; -import androidx.preference.SwitchPreference; +import androidx.preference.SwitchPreferenceCompat; import com.android.settingslib.utils.BuildCompatUtils; /** - * Version of SwitchPreference that can be disabled by a device admin + * Version of SwitchPreferenceCompat that can be disabled by a device admin * using a user restriction. */ -public class RestrictedSwitchPreference extends SwitchPreference { +public class RestrictedSwitchPreference extends SwitchPreferenceCompat { RestrictedPreferenceHelper mHelper; AppOpsManager mAppOpsManager; boolean mUseAdditionalSummary = false; @@ -93,8 +92,7 @@ public class RestrictedSwitchPreference extends SwitchPreference { } public RestrictedSwitchPreference(Context context, AttributeSet attrs) { - this(context, attrs, TypedArrayUtils.getAttr(context, R.attr.switchPreferenceStyle, - android.R.attr.switchPreferenceStyle)); + this(context, attrs, androidx.preference.R.attr.switchPreferenceCompatStyle); } public RestrictedSwitchPreference(Context context) { @@ -113,7 +111,7 @@ public class RestrictedSwitchPreference extends SwitchPreference { @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - final View switchView = holder.findViewById(android.R.id.switch_widget); + final View switchView = holder.findViewById(androidx.preference.R.id.switchWidget); if (switchView != null) { final View rootView = switchView.getRootView(); rootView.setFilterTouchesWhenObscured(true); diff --git a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt index 02d76304f077..f98883737645 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt +++ b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SettingsJankMonitor.kt @@ -37,7 +37,7 @@ object SettingsJankMonitor { const val MONITORED_ANIMATION_DURATION_MS = 300L /** - * Detects the jank when click on a SwitchPreference. + * Detects the jank when click on a TwoStatePreference. * * @param recyclerView the recyclerView contains the preference * @param preference the clicked preference diff --git a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java index c9540c747650..8bdbee38ab85 100644 --- a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java @@ -26,7 +26,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.PowerManager; -import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.Global; import android.provider.Settings.Secure; @@ -202,10 +201,10 @@ public class BatterySaverUtils { } private static void setBatterySaverConfirmationAcknowledged(Context context) { - Secure.putIntForUser(context.getContentResolver(), - Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 1, UserHandle.USER_CURRENT); - Secure.putIntForUser(context.getContentResolver(), - Secure.EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED, 1, UserHandle.USER_CURRENT); + Secure.putInt(context.getContentResolver(), + Secure.LOW_POWER_WARNING_ACKNOWLEDGED, 1); + Secure.putInt(context.getContentResolver(), + Secure.EXTRA_LOW_POWER_WARNING_ACKNOWLEDGED, 1); } /** diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java index 2999c838a866..1501e27eb86f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java @@ -31,8 +31,8 @@ import android.view.ViewGroup; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; +import android.widget.CompoundButton; import android.widget.ImageView; -import android.widget.Switch; import android.widget.Toast; import androidx.preference.Preference; @@ -138,7 +138,7 @@ public class InputMethodPreference extends PrimarySwitchPreference @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - final Switch switchWidget = getSwitch(); + final CompoundButton switchWidget = getSwitch(); if (switchWidget != null) { // Avoid default behavior in {@link PrimarySwitchPreference#onBindViewHolder}. switchWidget.setOnClickListener(v -> { diff --git a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.java b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.java deleted file mode 100644 index 6b855c00ce6e..000000000000 --- a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settingslib.qrcode; - -import android.graphics.Bitmap; -import android.graphics.Color; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.EncodeHintType; -import com.google.zxing.MultiFormatWriter; -import com.google.zxing.WriterException; -import com.google.zxing.common.BitMatrix; - -import java.nio.charset.CharsetEncoder; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.Map; - -public final class QrCodeGenerator { - private static final int DEFAULT_MARGIN = -1; - /** - * Generates a barcode image with {@code contents}. - * - * @param contents The contents to encode in the barcode - * @param size The preferred image size in pixels - * @return Barcode bitmap - */ - public static Bitmap encodeQrCode(String contents, int size) - throws WriterException, IllegalArgumentException { - return encodeQrCode(contents, size, DEFAULT_MARGIN, /*invert=*/false); - } - - /** - * Generates a barcode image with {@code contents}. - * - * @param contents The contents to encode in the barcode - * @param size The preferred image size in pixels - * @param margin The margin around the actual barcode - * @return Barcode bitmap - */ - public static Bitmap encodeQrCode(String contents, int size, int margin) - throws WriterException, IllegalArgumentException { - return encodeQrCode(contents, size, margin, /*invert=*/false); - } - - /** - * Generates a barcode image with {@code contents}. - * - * @param contents The contents to encode in the barcode - * @param size The preferred image size in pixels - * @param invert Whether to invert the black/white pixels (e.g. for dark mode) - * @return Barcode bitmap - */ - public static Bitmap encodeQrCode(String contents, int size, boolean invert) - throws WriterException, IllegalArgumentException { - return encodeQrCode(contents, size, DEFAULT_MARGIN, /*invert=*/invert); - } - - /** - * Generates a barcode image with {@code contents}. - * - * @param contents The contents to encode in the barcode - * @param size The preferred image size in pixels - * @param margin The margin around the actual barcode - * @param invert Whether to invert the black/white pixels (e.g. for dark mode) - * @return Barcode bitmap - */ - public static Bitmap encodeQrCode(String contents, int size, int margin, boolean invert) - throws WriterException, IllegalArgumentException { - final Map<EncodeHintType, Object> hints = new HashMap<>(); - if (!isIso88591(contents)) { - hints.put(EncodeHintType.CHARACTER_SET, StandardCharsets.UTF_8.name()); - } - if (margin != DEFAULT_MARGIN) { - hints.put(EncodeHintType.MARGIN, margin); - } - - final BitMatrix qrBits = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, - size, size, hints); - final Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.RGB_565); - int setColor = invert ? Color.WHITE : Color.BLACK; - int unsetColor = invert ? Color.BLACK : Color.WHITE; - for (int x = 0; x < size; x++) { - for (int y = 0; y < size; y++) { - bitmap.setPixel(x, y, qrBits.get(x, y) ? setColor : unsetColor); - } - } - return bitmap; - } - - private static boolean isIso88591(String contents) { - CharsetEncoder encoder = StandardCharsets.ISO_8859_1.newEncoder(); - return encoder.canEncode(contents); - } -} diff --git a/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.kt b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.kt new file mode 100644 index 000000000000..7b67ec6d9bec --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/qrcode/QrCodeGenerator.kt @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.qrcode + +import android.annotation.ColorInt +import android.graphics.Bitmap +import android.graphics.Color +import com.google.zxing.BarcodeFormat +import com.google.zxing.EncodeHintType +import com.google.zxing.MultiFormatWriter +import com.google.zxing.WriterException +import java.nio.charset.StandardCharsets +import java.util.EnumMap + +object QrCodeGenerator { + /** + * Generates a barcode image with [contents]. + * + * @param contents The contents to encode in the barcode + * @param size The preferred image size in pixels + * @param invert Whether to invert the black/white pixels (e.g. for dark mode) + * @return Barcode bitmap + */ + @JvmStatic + @Throws(WriterException::class, java.lang.IllegalArgumentException::class) + fun encodeQrCode(contents: String, size: Int, invert: Boolean): Bitmap = + encodeQrCode(contents, size, DEFAULT_MARGIN, invert) + + private const val DEFAULT_MARGIN = -1 + + /** + * Generates a barcode image with [contents]. + * + * @param contents The contents to encode in the barcode + * @param size The preferred image size in pixels + * @param margin The margin around the actual barcode + * @param invert Whether to invert the black/white pixels (e.g. for dark mode) + * @return Barcode bitmap + */ + @JvmOverloads + @JvmStatic + @Throws(WriterException::class, IllegalArgumentException::class) + fun encodeQrCode( + contents: String, + size: Int, + margin: Int = DEFAULT_MARGIN, + invert: Boolean = false, + ): Bitmap { + val hints = EnumMap<EncodeHintType, Any>(EncodeHintType::class.java) + if (!isIso88591(contents)) { + hints[EncodeHintType.CHARACTER_SET] = StandardCharsets.UTF_8.name() + } + if (margin != DEFAULT_MARGIN) { + hints[EncodeHintType.MARGIN] = margin + } + val qrBits = MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, size, size, hints) + @ColorInt val setColor = if (invert) Color.WHITE else Color.BLACK + @ColorInt val unsetColor = if (invert) Color.BLACK else Color.WHITE + @ColorInt val pixels = IntArray(size * size) + for (x in 0 until size) { + for (y in 0 until size) { + pixels[x * size + y] = if (qrBits[x, y]) setColor else unsetColor + } + } + return Bitmap.createBitmap(size, size, Bitmap.Config.RGB_565).apply { + setPixels(pixels, 0, size, 0, 0, size, size) + } + } + + private fun isIso88591(contents: String): Boolean = + StandardCharsets.ISO_8859_1.newEncoder().canEncode(contents) +} diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java index 673f2438de8a..22726549ce05 100644 --- a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java +++ b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java @@ -44,45 +44,6 @@ public class PowerUtil { private static final long ONE_MIN_MILLIS = TimeUnit.MINUTES.toMillis(1); /** - * This method produces the text used in various places throughout the system to describe the - * remaining battery life of the phone in a consistent manner. - * - * @param context - * @param drainTimeMs The estimated time remaining before the phone dies in milliseconds. - * @param percentageString An optional percentage of battery remaining string. - * @param basedOnUsage Whether this estimate is based on usage or simple extrapolation. - * @return a properly formatted and localized string describing how much time remains - * before the battery runs out. - */ - public static String getBatteryRemainingStringFormatted(Context context, long drainTimeMs, - @Nullable String percentageString, boolean basedOnUsage) { - if (drainTimeMs > 0) { - if (drainTimeMs <= SEVEN_MINUTES_MILLIS) { - // show a imminent shutdown warning if less than 7 minutes remain - return getShutdownImminentString(context, percentageString); - } else if (drainTimeMs <= FIFTEEN_MINUTES_MILLIS) { - // show a less than 15 min remaining warning if appropriate - CharSequence timeString = StringUtil.formatElapsedTime(context, - FIFTEEN_MINUTES_MILLIS, - false /* withSeconds */, false /* collapseTimeUnit */); - return getUnderFifteenString(context, timeString, percentageString); - } else if (drainTimeMs >= TWO_DAYS_MILLIS) { - // just say more than two day if over 48 hours - return getMoreThanTwoDaysString(context, percentageString); - } else if (drainTimeMs >= ONE_DAY_MILLIS) { - // show remaining days & hours if more than a day - return getMoreThanOneDayString(context, drainTimeMs, - percentageString, basedOnUsage); - } else { - // show the time of day we think you'll run out - return getRegularTimeRemainingString(context, drainTimeMs, - percentageString, basedOnUsage); - } - } - return null; - } - - /** * Method to produce a shortened string describing the remaining battery. Suitable for Quick * Settings and other areas where space is constrained. * @@ -128,14 +89,6 @@ public class PowerUtil { } } - private static String getShutdownImminentString(Context context, String percentageString) { - return TextUtils.isEmpty(percentageString) - ? context.getString(R.string.power_remaining_duration_only_shutdown_imminent) - : context.getString( - R.string.power_remaining_duration_shutdown_imminent, - percentageString); - } - private static String getUnderFifteenString(Context context, CharSequence timeString, String percentageString) { return TextUtils.isEmpty(percentageString) @@ -268,4 +221,4 @@ public class PowerUtil { return time - remainder + multiple; } } -}
\ No newline at end of file +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java index d9cf9f285164..851a581adf9a 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/PrimarySwitchPreferenceTest.java @@ -23,8 +23,8 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.view.LayoutInflater; +import android.widget.CompoundButton; import android.widget.LinearLayout; -import android.widget.Switch; import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.PreferenceViewHolder; @@ -57,12 +57,14 @@ public class PrimarySwitchPreferenceTest { com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target, null)); mWidgetView = mHolder.itemView.findViewById(android.R.id.widget_frame); - inflater.inflate(R.layout.preference_widget_primary_switch, mWidgetView, true); + inflater.inflate(androidx.preference.R.layout.preference_widget_switch_compat, mWidgetView, + true); } @Test public void setChecked_shouldUpdateButtonCheckedState() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); mPreference.onBindViewHolder(mHolder); mPreference.setChecked(true); @@ -74,7 +76,8 @@ public class PrimarySwitchPreferenceTest { @Test public void setSwitchEnabled_shouldUpdateButtonEnabledState() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); mPreference.onBindViewHolder(mHolder); mPreference.setSwitchEnabled(true); @@ -86,7 +89,8 @@ public class PrimarySwitchPreferenceTest { @Test public void setSwitchEnabled_shouldUpdateButtonEnabledState_beforeViewBound() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); mPreference.setSwitchEnabled(false); mPreference.onBindViewHolder(mHolder); @@ -97,7 +101,8 @@ public class PrimarySwitchPreferenceTest { public void clickWidgetView_shouldToggleButton() { assertThat(mWidgetView).isNotNull(); - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); mPreference.onBindViewHolder(mHolder); toggle.performClick(); @@ -111,7 +116,8 @@ public class PrimarySwitchPreferenceTest { public void clickWidgetView_shouldNotToggleButtonIfDisabled() { assertThat(mWidgetView).isNotNull(); - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); mPreference.onBindViewHolder(mHolder); toggle.setEnabled(false); @@ -122,7 +128,8 @@ public class PrimarySwitchPreferenceTest { @Test public void clickWidgetView_shouldNotifyPreferenceChanged() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); final OnPreferenceChangeListener listener = mock(OnPreferenceChangeListener.class); mPreference.setOnPreferenceChangeListener(listener); @@ -139,7 +146,8 @@ public class PrimarySwitchPreferenceTest { @Test public void setDisabledByAdmin_hasEnforcedAdmin_shouldDisableButton() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); toggle.setEnabled(true); mPreference.onBindViewHolder(mHolder); @@ -149,7 +157,8 @@ public class PrimarySwitchPreferenceTest { @Test public void setDisabledByAdmin_noEnforcedAdmin_shouldEnableButton() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); toggle.setEnabled(false); mPreference.onBindViewHolder(mHolder); @@ -159,7 +168,8 @@ public class PrimarySwitchPreferenceTest { @Test public void onBindViewHolder_toggleButtonShouldHaveContentDescription() { - final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget); + final CompoundButton toggle = + (CompoundButton) mHolder.findViewById(androidx.preference.R.id.switchWidget); final String label = "TestButton"; mPreference.setTitle(label); diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java index ae542062ce50..2e7905f2e1e4 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java @@ -59,155 +59,6 @@ public class PowerUtilTest { } @Test - public void testGetBatteryRemainingStringFormatted_moreThanFifteenMinutes_withPercentage() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - SEVENTEEN_MIN_MILLIS, - TEST_BATTERY_LEVEL_10, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - SEVENTEEN_MIN_MILLIS, - TEST_BATTERY_LEVEL_10, - false /* basedOnUsage */); - - // We only add special mention for the long string - // ex: Will last about 1:15 PM based on your usage (10%) - assertThat(info).containsMatch(Pattern.compile( - NORMAL_CASE_EXPECTED_PREFIX - + TIME_OF_DAY_REGEX - + ENHANCED_SUFFIX - + PERCENTAGE_REGEX)); - // shortened string should not have extra text - // ex: Will last about 1:15 PM (10%) - assertThat(info2).containsMatch(Pattern.compile( - NORMAL_CASE_EXPECTED_PREFIX - + TIME_OF_DAY_REGEX - + PERCENTAGE_REGEX)); - } - - @Test - public void testGetBatteryRemainingStringFormatted_moreThanFifteenMinutes_noPercentage() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - SEVENTEEN_MIN_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - SEVENTEEN_MIN_MILLIS, - null /* percentageString */, - false /* basedOnUsage */); - - // We only have % when it is provided - // ex: Will last about 1:15 PM based on your usage - assertThat(info).containsMatch(Pattern.compile( - NORMAL_CASE_EXPECTED_PREFIX - + TIME_OF_DAY_REGEX - + ENHANCED_SUFFIX - + "(" + PERCENTAGE_REGEX + "){0}")); // no percentage - // shortened string should not have extra text - // ex: Will last about 1:15 PM - assertThat(info2).containsMatch(Pattern.compile( - NORMAL_CASE_EXPECTED_PREFIX - + TIME_OF_DAY_REGEX - + "(" + PERCENTAGE_REGEX + "){0}")); // no percentage - } - - @Test - public void testGetBatteryRemainingStringFormatted_lessThanSevenMinutes_usesCorrectString() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - FIVE_MINUTES_MILLIS, - TEST_BATTERY_LEVEL_10 /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - FIVE_MINUTES_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - - // additional battery percentage in this string - assertThat(info.contains("may shut down soon (10%)")).isTrue(); - // shortened string should not have percentage - assertThat(info2.contains("may shut down soon")).isTrue(); - } - - @Test - public void testGetBatteryRemainingStringFormatted_betweenSevenAndFifteenMinutes_usesCorrectString() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - TEN_MINUTES_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - TEN_MINUTES_MILLIS, - TEST_BATTERY_LEVEL_10 /* percentageString */, - true /* basedOnUsage */); - - // shortened string should not have percentage - assertThat(info).isEqualTo("Less than 15 min left"); - // Add percentage to string when provided - assertThat(info2).isEqualTo("Less than 15 min left (10%)"); - } - - @Test - public void testGetBatteryRemainingStringFormatted_betweenOneAndTwoDays_usesCorrectString() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - THIRTY_HOURS_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - THIRTY_HOURS_MILLIS, - TEST_BATTERY_LEVEL_10 /* percentageString */, - false /* basedOnUsage */); - String info3 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - THIRTY_HOURS_MILLIS + TEN_MINUTES_MILLIS, - null /* percentageString */, - false /* basedOnUsage */); - - // We only add special mention for the long string - assertThat(info).isEqualTo("About 1 day, 6 hr left based on your usage"); - // shortened string should not have extra text - assertThat(info2).isEqualTo("About 1 day, 6 hr left (10%)"); - // present 2 time unit at most - assertThat(info3).isEqualTo("About 1 day, 6 hr left"); - } - - @Test - public void testGetBatteryRemainingStringFormatted_lessThanOneDay_usesCorrectString() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - TEN_HOURS_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - TEN_HOURS_MILLIS, - TEST_BATTERY_LEVEL_10 /* percentageString */, - false /* basedOnUsage */); - String info3 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - TEN_HOURS_MILLIS + TEN_MINUTES_MILLIS + TEN_SEC_MILLIS, - null /* percentageString */, - false /* basedOnUsage */); - - // We only add special mention for the long string - assertThat(info).isEqualTo("About 10 hr left based on your usage"); - // shortened string should not have extra text - assertThat(info2).isEqualTo("About 10 hr left (10%)"); - // present 2 time unit at most - assertThat(info3).isEqualTo("About 10 hr, 10 min left"); - } - - @Test - public void testGetBatteryRemainingStringFormatted_moreThanTwoDays_usesCorrectString() { - String info = PowerUtil.getBatteryRemainingStringFormatted(mContext, - THREE_DAYS_MILLIS, - null /* percentageString */, - true /* basedOnUsage */); - String info2 = PowerUtil.getBatteryRemainingStringFormatted(mContext, - THREE_DAYS_MILLIS, - TEST_BATTERY_LEVEL_10 /* percentageString */, - true /* basedOnUsage */); - - // shortened string should not have percentage - assertThat(info).isEqualTo("More than 2 days left"); - // Add percentage to string when provided - assertThat(info2).isEqualTo("More than 2 days left (10%)"); - } - - @Test public void getBatteryTipStringFormatted_moreThanOneDay_usesCorrectString() { String info = PowerUtil.getBatteryTipStringFormatted(mContext, THREE_DAYS_MILLIS); diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java index 603e19fac268..2c15fc6a9cfd 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -219,7 +219,6 @@ public class SecureSettings { Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_JOYSTICK_ENABLED, - Settings.Secure.ACCESSIBILITY_MAGNIFICATION_GESTURE, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED, Settings.Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, Settings.Secure.NOTIFICATION_BUBBLES, diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index 5457c35f9696..71c2ddc6de1f 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -312,10 +312,6 @@ public class SecureSettingsValidators { VALIDATORS.put( Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED, BOOLEAN_VALIDATOR); - VALIDATORS.put(Secure.ACCESSIBILITY_MAGNIFICATION_GESTURE, - new InclusiveIntegerRangeValidator( - Secure.ACCESSIBILITY_MAGNIFICATION_GESTURE_NONE, - Secure.ACCESSIBILITY_MAGNIFICATION_GESTURE_ALL)); VALIDATORS.put( Secure.ACCESSIBILITY_BUTTON_TARGETS, ACCESSIBILITY_SHORTCUT_TARGET_LIST_VALIDATOR); diff --git a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java index 02ec486a0205..cd35f67a1369 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java @@ -45,7 +45,8 @@ final class GenerationRegistry { private static final boolean DEBUG = false; - private final Object mLock; + // This lock is not the same lock used in SettingsProvider and SettingsState + private final Object mLock = new Object(); // Key -> backingStore mapping @GuardedBy("mLock") @@ -74,8 +75,7 @@ final class GenerationRegistry { private final int mMaxNumBackingStore; - GenerationRegistry(Object lock, int maxNumUsers) { - mLock = lock; + GenerationRegistry(int maxNumUsers) { // Add some buffer to maxNumUsers to accommodate corner cases when the actual number of // users in the system exceeds the limit maxNumUsers = maxNumUsers + 2; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 7db189bc17e9..a509ba33bad2 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1854,10 +1854,6 @@ class SettingsProtoDumpUtil { SecureSettingsProto.Accessibility .ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED); dumpSetting(s, p, - Settings.Secure.ACCESSIBILITY_MAGNIFICATION_GESTURE, - SecureSettingsProto.Accessibility - .ACCESSIBILITY_MAGNIFICATION_GESTURE); - dumpSetting(s, p, Settings.Secure.HEARING_AID_RINGTONE_ROUTING, SecureSettingsProto.Accessibility.HEARING_AID_RINGTONE_ROUTING); dumpSetting(s, p, diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 95d7039859b5..8c8a71ccf01e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -990,7 +990,6 @@ public class SettingsProvider extends ContentProvider { IntentFilter userFilter = new IntentFilter(); userFilter.addAction(Intent.ACTION_USER_ADDED); userFilter.addAction(Intent.ACTION_USER_REMOVED); - userFilter.addAction(Intent.ACTION_USER_STOPPED); getContext().registerReceiver(new BroadcastReceiver() { @Override @@ -1015,11 +1014,6 @@ public class SettingsProvider extends ContentProvider { mSettingsRegistry.removeUserStateLocked(userId, true); } } - case Intent.ACTION_USER_STOPPED -> { - synchronized (mLock) { - mSettingsRegistry.removeUserStateLocked(userId, false); - } - } } } }, userFilter); @@ -2884,7 +2878,7 @@ public class SettingsProvider extends ContentProvider { public SettingsRegistry() { mHandler = new MyHandler(getContext().getMainLooper()); - mGenerationRegistry = new GenerationRegistry(mLock, UserManager.getMaxSupportedUsers()); + mGenerationRegistry = new GenerationRegistry(UserManager.getMaxSupportedUsers()); mBackupManager = new BackupManager(getContext()); } diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java index 12865f452e22..8029785ba78f 100644 --- a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java +++ b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java @@ -36,7 +36,7 @@ import java.io.IOException; public class GenerationRegistryTest { @Test public void testGenerationsWithRegularSetting() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); + final GenerationRegistry generationRegistry = new GenerationRegistry(2); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -93,7 +93,7 @@ public class GenerationRegistryTest { @Test public void testGenerationsWithConfigSetting() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); + final GenerationRegistry generationRegistry = new GenerationRegistry(1); final String prefix = "test_namespace/"; final int configKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_CONFIG, 0); @@ -110,7 +110,7 @@ public class GenerationRegistryTest { @Test public void testMaxNumBackingStores() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); + final GenerationRegistry generationRegistry = new GenerationRegistry(2); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); for (int i = 0; i < generationRegistry.getMaxNumBackingStores(); i++) { @@ -133,7 +133,7 @@ public class GenerationRegistryTest { @Test public void testMaxSizeBackingStore() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); + final GenerationRegistry generationRegistry = new GenerationRegistry(1); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -153,7 +153,7 @@ public class GenerationRegistryTest { @Test public void testUnsetSettings() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); + final GenerationRegistry generationRegistry = new GenerationRegistry(1); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -172,7 +172,7 @@ public class GenerationRegistryTest { @Test public void testGlobalSettings() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); + final GenerationRegistry generationRegistry = new GenerationRegistry(2); final int globalKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 0); final String testGlobalSetting = "test_global_setting"; final Bundle b = new Bundle(); @@ -190,11 +190,11 @@ public class GenerationRegistryTest { @Test public void testNumberOfBackingStores() { - GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 0); + GenerationRegistry generationRegistry = new GenerationRegistry(0); // Test that the capacity of the backing stores is always valid assertThat(generationRegistry.getMaxNumBackingStores()).isEqualTo( GenerationRegistry.MIN_NUM_BACKING_STORE); - generationRegistry = new GenerationRegistry(new Object(), 100); + generationRegistry = new GenerationRegistry(100); // Test that the capacity of the backing stores is always valid assertThat(generationRegistry.getMaxNumBackingStores()).isEqualTo( GenerationRegistry.MAX_NUM_BACKING_STORE); diff --git a/packages/SystemUI/aconfig/accessibility.aconfig b/packages/SystemUI/aconfig/accessibility.aconfig index 08ecf09b2365..25ac486ebbb4 100644 --- a/packages/SystemUI/aconfig/accessibility.aconfig +++ b/packages/SystemUI/aconfig/accessibility.aconfig @@ -3,10 +3,10 @@ package: "com.android.systemui" # NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors. flag { - name: "floating_menu_overlaps_nav_bars_flag" + name: "floating_menu_animated_tuck" namespace: "accessibility" - description: "Adjusts bounds to allow the floating menu to render on top of navigation bars." - bug: "283768342" + description: "Sets up animations for tucking/untucking and adjusts clipbounds." + bug: "24592044" } flag { @@ -14,4 +14,11 @@ flag { namespace: "accessibility" description: "Adds an animation for when the FAB is displaced by an IME becoming visible." bug: "281150010" +} + +flag { + name: "floating_menu_overlaps_nav_bars_flag" + namespace: "accessibility" + description: "Adjusts bounds to allow the floating menu to render on top of navigation bars." + bug: "283768342" }
\ No newline at end of file diff --git a/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt index 17c74ba7b12f..0e7694e7ef46 100644 --- a/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt @@ -315,7 +315,8 @@ internal class ExpandableControllerImpl( } } - override fun shouldAnimateExit(): Boolean = isComposed.value + override fun shouldAnimateExit(): Boolean = + isComposed.value && composeViewRoot.isAttachedToWindow && composeViewRoot.isShown override fun onExitAnimationCancelled() { isDialogShowing.value = false diff --git a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml index 015e9f99212d..d1b8a064724d 100644 --- a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml +++ b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml @@ -14,8 +14,9 @@ ~ limitations under the License --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <item android:state_selected="true" - android:color="?android:attr/colorAccent" /> + android:color="?androidprv:attr/materialColorOnSurfaceVariant" /> <item android:color="@color/notification_guts_priority_button_bg_stroke_color" /> </selector> diff --git a/packages/SystemUI/res/color/notification_guts_priority_contents.xml b/packages/SystemUI/res/color/notification_guts_priority_contents.xml index 42f01896d7a1..cc8c25a2d1ec 100644 --- a/packages/SystemUI/res/color/notification_guts_priority_contents.xml +++ b/packages/SystemUI/res/color/notification_guts_priority_contents.xml @@ -14,8 +14,9 @@ ~ limitations under the License. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <item android:state_selected="true" - android:color="?android:attr/colorAccent" /> + android:color="?androidprv:attr/materialColorOnSurfaceVariant" /> <item android:color="@color/notification_guts_priority_button_content_color" /> </selector> diff --git a/packages/SystemUI/res/color/remote_input_hint.xml b/packages/SystemUI/res/color/remote_input_hint.xml index 7fe58dbcf822..0d90ee6b47c6 100644 --- a/packages/SystemUI/res/color/remote_input_hint.xml +++ b/packages/SystemUI/res/color/remote_input_hint.xml @@ -14,6 +14,7 @@ ~ limitations under the License. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:color="?android:attr/textColorPrimary" android:alpha=".6" /> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> + <item android:color="?androidprv:attr/materialColorOnSurfaceVariant" android:alpha=".6" /> </selector>
\ No newline at end of file diff --git a/packages/SystemUI/res/color/remote_input_send.xml b/packages/SystemUI/res/color/remote_input_send.xml index 4dcd3dd229fb..0acc66b9050f 100644 --- a/packages/SystemUI/res/color/remote_input_send.xml +++ b/packages/SystemUI/res/color/remote_input_send.xml @@ -15,7 +15,8 @@ ~ limitations under the License --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:color="?android:attr/colorAccent" android:alpha=".3" /> - <item android:color="?android:attr/colorAccent" /> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> + <item android:state_enabled="false" android:color="?androidprv:attr/materialColorPrimary" android:alpha=".3" /> + <item android:color="?androidprv:attr/materialColorPrimary" /> </selector>
\ No newline at end of file diff --git a/packages/SystemUI/res/color/remote_input_text.xml b/packages/SystemUI/res/color/remote_input_text.xml index 13bb1d7cbe7d..bf2c198fe540 100644 --- a/packages/SystemUI/res/color/remote_input_text.xml +++ b/packages/SystemUI/res/color/remote_input_text.xml @@ -15,7 +15,8 @@ ~ limitations under the License --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:color="?android:attr/textColorPrimary" android:alpha=".6" /> - <item android:color="?android:attr/textColorPrimary" /> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> + <item android:state_enabled="false" android:color="?androidprv:attr/materialColorOnSurfaceVariant" android:alpha=".6" /> + <item android:color="?androidprv:attr/materialColorOnSurfaceVariant" /> </selector>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml index e6266754c0af..b9597375c3df 100644 --- a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml +++ b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml @@ -26,7 +26,7 @@ <padding android:left="20dp" android:right="20dp" /> - <solid android:color="?androidprv:attr/colorSurface" /> + <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" /> </shape> </inset> </item> diff --git a/packages/SystemUI/res/drawable/notification_guts_bg.xml b/packages/SystemUI/res/drawable/notification_guts_bg.xml index bd9394bf9f8a..84e2231738d4 100644 --- a/packages/SystemUI/res/drawable/notification_guts_bg.xml +++ b/packages/SystemUI/res/drawable/notification_guts_bg.xml @@ -17,7 +17,7 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> - <solid android:color="?androidprv:attr/colorSurface" /> + <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" /> <!--The radius is 1dp smaller than the notification one, to avoid aliasing bugs on the corners --> <corners android:radius="1dp" /> </shape> diff --git a/packages/SystemUI/res/drawable/notification_material_bg.xml b/packages/SystemUI/res/drawable/notification_material_bg.xml index 3eaa6180ba1b..355e75d0716b 100644 --- a/packages/SystemUI/res/drawable/notification_material_bg.xml +++ b/packages/SystemUI/res/drawable/notification_material_bg.xml @@ -20,7 +20,7 @@ android:color="?android:attr/colorControlHighlight"> <item> <shape> - <solid android:color="?androidprv:attr/colorSurface" /> + <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" /> </shape> </item> <item> diff --git a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml index 535b35497b5c..45d1a530cd20 100644 --- a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml +++ b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml @@ -14,12 +14,13 @@ ~ limitations under the License. --> <shape xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:shape="rectangle"> - <solid android:color="?android:attr/colorBackgroundFloating" /> + <solid android:color="?androidprv:attr/materialColorSurfaceDim" /> <stroke android:width="@dimen/remote_input_view_text_stroke" - android:color="?android:attr/colorAccent"/> + android:color="?androidprv:attr/materialColorPrimary"/> <padding android:bottom="0dp" android:left="12dp" diff --git a/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml b/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml index 8b3408048848..06bed001ae1a 100644 --- a/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml +++ b/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml @@ -15,11 +15,12 @@ limitations under the License. --> <vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:width="40dp" android:height="40dp" android:viewportWidth="40" android:viewportHeight="40"> <path - android:fillColor="@color/notification_section_clear_all_btn_color" + android:fillColor="?androidprv:attr/materialColorOnSurfaceVariant" android:pathData="M24.6667 16.2733L23.7267 15.3333L20 19.06L16.2734 15.3333L15.3334 16.2733L19.06 20L15.3334 23.7267L16.2734 24.6667L20 20.94L23.7267 24.6667L24.6667 23.7267L20.94 20L24.6667 16.2733Z"/> </vector> diff --git a/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml b/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml index bddcb6abeebe..cf301c96a9f8 100644 --- a/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml +++ b/packages/SystemUI/res/layout-land-television/volume_dialog_row.xml @@ -79,7 +79,4 @@ android:tint="@color/accent_tint_color_selector" android:soundEffectsEnabled="false" /> </LinearLayout> - - <include layout="@layout/volume_dnd_icon"/> - </FrameLayout> diff --git a/packages/SystemUI/res/layout-land/volume_dialog.xml b/packages/SystemUI/res/layout-land/volume_dialog.xml index 3b70dc060e84..5ce2601d407d 100644 --- a/packages/SystemUI/res/layout-land/volume_dialog.xml +++ b/packages/SystemUI/res/layout-land/volume_dialog.xml @@ -70,12 +70,6 @@ android:tint="?android:attr/textColorPrimary" android:layout_gravity="center" android:soundEffectsEnabled="false" /> - - <include layout="@layout/volume_dnd_icon" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginRight="@dimen/volume_dialog_stream_padding" - android:layout_marginTop="6dp"/> </FrameLayout> <LinearLayout diff --git a/packages/SystemUI/res/layout/bluetooth_device_item.xml b/packages/SystemUI/res/layout/bluetooth_device_item.xml index 6d779438ad6c..08eccbbe9669 100644 --- a/packages/SystemUI/res/layout/bluetooth_device_item.xml +++ b/packages/SystemUI/res/layout/bluetooth_device_item.xml @@ -44,10 +44,9 @@ android:paddingTop="10dp" android:maxLines="1" android:ellipsize="end" - app:layout_constraintWidth_percent="0.7" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@+id/bluetooth_device_icon" - app:layout_constraintEnd_toStartOf="@+id/gear_icon" + app:layout_constraintEnd_toStartOf="@+id/guideline" app:layout_constraintBottom_toTopOf="@+id/bluetooth_device_summary" android:gravity="center_vertical" android:textSize="14sp" /> @@ -60,34 +59,35 @@ android:paddingBottom="10dp" android:maxLines="1" android:ellipsize="end" - app:layout_constraintWidth_percent="0.7" app:layout_constraintTop_toBottomOf="@+id/bluetooth_device_name" app:layout_constraintStart_toEndOf="@+id/bluetooth_device_icon" - app:layout_constraintEnd_toStartOf="@+id/gear_icon" + app:layout_constraintEnd_toStartOf="@+id/guideline" app:layout_constraintBottom_toBottomOf="parent" android:gravity="center_vertical" /> + <androidx.constraintlayout.widget.Guideline + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/guideline" + app:layout_constraintGuide_percent="0.8" + android:orientation="vertical"/> + <View android:id="@+id/gear_icon" android:layout_width="0dp" android:layout_height="0dp" android:contentDescription="@string/accessibility_bluetooth_device_settings_gear" - app:layout_constraintStart_toEndOf="@+id/bluetooth_device_name" - app:layout_constraintEnd_toEndOf="@+id/gear_icon_image" + app:layout_constraintStart_toEndOf="@+id/guideline" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> <ImageView android:id="@+id/gear_icon_image" - android:src="@drawable/ic_settings_24dp" - android:contentDescription="@string/accessibility_bluetooth_device_settings_gear" android:layout_width="0dp" android:layout_height="24dp" - app:layout_constraintStart_toEndOf="@+id/bluetooth_device_name" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" + android:src="@drawable/ic_settings_24dp" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintWidth_percent="0.3" - android:gravity="center_vertical" - android:paddingStart="10dp" /> + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/bluetooth_tile_dialog.xml b/packages/SystemUI/res/layout/bluetooth_tile_dialog.xml index 5d986e00deed..c11a18b795a1 100644 --- a/packages/SystemUI/res/layout/bluetooth_tile_dialog.xml +++ b/packages/SystemUI/res/layout/bluetooth_tile_dialog.xml @@ -51,147 +51,160 @@ android:textAppearance="@style/TextAppearance.Dialog.Body.Message" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintBottom_toTopOf="@id/bluetooth_toggle_title" + app:layout_constraintBottom_toTopOf="@+id/scroll_view" app:layout_constraintTop_toBottomOf="@id/bluetooth_tile_dialog_title" /> - <TextView - android:id="@+id/bluetooth_toggle_title" - style="@style/BluetoothTileDialog.Device" - android:layout_width="0dp" - android:layout_height="64dp" - android:maxLines="1" - android:ellipsize="end" - android:gravity="center_vertical" - android:layout_marginTop="4dp" - android:text="@string/turn_on_bluetooth" - android:clickable="false" - android:textAppearance="@style/TextAppearance.Dialog.Body.Message" - android:textSize="16sp" - app:layout_constraintEnd_toStartOf="@+id/bluetooth_toggle" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/bluetooth_tile_dialog_subtitle" /> - - <Switch - android:id="@+id/bluetooth_toggle" - style="@style/BluetoothTileDialog.Device" - android:layout_width="0dp" - android:layout_height="48dp" - android:gravity="center|center_vertical" - android:paddingEnd="24dp" - android:layout_marginTop="10dp" - android:contentDescription="@string/turn_on_bluetooth" - android:switchMinWidth="@dimen/settingslib_switch_track_width" - android:theme="@style/MainSwitch.Settingslib" - android:thumb="@drawable/settingslib_thumb_selector" - android:track="@drawable/settingslib_track_selector" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@+id/bluetooth_toggle_title" - app:layout_constraintTop_toBottomOf="@id/bluetooth_tile_dialog_subtitle" /> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/device_list" + <androidx.core.widget.NestedScrollView + android:id="@+id/scroll_view" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="20dp" - android:nestedScrollingEnabled="false" - android:overScrollMode="never" - android:scrollbars="vertical" + app:layout_constrainedHeight="true" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/bluetooth_toggle" - app:layout_constraintBottom_toTopOf="@+id/see_all_text" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/bluetooth_tile_dialog_subtitle"> - <androidx.constraintlayout.widget.Group - android:id="@+id/see_all_layout_group" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - app:constraint_referenced_ids="ic_arrow,see_all_text" /> + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/scroll_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" > - <ImageView - android:id="@+id/ic_arrow" - android:layout_marginStart="36dp" - android:layout_width="24dp" - android:layout_height="24dp" - android:importantForAccessibility="no" - android:gravity="center_vertical" - android:src="@drawable/ic_arrow_forward" - app:layout_constraintBottom_toTopOf="@+id/pair_new_device_text" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/see_all_text" - app:layout_constraintTop_toBottomOf="@id/device_list" /> + <TextView + android:id="@+id/bluetooth_toggle_title" + android:layout_width="0dp" + android:layout_height="64dp" + android:maxLines="1" + android:ellipsize="end" + android:gravity="start|center_vertical" + android:paddingEnd="0dp" + android:paddingStart="36dp" + android:text="@string/turn_on_bluetooth" + android:clickable="false" + android:textAppearance="@style/TextAppearance.Dialog.Body.Message" + android:textSize="16sp" + app:layout_constraintEnd_toStartOf="@+id/bluetooth_toggle" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintBottom_toTopOf="@+id/device_list" + app:layout_constraintTop_toTopOf="parent" /> - <TextView - android:id="@+id/see_all_text" - style="@style/BluetoothTileDialog.Device" - android:layout_width="0dp" - android:layout_height="64dp" - android:maxLines="1" - android:ellipsize="end" - android:gravity="center_vertical" - android:layout_marginStart="0dp" - android:paddingStart="20dp" - android:text="@string/see_all_bluetooth_devices" - android:textSize="14sp" - android:textAppearance="@style/TextAppearance.Dialog.Title" - app:layout_constraintBottom_toTopOf="@+id/pair_new_device_text" - app:layout_constraintStart_toEndOf="@+id/ic_arrow" - app:layout_constraintTop_toBottomOf="@id/device_list" - app:layout_constraintEnd_toEndOf="parent" /> + <Switch + android:id="@+id/bluetooth_toggle" + android:layout_width="wrap_content" + android:layout_height="48dp" + android:gravity="start|center_vertical" + android:paddingEnd="40dp" + android:contentDescription="@string/turn_on_bluetooth" + android:switchMinWidth="@dimen/settingslib_switch_track_width" + android:theme="@style/MainSwitch.Settingslib" + android:thumb="@drawable/settingslib_thumb_selector" + android:track="@drawable/settingslib_track_selector" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/bluetooth_toggle_title" + app:layout_constraintBottom_toTopOf="@+id/device_list" + app:layout_constraintTop_toTopOf="parent" /> - <androidx.constraintlayout.widget.Group - android:id="@+id/pair_new_device_layout_group" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - app:constraint_referenced_ids="ic_add,pair_new_device_text" /> + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/device_list" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@+id/bluetooth_toggle" + app:layout_constraintBottom_toTopOf="@+id/see_all_text" /> - <ImageView - android:id="@+id/ic_add" - android:layout_width="24dp" - android:layout_height="24dp" - android:layout_marginStart="36dp" - android:gravity="center_vertical" - android:importantForAccessibility="no" - android:src="@drawable/ic_add" - app:layout_constraintBottom_toTopOf="@id/done_button" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toStartOf="@id/pair_new_device_text" - app:layout_constraintTop_toBottomOf="@id/see_all_text" - android:tint="?android:attr/textColorPrimary" /> + <androidx.constraintlayout.widget.Group + android:id="@+id/see_all_layout_group" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone" + app:constraint_referenced_ids="ic_arrow,see_all_text" /> - <TextView - android:id="@+id/pair_new_device_text" - style="@style/BluetoothTileDialog.Device" - android:layout_width="0dp" - android:layout_height="64dp" - android:maxLines="1" - android:ellipsize="end" - android:gravity="center_vertical" - android:layout_marginStart="0dp" - android:paddingStart="20dp" - android:text="@string/pair_new_bluetooth_devices" - android:textSize="14sp" - android:textAppearance="@style/TextAppearance.Dialog.Title" - app:layout_constraintBottom_toTopOf="@id/done_button" - app:layout_constraintStart_toEndOf="@+id/ic_add" - app:layout_constraintTop_toBottomOf="@id/see_all_text" - app:layout_constraintEnd_toEndOf="parent" /> + <ImageView + android:id="@+id/ic_arrow" + android:layout_marginStart="36dp" + android:layout_width="24dp" + android:layout_height="24dp" + android:importantForAccessibility="no" + android:gravity="center_vertical" + android:src="@drawable/ic_arrow_forward" + app:layout_constraintBottom_toTopOf="@+id/pair_new_device_text" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/see_all_text" + app:layout_constraintTop_toBottomOf="@id/device_list" /> - <Button - android:id="@+id/done_button" - style="@style/Widget.Dialog.Button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/dialog_bottom_padding" - android:layout_marginEnd="@dimen/dialog_side_padding" - android:layout_marginStart="@dimen/dialog_side_padding" - android:clickable="true" - android:ellipsize="end" - android:focusable="true" - android:maxLines="1" - android:text="@string/inline_done_button" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/pair_new_device_text" /> + <TextView + android:id="@+id/see_all_text" + style="@style/BluetoothTileDialog.Device" + android:layout_width="0dp" + android:layout_height="64dp" + android:maxLines="1" + android:ellipsize="end" + android:gravity="center_vertical" + android:layout_marginStart="0dp" + android:paddingStart="20dp" + android:text="@string/see_all_bluetooth_devices" + android:textSize="14sp" + android:textAppearance="@style/TextAppearance.Dialog.Title" + app:layout_constraintBottom_toTopOf="@+id/pair_new_device_text" + app:layout_constraintStart_toEndOf="@+id/ic_arrow" + app:layout_constraintTop_toBottomOf="@id/device_list" + app:layout_constraintEnd_toEndOf="parent" /> + + <androidx.constraintlayout.widget.Group + android:id="@+id/pair_new_device_layout_group" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone" + app:constraint_referenced_ids="ic_add,pair_new_device_text" /> + + <ImageView + android:id="@+id/ic_add" + android:layout_width="24dp" + android:layout_height="24dp" + android:layout_marginStart="36dp" + android:gravity="center_vertical" + android:importantForAccessibility="no" + android:src="@drawable/ic_add" + app:layout_constraintBottom_toTopOf="@id/done_button" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@id/pair_new_device_text" + app:layout_constraintTop_toBottomOf="@id/see_all_text" + android:tint="?android:attr/textColorPrimary" /> + + <TextView + android:id="@+id/pair_new_device_text" + style="@style/BluetoothTileDialog.Device" + android:layout_width="0dp" + android:layout_height="64dp" + android:maxLines="1" + android:ellipsize="end" + android:gravity="center_vertical" + android:layout_marginStart="0dp" + android:paddingStart="20dp" + android:text="@string/pair_new_bluetooth_devices" + android:textSize="14sp" + android:textAppearance="@style/TextAppearance.Dialog.Title" + app:layout_constraintStart_toEndOf="@+id/ic_add" + app:layout_constraintTop_toBottomOf="@id/see_all_text" + app:layout_constraintEnd_toEndOf="parent" /> + + <Button + android:id="@+id/done_button" + style="@style/Widget.Dialog.Button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/dialog_bottom_padding" + android:layout_marginEnd="@dimen/dialog_side_padding" + android:layout_marginStart="@dimen/dialog_side_padding" + android:clickable="true" + android:ellipsize="end" + android:focusable="true" + android:maxLines="1" + android:text="@string/inline_done_button" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/pair_new_device_text" + app:layout_constraintBottom_toBottomOf="parent" /> + </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.core.widget.NestedScrollView> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml b/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml index 82410703c9e6..ad9a775ed243 100644 --- a/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml +++ b/packages/SystemUI/res/layout/dream_overlay_status_bar_view.xml @@ -115,8 +115,7 @@ android:layout_marginStart="@dimen/dream_overlay_status_icon_margin" android:src="@drawable/dream_overlay_assistant_attention_indicator" android:visibility="gone" - android:contentDescription= - "@string/dream_overlay_status_bar_assistant_attention_indicator" /> + android:contentDescription="@string/assistant_attention_content_description" /> </LinearLayout> </com.android.systemui.dreams.DreamOverlayStatusBarView> diff --git a/packages/SystemUI/res/layout/notif_half_shelf.xml b/packages/SystemUI/res/layout/notif_half_shelf.xml index c70f8e2b1c07..68c8dd96d188 100644 --- a/packages/SystemUI/res/layout/notif_half_shelf.xml +++ b/packages/SystemUI/res/layout/notif_half_shelf.xml @@ -16,6 +16,7 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:id="@+id/half_shelf_dialog" android:orientation="vertical" android:layout_width="wrap_content" @@ -65,7 +66,7 @@ android:gravity="center_vertical|start" android:ellipsize="end" android:maxLines="2" - android:textColor="?android:attr/textColorPrimary" + android:textColor="?androidprv:attr/materialColorOnSurface" android:fontFamily="@*android:string/config_headlineFontFamilyMedium" android:textSize="16sp" /> diff --git a/packages/SystemUI/res/layout/notif_half_shelf_row.xml b/packages/SystemUI/res/layout/notif_half_shelf_row.xml index 190f9994b1dc..9ef342ce5220 100644 --- a/packages/SystemUI/res/layout/notif_half_shelf_row.xml +++ b/packages/SystemUI/res/layout/notif_half_shelf_row.xml @@ -16,6 +16,7 @@ <com.android.systemui.statusbar.notification.row.ChannelRow xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:id="@+id/half_shelf_row" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -59,7 +60,7 @@ android:ellipsize="end" android:maxLines="1" android:fontFamily="@*android:string/config_headlineFontFamily" - android:textColor="?android:attr/textColorPrimary" + android:textColor="?androidprv:attr/materialColorOnSurface" android:textSize="16sp" /> @@ -74,7 +75,7 @@ android:maxLines="1" android:layout_below="@id/channel_name" android:fontFamily="@*android:string/config_bodyFontFamily" - android:textColor="?android:attr/textColorSecondary" + android:textColor="?androidprv:attr/materialColorOnSurfaceVariant" android:textSize="14sp" /> </RelativeLayout> diff --git a/packages/SystemUI/res/layout/notification_children_divider.xml b/packages/SystemUI/res/layout/notification_children_divider.xml index eb743067933d..13e24a9ea277 100644 --- a/packages/SystemUI/res/layout/notification_children_divider.xml +++ b/packages/SystemUI/res/layout/notification_children_divider.xml @@ -17,7 +17,8 @@ <com.android.systemui.statusbar.AlphaOptimizedView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:id="@+id/notification_more_divider" android:layout_width="match_parent" android:layout_height="@dimen/notification_divider_height" - android:background="@color/notification_divider_color" /> + android:background="?androidprv:attr/materialColorOnSurfaceVariant" /> diff --git a/packages/SystemUI/res/layout/notification_conversation_info.xml b/packages/SystemUI/res/layout/notification_conversation_info.xml index 4f6e88c2266f..3a752c81b95a 100644 --- a/packages/SystemUI/res/layout/notification_conversation_info.xml +++ b/packages/SystemUI/res/layout/notification_conversation_info.xml @@ -17,6 +17,7 @@ <com.android.systemui.statusbar.notification.row.NotificationConversationInfo xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:id="@+id/notification_guts" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -173,7 +174,7 @@ android:contentDescription="@string/notification_more_settings" android:background="@drawable/ripple_drawable_20dp" android:src="@drawable/ic_settings" - android:tint="?android:attr/colorAccent" + android:tint="?androidprv:attr/materialColorPrimary" android:layout_alignParentEnd="true" /> </LinearLayout> diff --git a/packages/SystemUI/res/layout/notification_info.xml b/packages/SystemUI/res/layout/notification_info.xml index 852db1b8fb91..19a3f2fd521c 100644 --- a/packages/SystemUI/res/layout/notification_info.xml +++ b/packages/SystemUI/res/layout/notification_info.xml @@ -17,6 +17,7 @@ <com.android.systemui.statusbar.notification.row.NotificationInfo xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:id="@+id/notification_guts" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -102,7 +103,7 @@ asked for it --> android:contentDescription="@string/notification_app_settings" android:src="@drawable/ic_info" android:layout_toStartOf="@id/info" - android:tint="@color/notification_guts_link_icon_tint"/> + android:tint="?androidprv:attr/materialColorPrimary"/> <ImageButton android:id="@+id/info" android:layout_width="@dimen/notification_importance_toggle_size" @@ -111,7 +112,7 @@ asked for it --> android:contentDescription="@string/notification_more_settings" android:background="@drawable/ripple_drawable_20dp" android:src="@drawable/ic_settings" - android:tint="?android:attr/colorAccent" + android:tint="?androidprv:attr/materialColorPrimary" android:layout_alignParentEnd="true" /> </LinearLayout> diff --git a/packages/SystemUI/res/layout/notification_snooze.xml b/packages/SystemUI/res/layout/notification_snooze.xml index 8b5368098c00..6e541a7a5f32 100644 --- a/packages/SystemUI/res/layout/notification_snooze.xml +++ b/packages/SystemUI/res/layout/notification_snooze.xml @@ -23,7 +23,7 @@ android:orientation="vertical" android:paddingTop="2dp" android:paddingBottom="2dp" - android:background="?androidprv:attr/colorSurface" + android:background="?androidprv:attr/materialColorSurfaceContainerHigh" android:theme="@style/Theme.SystemUI"> <RelativeLayout @@ -38,7 +38,7 @@ android:layout_alignParentStart="true" android:layout_centerVertical="true" android:paddingStart="@*android:dimen/notification_content_margin_end" - android:textColor="?android:attr/textColorPrimary" + android:textColor="?androidprv:attr/materialColorOnSurface" android:paddingEnd="4dp"/> <ImageView diff --git a/packages/SystemUI/res/layout/notification_snooze_option.xml b/packages/SystemUI/res/layout/notification_snooze_option.xml index d42cc0212fd8..fa6f965198d4 100644 --- a/packages/SystemUI/res/layout/notification_snooze_option.xml +++ b/packages/SystemUI/res/layout/notification_snooze_option.xml @@ -16,10 +16,11 @@ --> <TextView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" android:layout_width="match_parent" android:layout_height="@*android:dimen/notification_headerless_min_height" android:layout_marginStart="@*android:dimen/notification_content_margin_end" android:layout_marginEnd="@*android:dimen/notification_content_margin_end" android:gravity="center_vertical" android:textSize="14sp" - android:textColor="?android:attr/textColorSecondary"/>
\ No newline at end of file + android:textColor="?androidprv:attr/materialColorOnSurfaceVariant"/>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/status_bar_notification_footer.xml b/packages/SystemUI/res/layout/status_bar_notification_footer.xml index c1bac3151049..72424a13d0f1 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_footer.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_footer.xml @@ -41,7 +41,7 @@ android:layout_height="wrap_content" > <com.android.systemui.statusbar.notification.row.FooterViewButton - style="@style/TextAppearance.NotificationSectionHeaderButton" + style="@style/TextAppearance.NotificationFooterButton" android:id="@+id/manage_text" android:layout_width="wrap_content" android:layout_height="48dp" @@ -54,12 +54,11 @@ app:layout_constraintEnd_toStartOf="@id/dismiss_text" android:background="@drawable/notif_footer_btn_background" android:focusable="true" - android:textColor="@color/notif_pill_text" android:contentDescription="@string/manage_notifications_history_text" android:text="@string/manage_notifications_history_text" /> <com.android.systemui.statusbar.notification.row.FooterViewButton - style="@style/TextAppearance.NotificationSectionHeaderButton" + style="@style/TextAppearance.NotificationFooterButton" android:id="@+id/dismiss_text" android:layout_width="wrap_content" android:layout_height="48dp" @@ -70,7 +69,6 @@ app:layout_constraintStart_toEndOf="@id/manage_text" android:background="@drawable/notif_footer_btn_background" android:focusable="true" - android:textColor="@color/notif_pill_text" android:contentDescription="@string/accessibility_clear_all" android:text="@string/clear_all_notifications_text" /> diff --git a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml index c4d8d55f74e2..53abe87e7c12 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml @@ -40,7 +40,7 @@ android:layout_weight="1"> <TextView - style="@style/TextAppearance.NotificationSectionHeaderButton" + style="@style/TextAppearance.NotificationSectionHeaderLabel" android:id="@+id/header_label" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml index 6a192d4b7e05..39a1f1f9b85d 100644 --- a/packages/SystemUI/res/layout/volume_dialog.xml +++ b/packages/SystemUI/res/layout/volume_dialog.xml @@ -69,12 +69,6 @@ android:tint="?android:attr/textColorPrimary" android:layout_gravity="center" android:soundEffectsEnabled="false" /> - - <include layout="@layout/volume_dnd_icon" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginRight="@dimen/volume_dialog_stream_padding" - android:layout_marginTop="6dp"/> </FrameLayout> <LinearLayout diff --git a/packages/SystemUI/res/layout/volume_dialog_row.xml b/packages/SystemUI/res/layout/volume_dialog_row.xml index c9256ae5123b..f35de0568327 100644 --- a/packages/SystemUI/res/layout/volume_dialog_row.xml +++ b/packages/SystemUI/res/layout/volume_dialog_row.xml @@ -62,7 +62,6 @@ android:background="@null" android:layoutDirection="ltr" android:rotation="270" /> - <include layout="@layout/volume_dnd_icon"/> </FrameLayout> <com.android.keyguard.AlphaOptimizedImageButton diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml index 99311e3d1e1b..d9385c7d24c4 100644 --- a/packages/SystemUI/res/values-night/colors.xml +++ b/packages/SystemUI/res/values-night/colors.xml @@ -33,7 +33,7 @@ <!-- The color of the text inside a notification --> <color name="notification_primary_text_color">@*android:color/notification_primary_text_color_dark</color> - <color name="notif_pill_text">@color/material_dynamic_neutral95</color> + <color name="notif_pill_text">@android:color/system_on_surface_dark</color> <color name="notification_guts_link_icon_tint">@color/GM2_grey_500</color> <color name="notification_guts_sub_text_color">@color/GM2_grey_300</color> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index e9422580ed54..0620355c2f98 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -115,7 +115,7 @@ <!-- Chosen so fill over background matches single tone --> <color name="dark_mode_qs_icon_color_dual_tone_fill">#99000000</color> - <color name="notif_pill_text">@color/material_dynamic_neutral10</color> + <color name="notif_pill_text">@android:color/system_on_surface_light</color> <!-- Keyboard shortcuts colors --> <color name="ksh_application_group_color">#fff44336</color> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 2e5bc47903e3..4c5204447db0 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -466,7 +466,7 @@ <string name="accessibility_bluetooth_device_icon">Bluetooth device icon</string> <!-- Content description of the bluetooth device settings gear icon. [CHAR LIMIT=NONE] --> - <string name="accessibility_bluetooth_device_settings_gear">Bluetooth device settings gear</string> + <string name="accessibility_bluetooth_device_settings_gear">Click to configure device detail</string> <!-- Content description of the battery when battery state is unknown for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_battery_unknown">Battery percentage unknown.</string> @@ -3022,8 +3022,6 @@ <string name="dream_overlay_status_bar_mic_off">Mic is off</string> <!-- Content description for the camera and mic off icon in the dream overlay status bar [CHAR LIMIT=NONE] --> <string name="dream_overlay_status_bar_camera_mic_off">Camera and mic are off</string> - <!-- Content description for the assistant attention indicator [CHAR LIMIT=NONE] --> - <string name="dream_overlay_status_bar_assistant_attention_indicator">Assistant is listening</string> <!-- Content description for the notifications indicator icon in the dream overlay status bar [CHAR LIMIT=NONE] --> <string name="dream_overlay_status_bar_notification_indicator">{count, plural, =1 {# notification} @@ -3209,7 +3207,7 @@ <string name="priority_mode_dream_overlay_content_description">Priority mode on</string> <!-- Content description for when assistant attention is active [CHAR LIMIT=NONE] --> - <string name="assistant_attention_content_description">Assistant attention on</string> + <string name="assistant_attention_content_description">User presence is detected</string> <!--- Content of toast triggered when the notes app entry point is triggered without setting a default notes app. [CHAR LIMIT=NONE] --> <string name="set_default_notes_app_toast_content">Set default notes app in Settings</string> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index 084cb883d766..7ce530fce470 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -597,34 +597,34 @@ <style name="TextAppearance.NotificationImportanceChannel"> <item name="android:textSize">@dimen/notification_importance_channel_text</item> <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> - <item name="android:textColor">@color/notification_guts_header_text_color</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> <item name="android:textSize">@dimen/notification_importance_channel_text</item> </style> <style name="TextAppearance.NotificationImportanceChannelGroup"> <item name="android:textSize">@dimen/notification_importance_channel_group_text</item> <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> - <item name="android:textColor">@color/notification_guts_header_text_color</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> <item name="android:textSize">@dimen/notification_importance_channel_group_text</item> </style> <style name="TextAppearance.NotificationImportanceApp"> <item name="android:textSize">@dimen/notification_importance_channel_group_text</item> <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> - <item name="android:textColor">@color/notification_guts_sub_text_color</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item> <item name="android:textSize">@dimen/notification_importance_channel_group_text</item> </style> <style name="TextAppearance.NotificationImportanceHeader"> <item name="android:textSize">@dimen/notification_importance_header_text</item> <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> - <item name="android:textColor">@color/notification_guts_header_text_color</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> </style> <style name="TextAppearance.NotificationImportanceDetail"> <item name="android:textSize">@dimen/notification_importance_description_text</item> <item name="android:fontFamily">@*android:string/config_bodyFontFamily</item> - <item name="android:textColor">@color/notification_guts_sub_text_color</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item> <item name="android:gravity">center</item> </style> @@ -636,9 +636,27 @@ </style> <style + name="TextAppearance.NotificationSectionHeaderLabel" + parent="@android:style/Widget.DeviceDefault.Button.Borderless"> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> + <item name="android:textAllCaps">false</item> + <item name="android:textSize">14sp</item> + <item name="android:minWidth">0dp</item> + </style> + + <style name="TextAppearance.NotificationSectionHeaderButton" parent="@android:style/Widget.DeviceDefault.Button.Borderless"> - <item name="android:textColor">?android:attr/textColorPrimary</item> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> + <item name="android:textAllCaps">false</item> + <item name="android:textSize">14sp</item> + <item name="android:minWidth">0dp</item> + </style> + + <style + name="TextAppearance.NotificationFooterButton" + parent="@android:style/Widget.DeviceDefault.Button.Borderless"> + <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item> <item name="android:textAllCaps">false</item> <item name="android:textSize">14sp</item> <item name="android:minWidth">0dp</item> diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java index 8efe165e0117..7bf3e8f140a0 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java @@ -59,6 +59,7 @@ import com.android.systemui.statusbar.notification.PropertyAnimator; import com.android.systemui.statusbar.notification.icon.ui.viewbinder.AlwaysOnDisplayNotificationIconViewStore; import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder; import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerAlwaysOnDisplayViewModel; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.notification.stack.AnimationProperties; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.NotificationIconAreaController; @@ -346,7 +347,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS int getNotificationIconAreaHeight() { if (mFeatureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) { return 0; - } else if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + } else if (NotificationIconContainerRefactor.isEnabled()) { return mAodIconContainer != null ? mAodIconContainer.getHeight() : 0; } else { return mNotificationIconAreaController.getHeight(); @@ -565,7 +566,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS NotificationIconContainer nic = (NotificationIconContainer) mView.findViewById( com.android.systemui.res.R.id.left_aligned_notification_icon_container); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { if (mAodIconsBindJob != null) { mAodIconsBindJob.dispose(); } diff --git a/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java b/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java index 8c987e3c3143..ee70de3e86a0 100644 --- a/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java +++ b/packages/SystemUI/src/com/android/keyguard/PinShapeNonHintingView.java @@ -47,9 +47,11 @@ import com.android.systemui.res.R; * non six digit pin on their device */ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInput { - + private static final int RESET_STAGGER_DELAY = 40; + private static final int RESET_MAX_DELAY = 200; private int mColor = Utils.getColorAttr(getContext(), PIN_SHAPES).getDefaultColor(); private int mPosition = 0; + private boolean mIsAnimatingReset = false; private final PinShapeAdapter mPinShapeAdapter; private ValueAnimator mValueAnimator = ValueAnimator.ofFloat(1f, 0f); private Rect mFirstChildVisibleRect = new Rect(); @@ -64,8 +66,9 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu if (getChildCount() > 2) { View firstChild = getChildAt(0); boolean isVisible = firstChild.getLocalVisibleRect(mFirstChildVisibleRect); - boolean clipped = mFirstChildVisibleRect.left > 0 - || mFirstChildVisibleRect.right < firstChild.getWidth(); + boolean clipped = mFirstChildVisibleRect.right - mFirstChildVisibleRect.left + < firstChild.getWidth() && firstChild.getScaleX() + == 1f; // Ensure that dot is not undergoing delete animation. if (!isVisible || clipped) { setGravity(Gravity.END | Gravity.CENTER_VERTICAL); return; @@ -77,6 +80,9 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu @Override public void append() { + if (mIsAnimatingReset) { + return; + } int size = getResources().getDimensionPixelSize(R.dimen.password_shape_size); ImageView pinDot = new ImageView(getContext()); pinDot.setLayoutParams(new LayoutParams(size, size)); @@ -130,9 +136,20 @@ public class PinShapeNonHintingView extends LinearLayout implements PinShapeInpu @Override public void reset() { + if (mPosition == 0) { + return; + } final int position = mPosition; + float baseDelay = Math.min(RESET_MAX_DELAY / position, RESET_STAGGER_DELAY); + mIsAnimatingReset = true; for (int i = 0; i < position; i++) { - delete(); + int delayMillis = (int) (baseDelay * i); + postDelayed(this::delete, delayMillis); + // When we reach the last index, we want to send a signal that the animation is + // complete. + if (i == position - 1) { + postDelayed(() -> mIsAnimatingReset = false, delayMillis); + } } } diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java index 584357bb739c..0bd4859eefd5 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java @@ -1461,8 +1461,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold mDragView.setColorFilter(filter); } - @VisibleForTesting - void setBounceEffectDuration(int duration) { + private void setBounceEffectDuration(int duration) { mBounceEffectDuration = duration; } diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java index cd8bef1ab6ed..ceddee819b4f 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationController.java @@ -341,7 +341,16 @@ class MenuAnimationController { void moveToEdgeAndHide() { mMenuView.updateMenuMoveToTucked(/* isMoveToTucked= */ true); final PointF position = mMenuView.getMenuPosition(); - moveToPosition(getTuckedMenuPosition()); + final PointF tuckedPosition = getTuckedMenuPosition(); + if (Flags.floatingMenuAnimatedTuck()) { + flingThenSpringMenuWith(DynamicAnimation.TRANSLATION_X, + Math.signum(tuckedPosition.x - position.x) * ESCAPE_VELOCITY, + FLING_FRICTION_SCALAR, + createDefaultSpringForce(), + tuckedPosition.x); + } else { + moveToPosition(tuckedPosition); + } // Keep the touch region let users could click extra space to pop up the menu view // from the screen edge @@ -353,7 +362,24 @@ class MenuAnimationController { void moveOutEdgeAndShow() { mMenuView.updateMenuMoveToTucked(/* isMoveToTucked= */ false); - mMenuView.onPositionChanged(); + if (Flags.floatingMenuAnimatedTuck()) { + PointF position = mMenuView.getMenuPosition(); + springMenuWith(DynamicAnimation.TRANSLATION_X, + createDefaultSpringForce(), + 0, + position.x, + true + ); + springMenuWith(DynamicAnimation.TRANSLATION_Y, + createDefaultSpringForce(), + 0, + position.y, + true + ); + } else { + mMenuView.onPositionChanged(); + } + mMenuView.onEdgeChangedIfNeeded(); } @@ -489,6 +515,12 @@ class MenuAnimationController { return new Handler(requireNonNull(Looper.myLooper(), "looper must not be null")); } + private static SpringForce createDefaultSpringForce() { + return new SpringForce() + .setStiffness(SPRING_STIFFNESS) + .setDampingRatio(SPRING_AFTER_FLING_DAMPING_RATIO); + } + static class MenuPositionProperty extends FloatPropertyCompat<MenuView> { private final DynamicAnimation.ViewProperty mProperty; 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 ea5a56c6a0f5..92c72598cf94 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuView.java @@ -71,6 +71,7 @@ class MenuView extends FrameLayout implements private final MenuAnimationController mMenuAnimationController; private OnTargetFeaturesChangeListener mFeaturesChangeListener; + private OnMoveToTuckedListener mMoveToTuckedListener; MenuView(Context context, MenuViewModel menuViewModel, MenuViewAppearance menuViewAppearance) { super(context); @@ -138,6 +139,10 @@ class MenuView extends FrameLayout implements mFeaturesChangeListener = listener; } + void setMoveToTuckedListener(OnMoveToTuckedListener listener) { + mMoveToTuckedListener = listener; + } + void addOnItemTouchListenerToList(RecyclerView.OnItemTouchListener listener) { mTargetFeaturesView.addOnItemTouchListener(listener); } @@ -307,8 +312,11 @@ class MenuView extends FrameLayout implements void updateMenuMoveToTucked(boolean isMoveToTucked) { mIsMoveToTucked = isMoveToTucked; mMenuViewModel.updateMenuMoveToTucked(isMoveToTucked); + if (mMoveToTuckedListener != null) { + mMoveToTuckedListener.onMoveToTuckedChanged(isMoveToTucked); + } - if (Flags.floatingMenuOverlapsNavBarsFlag()) { + if (Flags.floatingMenuOverlapsNavBarsFlag() && !Flags.floatingMenuAnimatedTuck()) { if (isMoveToTucked) { final float halfWidth = getMenuWidth() / 2.0f; final boolean isOnLeftSide = mMenuAnimationController.isOnLeftSide(); @@ -428,4 +436,11 @@ class MenuView extends FrameLayout implements */ void onChange(List<AccessibilityTarget> newTargetFeatures); } + + /** + * Interface containing a callback for when MoveToTucked changes. + */ + interface OnMoveToTuckedListener { + void onMoveToTuckedChanged(boolean moveToTucked); + } } diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewAppearance.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewAppearance.java index 89ce06514e1c..4865fcedc457 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewAppearance.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewAppearance.java @@ -281,7 +281,7 @@ class MenuViewAppearance { : new float[]{radius, radius, 0.0f, 0.0f, 0.0f, 0.0f, radius, radius}; } - private Rect getWindowAvailableBounds() { + public Rect getWindowAvailableBounds() { final WindowMetrics windowMetrics = mWindowManager.getCurrentWindowMetrics(); final WindowInsets windowInsets = windowMetrics.getWindowInsets(); final Insets insets = windowInsets.getInsetsIgnoringVisibility( 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 fbca02290236..ff3a9e3bd409 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java @@ -79,7 +79,8 @@ import java.util.Optional; */ @SuppressLint("ViewConstructor") class MenuViewLayer extends FrameLayout implements - ViewTreeObserver.OnComputeInternalInsetsListener, View.OnClickListener, ComponentCallbacks { + ViewTreeObserver.OnComputeInternalInsetsListener, View.OnClickListener, ComponentCallbacks, + MenuView.OnMoveToTuckedListener { private static final int SHOW_MESSAGE_DELAY_MS = 3000; private final WindowManager mWindowManager; @@ -211,6 +212,7 @@ class MenuViewLayer extends FrameLayout implements mMenuListViewTouchHandler = new MenuListViewTouchHandler(mMenuAnimationController, mDismissAnimationController); mMenuView.addOnItemTouchListenerToList(mMenuListViewTouchHandler); + mMenuView.setMoveToTuckedListener(this); mMessageView = new MenuMessageView(context); @@ -232,6 +234,10 @@ class MenuViewLayer extends FrameLayout implements addView(mMenuView, LayerIndex.MENU_VIEW); addView(mDismissView, LayerIndex.DISMISS_VIEW); addView(mMessageView, LayerIndex.MESSAGE_VIEW); + + if (Flags.floatingMenuAnimatedTuck()) { + setClipChildren(true); + } } @Override @@ -354,6 +360,24 @@ class MenuViewLayer extends FrameLayout implements mShouldShowDockTooltip = !hasSeenTooltip; } + public void onMoveToTuckedChanged(boolean moveToTuck) { + if (Flags.floatingMenuOverlapsNavBarsFlag()) { + if (moveToTuck) { + final Rect bounds = mMenuViewAppearance.getWindowAvailableBounds(); + final int[] location = getLocationOnScreen(); + bounds.offset( + location[0], + location[1] + ); + + setClipBounds(bounds); + } + // Instead of clearing clip bounds when moveToTuck is false, + // wait until the spring animation finishes. + } + // Function is a no-operation if flag is disabled. + } + private void onSpringAnimationsEndAction() { if (mShouldShowDockTooltip) { mEduTooltipView = Optional.of(new MenuEduTooltipView(mContext, mMenuViewAppearance)); @@ -364,6 +388,11 @@ class MenuViewLayer extends FrameLayout implements mMenuAnimationController.startTuckedAnimationPreview(); } + if (Flags.floatingMenuAnimatedTuck()) { + if (!mMenuView.isMoveToTucked()) { + setClipBounds(null); + } + } if (Flags.floatingMenuImeDisplacementAnimation()) { mMenuView.onArrivalAtPosition(); } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FacePropertyRepository.kt b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FacePropertyRepository.kt index 5b0bd959d902..0ae2e1614fba 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FacePropertyRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FacePropertyRepository.kt @@ -29,13 +29,16 @@ import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLoggin import com.android.systemui.common.coroutine.ConflatedCallbackFlow import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.dagger.qualifiers.Background import javax.inject.Inject +import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.withContext /** A repository for the global state of Face sensor. */ interface FacePropertyRepository { @@ -56,7 +59,8 @@ class FacePropertyRepositoryImpl @Inject constructor( @Application private val applicationScope: CoroutineScope, - private val faceManager: FaceManager? + @Background private val backgroundDispatcher: CoroutineDispatcher, + private val faceManager: FaceManager?, ) : FacePropertyRepository { override val sensorInfo: StateFlow<FaceSensorInfo?> = @@ -77,7 +81,9 @@ constructor( ) } } - faceManager?.addAuthenticatorsRegisteredCallback(callback) + withContext(backgroundDispatcher) { + faceManager?.addAuthenticatorsRegisteredCallback(callback) + } awaitClose {} } .onEach { Log.d(TAG, "sensorProps changed: $it") } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FingerprintPropertyRepository.kt b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FingerprintPropertyRepository.kt index aa33100a3abe..0c0ed77a65f7 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FingerprintPropertyRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/data/repository/FingerprintPropertyRepository.kt @@ -33,7 +33,9 @@ import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLoggin import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.dagger.qualifiers.Background import javax.inject.Inject +import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow @@ -41,6 +43,7 @@ import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.withContext /** * A repository for the global state of FingerprintProperty. @@ -67,6 +70,7 @@ class FingerprintPropertyRepositoryImpl @Inject constructor( @Application private val applicationScope: CoroutineScope, + @Background private val backgroundDispatcher: CoroutineDispatcher, private val fingerprintManager: FingerprintManager?, ) : FingerprintPropertyRepository { @@ -93,7 +97,9 @@ constructor( } } } - fingerprintManager?.addAuthenticatorsRegisteredCallback(callback) + withContext(backgroundDispatcher) { + fingerprintManager?.addAuthenticatorsRegisteredCallback(callback) + } awaitClose {} } .stateIn( diff --git a/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingView.kt b/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingView.kt index 323070a84863..07814512b4b8 100644 --- a/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingView.kt +++ b/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingView.kt @@ -22,6 +22,7 @@ import android.content.Context import android.util.AttributeSet import android.view.MotionEvent import android.view.View +import android.view.ViewConfiguration import com.android.systemui.shade.TouchLogger import kotlin.math.pow import kotlin.math.sqrt @@ -36,11 +37,18 @@ import kotlinx.coroutines.DisposableHandle class LongPressHandlingView( context: Context, attrs: AttributeSet?, + private val longPressDuration: () -> Long, ) : View( context, attrs, ) { + + constructor( + context: Context, + attrs: AttributeSet?, + ) : this(context, attrs, { ViewConfiguration.getLongPressTimeout().toLong() }) + interface Listener { /** Notifies that a long-press has been detected by the given view. */ fun onLongPressDetected( @@ -77,6 +85,7 @@ class LongPressHandlingView( ) }, onSingleTapDetected = { listener?.onSingleTapDetected(this@LongPressHandlingView) }, + longPressDuration = longPressDuration, ) } diff --git a/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandler.kt b/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandler.kt index c2d4d12d03c3..a742e8d614b1 100644 --- a/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandler.kt +++ b/packages/SystemUI/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandler.kt @@ -33,6 +33,8 @@ class LongPressHandlingViewInteractionHandler( private val onLongPressDetected: (x: Int, y: Int) -> Unit, /** Callback reporting the a single tap gesture was detected at the given coordinates. */ private val onSingleTapDetected: () -> Unit, + /** Time for the touch to be considered a long-press in ms */ + private val longPressDuration: () -> Long, ) { sealed class MotionEventModel { object Other : MotionEventModel() @@ -77,7 +79,7 @@ class LongPressHandlingViewInteractionHandler( cancelScheduledLongPress() if ( event.distanceMoved <= ViewConfiguration.getTouchSlop() && - event.gestureDuration < ViewConfiguration.getLongPressTimeout() + event.gestureDuration < longPressDuration() ) { dispatchSingleTap() } @@ -103,7 +105,7 @@ class LongPressHandlingViewInteractionHandler( y = y, ) }, - ViewConfiguration.getLongPressTimeout().toLong(), + longPressDuration(), ) } diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt index be9a2993dab1..42bb5bb2a361 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt @@ -77,7 +77,7 @@ import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.asIndenting import com.android.systemui.util.concurrency.DelayableExecutor -import com.android.systemui.util.indentIfPossible +import com.android.systemui.util.withIncreasedIndent import com.android.wm.shell.taskview.TaskViewFactory import dagger.Lazy import java.io.PrintWriter @@ -822,9 +822,9 @@ class ControlsUiControllerImpl @Inject constructor ( private fun findSelectionItem(si: SelectedItem, items: List<SelectionItem>): SelectionItem? = items.firstOrNull { it.matches(si) } - override fun dump(pw: PrintWriter, args: Array<out String>) { - pw.println("ControlsUiControllerImpl:") - pw.asIndenting().indentIfPossible { + override fun dump(pw: PrintWriter, args: Array<out String>) = pw.asIndenting().run { + println("ControlsUiControllerImpl:") + withIncreasedIndent { println("hidden: $hidden") println("selectedItem: $selectedItem") println("lastSelections: $lastSelections") diff --git a/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java b/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java index d57f31f91df1..8b992fcae67e 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/FrameworkServicesModule.java @@ -41,6 +41,7 @@ import android.app.smartspace.SmartspaceManager; import android.app.trust.TrustManager; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothManager; +import android.companion.virtual.VirtualDeviceManager; import android.content.ClipboardManager; import android.content.ContentResolver; import android.content.Context; @@ -236,6 +237,12 @@ public class FrameworkServicesModule { @Provides @Singleton + static VirtualDeviceManager provideVirtualDeviceManager(Context context) { + return context.getSystemService(VirtualDeviceManager.class); + } + + @Provides + @Singleton static DeviceStateManager provideDeviceStateManager(Context context) { return context.getSystemService(DeviceStateManager.class); } diff --git a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt index 3e2ecee1fe3e..0c8dbe7ed916 100644 --- a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt @@ -56,6 +56,9 @@ interface DisplayRepository { /** Display change event indicating a change to the given displayId has occurred. */ val displayChangeEvent: Flow<Int> + /** Display addition event indicating a new display has been added. */ + val displayAdditionEvent: Flow<Display?> + /** Provides the current set of displays. */ val displays: Flow<Set<Display>> @@ -126,6 +129,11 @@ constructor( override val displayChangeEvent: Flow<Int> = allDisplayEvents.filter { it is DisplayEvent.Changed }.map { it.displayId } + override val displayAdditionEvent: Flow<Display?> = + allDisplayEvents + .filter { it is DisplayEvent.Added } + .map { displayManager.getDisplay(it.displayId) } + private val enabledDisplays = allDisplayEvents .map { getDisplays() } diff --git a/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt b/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt index 11ed96d5c7eb..cf868856c419 100644 --- a/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractor.kt @@ -16,6 +16,8 @@ package com.android.systemui.display.domain.interactor +import android.companion.virtual.VirtualDeviceManager +import android.companion.virtual.flags.Flags import android.view.Display import com.android.systemui.dagger.SysUISingleton import com.android.systemui.display.data.repository.DisplayRepository @@ -26,6 +28,7 @@ import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map /** Provides information about an external connected display. */ @@ -40,6 +43,12 @@ interface ConnectedDisplayInteractor { */ val connectedDisplayState: Flow<State> + /** + * Indicates that there is a new connected display (either an external display or a virtual + * device owned mirror display). + */ + val connectedDisplayAddition: Flow<Unit> + /** Pending display that can be enabled to be used by the system. */ val pendingDisplay: Flow<PendingDisplay?> @@ -69,6 +78,7 @@ interface ConnectedDisplayInteractor { class ConnectedDisplayInteractorImpl @Inject constructor( + private val virtualDeviceManager: VirtualDeviceManager, keyguardRepository: KeyguardRepository, displayRepository: DisplayRepository, ) : ConnectedDisplayInteractor { @@ -76,13 +86,14 @@ constructor( override val connectedDisplayState: Flow<State> = displayRepository.displays .map { displays -> - val externalDisplays = - displays.filter { display -> display.type == Display.TYPE_EXTERNAL } + val externalDisplays = displays.filter { isExternalDisplay(it) } - val secureExternalDisplays = - externalDisplays.filter { it.flags and Display.FLAG_SECURE != 0 } + val secureExternalDisplays = externalDisplays.filter { isSecureDisplay(it) } - if (externalDisplays.isEmpty()) { + val virtualDeviceMirrorDisplays = + displays.filter { isVirtualDeviceOwnedMirrorDisplay(it) } + + if (externalDisplays.isEmpty() && virtualDeviceMirrorDisplays.isEmpty()) { State.DISCONNECTED } else if (!secureExternalDisplays.isEmpty()) { State.CONNECTED_SECURE @@ -92,6 +103,13 @@ constructor( } .distinctUntilChanged() + override val connectedDisplayAddition: Flow<Unit> = + displayRepository.displayAdditionEvent + .filter { + it != null && (isExternalDisplay(it) || isVirtualDeviceOwnedMirrorDisplay(it)) + } + .map {} // map to Unit + // Provides the pending display only if the lockscreen is unlocked override val pendingDisplay: Flow<PendingDisplay?> = displayRepository.pendingDisplay.combine(keyguardRepository.isKeyguardShowing) { @@ -109,4 +127,17 @@ constructor( override suspend fun enable() = this@toInteractorPendingDisplay.enable() override suspend fun ignore() = this@toInteractorPendingDisplay.ignore() } + + private fun isExternalDisplay(display: Display): Boolean { + return display.type == Display.TYPE_EXTERNAL + } + + private fun isSecureDisplay(display: Display): Boolean { + return display.flags and Display.FLAG_SECURE != 0 + } + + private fun isVirtualDeviceOwnedMirrorDisplay(display: Display): Boolean { + return Flags.interactiveScreenMirror() && + virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(display.displayId) + } } diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 8c81fbbaeb9d..f4a9f739d187 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -87,11 +87,6 @@ object Flags { @JvmField val NOTIFICATION_SHELF_REFACTOR = releasedFlag("notification_shelf_refactor") - // TODO(b/290787599): Tracking Bug - @JvmField - val NOTIFICATION_ICON_CONTAINER_REFACTOR = - unreleasedFlag("notification_icon_container_refactor") - // TODO(b/288326013): Tracking Bug @JvmField val NOTIFICATION_ASYNC_HYBRID_VIEW_INFLATION = @@ -123,7 +118,7 @@ object Flags { // TODO(b/301955929) @JvmField val NOTIF_LS_BACKGROUND_THREAD = - unreleasedFlag("notification_lockscreen_mgr_bg_thread") + unreleasedFlag("notification_lockscreen_mgr_bg_thread", teamfood = true) // 200 - keyguard/lockscreen // ** Flag retired ** @@ -411,6 +406,10 @@ object Flags { // TODO(b/301610137): Tracking bug @JvmField val NEW_NETWORK_SLICE_UI = unreleasedFlag("new_network_slice_ui", teamfood = true) + // TODO(b/308138154): Tracking bug + val FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS = + releasedFlag("filter_provisioning_network_subscriptions") + // TODO(b/265892345): Tracking Bug val PLUG_IN_STATUS_BAR_CHIP = releasedFlag("plug_in_status_bar_chip") @@ -484,7 +483,7 @@ object Flags { val MEDIA_REMOTE_RESUME = unreleasedFlag("media_remote_resume") // TODO(b/304506662): Tracking Bug - val MEDIA_DEVICE_NAME_FIX = unreleasedFlag("media_device_name_fix", teamfood = true) + val MEDIA_DEVICE_NAME_FIX = releasedFlag("media_device_name_fix") // 1000 - dock val SIMULATE_DOCK_THROUGH_CHARGING = releasedFlag("simulate_dock_through_charging") @@ -623,7 +622,7 @@ object Flags { /** TODO(b/295143676): Tracking bug. When enable, captures a screenshot for each display. */ @JvmField - val MULTI_DISPLAY_SCREENSHOT = unreleasedFlag("multi_display_screenshot", teamfood = true) + val MULTI_DISPLAY_SCREENSHOT = releasedFlag("multi_display_screenshot") // 1400 - columbus // TODO(b/254512756): Tracking Bug @@ -727,7 +726,7 @@ object Flags { @JvmField val KEYBOARD_BACKLIGHT_INDICATOR = releasedFlag("keyboard_backlight_indicator") // TODO(b/277192623): Tracking Bug - @JvmField val KEYBOARD_EDUCATION = unreleasedFlag("keyboard_education", teamfood = true) + @JvmField val KEYBOARD_EDUCATION = releasedFlag("keyboard_education") // TODO(b/277201412): Tracking Bug @JvmField @@ -773,7 +772,8 @@ object Flags { @JvmField val PRECOMPUTED_TEXT = releasedFlag("precomputed_text") // TODO(b/302087895): Tracking Bug - @JvmField val CALL_LAYOUT_ASYNC_SET_DATA = unreleasedFlag("call_layout_async_set_data") + @JvmField val CALL_LAYOUT_ASYNC_SET_DATA = + unreleasedFlag("call_layout_async_set_data", teamfood = true) // TODO(b/302144438): Tracking Bug @JvmField val DECOUPLE_REMOTE_INPUT_DELEGATE_AND_CALLBACK_UPDATE = diff --git a/packages/SystemUI/src/com/android/systemui/keyevent/data/repository/KeyEventRepository.kt b/packages/SystemUI/src/com/android/systemui/keyevent/data/repository/KeyEventRepository.kt index 5bc5d0b290ca..9da9a7328659 100644 --- a/packages/SystemUI/src/com/android/systemui/keyevent/data/repository/KeyEventRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/keyevent/data/repository/KeyEventRepository.kt @@ -35,7 +35,7 @@ interface KeyEventRepository { class KeyEventRepositoryImpl @Inject constructor( - val commandQueue: CommandQueue, + private val commandQueue: CommandQueue, ) : KeyEventRepository { override val isPowerButtonDown: Flow<Boolean> = conflatedCallbackFlow { val callback = @@ -46,6 +46,7 @@ constructor( } } } + trySendWithFailureLogging(false, TAG, "init isPowerButtonDown") commandQueue.addCallback(callback) awaitClose { commandQueue.removeCallback(callback) } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt index 6a0d5954fc44..c4dfe9afeb2a 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepository.kt @@ -383,7 +383,12 @@ constructor( "isFaceAuthEnrolledAndEnabled" ), Pair(keyguardRepository.isKeyguardGoingAway.isFalse(), "keyguardNotGoingAway"), - Pair(powerInteractor.isAsleep.isFalse(), "deviceNotAsleep"), + Pair( + keyguardTransitionInteractor + .isInTransitionToStateWhere(KeyguardState::deviceIsAsleepInState) + .isFalse(), + "deviceNotTransitioningToAsleepState" + ), Pair( keyguardInteractor.isSecureCameraActive .isFalse() diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt index 3eef6aa37122..8d5d73f88ca1 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/repository/KeyguardTransitionRepository.kt @@ -115,7 +115,8 @@ class KeyguardTransitionRepositoryImpl @Inject constructor() : KeyguardTransitio private var updateTransitionId: UUID? = null init { - // Seed with transitions signaling a boot into lockscreen state + // Seed with transitions signaling a boot into lockscreen state. If updating this, please + // also update FakeKeyguardTransitionRepository. emitTransition( TransitionStep( KeyguardState.OFF, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt index 692984a90a14..fe6a21ed89a0 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardPreviewRenderer.kt @@ -127,12 +127,19 @@ constructor( false, ) + private val displayId = bundle.getInt(KEY_DISPLAY_ID, DEFAULT_DISPLAY) + private val display: Display? = displayManager.getDisplay(displayId) + /** + * Returns a key that should make the KeyguardPreviewRenderer unique and if two of them have the + * same key they will be treated as the same KeyguardPreviewRenderer. Primary this is used to + * prevent memory leaks by allowing removal of the old KeyguardPreviewRenderer. + */ + val id = Pair(hostToken, displayId) + /** [shouldHideClock] here means that we never create and bind the clock views */ private val shouldHideClock: Boolean = bundle.getBoolean(ClockPreviewConstants.KEY_HIDE_CLOCK, false) private val wallpaperColors: WallpaperColors? = bundle.getParcelable(KEY_COLORS) - private val displayId = bundle.getInt(KEY_DISPLAY_ID, DEFAULT_DISPLAY) - private val display: Display? = displayManager.getDisplay(displayId) private var host: SurfaceControlViewHost diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardRemotePreviewManager.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardRemotePreviewManager.kt index dafeacef60bb..acfd3b0bcf57 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardRemotePreviewManager.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardRemotePreviewManager.kt @@ -44,8 +44,8 @@ constructor( @Main private val mainDispatcher: CoroutineDispatcher, @Background private val backgroundHandler: Handler, ) { - private val activePreviews: ArrayMap<IBinder, PreviewLifecycleObserver> = - ArrayMap<IBinder, PreviewLifecycleObserver>() + private val activePreviews: ArrayMap<Pair<IBinder?, Int>, PreviewLifecycleObserver> = + ArrayMap<Pair<IBinder?, Int>, PreviewLifecycleObserver>() fun preview(request: Bundle?): Bundle? { if (request == null) { @@ -56,8 +56,6 @@ constructor( return try { val renderer = previewRendererFactory.create(request) - // Destroy any previous renderer associated with this token. - activePreviews[renderer.hostToken]?.let { destroyObserver(it) } observer = PreviewLifecycleObserver( renderer, @@ -65,7 +63,9 @@ constructor( mainDispatcher, ::destroyObserver, ) - activePreviews[renderer.hostToken] = observer + // Destroy any previous renderer associated with this token. + activePreviews[renderer.id]?.let { destroyObserver(it) } + activePreviews[renderer.id] = observer renderer.render() renderer.hostToken?.linkToDeath(observer, 0) val result = Bundle() @@ -92,9 +92,9 @@ constructor( } private fun destroyObserver(observer: PreviewLifecycleObserver) { - observer.onDestroy()?.let { hostToken -> - if (activePreviews[hostToken] === observer) { - activePreviews.remove(hostToken) + observer.onDestroy()?.let { identifier -> + if (activePreviews[identifier] === observer) { + activePreviews.remove(identifier) } } } @@ -134,7 +134,7 @@ constructor( requestDestruction(this) } - fun onDestroy(): IBinder? { + fun onDestroy(): Pair<IBinder?, Int>? { if (isDestroyedOrDestroying) { return null } @@ -143,7 +143,7 @@ constructor( val hostToken = renderer.hostToken hostToken?.unlinkToDeath(this, 0) scope.launch(mainDispatcher) { renderer.destroy() } - return hostToken + return renderer.id } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt index 8a9ea25ce99d..b7fe9605a221 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/layout/sections/AodNotificationIconsSection.kt @@ -35,6 +35,7 @@ import com.android.systemui.shade.NotificationPanelView import com.android.systemui.statusbar.notification.icon.ui.viewbinder.AlwaysOnDisplayNotificationIconViewStore import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerAlwaysOnDisplayViewModel +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import com.android.systemui.statusbar.phone.DozeParameters import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.phone.NotificationIconContainer @@ -86,7 +87,7 @@ constructor( return } - if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled) { nic.setOnLockScreen(true) nicBindingDisposable?.dispose() nicBindingDisposable = diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java index aecfdaa860f3..e768f162c270 100644 --- a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java +++ b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java @@ -91,7 +91,7 @@ public class LogModule { @SysUISingleton @NotifInflationLog public static LogBuffer provideNotifInflationLogBuffer(LogBufferFactory factory) { - return factory.create("NotifInflationLog", 100); + return factory.create("NotifInflationLog", 250); } /** Provides a logging buffer for notification interruption calculations. */ diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLogger.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLogger.kt index 19621199aad5..98a389669ba9 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLogger.kt @@ -16,7 +16,6 @@ package com.android.systemui.mediaprojection import android.media.projection.IMediaProjectionManager -import android.os.Process import android.os.RemoteException import android.util.Log import com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__CREATION_SOURCE__CREATION_SOURCE_APP as METRICS_CREATION_SOURCE_APP @@ -66,56 +65,28 @@ constructor(private val service: IMediaProjectionManager) { } /** - * Request to log that the app selector was displayed. + * Request to log that the permission request was cancelled. * * @param hostUid The UID of the package that initiates MediaProjection. */ - fun notifyAppSelectorDisplayed(hostUid: Int) { + fun notifyProjectionRequestCancelled(hostUid: Int) { try { - service.notifyAppSelectorDisplayed(hostUid) + service.notifyPermissionRequestCancelled(hostUid) } catch (e: RemoteException) { - Log.e(TAG, "Error notifying server of app selector displayed", e) + Log.e(TAG, "Error notifying server of projection cancelled", e) } } /** - * Request to log that the permission request moved to the given state. - * - * Should not be used for the initialization state, since that should use {@link - * MediaProjectionMetricsLogger#notifyProjectionInitiated(Int)} and pass the - * sessionCreationSource. - */ - fun notifyPermissionProgress(state: Int) { - // TODO validate state is valid - notifyToServer(state, SessionCreationSource.UNKNOWN) - } - - /** - * Notifies system server that we are handling a particular state during the consent flow. - * - * Only used for emitting atoms. + * Request to log that the app selector was displayed. * - * @param state The state that SystemUI is handling during the consent flow. Must be a valid - * state defined in the MediaProjectionState enum. - * @param sessionCreationSource Only set if the state is MEDIA_PROJECTION_STATE_INITIATED. - * Indicates the entry point for requesting the permission. Must be a valid state defined in - * the SessionCreationSource enum. + * @param hostUid The UID of the package that initiates MediaProjection. */ - private fun notifyToServer(state: Int, sessionCreationSource: SessionCreationSource) { - Log.v(TAG, "FOO notifyToServer of state $state and source $sessionCreationSource") + fun notifyAppSelectorDisplayed(hostUid: Int) { try { - service.notifyPermissionRequestStateChange( - Process.myUid(), - state, - sessionCreationSource.toMetricsConstant() - ) + service.notifyAppSelectorDisplayed(hostUid) } catch (e: RemoteException) { - Log.e( - TAG, - "Error notifying server of permission flow state $state from source " + - "$sessionCreationSource", - e - ) + Log.e(TAG, "Error notifying server of app selector displayed", e) } } diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorActivity.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorActivity.kt index 04d55665f572..50e9e7517a0f 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorActivity.kt @@ -210,6 +210,10 @@ class MediaProjectionAppSelectorActivity( reviewGrantedConsentRequired, /* projection= */ null ) + if (isFinishing) { + // Only log dismissed when actually finishing, and not when changing configuration. + controller.onSelectorDismissed() + } } activityLauncher.destroy() controller.destroy() diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorController.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorController.kt index 67ef119a7428..575e1986a23f 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorController.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorController.kt @@ -18,7 +18,6 @@ package com.android.systemui.mediaprojection.appselector import android.content.ComponentName import android.os.UserHandle -import com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_APP_SELECTOR_DISPLAYED as STATE_APP_SELECTOR_DISPLAYED import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.mediaprojection.appselector.data.RecentTask import com.android.systemui.mediaprojection.appselector.data.RecentTaskListProvider @@ -76,6 +75,10 @@ constructor( scope.cancel() } + fun onSelectorDismissed() { + logger.notifyProjectionRequestCancelled(hostUid) + } + private suspend fun refreshForegroundTaskThumbnails(tasks: List<RecentTask>) { coroutineScope { val thumbnails: List<Deferred<ThumbnailData?>> = diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/BaseScreenSharePermissionDialog.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/BaseScreenSharePermissionDialog.kt index 8b437c322549..eea369f15a16 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/BaseScreenSharePermissionDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/BaseScreenSharePermissionDialog.kt @@ -32,6 +32,7 @@ import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.annotation.LayoutRes import androidx.annotation.StringRes +import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.res.R import com.android.systemui.statusbar.phone.SystemUIDialog @@ -40,16 +41,31 @@ open class BaseScreenSharePermissionDialog( context: Context, private val screenShareOptions: List<ScreenShareOption>, private val appName: String?, + private val hostUid: Int, + private val mediaProjectionMetricsLogger: MediaProjectionMetricsLogger, @DrawableRes private val dialogIconDrawable: Int? = null, - @ColorRes private val dialogIconTint: Int? = null + @ColorRes private val dialogIconTint: Int? = null, ) : SystemUIDialog(context), AdapterView.OnItemSelectedListener { private lateinit var dialogTitle: TextView private lateinit var startButton: TextView private lateinit var cancelButton: TextView private lateinit var warning: TextView private lateinit var screenShareModeSpinner: Spinner + private var hasCancelBeenLogged: Boolean = false var selectedScreenShareOption: ScreenShareOption = screenShareOptions.first() + override fun dismiss() { + super.dismiss() + + // Dismiss can be called multiple times and we only want to log once. + if (hasCancelBeenLogged) { + return + } + + mediaProjectionMetricsLogger.notifyProjectionRequestCancelled(hostUid) + hasCancelBeenLogged = true + } + public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) window?.addPrivateFlags(WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS) diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java index f7cc589db068..eacfa578ac44 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java @@ -222,13 +222,19 @@ public class MediaProjectionPermissionActivity extends Activity // the correct screen width when in split screen. Context dialogContext = getApplicationContext(); if (isPartialScreenSharingEnabled()) { - mDialog = new MediaProjectionPermissionDialog(dialogContext, getMediaProjectionConfig(), + mDialog = new MediaProjectionPermissionDialog( + dialogContext, + getMediaProjectionConfig(), () -> { MediaProjectionPermissionDialog dialog = (MediaProjectionPermissionDialog) mDialog; ScreenShareOption selectedOption = dialog.getSelectedScreenShareOption(); grantMediaProjectionPermission(selectedOption.getMode()); - }, () -> finish(RECORD_CANCEL, /* projection= */ null), appName); + }, + () -> finish(RECORD_CANCEL, /* projection= */ null), + appName, + mUid, + mMediaProjectionMetricsLogger); } else { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(dialogContext, R.style.Theme_SystemUI_Dialog) diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionDialog.kt b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionDialog.kt index b9bafd4926fa..cff22b0dc019 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionDialog.kt @@ -18,6 +18,7 @@ package com.android.systemui.mediaprojection.permission import android.content.Context import android.media.projection.MediaProjectionConfig import android.os.Bundle +import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.res.R /** Dialog to select screen recording options */ @@ -26,12 +27,16 @@ class MediaProjectionPermissionDialog( mediaProjectionConfig: MediaProjectionConfig?, private val onStartRecordingClicked: Runnable, private val onCancelClicked: Runnable, - private val appName: String? + private val appName: String?, + hostUid: Int, + mediaProjectionMetricsLogger: MediaProjectionMetricsLogger, ) : BaseScreenSharePermissionDialog( context, createOptionList(context, appName, mediaProjectionConfig), - appName + appName, + hostUid, + mediaProjectionMetricsLogger ) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index 38204ab1b6d9..a6c623391bb0 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -64,14 +64,13 @@ import com.android.internal.logging.UiEventLogger; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.settingslib.Utils; import com.android.settingslib.fuelgauge.BatterySaverUtils; -import com.android.settingslib.utils.PowerUtil; -import com.android.systemui.res.R; import com.android.systemui.SystemUIApplication; import com.android.systemui.animation.DialogCuj; import com.android.systemui.animation.DialogLaunchAnimator; import com.android.systemui.broadcast.BroadcastSender; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.res.R; import com.android.systemui.settings.UserTracker; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.BatteryController; @@ -376,14 +375,6 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { TAG_AUTO_SAVER, SystemMessage.NOTE_AUTO_SAVER_SUGGESTION, n, UserHandle.ALL); } - private String getHybridContentString(String percentage) { - return PowerUtil.getBatteryRemainingStringFormatted( - mContext, - mCurrentBatterySnapshot.getTimeRemainingMillis(), - percentage, - mCurrentBatterySnapshot.isBasedOnUsage()); - } - private PendingIntent pendingBroadcast(String action) { return PendingIntent.getBroadcastAsUser( mContext, diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragmentLegacy.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragmentLegacy.java index 68bf88b16ae2..3b3844a4be7b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragmentLegacy.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragmentLegacy.java @@ -74,6 +74,7 @@ public class QSFragmentLegacy extends LifecycleFragment implements QS { public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { QSFragmentComponent qsFragmentComponent = mQsComponentFactory.create(getView()); mQsImpl = mQsImplProvider.get(); + mQsImpl.onCreate(null); mQsImpl.onComponentCreated(qsFragmentComponent, savedInstanceState); } @@ -85,21 +86,13 @@ public class QSFragmentLegacy extends LifecycleFragment implements QS { } @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (mQsImpl != null) { - mQsImpl.onCreate(savedInstanceState); - } - } - - @Override - public void onDestroy() { - super.onDestroy(); + public void onDestroyView() { if (mQsImpl != null) { mQsImpl.onDestroy(); + mQsImpl = null; } + super.onDestroyView(); } - @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSImpl.java index 35c2b0675777..fab7e952a874 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSImpl.java @@ -943,7 +943,7 @@ public class QSImpl implements QS, CommandQueue.Callbacks, StatusBarStateControl @Override public void dump(PrintWriter pw, String[] args) { IndentingPrintWriter indentingPw = new IndentingPrintWriter(pw, /* singleIndent= */ " "); - indentingPw.println("QSFragment:"); + indentingPw.println("QSImpl:"); indentingPw.increaseIndent(); indentingPw.println("mQsBounds: " + mQsBounds); indentingPw.println("mQsExpanded: " + mQsExpanded); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java index fc2f5f9c7226..11db69b69f13 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java @@ -174,7 +174,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr @Override public void destroy() { - super.destroy(); + // Don't call super as this may be called before the view is dettached and calling super + // will remove the attach listener. We don't need to do that, because once this object is + // detached from the graph, it will be gc. mHost.removeCallback(mQSHostCallback); for (TileRecord record : mRecords) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java index 8f26e694a067..bd4c6e1930ba 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java +++ b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSModule.java @@ -32,7 +32,6 @@ import com.android.systemui.qs.external.QSExternalModule; import com.android.systemui.qs.pipeline.dagger.QSPipelineModule; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tiles.di.QSTilesModule; -import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel; import com.android.systemui.statusbar.phone.AutoTileManager; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.policy.CastController; @@ -73,13 +72,6 @@ public interface QSModule { @Multibinds Map<String, QSTileImpl<?>> tileMap(); - /** - * A map of internal QS tile ViewModels. Ensures that this can be injected even if - * it is empty - */ - @Multibinds - Map<String, QSTileViewModel> tileViewModelMap(); - @Provides @SysUISingleton static AutoTileManager provideAutoTileManager( diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt index 936bf9c8f4da..736f7cfbfce9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelFactory.kt @@ -18,6 +18,7 @@ package com.android.systemui.qs.tiles.base.viewmodel import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.plugins.FalsingManager +import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics import com.android.systemui.qs.tiles.base.interactor.DisabledByPolicyInteractor import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor @@ -25,7 +26,7 @@ import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor import com.android.systemui.qs.tiles.base.logging.QSTileLogger import com.android.systemui.qs.tiles.impl.di.QSTileComponent -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig +import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider import com.android.systemui.qs.tiles.viewmodel.QSTileState import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.util.time.SystemClock @@ -53,6 +54,7 @@ sealed interface QSTileViewModelFactory<T> { private val falsingManager: FalsingManager, private val qsTileAnalytics: QSTileAnalytics, private val qsTileLogger: QSTileLogger, + private val qsTileConfigProvider: QSTileConfigProvider, private val systemClock: SystemClock, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : QSTileViewModelFactory<T> { @@ -61,9 +63,9 @@ sealed interface QSTileViewModelFactory<T> { * Creates [QSTileViewModelImpl] based on the interactors obtained from [component]. * Reference of that [component] is then stored along the view model. */ - fun create(component: QSTileComponent<T>): QSTileViewModelImpl<T> = + fun create(tileSpec: TileSpec, component: QSTileComponent<T>): QSTileViewModelImpl<T> = QSTileViewModelImpl( - component::config, + qsTileConfigProvider.getConfig(tileSpec.spec), component::userActionInteractor, component::dataInteractor, component::dataToStateMapper, @@ -89,12 +91,13 @@ sealed interface QSTileViewModelFactory<T> { private val falsingManager: FalsingManager, private val qsTileAnalytics: QSTileAnalytics, private val qsTileLogger: QSTileLogger, + private val qsTileConfigProvider: QSTileConfigProvider, private val systemClock: SystemClock, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : QSTileViewModelFactory<T> { /** - * @param config contains all the static information (like TileSpec) about the tile. + * @param tileSpec of the created tile. * @param userActionInteractor encapsulates user input processing logic. Use it to start * activities, show dialogs or otherwise update the tile state. * @param tileDataInteractor provides [DATA_TYPE] and its availability. @@ -103,13 +106,13 @@ sealed interface QSTileViewModelFactory<T> { * operations there. */ fun create( - config: QSTileConfig, + tileSpec: TileSpec, userActionInteractor: QSTileUserActionInteractor<T>, tileDataInteractor: QSTileDataInteractor<T>, mapper: QSTileDataToStateMapper<T>, ): QSTileViewModelImpl<T> = QSTileViewModelImpl( - { config }, + qsTileConfigProvider.getConfig(tileSpec.spec), { userActionInteractor }, { tileDataInteractor }, { mapper }, diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt index bbb74453abbd..0bee48fd01ab 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/base/viewmodel/QSTileViewModelImpl.kt @@ -67,7 +67,7 @@ import kotlinx.coroutines.flow.stateIn */ @OptIn(ExperimentalCoroutinesApi::class) class QSTileViewModelImpl<DATA_TYPE>( - val tileConfig: () -> QSTileConfig, + override val config: QSTileConfig, private val userActionInteractor: () -> QSTileUserActionInteractor<DATA_TYPE>, private val tileDataInteractor: () -> QSTileDataInteractor<DATA_TYPE>, private val mapper: () -> QSTileDataToStateMapper<DATA_TYPE>, @@ -92,8 +92,6 @@ class QSTileViewModelImpl<DATA_TYPE>( private val tileData: SharedFlow<DATA_TYPE> = createTileDataFlow() - override val config - get() = tileConfig() override val state: SharedFlow<QSTileState> = tileData .map { data -> diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt index 0a6becd6e4ca..7d7af64a3038 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/di/NewQSTileFactory.kt @@ -19,6 +19,7 @@ package com.android.systemui.qs.tiles.di import com.android.systemui.dagger.SysUISingleton import com.android.systemui.plugins.qs.QSFactory import com.android.systemui.plugins.qs.QSTile +import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel import com.android.systemui.qs.tiles.viewmodel.QSTileViewModelAdapter import javax.inject.Inject @@ -29,11 +30,19 @@ import javax.inject.Provider class NewQSTileFactory @Inject constructor( + qsTileConfigProvider: QSTileConfigProvider, private val adapterFactory: QSTileViewModelAdapter.Factory, private val tileMap: Map<String, @JvmSuppressWildcards Provider<@JvmSuppressWildcards QSTileViewModel>>, ) : QSFactory { + init { + for (viewModelTileSpec in tileMap.keys) { + // throws an exception when there is no config for a tileSpec of an injected viewModel + qsTileConfigProvider.getConfig(viewModelTileSpec) + } + } + override fun createTile(tileSpec: String): QSTile? = tileMap[tileSpec]?.let { val tile = it.get() diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt index 94b39b6db9d2..32522ad66626 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/di/QSTilesModule.kt @@ -17,7 +17,13 @@ package com.android.systemui.qs.tiles.di import com.android.systemui.qs.tiles.impl.custom.di.CustomTileComponent +import com.android.systemui.qs.tiles.viewmodel.QSTileConfig +import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProvider +import com.android.systemui.qs.tiles.viewmodel.QSTileConfigProviderImpl +import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel +import dagger.Binds import dagger.Module +import dagger.multibindings.Multibinds /** Module listing subcomponents */ @Module( @@ -26,4 +32,17 @@ import dagger.Module CustomTileComponent::class, ] ) -interface QSTilesModule +interface QSTilesModule { + + /** + * A map of internal QS tile ViewModels. Ensures that this can be injected even if it is empty + */ + @Multibinds fun tileViewModelConfigs(): Map<String, QSTileConfig> + + /** + * A map of internal QS tile ViewModels. Ensures that this can be injected even if it is empty + */ + @Multibinds fun tileViewModelMap(): Map<String, QSTileViewModel> + + @Binds fun bindQSTileConfigProvider(impl: QSTileConfigProviderImpl): QSTileConfigProvider +} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/bluetooth/BluetoothTileDialog.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/bluetooth/BluetoothTileDialog.kt index 409622615b6c..7b4b55702f55 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/bluetooth/BluetoothTileDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/bluetooth/BluetoothTileDialog.kt @@ -78,7 +78,10 @@ constructor( super.onCreate(savedInstanceState) uiEventLogger.log(BluetoothTileDialogUiEvent.BLUETOOTH_TILE_DIALOG_SHOWN) - setContentView(LayoutInflater.from(context).inflate(R.layout.bluetooth_tile_dialog, null)) + LayoutInflater.from(context).inflate(R.layout.bluetooth_tile_dialog, null).apply { + accessibilityPaneTitle = context.getText(R.string.accessibility_desc_quick_settings) + setContentView(this) + } toggleView = requireViewById(R.id.bluetooth_toggle) subtitleTextView = requireViewById(R.id.bluetooth_tile_dialog_subtitle) as TextView @@ -114,14 +117,22 @@ constructor( } internal fun onBluetoothStateUpdated(isEnabled: Boolean, subtitleResId: Int) { - toggleView.isChecked = isEnabled + toggleView.apply { + isChecked = isEnabled + setEnabled(true) + alpha = ENABLED_ALPHA + } subtitleTextView.text = context.getString(subtitleResId) } private fun setupToggle() { toggleView.isChecked = bluetoothToggleInitialValue - toggleView.setOnCheckedChangeListener { _, isChecked -> + toggleView.setOnCheckedChangeListener { view, isChecked -> mutableBluetoothStateToggle.value = isChecked + view.apply { + isEnabled = false + alpha = DISABLED_ALPHA + } logger.logBluetoothState(BluetoothStateStage.USER_TOGGLED, isChecked.toString()) uiEventLogger.log(BluetoothTileDialogUiEvent.BLUETOOTH_TOGGLE_CLICKED) } @@ -225,5 +236,7 @@ constructor( const val ACTION_PREVIOUSLY_CONNECTED_DEVICE = "com.android.settings.PREVIOUSLY_CONNECTED_DEVICE" const val ACTION_PAIR_NEW_DEVICE = "android.settings.BLUETOOTH_PAIRING_SETTINGS" + const val DISABLED_ALPHA = 0.3f + const val ENABLED_ALPHA = 1f } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt index 6f351cdb9b33..b3d916a86144 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/di/QSTileComponent.kt @@ -19,7 +19,6 @@ package com.android.systemui.qs.tiles.impl.di import com.android.systemui.qs.tiles.base.interactor.QSTileDataInteractor import com.android.systemui.qs.tiles.base.interactor.QSTileDataToStateMapper import com.android.systemui.qs.tiles.base.interactor.QSTileUserActionInteractor -import com.android.systemui.qs.tiles.viewmodel.QSTileConfig /** * Base QS tile component. It should be used with [QSTileScope] to create a custom tile scoped @@ -32,7 +31,5 @@ interface QSTileComponent<T> { fun userActionInteractor(): QSTileUserActionInteractor<T> - fun config(): QSTileConfig - fun dataToStateMapper(): QSTileDataToStateMapper<T> } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt index 4a3bcae17fd0..c4d7dfba23bf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfig.kt @@ -16,20 +16,49 @@ package com.android.systemui.qs.tiles.viewmodel +import android.content.res.Resources +import androidx.annotation.DrawableRes import androidx.annotation.StringRes import com.android.internal.logging.InstanceId -import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.pipeline.shared.TileSpec data class QSTileConfig( val tileSpec: TileSpec, - val tileIcon: Icon, - @StringRes val tileLabelRes: Int, + val uiConfig: QSTileUIConfig, val instanceId: InstanceId, val metricsSpec: String = tileSpec.spec, val policy: QSTilePolicy = QSTilePolicy.NoRestrictions, ) +/** + * Static tile icon and label to be used when the fully operational tile isn't needed (ex. in edit + * mode). Icon and label are resources to better support config/locale changes. + */ +sealed interface QSTileUIConfig { + + val tileIconRes: Int + @DrawableRes get + val tileLabelRes: Int + @StringRes get + + /** + * Represents the absence of static UI state. This should be avoided by platform tiles in favour + * of [Resource]. Returns [Resources.ID_NULL] for each field. + */ + data object Empty : QSTileUIConfig { + override val tileIconRes: Int + get() = Resources.ID_NULL + override val tileLabelRes: Int + get() = Resources.ID_NULL + } + + /** Config containing actual icon and label resources. */ + data class Resource( + @StringRes override val tileIconRes: Int, + @StringRes override val tileLabelRes: Int, + ) : QSTileUIConfig +} + /** Represents policy restrictions that may be imposed on the tile. */ sealed interface QSTilePolicy { /** Tile has no policy restrictions */ diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProvider.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProvider.kt new file mode 100644 index 000000000000..3f3b94e65294 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProvider.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.qs.tiles.viewmodel + +import com.android.internal.util.Preconditions +import com.android.systemui.dagger.SysUISingleton +import javax.inject.Inject + +interface QSTileConfigProvider { + + /** + * Returns a [QSTileConfig] for a [tileSpec] or throws [IllegalArgumentException] if there is no + * config for such [tileSpec]. + */ + fun getConfig(tileSpec: String): QSTileConfig +} + +@SysUISingleton +class QSTileConfigProviderImpl @Inject constructor(private val configs: Map<String, QSTileConfig>) : + QSTileConfigProvider { + + init { + for (entry in configs.entries) { + val configTileSpec = entry.value.tileSpec.spec + val keyTileSpec = entry.key + Preconditions.checkArgument( + configTileSpec == keyTileSpec, + "A wrong config is injected keySpec=$keyTileSpec configSpec=$configTileSpec" + ) + } + } + + override fun getConfig(tileSpec: String): QSTileConfig = + configs[tileSpec] ?: throw IllegalArgumentException("There is no config for spec=$tileSpec") +} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt index 28536f5b19a7..efa6da764e6e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelAdapter.kt @@ -189,7 +189,13 @@ constructor( override fun getInstanceId(): InstanceId = qsTileViewModel.config.instanceId override fun getTileLabel(): CharSequence = - context.getString(qsTileViewModel.config.tileLabelRes) + with(qsTileViewModel.config.uiConfig) { + when (this) { + is QSTileUIConfig.Empty -> qsTileViewModel.currentState?.label ?: "" + is QSTileUIConfig.Resource -> context.getString(tileLabelRes) + } + } + override fun getTileSpec(): String = qsTileViewModel.config.tileSpec.spec private companion object { diff --git a/packages/SystemUI/src/com/android/systemui/screenrecord/RecordingController.java b/packages/SystemUI/src/com/android/systemui/screenrecord/RecordingController.java index ea1205ae6079..05f125f6f531 100644 --- a/packages/SystemUI/src/com/android/systemui/screenrecord/RecordingController.java +++ b/packages/SystemUI/src/com/android/systemui/screenrecord/RecordingController.java @@ -163,8 +163,7 @@ public class RecordingController } mMediaProjectionMetricsLogger.notifyProjectionInitiated( - mUserContextProvider.getUserContext().getUserId(), - SessionCreationSource.SYSTEM_UI_SCREEN_RECORDER); + getHostUid(), SessionCreationSource.SYSTEM_UI_SCREEN_RECORDER); return flags.isEnabled(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING) ? new ScreenRecordPermissionDialog( @@ -174,7 +173,8 @@ public class RecordingController /* controller= */ this, activityStarter, mUserContextProvider, - onStartRecordingClicked) + onStartRecordingClicked, + mMediaProjectionMetricsLogger) : new ScreenRecordDialog( context, /* controller= */ this, diff --git a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordDialog.java b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordDialog.java index f2e94e94757f..e7481ccd0efd 100644 --- a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordDialog.java +++ b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordDialog.java @@ -66,8 +66,10 @@ public class ScreenRecordDialog extends SystemUIDialog { private Switch mAudioSwitch; private Spinner mOptions; - public ScreenRecordDialog(Context context, RecordingController controller, - UserContextProvider userContextProvider, @Nullable Runnable onStartRecordingClicked) { + public ScreenRecordDialog(Context context, + RecordingController controller, + UserContextProvider userContextProvider, + @Nullable Runnable onStartRecordingClicked) { super(context); mController = controller; mUserContextProvider = userContextProvider; @@ -89,7 +91,6 @@ public class ScreenRecordDialog extends SystemUIDialog { TextView cancelBtn = findViewById(R.id.button_cancel); cancelBtn.setOnClickListener(v -> dismiss()); - TextView startBtn = findViewById(R.id.button_start); startBtn.setOnClickListener(v -> { if (mOnStartRecordingClicked != null) { diff --git a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialog.kt b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialog.kt index 3b3aa5334979..f74234bc2e21 100644 --- a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialog.kt @@ -33,6 +33,7 @@ import android.widget.Spinner import android.widget.Switch import androidx.annotation.LayoutRes import com.android.systemui.mediaprojection.MediaProjectionCaptureTarget +import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.mediaprojection.appselector.MediaProjectionAppSelectorActivity import com.android.systemui.mediaprojection.permission.BaseScreenSharePermissionDialog import com.android.systemui.mediaprojection.permission.ENTIRE_SCREEN @@ -50,12 +51,15 @@ class ScreenRecordPermissionDialog( private val controller: RecordingController, private val activityStarter: ActivityStarter, private val userContextProvider: UserContextProvider, - private val onStartRecordingClicked: Runnable? + private val onStartRecordingClicked: Runnable?, + mediaProjectionMetricsLogger: MediaProjectionMetricsLogger, ) : BaseScreenSharePermissionDialog( context, createOptionList(), appName = null, + hostUid = hostUid, + mediaProjectionMetricsLogger, R.drawable.ic_screenrecord, R.color.screenrecord_icon_color ) { diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 8dc97c0f797c..cc59f8750b56 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -2629,7 +2629,6 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump if (isPanelExpanded() != isExpanded) { setExpandedOrAwaitingInputTransfer(isExpanded); updateSystemUiStateFlags(); - mShadeExpansionStateManager.onShadeExpansionFullyChanged(isExpanded); if (!isExpanded) { mQsController.closeQsCustomizer(); } diff --git a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java index 3c68438ff61b..0ec7a36b5a6d 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java @@ -65,7 +65,6 @@ import com.android.keyguard.FaceAuthApiRequestReason; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; -import com.android.systemui.res.R; import com.android.systemui.classifier.Classifier; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; @@ -77,6 +76,7 @@ import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.media.controls.ui.MediaHierarchyManager; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.qs.QS; +import com.android.systemui.res.R; import com.android.systemui.screenrecord.RecordingController; import com.android.systemui.shade.data.repository.ShadeRepository; import com.android.systemui.shade.domain.interactor.ShadeInteractor; @@ -1026,7 +1026,6 @@ public class QuickSettingsController implements Dumpable { && mPanelViewControllerLazy.get().mAnimateBack) { mPanelViewControllerLazy.get().adjustBackAnimationScale(adjustedExpansionFraction); } - mShadeExpansionStateManager.onQsExpansionFractionChanged(qsExpansionFraction); mMediaHierarchyManager.setQsExpansion(qsExpansionFraction); int qsPanelBottomY = calculateBottomPosition(qsExpansionFraction); mScrimController.setQsPosition(qsExpansionFraction, qsPanelBottomY); diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt index 0554c5855d61..949398969d67 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeExpansionStateManager.kt @@ -36,10 +36,7 @@ import javax.inject.Inject class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { private val expansionListeners = CopyOnWriteArrayList<ShadeExpansionListener>() - private val fullExpansionListeners = CopyOnWriteArrayList<ShadeFullExpansionListener>() private val qsExpansionListeners = CopyOnWriteArrayList<ShadeQsExpansionListener>() - private val qsExpansionFractionListeners = - CopyOnWriteArrayList<ShadeQsExpansionFractionListener>() private val stateListeners = CopyOnWriteArrayList<ShadeStateListener>() private val shadeStateEventsListeners = CopyOnWriteArrayList<ShadeStateEventsListener>() @@ -67,15 +64,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { expansionListeners.remove(listener) } - fun addFullExpansionListener(listener: ShadeFullExpansionListener) { - fullExpansionListeners.add(listener) - listener.onShadeExpansionFullyChanged(qsExpanded) - } - - fun removeFullExpansionListener(listener: ShadeFullExpansionListener) { - fullExpansionListeners.remove(listener) - } - fun addQsExpansionListener(listener: ShadeQsExpansionListener) { qsExpansionListeners.add(listener) listener.onQsExpansionChanged(qsExpanded) @@ -85,25 +73,11 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { qsExpansionListeners.remove(listener) } - fun addQsExpansionFractionListener(listener: ShadeQsExpansionFractionListener) { - qsExpansionFractionListeners.add(listener) - listener.onQsExpansionFractionChanged(qsExpansionFraction) - } - - fun removeQsExpansionFractionListener(listener: ShadeQsExpansionFractionListener) { - qsExpansionFractionListeners.remove(listener) - } - /** Adds a listener that will be notified when the panel state has changed. */ fun addStateListener(listener: ShadeStateListener) { stateListeners.add(listener) } - /** Removes a state listener. */ - fun removeStateListener(listener: ShadeStateListener) { - stateListeners.remove(listener) - } - override fun addShadeStateEventsListener(listener: ShadeStateEventsListener) { shadeStateEventsListeners.addIfAbsent(listener) } @@ -187,22 +161,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents { qsExpansionListeners.forEach { it.onQsExpansionChanged(qsExpanded) } } - fun onQsExpansionFractionChanged(qsExpansionFraction: Float) { - this.qsExpansionFraction = qsExpansionFraction - - debugLog("qsExpansionFraction=$qsExpansionFraction") - qsExpansionFractionListeners.forEach { - it.onQsExpansionFractionChanged(qsExpansionFraction) - } - } - - fun onShadeExpansionFullyChanged(isExpanded: Boolean) { - this.expanded = isExpanded - - debugLog("expanded=$isExpanded") - fullExpansionListeners.forEach { it.onShadeExpansionFullyChanged(isExpanded) } - } - /** Updates the panel state if necessary. */ fun updateState(@PanelState state: Int) { debugLog( diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeFullExpansionListener.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeFullExpansionListener.kt deleted file mode 100644 index 6d13e1972255..000000000000 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeFullExpansionListener.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.shade - -/** A listener interface to be notified of expansion events for the notification shade. */ -fun interface ShadeFullExpansionListener { - /** Invoked whenever the shade expansion changes, when it is fully collapsed or expanded */ - fun onShadeExpansionFullyChanged(isExpanded: Boolean) -} diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt index 2f684762a13a..f043c717f923 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeInteractor.kt @@ -148,12 +148,13 @@ constructor( * * TODO(b/300258424) remove all but the first sentence of this comment */ - val isAnyExpanded: Flow<Boolean> = + val isAnyExpanded: StateFlow<Boolean> = if (sceneContainerFlags.isEnabled()) { - anyExpansion.map { it > 0f }.distinctUntilChanged() - } else { - repository.legacyExpandedOrAwaitingInputTransfer - } + anyExpansion.map { it > 0f }.distinctUntilChanged() + } else { + repository.legacyExpandedOrAwaitingInputTransfer + } + .stateIn(scope, SharingStarted.Eagerly, false) /** * Whether the user is expanding or collapsing the shade with user input. This will be true even @@ -184,7 +185,7 @@ constructor( * but a transition they initiated is still animating. */ val isUserInteracting: Flow<Boolean> = - combine(isUserInteractingWithShade, isUserInteractingWithShade) { shade, qs -> shade || qs } + combine(isUserInteractingWithShade, isUserInteractingWithQs) { shade, qs -> shade || qs } .distinctUntilChanged() /** Are touches allowed on the notification panel? */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java index 7d81e55d336a..c8669072cd7d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java @@ -48,6 +48,13 @@ public class CrossFadeHelper { fadeOut(view, duration, delay, (Runnable) null); } + /** + * Perform a fade-out animation, invoking {@code endRunnable} when the animation ends. It will + * not be invoked if the animation is cancelled. + * + * @deprecated Use {@link #fadeOut(View, long, int, Animator.AnimatorListener)} instead. + */ + @Deprecated public static void fadeOut(final View view, long duration, int delay, @Nullable final Runnable endRunnable) { view.animate().cancel(); @@ -155,6 +162,13 @@ public class CrossFadeHelper { fadeIn(view, duration, delay, /* endRunnable= */ (Runnable) null); } + /** + * Perform a fade-in animation, invoking {@code endRunnable} when the animation ends. It will + * not be invoked if the animation is cancelled. + * + * @deprecated Use {@link #fadeIn(View, long, int, Animator.AnimatorListener)} instead. + */ + @Deprecated public static void fadeIn(final View view, long duration, int delay, @Nullable Runnable endRunnable) { view.animate().cancel(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java index 33c42e043901..ab015efdb297 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java @@ -72,10 +72,10 @@ public class EmptyShadeView extends StackScrollerDecorView { return findViewById(R.id.no_notifications_footer); } - public void setTextColor(@ColorInt int color) { - mEmptyText.setTextColor(color); - mEmptyFooterText.setTextColor(color); - mEmptyFooterText.setCompoundDrawableTintList(ColorStateList.valueOf(color)); + public void setTextColors(@ColorInt int onSurface, @ColorInt int onSurfaceVariant) { + mEmptyText.setTextColor(onSurfaceVariant); + mEmptyFooterText.setTextColor(onSurface); + mEmptyFooterText.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface)); } public void setText(@StringRes int text) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java index 2e1e395518a0..49743bf85b8c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationListener.java @@ -29,14 +29,13 @@ import android.util.Log; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; -import com.android.systemui.flags.FeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.dagger.CentralSurfacesModule; import com.android.systemui.statusbar.domain.interactor.SilentNotificationStatusIconsVisibilityInteractor; import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.notification.collection.PipelineDumpable; import com.android.systemui.statusbar.notification.collection.PipelineDumper; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins; import com.android.systemui.util.time.SystemClock; @@ -62,7 +61,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem private static final long MAX_RANKING_DELAY_MILLIS = 500L; private final Context mContext; - private final FeatureFlagsClassic mFeatureFlags; private final NotificationManager mNotificationManager; private final SilentNotificationStatusIconsVisibilityInteractor mStatusIconInteractor; private final SystemClock mSystemClock; @@ -80,7 +78,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem @Inject public NotificationListener( Context context, - FeatureFlagsClassic featureFlags, NotificationManager notificationManager, SilentNotificationStatusIconsVisibilityInteractor statusIconInteractor, SystemClock systemClock, @@ -88,7 +85,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem PluginManager pluginManager) { super(pluginManager); mContext = context; - mFeatureFlags = featureFlags; mNotificationManager = notificationManager; mStatusIconInteractor = statusIconInteractor; mSystemClock = systemClock; @@ -106,6 +102,7 @@ public class NotificationListener extends NotificationListenerWithPlugins implem /** Registers a listener that's notified when any notification-related settings change. */ @Deprecated public void addNotificationSettingsListener(NotificationSettingsListener listener) { + NotificationIconContainerRefactor.assertInLegacyMode(); mSettingsListeners.add(listener); } @@ -240,7 +237,7 @@ public class NotificationListener extends NotificationListenerWithPlugins implem @Override public void onSilentStatusBarIconsVisibilityChanged(boolean hideSilentStatusIcons) { - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mStatusIconInteractor.setHideSilentStatusIcons(hideSilentStatusIcons); } else { for (NotificationSettingsListener listener : mSettingsListeners) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java index 61ebcc0c99d1..5f0b2988cd27 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java @@ -48,11 +48,13 @@ import androidx.annotation.Nullable; import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.NotificationVisibility; +import com.android.systemui.CoreStartable; import com.android.systemui.Dumpable; -import com.android.systemui.dump.DumpManager; +import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.power.domain.interactor.PowerInteractor; import com.android.systemui.res.R; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.dagger.CentralSurfacesDependenciesModule; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.RemoteInputControllerLogger; @@ -65,6 +67,7 @@ import com.android.systemui.statusbar.policy.RemoteInputUriController; import com.android.systemui.statusbar.policy.RemoteInputView; import com.android.systemui.util.DumpUtilsKt; import com.android.systemui.util.ListenerSet; +import com.android.systemui.util.kotlin.JavaAdapter; import java.io.PrintWriter; import java.util.ArrayList; @@ -72,13 +75,16 @@ import java.util.List; import java.util.Objects; import java.util.function.Consumer; +import javax.inject.Inject; + /** * Class for handling remote input state over a set of notifications. This class handles things * like keeping notifications temporarily that were cancelled as a response to a remote input * interaction, keeping track of notifications to remove when NotificationPresenter is collapsed, * and handling clicks on remote views. */ -public class NotificationRemoteInputManager implements Dumpable { +@SysUISingleton +public class NotificationRemoteInputManager implements CoreStartable { public static final boolean ENABLE_REMOTE_INPUT = SystemProperties.getBoolean("debug.enable_remote_input", true); public static boolean FORCE_REMOTE_INPUT_HISTORY = @@ -94,6 +100,8 @@ public class NotificationRemoteInputManager implements Dumpable { private final NotificationVisibilityProvider mVisibilityProvider; private final PowerInteractor mPowerInteractor; private final ActionClickLogger mLogger; + private final JavaAdapter mJavaAdapter; + private final ShadeInteractor mShadeInteractor; protected final Context mContext; protected final NotifPipelineFlags mNotifPipelineFlags; private final UserManager mUserManager; @@ -249,6 +257,7 @@ public class NotificationRemoteInputManager implements Dumpable { /** * Injected constructor. See {@link CentralSurfacesDependenciesModule}. */ + @Inject public NotificationRemoteInputManager( Context context, NotifPipelineFlags notifPipelineFlags, @@ -261,7 +270,8 @@ public class NotificationRemoteInputManager implements Dumpable { RemoteInputControllerLogger remoteInputControllerLogger, NotificationClickNotifier clickNotifier, ActionClickLogger logger, - DumpManager dumpManager) { + JavaAdapter javaAdapter, + ShadeInteractor shadeInteractor) { mContext = context; mNotifPipelineFlags = notifPipelineFlags; mLockscreenUserManager = lockscreenUserManager; @@ -269,6 +279,8 @@ public class NotificationRemoteInputManager implements Dumpable { mVisibilityProvider = visibilityProvider; mPowerInteractor = powerInteractor; mLogger = logger; + mJavaAdapter = javaAdapter; + mShadeInteractor = shadeInteractor; mBarService = IStatusBarService.Stub.asInterface( ServiceManager.getService(Context.STATUS_BAR_SERVICE)); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); @@ -277,8 +289,25 @@ public class NotificationRemoteInputManager implements Dumpable { mRemoteInputUriController = remoteInputUriController; mRemoteInputControllerLogger = remoteInputControllerLogger; mClickNotifier = clickNotifier; + } + + @Override + public void start() { + mJavaAdapter.alwaysCollectFlow(mShadeInteractor.isAnyExpanded(), + this::onShadeOrQsExpanded); + } - dumpManager.registerDumpable(this); + private void onShadeOrQsExpanded(boolean expanded) { + if (expanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) { + try { + mBarService.clearNotificationEffects(); + } catch (RemoteException e) { + // Won't fail unless the world has ended. + } + } + if (!expanded) { + onPanelCollapsed(); + } } /** Add a listener for various remote input events. Works with NEW pipeline only. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java index 37a4ef168423..537f8a866fed 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java @@ -42,15 +42,16 @@ import com.android.internal.jank.InteractionJankMonitor.Configuration; import com.android.internal.logging.UiEventLogger; import com.android.keyguard.KeyguardClockSwitch; import com.android.systemui.DejankUtils; -import com.android.systemui.Dumpable; -import com.android.systemui.res.R; import com.android.systemui.dagger.SysUISingleton; -import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; -import com.android.systemui.shade.ShadeExpansionStateManager; +import com.android.systemui.res.R; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.notification.stack.StackStateAnimator; import com.android.systemui.statusbar.policy.CallbackController; import com.android.systemui.util.Compile; +import com.android.systemui.util.kotlin.JavaAdapter; + +import dagger.Lazy; import java.io.PrintWriter; import java.util.ArrayList; @@ -64,8 +65,7 @@ import javax.inject.Inject; @SysUISingleton public class StatusBarStateControllerImpl implements SysuiStatusBarStateController, - CallbackController<StateListener>, - Dumpable { + CallbackController<StateListener> { private static final String TAG = "SbStateController"; private static final boolean DEBUG_IMMERSIVE_APPS = SystemProperties.getBoolean("persist.debug.immersive_apps", false); @@ -95,6 +95,8 @@ public class StatusBarStateControllerImpl implements private final ArrayList<RankedListener> mListeners = new ArrayList<>(); private final UiEventLogger mUiEventLogger; private final InteractionJankMonitor mInteractionJankMonitor; + private final JavaAdapter mJavaAdapter; + private final Lazy<ShadeInteractor> mShadeInteractorLazy; private int mState; private int mLastState; private int mUpcomingState; @@ -156,18 +158,22 @@ public class StatusBarStateControllerImpl implements @Inject public StatusBarStateControllerImpl( UiEventLogger uiEventLogger, - DumpManager dumpManager, InteractionJankMonitor interactionJankMonitor, - ShadeExpansionStateManager shadeExpansionStateManager - ) { + JavaAdapter javaAdapter, + Lazy<ShadeInteractor> shadeInteractorLazy) { mUiEventLogger = uiEventLogger; mInteractionJankMonitor = interactionJankMonitor; + mJavaAdapter = javaAdapter; + mShadeInteractorLazy = shadeInteractorLazy; for (int i = 0; i < HISTORY_SIZE; i++) { mHistoricalRecords[i] = new HistoricalState(); } - shadeExpansionStateManager.addFullExpansionListener(this::onShadeExpansionFullyChanged); + } - dumpManager.registerDumpable(this); + @Override + public void start() { + mJavaAdapter.alwaysCollectFlow(mShadeInteractorLazy.get().isAnyExpanded(), + this::onShadeOrQsExpanded); } @Override @@ -345,7 +351,7 @@ public class StatusBarStateControllerImpl implements } } - private void onShadeExpansionFullyChanged(Boolean isExpanded) { + private void onShadeOrQsExpanded(Boolean isExpanded) { if (mIsExpanded != isExpanded) { mIsExpanded = isExpanded; String tag = getClass().getSimpleName() + "#setIsExpanded"; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SysuiStatusBarStateController.java b/packages/SystemUI/src/com/android/systemui/statusbar/SysuiStatusBarStateController.java index aa32d5c4dee9..8104755b5e7b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SysuiStatusBarStateController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SysuiStatusBarStateController.java @@ -21,6 +21,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; import android.annotation.IntDef; import android.view.View; +import com.android.systemui.CoreStartable; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.CentralSurfaces; @@ -29,7 +30,7 @@ import java.lang.annotation.Retention; /** * Sends updates to {@link StateListener}s about changes to the status bar state and dozing state */ -public interface SysuiStatusBarStateController extends StatusBarStateController { +public interface SysuiStatusBarStateController extends StatusBarStateController, CoreStartable { // TODO: b/115739177 (remove this explicit ordering if we can) @Retention(SOURCE) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java index 1fe6b83b47b1..a957095536eb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java @@ -23,6 +23,7 @@ import android.util.Log; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.statusbar.IStatusBarService; +import com.android.systemui.CoreStartable; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.AnimationFeatureFlags; import com.android.systemui.animation.DialogLaunchAnimator; @@ -33,24 +34,19 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.media.controls.pipeline.MediaDataManager; -import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.power.domain.interactor.PowerInteractor; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.shade.NotificationPanelViewController; import com.android.systemui.shade.ShadeSurface; import com.android.systemui.shade.carrier.ShadeCarrierGroupController; -import com.android.systemui.statusbar.ActionClickLogger; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationClickNotifier; -import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.SmartReplyController; import com.android.systemui.statusbar.StatusBarStateControllerImpl; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.commandline.CommandRegistry; -import com.android.systemui.statusbar.notification.NotifPipelineFlags; -import com.android.systemui.statusbar.notification.RemoteInputControllerLogger; import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; @@ -63,12 +59,13 @@ import com.android.systemui.statusbar.phone.StatusBarIconList; import com.android.systemui.statusbar.phone.StatusBarNotificationPresenterModule; import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; import com.android.systemui.statusbar.policy.KeyguardStateController; -import com.android.systemui.statusbar.policy.RemoteInputUriController; import dagger.Binds; import dagger.Lazy; import dagger.Module; import dagger.Provides; +import dagger.multibindings.ClassKey; +import dagger.multibindings.IntoMap; /** * This module provides instances needed to construct {@link CentralSurfacesImpl}. These are moved to @@ -78,36 +75,12 @@ import dagger.Provides; */ @Module(includes = {StatusBarNotificationPresenterModule.class}) public interface CentralSurfacesDependenciesModule { + /** */ - @SysUISingleton - @Provides - static NotificationRemoteInputManager provideNotificationRemoteInputManager( - Context context, - NotifPipelineFlags notifPipelineFlags, - NotificationLockscreenUserManager lockscreenUserManager, - SmartReplyController smartReplyController, - NotificationVisibilityProvider visibilityProvider, - PowerInteractor powerInteractor, - StatusBarStateController statusBarStateController, - RemoteInputUriController remoteInputUriController, - RemoteInputControllerLogger remoteInputControllerLogger, - NotificationClickNotifier clickNotifier, - ActionClickLogger actionClickLogger, - DumpManager dumpManager) { - return new NotificationRemoteInputManager( - context, - notifPipelineFlags, - lockscreenUserManager, - smartReplyController, - visibilityProvider, - powerInteractor, - statusBarStateController, - remoteInputUriController, - remoteInputControllerLogger, - clickNotifier, - actionClickLogger, - dumpManager); - } + @Binds + @IntoMap + @ClassKey(NotificationRemoteInputManager.class) + CoreStartable bindsStartNotificationRemoteInputManager(NotificationRemoteInputManager nrim); /** */ @SysUISingleton @@ -164,20 +137,23 @@ public interface CentralSurfacesDependenciesModule { return new CommandQueue(context, displayTracker, registry, dumpHandler, powerInteractor); } - /** - */ + /** */ @Binds ManagedProfileController provideManagedProfileController( ManagedProfileControllerImpl controllerImpl); - /** - */ + /** */ @Binds SysuiStatusBarStateController providesSysuiStatusBarStateController( StatusBarStateControllerImpl statusBarStateControllerImpl); - /** - */ + /** */ + @Binds + @IntoMap + @ClassKey(SysuiStatusBarStateController.class) + CoreStartable bindsStartStatusBarStateController(StatusBarStateControllerImpl sbsc); + + /** */ @Binds StatusBarIconController provideStatusBarIconController( StatusBarIconControllerImpl controllerImpl); @@ -212,16 +188,14 @@ public interface CentralSurfacesDependenciesModule { ShadeCarrierGroupController.SlotIndexResolver provideSlotIndexResolver( ShadeCarrierGroupController.SubscriptionManagerSlotIndexResolver impl); - /** - */ + /** */ @Provides @SysUISingleton static ActivityLaunchAnimator provideActivityLaunchAnimator() { return new ActivityLaunchAnimator(); } - /** - */ + /** */ @Provides @SysUISingleton static DialogLaunchAnimator provideDialogLaunchAnimator(IDreamManager dreamManager, @@ -253,8 +227,7 @@ public interface CentralSurfacesDependenciesModule { return new DialogLaunchAnimator(callback, interactionJankMonitor, animationFeatureFlags); } - /** - */ + /** */ @Provides @SysUISingleton static AnimationFeatureFlags provideAnimationFeatureFlags(FeatureFlags featureFlags) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventCoordinator.kt index 8ee1ade7a185..e9d5deccac94 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventCoordinator.kt @@ -24,7 +24,6 @@ import com.android.systemui.res.R import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor -import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor.State import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.privacy.PrivacyChipBuilder @@ -35,7 +34,6 @@ import com.android.systemui.util.time.SystemClock import javax.inject.Inject import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job -import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach @@ -56,8 +54,7 @@ constructor( connectedDisplayInteractor: ConnectedDisplayInteractor ) { private val onDisplayConnectedFlow = - connectedDisplayInteractor.connectedDisplayState - .filter { it != State.DISCONNECTED } + connectedDisplayInteractor.connectedDisplayAddition private var connectedDisplayCollectionJob: Job? = null private lateinit var scheduler: SystemStatusAnimationScheduler diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt index 0190d5c9759b..2cd55609a749 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt @@ -61,7 +61,9 @@ import com.android.systemui.smartspace.dagger.SmartspaceModule.Companion.WEATHER import com.android.systemui.statusbar.phone.KeyguardBypassController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.DeviceProvisionedController +import com.android.systemui.util.asIndenting import com.android.systemui.util.concurrency.Execution +import com.android.systemui.util.printCollection import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.time.SystemClock import java.io.PrintWriter @@ -587,10 +589,9 @@ constructor( return null } - override fun dump(pw: PrintWriter, args: Array<out String>) { - pw.println("Region Samplers: ${regionSamplers.size}") - regionSamplers.map { (_, sampler) -> - sampler.dump(pw) + override fun dump(pw: PrintWriter, args: Array<out String>) = pw.asIndenting().run { + printCollection("Region Samplers", regionSamplers.values) { + it.dump(this) } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt index 9a93abd463c7..b200136b1b43 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt @@ -28,6 +28,10 @@ import com.android.systemui.statusbar.notification.collection.render.NotifGutsVi import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewManager import com.android.systemui.statusbar.notification.row.NotificationGuts import com.android.systemui.statusbar.notification.row.NotificationGutsManager +import com.android.systemui.util.asIndenting +import com.android.systemui.util.printCollection +import com.android.systemui.util.println +import com.android.systemui.util.withIncreasedIndent import java.io.PrintWriter import javax.inject.Inject @@ -54,7 +58,7 @@ class GutsCoordinator @Inject constructor( private var onEndLifetimeExtensionCallback: OnEndLifetimeExtensionCallback? = null init { - dumpManager.registerDumpable(TAG, this) + dumpManager.registerDumpable(this) } override fun attach(pipeline: NotifPipeline) { @@ -62,16 +66,12 @@ class GutsCoordinator @Inject constructor( pipeline.addNotificationLifetimeExtender(mLifetimeExtender) } - override fun dump(pw: PrintWriter, args: Array<String>) { - pw.println(" notifsWithOpenGuts: ${notifsWithOpenGuts.size}") - for (key in notifsWithOpenGuts) { - pw.println(" * $key") + override fun dump(pw: PrintWriter, args: Array<String>) = pw.asIndenting().run { + withIncreasedIndent { + printCollection("notifsWithOpenGuts", notifsWithOpenGuts) + printCollection("notifsExtendingLifetime", notifsExtendingLifetime) + println("onEndLifetimeExtensionCallback", onEndLifetimeExtensionCallback) } - pw.println(" notifsExtendingLifetime: ${notifsExtendingLifetime.size}") - for (key in notifsExtendingLifetime) { - pw.println(" * $key") - } - pw.println(" onEndLifetimeExtensionCallback: $onEndLifetimeExtensionCallback") } private val mLifetimeExtender: NotifLifetimeExtender = object : NotifLifetimeExtender { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt index 07e84bb37fa0..e0c4bfab153e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt @@ -16,8 +16,6 @@ package com.android.systemui.statusbar.notification.collection.coordinator -import com.android.systemui.flags.FeatureFlagsClassic -import com.android.systemui.flags.Flags import com.android.systemui.statusbar.notification.collection.ListEntry import com.android.systemui.statusbar.notification.collection.NotifPipeline import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope @@ -25,6 +23,7 @@ import com.android.systemui.statusbar.notification.collection.render.GroupExpans import com.android.systemui.statusbar.notification.collection.render.NotifStackController import com.android.systemui.statusbar.notification.collection.render.NotifStats import com.android.systemui.statusbar.notification.domain.interactor.RenderNotificationListInteractor +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import com.android.systemui.statusbar.notification.stack.BUCKET_SILENT import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.util.traceSection @@ -38,7 +37,6 @@ import javax.inject.Inject class StackCoordinator @Inject internal constructor( - private val featureFlags: FeatureFlagsClassic, private val groupExpansionManagerImpl: GroupExpansionManagerImpl, private val notificationIconAreaController: NotificationIconAreaController, private val renderListInteractor: RenderNotificationListInteractor, @@ -52,7 +50,7 @@ internal constructor( fun onAfterRenderList(entries: List<ListEntry>, controller: NotifStackController) = traceSection("StackCoordinator.onAfterRenderList") { controller.setNotifStats(calculateNotifStats(entries)) - if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled) { renderListInteractor.setRenderedList(entries) } else { notificationIconAreaController.updateNotificationIcons(entries) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTracker.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTracker.kt index 8bce5b011d0c..5e5f2a12cdf3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTracker.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionInconsistencyTracker.kt @@ -20,6 +20,8 @@ import android.service.notification.NotificationListenerService.RankingMap import android.util.ArrayMap import com.android.internal.annotations.VisibleForTesting import com.android.systemui.statusbar.notification.collection.NotificationEntry +import com.android.systemui.util.asIndenting +import com.android.systemui.util.printCollection import java.io.PrintWriter class NotifCollectionInconsistencyTracker(val logger: NotifCollectionLogger) { @@ -104,15 +106,9 @@ class NotifCollectionInconsistencyTracker(val logger: NotifCollectionLogger) { } } - fun dump(pw: PrintWriter) { - pw.println("notificationsWithoutRankings: ${notificationsWithoutRankings.size}") - for (key in notificationsWithoutRankings) { - pw.println("\t * : $key") - } - pw.println("missingNotifications: ${missingNotifications.size}") - for (key in missingNotifications) { - pw.println("\t * : $key") - } + fun dump(pw: PrintWriter) = pw.asIndenting().run { + printCollection("notificationsWithoutRankings", notificationsWithoutRankings) + printCollection("missingNotifications", missingNotifications) } private var attached: Boolean = false diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/SelfTrackingLifetimeExtender.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/SelfTrackingLifetimeExtender.kt index febc011043a0..7b0a28a0ef8e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/SelfTrackingLifetimeExtender.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/SelfTrackingLifetimeExtender.kt @@ -5,6 +5,10 @@ import android.util.ArrayMap import android.util.Log import com.android.systemui.Dumpable import com.android.systemui.statusbar.notification.collection.NotificationEntry +import com.android.systemui.util.asIndenting +import com.android.systemui.util.printCollection +import com.android.systemui.util.println +import com.android.systemui.util.withIncreasedIndent import java.io.PrintWriter /** @@ -104,9 +108,10 @@ abstract class SelfTrackingLifetimeExtender( mCallback = callback } - final override fun dump(pw: PrintWriter, args: Array<out String>) { - pw.println("LifetimeExtender: $name:") - pw.println(" mEntriesExtended: ${mEntriesExtended.size}") - mEntriesExtended.forEach { pw.println(" * ${it.key}") } + final override fun dump(pw: PrintWriter, args: Array<out String>) = pw.asIndenting().run { + println("LifetimeExtender", name) + withIncreasedIndent { + printCollection("mEntriesExtended", mEntriesExtended.keys) + } } }
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt index c873e6ad36d4..58712bf8e304 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/DebugModeFilterProvider.kt @@ -26,6 +26,9 @@ import com.android.systemui.statusbar.commandline.CommandRegistry import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.util.Assert import com.android.systemui.util.ListenerSet +import com.android.systemui.util.asIndenting +import com.android.systemui.util.printCollection +import com.android.systemui.util.println import java.io.PrintWriter import javax.inject.Inject @@ -86,12 +89,9 @@ class DebugModeFilterProvider @Inject constructor( return entry.sbn.packageName !in allowedPackages } - override fun dump(pw: PrintWriter, args: Array<out String>) { - pw.println("initialized: ${listeners.isNotEmpty()}") - pw.println("allowedPackages: ${allowedPackages.size}") - allowedPackages.forEachIndexed { i, pkg -> - pw.println(" [$i]: $pkg") - } + override fun dump(pw: PrintWriter, args: Array<out String>) = pw.asIndenting().run { + println("initialized", listeners.isNotEmpty()) + printCollection("allowedPackages", allowedPackages) } companion object { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt index 78e9a740a547..9326d3385d65 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/NotificationDismissibilityProviderImpl.kt @@ -22,7 +22,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dump.DumpManager import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.util.asIndenting -import com.android.systemui.util.withIncreasedIndent +import com.android.systemui.util.printCollection import java.io.PrintWriter import javax.inject.Inject @@ -49,11 +49,7 @@ class NotificationDismissibilityProviderImpl @Inject constructor(dumpManager: Du } override fun dump(pw: PrintWriter, args: Array<out String>) = - pw.asIndenting().run { - println("non-dismissible entries: ${nonDismissableEntryKeys.size}") - - withIncreasedIndent { nonDismissableEntryKeys.forEach(this::println) } - } + pw.asIndenting().run { printCollection("non-dismissible entries", nonDismissableEntryKeys) } companion object { private const val TAG = "NotificationDismissibilityProvider" diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java index ba916542fa67..9c51e3bb8110 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java @@ -234,26 +234,24 @@ public class FooterView extends StackScrollerDecorView { */ public void updateColors() { Resources.Theme theme = mContext.getTheme(); - final @ColorInt int textColor = getResources().getColor(R.color.notif_pill_text, theme); + final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(mContext, + com.android.internal.R.attr.materialColorOnSurface); + final @ColorInt int scHigh = Utils.getColorAttrDefaultColor(mContext, + com.android.internal.R.attr.materialColorSurfaceContainerHigh); final Drawable clearAllBg = theme.getDrawable(R.drawable.notif_footer_btn_background); final Drawable manageBg = theme.getDrawable(R.drawable.notif_footer_btn_background); // TODO(b/282173943): Remove redundant tinting once Resources are thread-safe - final @ColorInt int buttonBgColor = - Utils.getColorAttrDefaultColor(mContext, com.android.internal.R.attr.colorSurface); - final ColorFilter bgColorFilter = new PorterDuffColorFilter(buttonBgColor, SRC_ATOP); - if (buttonBgColor != 0) { + final ColorFilter bgColorFilter = new PorterDuffColorFilter(scHigh, SRC_ATOP); + if (scHigh != 0) { clearAllBg.setColorFilter(bgColorFilter); manageBg.setColorFilter(bgColorFilter); } mClearAllButton.setBackground(clearAllBg); - mClearAllButton.setTextColor(textColor); + mClearAllButton.setTextColor(onSurface); mManageButton.setBackground(manageBg); - mManageButton.setTextColor(textColor); - final @ColorInt int labelTextColor = - Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorPrimary); - mSeenNotifsFooterTextView.setTextColor(labelTextColor); - mSeenNotifsFooterTextView.setCompoundDrawableTintList( - ColorStateList.valueOf(labelTextColor)); + mManageButton.setTextColor(onSurface); + mSeenNotifsFooterTextView.setTextColor(onSurface); + mSeenNotifsFooterTextView.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface)); } private void updateResources() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconAreaControllerViewBinderWrapperImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconAreaControllerViewBinderWrapperImpl.kt index 41b42e32c48d..1992ea8709c4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconAreaControllerViewBinderWrapperImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconAreaControllerViewBinderWrapperImpl.kt @@ -22,6 +22,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.statusbar.NotificationShelfController import com.android.systemui.statusbar.StatusBarIconView import com.android.systemui.statusbar.notification.collection.ListEntry +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import com.android.systemui.statusbar.notification.shelf.ui.viewbinder.NotificationShelfViewBinderWrapperControllerImpl import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.phone.NotificationIconContainer @@ -71,7 +72,8 @@ class NotificationIconAreaControllerViewBinderWrapperImpl @Inject constructor() val unsupported: Nothing get() = error( - "Code path not supported when NOTIFICATION_ICON_CONTAINER_REFACTOR is disabled" + "Code path not supported when ${NotificationIconContainerRefactor.FLAG_NAME}" + + " is disabled" ) } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt index 75926194af58..c1f728a0b06e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt @@ -17,13 +17,15 @@ package com.android.systemui.statusbar.notification.icon.ui.viewbinder import android.animation.Animator import android.animation.AnimatorListenerAdapter +import android.graphics.Color import android.graphics.Rect import android.view.View +import android.view.ViewGroup import android.view.ViewPropertyAnimator import android.widget.FrameLayout +import androidx.annotation.ColorInt import androidx.collection.ArrayMap -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.repeatOnLifecycle +import androidx.lifecycle.lifecycleScope import com.android.app.animation.Interpolators import com.android.internal.policy.SystemBarUtils import com.android.internal.util.ContrastColorUtil @@ -37,9 +39,12 @@ import com.android.systemui.statusbar.StatusBarIconView import com.android.systemui.statusbar.notification.NotificationUtils import com.android.systemui.statusbar.notification.collection.NotifCollection import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder.IconViewStore -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconColors -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconsViewData +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconColorLookup +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconColors +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerAlwaysOnDisplayViewModel +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerShelfViewModel +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerStatusBarViewModel +import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconsViewData import com.android.systemui.statusbar.phone.DozeParameters import com.android.systemui.statusbar.phone.NotificationIconContainer import com.android.systemui.statusbar.phone.ScreenOffAnimationController @@ -49,6 +54,7 @@ import com.android.systemui.util.children import com.android.systemui.util.kotlin.mapValuesNotNullTo import com.android.systemui.util.kotlin.sample import com.android.systemui.util.kotlin.stateFlow +import com.android.systemui.util.ui.AnimatedValue import com.android.systemui.util.ui.isAnimating import com.android.systemui.util.ui.stopAnimating import com.android.systemui.util.ui.value @@ -62,12 +68,53 @@ import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -/** Binds a [NotificationIconContainer] to its [view model][NotificationIconContainerViewModel]. */ +/** Binds a view-model to a [NotificationIconContainer]. */ object NotificationIconContainerViewBinder { @JvmStatic fun bind( view: NotificationIconContainer, - viewModel: NotificationIconContainerViewModel, + viewModel: NotificationIconContainerShelfViewModel, + configuration: ConfigurationState, + configurationController: ConfigurationController, + viewStore: ShelfNotificationIconViewStore, + ): DisposableHandle { + return view.repeatWhenAttached { + lifecycleScope.launch { + viewModel.icons.bindIcons(view, configuration, configurationController, viewStore) + } + } + } + + @JvmStatic + fun bind( + view: NotificationIconContainer, + viewModel: NotificationIconContainerStatusBarViewModel, + configuration: ConfigurationState, + configurationController: ConfigurationController, + viewStore: StatusBarNotificationIconViewStore, + ): DisposableHandle { + val contrastColorUtil = ContrastColorUtil.getInstance(view.context) + return view.repeatWhenAttached { + lifecycleScope.run { + launch { + viewModel.icons.bindIcons( + view, + configuration, + configurationController, + viewStore + ) + } + launch { viewModel.iconColors.bindIconColors(view, contrastColorUtil) } + launch { viewModel.bindIsolatedIcon(view, viewStore) } + launch { viewModel.animationsEnabled.bindAnimationsEnabled(view) } + } + } + } + + @JvmStatic + fun bind( + view: NotificationIconContainer, + viewModel: NotificationIconContainerAlwaysOnDisplayViewModel, configuration: ConfigurationState, configurationController: ConfigurationController, dozeParameters: DozeParameters, @@ -75,60 +122,72 @@ object NotificationIconContainerViewBinder { screenOffAnimationController: ScreenOffAnimationController, viewStore: IconViewStore, ): DisposableHandle { - val contrastColorUtil = ContrastColorUtil.getInstance(view.context) return view.repeatWhenAttached { - repeatOnLifecycle(Lifecycle.State.CREATED) { - launch { bindAnimationsEnabled(viewModel, view) } - launch { bindIsDozing(viewModel, view, dozeParameters) } + lifecycleScope.launch { + launch { + viewModel.icons.bindIcons( + view, + configuration, + configurationController, + viewStore, + ) + } + launch { viewModel.animationsEnabled.bindAnimationsEnabled(view) } + launch { viewModel.isDozing.bindIsDozing(view, dozeParameters) } // TODO(b/278765923): this should live where AOD is bound, not inside of the NIC // view-binder launch { - bindVisibility( - viewModel, + viewModel.isVisible.bindIsVisible( view, configuration, featureFlags, screenOffAnimationController, ) } - launch { bindIconColors(viewModel, view, contrastColorUtil) } launch { - bindIconViewData( - viewModel, - view, - configuration, - configurationController, - viewStore, - ) + configuration + .getColorAttr(R.attr.wallpaperTextColor, DEFAULT_AOD_ICON_COLOR) + .bindIconColors(view) } - launch { bindIsolatedIcon(viewModel, view, viewStore) } } } } - private suspend fun bindAnimationsEnabled( - viewModel: NotificationIconContainerViewModel, - view: NotificationIconContainer - ) { - viewModel.animationsEnabled.collect(view::setAnimationsEnabled) + /** Binds to [NotificationIconContainer.setAnimationsEnabled] */ + private suspend fun Flow<Boolean>.bindAnimationsEnabled(view: NotificationIconContainer) { + collect(view::setAnimationsEnabled) } - private suspend fun bindIconColors( - viewModel: NotificationIconContainerViewModel, + /** + * Binds to the [StatusBarIconView.setStaticDrawableColor] and [StatusBarIconView.setDecorColor] + * of the [children] of an [NotificationIconContainer]. + */ + private suspend fun Flow<NotificationIconColorLookup>.bindIconColors( view: NotificationIconContainer, contrastColorUtil: ContrastColorUtil, ) { - viewModel.iconColors - .mapNotNull { lookup -> lookup.iconColors(view.viewBounds) } - .collect { iconLookup -> applyTint(view, iconLookup, contrastColorUtil) } + mapNotNull { lookup -> lookup.iconColors(view.viewBounds) } + .collect { iconLookup -> view.applyTint(iconLookup, contrastColorUtil) } } - private suspend fun bindIsDozing( - viewModel: NotificationIconContainerViewModel, + /** + * Binds to the [StatusBarIconView.setStaticDrawableColor] and [StatusBarIconView.setDecorColor] + * of the [children] of an [NotificationIconContainer]. + */ + private suspend fun Flow<Int>.bindIconColors(view: NotificationIconContainer) { + collect { tint -> + view.children.filterIsInstance<StatusBarIconView>().forEach { icon -> + icon.staticDrawableColor = tint + icon.setDecorColor(tint) + } + } + } + + private suspend fun Flow<AnimatedValue<Boolean>>.bindIsDozing( view: NotificationIconContainer, dozeParameters: DozeParameters, ) { - viewModel.isDozing.collect { isDozing -> + collect { isDozing -> if (isDozing.isAnimating) { val animate = !dozeParameters.displayNeedsBlanking view.setDozing( @@ -147,19 +206,18 @@ object NotificationIconContainerViewBinder { } } - private suspend fun bindIsolatedIcon( - viewModel: NotificationIconContainerViewModel, + private suspend fun NotificationIconContainerStatusBarViewModel.bindIsolatedIcon( view: NotificationIconContainer, viewStore: IconViewStore, ) { coroutineScope { launch { - viewModel.isolatedIconLocation.collect { location -> + isolatedIconLocation.collect { location -> view.setIsolatedIconLocation(location, true) } } launch { - viewModel.isolatedIcon.collect { iconInfo -> + isolatedIcon.collect { iconInfo -> val iconView = iconInfo.value?.let { viewStore.iconView(it.notifKey) } if (iconInfo.isAnimating) { view.showIconIsolatedAnimated(iconView, iconInfo::stopAnimating) @@ -171,8 +229,8 @@ object NotificationIconContainerViewBinder { } } - private suspend fun bindIconViewData( - viewModel: NotificationIconContainerViewModel, + /** Binds [NotificationIconsViewData] to a [NotificationIconContainer]'s [children]. */ + private suspend fun Flow<NotificationIconsViewData>.bindIcons( view: NotificationIconContainer, configuration: ConfigurationState, configurationController: ConfigurationController, @@ -205,11 +263,11 @@ object NotificationIconContainerViewBinder { } } - var prevIcons = IconsViewData() - viewModel.iconsViewData.sample(layoutParams, ::Pair).collect { - (iconsData: IconsViewData, layoutParams: FrameLayout.LayoutParams), + var prevIcons = NotificationIconsViewData() + sample(layoutParams, ::Pair).collect { + (iconsData: NotificationIconsViewData, layoutParams: FrameLayout.LayoutParams), -> - val iconsDiff = IconsViewData.computeDifference(iconsData, prevIcons) + val iconsDiff = NotificationIconsViewData.computeDifference(iconsData, prevIcons) prevIcons = iconsData val replacingIcons = @@ -255,30 +313,27 @@ object NotificationIconContainerViewBinder { // TODO(b/305739416): Once StatusBarIconView has its own Recommended Architecture stack, this // can be moved there and cleaned up. - private fun applyTint( - view: NotificationIconContainer, - iconColors: IconColors, + private fun ViewGroup.applyTint( + iconColors: NotificationIconColors, contrastColorUtil: ContrastColorUtil, ) { - view.children + children .filterIsInstance<StatusBarIconView>() .filter { it.width != 0 } - .forEach { iv -> updateTintForIcon(iv, iconColors, contrastColorUtil) } + .forEach { iv -> iv.updateTintForIcon(iconColors, contrastColorUtil) } } - private fun updateTintForIcon( - v: StatusBarIconView, - iconColors: IconColors, + private fun StatusBarIconView.updateTintForIcon( + iconColors: NotificationIconColors, contrastColorUtil: ContrastColorUtil, ) { - val isPreL = java.lang.Boolean.TRUE == v.getTag(R.id.icon_is_pre_L) - val isColorized = !isPreL || NotificationUtils.isGrayscale(v, contrastColorUtil) - v.staticDrawableColor = iconColors.staticDrawableColor(v.viewBounds, isColorized) - v.setDecorColor(iconColors.tint) + val isPreL = java.lang.Boolean.TRUE == getTag(R.id.icon_is_pre_L) + val isColorized = !isPreL || NotificationUtils.isGrayscale(this, contrastColorUtil) + staticDrawableColor = iconColors.staticDrawableColor(viewBounds, isColorized) + setDecorColor(iconColors.tint) } - private suspend fun bindVisibility( - viewModel: NotificationIconContainerViewModel, + private suspend fun Flow<AnimatedValue<Boolean>>.bindIsVisible( view: NotificationIconContainer, configuration: ConfigurationState, featureFlags: FeatureFlagsClassic, @@ -287,7 +342,7 @@ object NotificationIconContainerViewBinder { val iconAppearTranslation = configuration.getDimensionPixelSize(R.dimen.shelf_appear_translation).stateIn(this) val statusViewMigrated = featureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW) - viewModel.isVisible.collect { isVisible -> + collect { isVisible -> view.animate().cancel() val animatorListener = object : AnimatorListenerAdapter() { @@ -304,7 +359,7 @@ object NotificationIconContainerViewBinder { view.visibility = if (isVisible.value) View.VISIBLE else View.INVISIBLE } featureFlags.isEnabled(Flags.NEW_AOD_TRANSITION) -> { - animateInIconTranslation(view, statusViewMigrated) + view.animateInIconTranslation(statusViewMigrated) if (isVisible.value) { CrossFadeHelper.fadeIn(view, animatorListener) } else { @@ -313,15 +368,14 @@ object NotificationIconContainerViewBinder { } !isVisible.value -> { // Let's make sure the icon are translated to 0, since we cancelled it above - animateInIconTranslation(view, statusViewMigrated) + view.animateInIconTranslation(statusViewMigrated) CrossFadeHelper.fadeOut(view, animatorListener) } view.visibility != View.VISIBLE -> { // No fading here, let's just appear the icons instead! view.visibility = View.VISIBLE view.alpha = 1f - appearIcons( - view, + view.appearIcons( animate = screenOffAnimationController.shouldAnimateAodIcons(), iconAppearTranslation.value, statusViewMigrated, @@ -330,7 +384,7 @@ object NotificationIconContainerViewBinder { } else -> { // Let's make sure the icons are translated to 0, since we cancelled it above - animateInIconTranslation(view, statusViewMigrated) + view.animateInIconTranslation(statusViewMigrated) // We were fading out, let's fade in instead CrossFadeHelper.fadeIn(view, animatorListener) } @@ -338,8 +392,7 @@ object NotificationIconContainerViewBinder { } } - private fun appearIcons( - view: View, + private fun View.appearIcons( animate: Boolean, iconAppearTranslation: Int, statusViewMigrated: Boolean, @@ -347,11 +400,10 @@ object NotificationIconContainerViewBinder { ) { if (animate) { if (!statusViewMigrated) { - view.translationY = -iconAppearTranslation.toFloat() + translationY = -iconAppearTranslation.toFloat() } - view.alpha = 0f - view - .animate() + alpha = 0f + animate() .alpha(1f) .setInterpolator(Interpolators.LINEAR) .setDuration(AOD_ICONS_APPEAR_DURATION) @@ -359,40 +411,29 @@ object NotificationIconContainerViewBinder { .setListener(animatorListener) .start() } else { - view.alpha = 1.0f + alpha = 1.0f if (!statusViewMigrated) { - view.translationY = 0f + translationY = 0f } } } - private fun animateInIconTranslation(view: View, statusViewMigrated: Boolean) { + private fun View.animateInIconTranslation(statusViewMigrated: Boolean) { if (!statusViewMigrated) { - view.animate().animateInIconTranslation().setDuration(AOD_ICONS_APPEAR_DURATION).start() + animate().animateInIconTranslation().setDuration(AOD_ICONS_APPEAR_DURATION).start() } } private fun ViewPropertyAnimator.animateInIconTranslation(): ViewPropertyAnimator = setInterpolator(Interpolators.DECELERATE_QUINT).translationY(0f) - private const val AOD_ICONS_APPEAR_DURATION: Long = 200 - - private val View.viewBounds: Rect - get() { - val tmpArray = intArrayOf(0, 0) - getLocationOnScreen(tmpArray) - return Rect( - /* left = */ tmpArray[0], - /* top = */ tmpArray[1], - /* right = */ left + width, - /* bottom = */ top + height, - ) - } - /** External storage for [StatusBarIconView] instances. */ fun interface IconViewStore { fun iconView(key: String): StatusBarIconView? } + + private const val AOD_ICONS_APPEAR_DURATION: Long = 200 + @ColorInt private val DEFAULT_AOD_ICON_COLOR = Color.WHITE } /** [IconViewStore] for the [com.android.systemui.statusbar.NotificationShelf] */ @@ -424,3 +465,15 @@ constructor( override fun iconView(key: String): StatusBarIconView? = notifCollection.getEntry(key)?.icons?.statusBarIcon } + +private val View.viewBounds: Rect + get() { + val tmpArray = intArrayOf(0, 0) + getLocationOnScreen(tmpArray) + return Rect( + /* left = */ tmpArray[0], + /* top = */ tmpArray[1], + /* right = */ left + width, + /* bottom = */ top + height, + ) + } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconColors.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconColors.kt new file mode 100644 index 000000000000..97d1e1b5f393 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconColors.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.statusbar.notification.icon.ui.viewmodel + +import android.graphics.Rect + +/** + * Lookup the colors to use for the notification icons based on the bounds of the icon container. A + * result of `null` indicates that no color changes should be applied. + */ +fun interface NotificationIconColorLookup { + fun iconColors(viewBounds: Rect): NotificationIconColors? +} + +/** Colors to apply to notification icons. */ +interface NotificationIconColors { + + /** A tint to apply to the icons. */ + val tint: Int + + /** + * Returns the color to be applied to an icon, based on that icon's view bounds and whether or + * not the notification icon is colorized. + */ + fun staticDrawableColor(viewBounds: Rect, isColorized: Boolean): Int +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModel.kt index 120d342b18d8..611ed89c89af 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModel.kt @@ -15,10 +15,7 @@ */ package com.android.systemui.statusbar.notification.icon.ui.viewmodel -import android.graphics.Color import android.graphics.Rect -import androidx.annotation.ColorInt -import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.dagger.SysUISingleton import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor import com.android.systemui.flags.FeatureFlagsClassic @@ -27,14 +24,9 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionStep -import com.android.systemui.res.R import com.android.systemui.shade.domain.interactor.ShadeInteractor import com.android.systemui.statusbar.notification.domain.interactor.NotificationsKeyguardInteractor import com.android.systemui.statusbar.notification.icon.domain.interactor.AlwaysOnDisplayNotificationIconsInteractor -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.ColorLookup -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconColors -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconInfo -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconsViewData import com.android.systemui.statusbar.phone.DozeParameters import com.android.systemui.statusbar.phone.ScreenOffAnimationController import com.android.systemui.util.kotlin.pairwise @@ -47,8 +39,6 @@ import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.emptyFlow -import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map /** View-model for the row of notification icons displayed on the always-on display. */ @@ -56,7 +46,6 @@ import kotlinx.coroutines.flow.map class NotificationIconContainerAlwaysOnDisplayViewModel @Inject constructor( - configuration: ConfigurationState, private val deviceEntryInteractor: DeviceEntryInteractor, private val dozeParameters: DozeParameters, private val featureFlags: FeatureFlagsClassic, @@ -66,14 +55,10 @@ constructor( private val notificationsKeyguardInteractor: NotificationsKeyguardInteractor, screenOffAnimationController: ScreenOffAnimationController, shadeInteractor: ShadeInteractor, -) : NotificationIconContainerViewModel { +) { - override val iconColors: Flow<ColorLookup> = - configuration.getColorAttr(R.attr.wallpaperTextColor, DEFAULT_AOD_ICON_COLOR).map { tint -> - ColorLookup { IconColorsImpl(tint) } - } - - override val animationsEnabled: Flow<Boolean> = + /** Are changes to the icon container animated? */ + val animationsEnabled: Flow<Boolean> = combine( shadeInteractor.isShadeTouchable, keyguardInteractor.isKeyguardVisible, @@ -81,7 +66,8 @@ constructor( panelTouchesEnabled && isKeyguardVisible } - override val isDozing: Flow<AnimatedValue<Boolean>> = + /** Should icons be rendered in "dozing" mode? */ + val isDozing: Flow<AnimatedValue<Boolean>> = keyguardTransitionInteractor.startedKeyguardTransitionStep // Determine if we're dozing based on the most recent transition .map { step: TransitionStep -> @@ -98,7 +84,8 @@ constructor( .distinctUntilChanged() .toAnimatedValueFlow() - override val isVisible: Flow<AnimatedValue<Boolean>> = + /** Is the icon container visible? */ + val isVisible: Flow<AnimatedValue<Boolean>> = combine( keyguardTransitionInteractor.finishedKeyguardState.map { it != KeyguardState.GONE }, deviceEntryInteractor.isBypassEnabled, @@ -136,17 +123,14 @@ constructor( } .distinctUntilChanged() - override val iconsViewData: Flow<IconsViewData> = + /** [NotificationIconsViewData] indicating which icons to display in the view. */ + val icons: Flow<NotificationIconsViewData> = iconsInteractor.aodNotifs.map { entries -> - IconsViewData( + NotificationIconsViewData( visibleKeys = entries.mapNotNull { it.toIconInfo(it.aodIcon) }, ) } - override val isolatedIcon: Flow<AnimatedValue<IconInfo?>> = - flowOf(AnimatedValue.NotAnimating(null)) - override val isolatedIconLocation: Flow<Rect> = emptyFlow() - /** Is there an expanded pulse, are we animating in response? */ private fun isPulseExpandingAnimated(): Flow<AnimatedValue<Boolean>> { return notificationsKeyguardInteractor.isPulseExpanding @@ -182,11 +166,7 @@ constructor( .toAnimatedValueFlow() } - private class IconColorsImpl(override val tint: Int) : IconColors { + private class IconColorsImpl(override val tint: Int) : NotificationIconColors { override fun staticDrawableColor(viewBounds: Rect, isColorized: Boolean): Int = tint } - - companion object { - @ColorInt private val DEFAULT_AOD_ICON_COLOR = Color.WHITE - } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerShelfViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerShelfViewModel.kt index c6aabb7527da..1560106bfadb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerShelfViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerShelfViewModel.kt @@ -15,16 +15,9 @@ */ package com.android.systemui.statusbar.notification.icon.ui.viewmodel -import android.graphics.Rect import com.android.systemui.statusbar.notification.icon.domain.interactor.NotificationIconsInteractor -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.ColorLookup -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconInfo -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconsViewData -import com.android.systemui.util.ui.AnimatedValue import javax.inject.Inject import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.emptyFlow -import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map /** View-model for the overflow row of notification icons displayed in the notification shade. */ @@ -32,19 +25,11 @@ class NotificationIconContainerShelfViewModel @Inject constructor( interactor: NotificationIconsInteractor, -) : NotificationIconContainerViewModel { - - override val animationsEnabled: Flow<Boolean> = flowOf(true) - override val isDozing: Flow<AnimatedValue<Boolean>> = emptyFlow() - override val isVisible: Flow<AnimatedValue<Boolean>> = emptyFlow() - override val iconColors: Flow<ColorLookup> = emptyFlow() - override val isolatedIcon: Flow<AnimatedValue<IconInfo?>> = - flowOf(AnimatedValue.NotAnimating(null)) - override val isolatedIconLocation: Flow<Rect> = emptyFlow() - - override val iconsViewData: Flow<IconsViewData> = +) { + /** [NotificationIconsViewData] indicating which icons to display in the view. */ + val icons: Flow<NotificationIconsViewData> = interactor.filteredNotifSet().map { entries -> - IconsViewData( + NotificationIconsViewData( visibleKeys = entries.mapNotNull { it.toIconInfo(it.shelfIcon) }, ) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModel.kt index 4d14024fcd99..53631e330d8c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModel.kt @@ -22,10 +22,6 @@ import com.android.systemui.shade.domain.interactor.ShadeInteractor import com.android.systemui.statusbar.notification.domain.interactor.ActiveNotificationsInteractor import com.android.systemui.statusbar.notification.domain.interactor.HeadsUpNotificationIconInteractor import com.android.systemui.statusbar.notification.icon.domain.interactor.StatusBarNotificationIconsInteractor -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.ColorLookup -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconColors -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconInfo -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconsViewData import com.android.systemui.statusbar.phone.domain.interactor.DarkIconInteractor import com.android.systemui.util.kotlin.pairwise import com.android.systemui.util.kotlin.sample @@ -35,7 +31,6 @@ import com.android.systemui.util.ui.toAnimatedValueFlow import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.map @@ -49,8 +44,10 @@ constructor( keyguardInteractor: KeyguardInteractor, notificationsInteractor: ActiveNotificationsInteractor, shadeInteractor: ShadeInteractor, -) : NotificationIconContainerViewModel { - override val animationsEnabled: Flow<Boolean> = +) { + + /** Are changes to the icon container animated? */ + val animationsEnabled: Flow<Boolean> = combine( shadeInteractor.isShadeTouchable, keyguardInteractor.isKeyguardShowing, @@ -58,14 +55,15 @@ constructor( panelTouchesEnabled && !isKeyguardShowing } - override val iconColors: Flow<ColorLookup> = + /** The colors with which to display the notification icons. */ + val iconColors: Flow<NotificationIconColorLookup> = combine( darkIconInteractor.tintAreas, darkIconInteractor.tintColor, // Included so that tints are re-applied after entries are changed. notificationsInteractor.notifications, ) { areas, tint, _ -> - ColorLookup { viewBounds: Rect -> + NotificationIconColorLookup { viewBounds: Rect -> if (DarkIconDispatcher.isInAreas(areas, viewBounds)) { IconColorsImpl(tint, areas) } else { @@ -74,20 +72,19 @@ constructor( } } - override val isDozing: Flow<AnimatedValue<Boolean>> = emptyFlow() - override val isVisible: Flow<AnimatedValue<Boolean>> = emptyFlow() - - override val iconsViewData: Flow<IconsViewData> = + /** [NotificationIconsViewData] indicating which icons to display in the view. */ + val icons: Flow<NotificationIconsViewData> = iconsInteractor.statusBarNotifs.map { entries -> - IconsViewData( + NotificationIconsViewData( visibleKeys = entries.mapNotNull { it.toIconInfo(it.statusBarIcon) }, ) } - override val isolatedIcon: Flow<AnimatedValue<IconInfo?>> = + /** An Icon to show "isolated" in the IconContainer. */ + val isolatedIcon: Flow<AnimatedValue<NotificationIconInfo?>> = headsUpIconInteractor.isolatedNotification .pairwise(initialValue = null) - .sample(combine(iconsViewData, shadeInteractor.shadeExpansion, ::Pair)) { + .sample(combine(icons, shadeInteractor.shadeExpansion, ::Pair)) { (prev, isolatedNotif), (iconsViewData, shadeExpansion), -> @@ -105,13 +102,14 @@ constructor( } .toAnimatedValueFlow() - override val isolatedIconLocation: Flow<Rect> = + /** Location to show an isolated icon, if there is one. */ + val isolatedIconLocation: Flow<Rect> = headsUpIconInteractor.isolatedIconLocation.filterNotNull() private class IconColorsImpl( override val tint: Int, private val areas: Collection<Rect>, - ) : IconColors { + ) : NotificationIconColors { override fun staticDrawableColor(viewBounds: Rect, isColorized: Boolean): Int { return if (isColorized && DarkIconDispatcher.isInAreas(areas, viewBounds)) { tint diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerViewModel.kt deleted file mode 100644 index a611323201e3..000000000000 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerViewModel.kt +++ /dev/null @@ -1,196 +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.statusbar.notification.icon.ui.viewmodel - -import android.graphics.Rect -import android.graphics.drawable.Icon -import androidx.collection.ArrayMap -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel.IconInfo -import com.android.systemui.statusbar.notification.shared.ActiveNotificationModel -import com.android.systemui.util.kotlin.mapValuesNotNullTo -import com.android.systemui.util.ui.AnimatedValue -import kotlinx.coroutines.flow.Flow - -/** - * View-model for the row of notification icons displayed in the NotificationShelf, StatusBar, and - * AOD. - */ -interface NotificationIconContainerViewModel { - - /** Are changes to the icon container animated? */ - val animationsEnabled: Flow<Boolean> - - /** Should icons be rendered in "dozing" mode? */ - val isDozing: Flow<AnimatedValue<Boolean>> - - /** Is the icon container visible? */ - val isVisible: Flow<AnimatedValue<Boolean>> - - /** The colors with which to display the notification icons. */ - val iconColors: Flow<ColorLookup> - - /** [IconsViewData] indicating which icons to display in the view. */ - val iconsViewData: Flow<IconsViewData> - - /** An Icon to show "isolated" in the IconContainer. */ - val isolatedIcon: Flow<AnimatedValue<IconInfo?>> - - /** Location to show an isolated icon, if there is one. */ - val isolatedIconLocation: Flow<Rect> - - /** - * Lookup the colors to use for the notification icons based on the bounds of the icon - * container. A result of `null` indicates that no color changes should be applied. - */ - fun interface ColorLookup { - fun iconColors(viewBounds: Rect): IconColors? - } - - /** Colors to apply to notification icons. */ - interface IconColors { - - /** A tint to apply to the icons. */ - val tint: Int - - /** - * Returns the color to be applied to an icon, based on that icon's view bounds and whether - * or not the notification icon is colorized. - */ - fun staticDrawableColor(viewBounds: Rect, isColorized: Boolean): Int - } - - /** Encapsulates the collection of notification icons present on the device. */ - data class IconsViewData( - /** Icons that are visible in the container. */ - val visibleKeys: List<IconInfo> = emptyList(), - /** Keys of icons that are "behind" the overflow dot. */ - val collapsedKeys: Set<String> = emptySet(), - /** Whether the overflow dot should be shown regardless if [collapsedKeys] is empty. */ - val forceShowDot: Boolean = false, - ) { - /** The difference between two [IconsViewData]s. */ - data class Diff( - /** Icons added in the newer dataset. */ - val added: List<IconInfo> = emptyList(), - /** Icons removed from the older dataset. */ - val removed: List<String> = emptyList(), - /** - * Groups whose icon was replaced with a single new notification icon. The key of the - * [Map] is the notification group key, and the value is the new icon. - * - * Specifically, this models a difference where the older dataset had notification - * groups with a single icon in the set, and the newer dataset has a single, different - * icon for the same group. A view binder can use this information for special - * animations for this specific change. - */ - val groupReplacements: Map<String, IconInfo> = emptyMap(), - ) - - companion object { - /** - * Returns an [IconsViewData.Diff] calculated from a [new] and [previous][prev] - * [IconsViewData] state. - */ - fun computeDifference(new: IconsViewData, prev: IconsViewData): Diff { - val added: List<IconInfo> = - new.visibleKeys.filter { - it.notifKey !in prev.visibleKeys.asSequence().map { it.notifKey } - } - val removed: List<IconInfo> = - prev.visibleKeys.filter { - it.notifKey !in new.visibleKeys.asSequence().map { it.notifKey } - } - val groupsToShow: Set<IconGroupInfo> = - new.visibleKeys.asSequence().map { it.groupInfo }.toSet() - val replacements: ArrayMap<String, IconInfo> = - removed - .asSequence() - .filter { keyToRemove -> keyToRemove.groupInfo in groupsToShow } - .groupBy { it.groupInfo.groupKey } - .mapValuesNotNullTo(ArrayMap()) { (_, vs) -> - vs.takeIf { it.size == 1 }?.get(0) - } - return Diff(added, removed.map { it.notifKey }, replacements) - } - } - } - - /** An Icon, and keys for unique identification. */ - data class IconInfo( - val sourceIcon: Icon, - val notifKey: String, - val groupKey: String, - ) -} - -/** - * Construct an [IconInfo] out of an [ActiveNotificationModel], or return `null` if one cannot be - * created due to missing information. - */ -fun ActiveNotificationModel.toIconInfo(sourceIcon: Icon?): IconInfo? { - return sourceIcon?.let { - groupKey?.let { groupKey -> - IconInfo( - sourceIcon = sourceIcon, - notifKey = key, - groupKey = groupKey, - ) - } - } -} - -private val IconInfo.groupInfo: IconGroupInfo - get() = IconGroupInfo(sourceIcon, groupKey) - -private data class IconGroupInfo( - val sourceIcon: Icon, - val groupKey: String, -) { - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as IconGroupInfo - - if (groupKey != other.groupKey) return false - return sourceIcon.sameAs(other.sourceIcon) - } - - override fun hashCode(): Int { - var result = groupKey.hashCode() - result = 31 * result + sourceIcon.type.hashCode() - when (sourceIcon.type) { - Icon.TYPE_BITMAP, - Icon.TYPE_ADAPTIVE_BITMAP -> { - result = 31 * result + sourceIcon.bitmap.hashCode() - } - Icon.TYPE_DATA -> { - result = 31 * result + sourceIcon.dataLength.hashCode() - result = 31 * result + sourceIcon.dataOffset.hashCode() - } - Icon.TYPE_RESOURCE -> { - result = 31 * result + sourceIcon.resId.hashCode() - result = 31 * result + sourceIcon.resPackage.hashCode() - } - Icon.TYPE_URI, - Icon.TYPE_URI_ADAPTIVE_BITMAP -> { - result = 31 * result + sourceIcon.uriString.hashCode() - } - } - return result - } -} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconsViewData.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconsViewData.kt new file mode 100644 index 000000000000..867be84f3a12 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconsViewData.kt @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + * + */ + +package com.android.systemui.statusbar.notification.icon.ui.viewmodel + +import android.graphics.drawable.Icon +import androidx.collection.ArrayMap +import com.android.systemui.statusbar.notification.shared.ActiveNotificationModel +import com.android.systemui.util.kotlin.mapValuesNotNullTo + +/** Encapsulates the collection of notification icons present on the device. */ +data class NotificationIconsViewData( + /** Icons that are visible in the container. */ + val visibleKeys: List<NotificationIconInfo> = emptyList(), + /** Keys of icons that are "behind" the overflow dot. */ + val collapsedKeys: Set<String> = emptySet(), + /** Whether the overflow dot should be shown regardless if [collapsedKeys] is empty. */ + val forceShowDot: Boolean = false, +) { + /** The difference between two [NotificationIconsViewData]s. */ + data class Diff( + /** Icons added in the newer dataset. */ + val added: List<NotificationIconInfo> = emptyList(), + /** Icons removed from the older dataset. */ + val removed: List<String> = emptyList(), + /** + * Groups whose icon was replaced with a single new notification icon. The key of the [Map] + * is the notification group key, and the value is the new icon. + * + * Specifically, this models a difference where the older dataset had notification groups + * with a single icon in the set, and the newer dataset has a single, different icon for the + * same group. A view binder can use this information for special animations for this + * specific change. + */ + val groupReplacements: Map<String, NotificationIconInfo> = emptyMap(), + ) + + companion object { + /** + * Returns an [NotificationIconsViewData.Diff] calculated from a [new] and [previous][prev] + * [NotificationIconsViewData] state. + */ + fun computeDifference( + new: NotificationIconsViewData, + prev: NotificationIconsViewData + ): Diff { + val added: List<NotificationIconInfo> = + new.visibleKeys.filter { + it.notifKey !in prev.visibleKeys.asSequence().map { it.notifKey } + } + val removed: List<NotificationIconInfo> = + prev.visibleKeys.filter { + it.notifKey !in new.visibleKeys.asSequence().map { it.notifKey } + } + val groupsToShow: Set<IconGroupInfo> = + new.visibleKeys.asSequence().map { it.groupInfo }.toSet() + val replacements: ArrayMap<String, NotificationIconInfo> = + removed + .asSequence() + .filter { keyToRemove -> keyToRemove.groupInfo in groupsToShow } + .groupBy { it.groupInfo.groupKey } + .mapValuesNotNullTo(ArrayMap()) { (_, vs) -> + vs.takeIf { it.size == 1 }?.get(0) + } + return Diff(added, removed.map { it.notifKey }, replacements) + } + } +} + +/** An Icon, and keys for unique identification. */ +data class NotificationIconInfo( + val sourceIcon: Icon, + val notifKey: String, + val groupKey: String, +) + +/** + * Construct an [NotificationIconInfo] out of an [ActiveNotificationModel], or return `null` if one + * cannot be created due to missing information. + */ +fun ActiveNotificationModel.toIconInfo(sourceIcon: Icon?): NotificationIconInfo? { + return sourceIcon?.let { + groupKey?.let { groupKey -> + NotificationIconInfo( + sourceIcon = sourceIcon, + notifKey = key, + groupKey = groupKey, + ) + } + } +} + +private val NotificationIconInfo.groupInfo: IconGroupInfo + get() = IconGroupInfo(sourceIcon, groupKey) + +private data class IconGroupInfo( + val sourceIcon: Icon, + val groupKey: String, +) { + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as IconGroupInfo + + if (groupKey != other.groupKey) return false + return sourceIcon.sameAs(other.sourceIcon) + } + + override fun hashCode(): Int { + var result = groupKey.hashCode() + result = 31 * result + sourceIcon.type.hashCode() + when (sourceIcon.type) { + Icon.TYPE_BITMAP, + Icon.TYPE_ADAPTIVE_BITMAP -> { + result = 31 * result + sourceIcon.bitmap.hashCode() + } + Icon.TYPE_DATA -> { + result = 31 * result + sourceIcon.dataLength.hashCode() + result = 31 * result + sourceIcon.dataOffset.hashCode() + } + Icon.TYPE_RESOURCE -> { + result = 31 * result + sourceIcon.resId.hashCode() + result = 31 * result + sourceIcon.resPackage.hashCode() + } + Icon.TYPE_URI, + Icon.TYPE_URI_ADAPTIVE_BITMAP -> { + result = 31 * result + sourceIcon.uriString.hashCode() + } + } + return result + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt index db7f46eb28f2..aca8b64c05d2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt @@ -26,6 +26,7 @@ import com.android.systemui.statusbar.notification.collection.provider.HighPrior import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.ListenerSet import com.android.systemui.util.asIndenting +import com.android.systemui.util.println import com.android.systemui.util.settings.GlobalSettings import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.withIncreasedIndent @@ -229,13 +230,13 @@ class KeyguardNotificationVisibilityProviderImpl @Inject constructor( } override fun dump(pw: PrintWriter, args: Array<out String>) = pw.asIndenting().run { - println("isLockedOrLocking=$isLockedOrLocking") + println("isLockedOrLocking", isLockedOrLocking) withIncreasedIndent { - println("keyguardStateController.isShowing=${keyguardStateController.isShowing}") - println("statusBarStateController.currentOrUpcomingState=" + - "${statusBarStateController.currentOrUpcomingState}") + println("keyguardStateController.isShowing", keyguardStateController.isShowing) + println("statusBarStateController.currentOrUpcomingState", + statusBarStateController.currentOrUpcomingState) } - println("hideSilentNotificationsOnLockscreen=$hideSilentNotificationsOnLockscreen") + println("hideSilentNotificationsOnLockscreen", hideSilentNotificationsOnLockscreen) } private val isLockedOrLocking get() = diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt index 4a823a40a272..2fffd379e6f9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt @@ -239,11 +239,11 @@ class NotificationInterruptLogger @Inject constructor( }) } - fun logNoPulsingNotificationHidden(entry: NotificationEntry) { + fun logNoPulsingNotificationHiddenOverride(entry: NotificationEntry) { buffer.log(TAG, DEBUG, { str1 = entry.logKey }, { - "No pulsing: notification hidden on lock screen: $str1" + "No pulsing: notification hidden on lock screen by override: $str1" }) } @@ -290,11 +290,11 @@ class NotificationInterruptLogger @Inject constructor( }) } - fun keyguardHideNotification(entry: NotificationEntry) { + fun logNoAlertingNotificationHidden(entry: NotificationEntry) { buffer.log(TAG, DEBUG, { str1 = entry.logKey }, { - "Keyguard Hide Notification: $str1" + "No alerting: notification hidden on lock screen: $str1" }) } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java index 6ec9dbe003a2..b0155f13dbec 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java @@ -180,4 +180,9 @@ public interface NotificationInterruptStateProvider { * Add a component that can suppress visual interruptions. */ void addSuppressor(NotificationInterruptSuppressor suppressor); + + /** + * Remove a component that can suppress visual interruptions. + */ + void removeSuppressor(NotificationInterruptSuppressor suppressor); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java index 3819843aa7b2..301ddbf42ff2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java @@ -175,6 +175,11 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter } @Override + public void removeSuppressor(NotificationInterruptSuppressor suppressor) { + mSuppressors.remove(suppressor); + } + + @Override public boolean shouldBubbleUp(NotificationEntry entry) { final StatusBarNotification sbn = entry.getSbn(); @@ -505,7 +510,7 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter if (entry.getRanking().getLockscreenVisibilityOverride() == Notification.VISIBILITY_PRIVATE) { - if (log) mLogger.logNoPulsingNotificationHidden(entry); + if (log) mLogger.logNoPulsingNotificationHiddenOverride(entry); return false; } @@ -536,7 +541,7 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter } if (mKeyguardNotificationVisibilityProvider.shouldHideNotification(entry)) { - if (log) mLogger.keyguardHideNotification(entry); + if (log) mLogger.logNoAlertingNotificationHidden(entry); return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapper.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapper.kt index ebdeded6e329..d7f0baf4f002 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapper.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapper.kt @@ -58,6 +58,10 @@ class NotificationInterruptStateProviderWrapper( wrapped.addSuppressor(suppressor) } + override fun removeLegacySuppressor(suppressor: NotificationInterruptSuppressor) { + wrapped.removeSuppressor(suppressor) + } + override fun makeUnloggedHeadsUpDecision(entry: NotificationEntry): Decision = wrapped.checkHeadsUp(entry, /* log= */ false).let { DecisionImpl.of(it) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProvider.kt index 454ba02b2d73..920bbe96b33b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProvider.kt @@ -60,6 +60,13 @@ interface VisualInterruptionDecisionProvider { fun addLegacySuppressor(suppressor: NotificationInterruptSuppressor) /** + * Removes a [component][suppressor] that can suppress visual interruptions. + * + * @param[suppressor] the suppressor to remove + */ + fun removeLegacySuppressor(suppressor: NotificationInterruptSuppressor) + + /** * Decides whether a [notification][entry] should display as heads-up or not, but does not log * that decision. * diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionSuppressor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionSuppressor.kt new file mode 100644 index 000000000000..4ef80e38bc63 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionSuppressor.kt @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.systemui.statusbar.notification.interruption + +import com.android.internal.logging.UiEventLogger.UiEventEnum +import com.android.systemui.statusbar.notification.collection.NotificationEntry + +/** + * A reason why visual interruptions might be suppressed. + * + * @see VisualInterruptionCondition + * @see VisualInterruptionFilter + */ +enum class VisualInterruptionType { + /* HUN when awake */ + PEEK, + + /* HUN when dozing */ + PULSE, + + /* Bubble */ + BUBBLE +} + +/** + * A reason why visual interruptions might be suppressed. + * + * @see VisualInterruptionCondition + * @see VisualInterruptionFilter + */ +sealed interface VisualInterruptionSuppressor { + /** The type(s) of interruption that this suppresses. */ + val types: Set<VisualInterruptionType> + + /** A human-readable string to be logged to explain why this suppressed an interruption. */ + val reason: String + + /** An optional UiEvent ID to be recorded when this suppresses an interruption. */ + val uiEventId: UiEventEnum? +} + +/** A reason why visual interruptions might be suppressed regardless of the notification. */ +abstract class VisualInterruptionCondition( + override val types: Set<VisualInterruptionType>, + override val reason: String, + override val uiEventId: UiEventEnum? = null +) : VisualInterruptionSuppressor { + /** @return true if these interruptions should be suppressed right now. */ + abstract fun shouldSuppress(): Boolean +} + +/** A reason why visual interruptions might be suppressed based on the notification. */ +abstract class VisualInterruptionFilter( + override val types: Set<VisualInterruptionType>, + override val reason: String, + override val uiEventId: UiEventEnum? = null +) : VisualInterruptionSuppressor { + /** + * @param entry the notification to consider suppressing + * @return true if these interruptions should be suppressed for this notification right now + */ + abstract fun shouldSuppress(entry: NotificationEntry): Boolean +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java index 661768da8479..8f1e59d20091 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java @@ -121,7 +121,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView private void updateColors() { mNormalColor = Utils.getColorAttrDefaultColor(mContext, - com.android.internal.R.attr.colorSurface); + com.android.internal.R.attr.materialColorSurfaceContainerHigh); mTintedRippleColor = mContext.getColor( R.color.notification_ripple_tinted_color); mNormalRippleColor = mContext.getColor( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java index 892a63505a71..da8c4dc08bf0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java @@ -28,7 +28,6 @@ import android.widget.TextView; import androidx.annotation.ColorInt; -import com.android.internal.util.ContrastColorUtil; import com.android.keyguard.AlphaOptimizedLinearLayout; import com.android.systemui.res.R; import com.android.systemui.statusbar.CrossFadeHelper; @@ -98,8 +97,8 @@ public class HybridNotificationView extends AlphaOptimizedLinearLayout private void resolveThemeTextColors() { try (TypedArray ta = mContext.getTheme().obtainStyledAttributes( android.R.style.Theme_DeviceDefault_DayNight, new int[]{ - android.R.attr.textColorPrimary, - android.R.attr.textColorSecondary + com.android.internal.R.attr.materialColorOnSurface, + com.android.internal.R.attr.materialColorOnSurfaceVariant })) { if (ta != null) { mPrimaryTextColor = ta.getColor(0, mPrimaryTextColor); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java index 60e75ff9e6e1..6528cef3dec1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java @@ -118,6 +118,7 @@ public class NotificationContentView extends FrameLayout implements Notification private NotificationViewWrapper mContractedWrapper; private NotificationViewWrapper mExpandedWrapper; private NotificationViewWrapper mHeadsUpWrapper; + @Nullable private NotificationViewWrapper mShownWrapper = null; private final HybridGroupManager mHybridGroupManager; private int mClipTopAmount; private int mContentHeight; @@ -417,6 +418,8 @@ public class NotificationContentView extends FrameLayout implements Notification mContractedChild = child; mContractedWrapper = NotificationViewWrapper.wrap(getContext(), child, mContainingNotification); + // The contracted wrapper has changed. If this is the shown wrapper, we need to update it. + updateShownWrapper(mVisibleType); } private NotificationViewWrapper getWrapperForView(View child) { @@ -480,6 +483,8 @@ public class NotificationContentView extends FrameLayout implements Notification if (mContainingNotification != null) { applySystemActions(mExpandedChild, mContainingNotification.getEntry()); } + // The expanded wrapper has changed. If this is the shown wrapper, we need to update it. + updateShownWrapper(mVisibleType); } /** @@ -530,6 +535,8 @@ public class NotificationContentView extends FrameLayout implements Notification if (mContainingNotification != null) { applySystemActions(mHeadsUpChild, mContainingNotification.getEntry()); } + // The heads up wrapper has changed. If this is the shown wrapper, we need to update it. + updateShownWrapper(mVisibleType); } @Override @@ -886,6 +893,7 @@ public class NotificationContentView extends FrameLayout implements Notification forceUpdateVisibility(VISIBLE_TYPE_EXPANDED, mExpandedChild, mExpandedWrapper); forceUpdateVisibility(VISIBLE_TYPE_HEADSUP, mHeadsUpChild, mHeadsUpWrapper); forceUpdateVisibility(VISIBLE_TYPE_SINGLELINE, mSingleLineView, mSingleLineView); + updateShownWrapper(mVisibleType); fireExpandedVisibleListenerIfVisible(); // forceUpdateVisibilities cancels outstanding animations without updating the // mAnimationStartVisibleType. Do so here instead. @@ -967,6 +975,7 @@ public class NotificationContentView extends FrameLayout implements Notification mHeadsUpChild, mHeadsUpWrapper); updateViewVisibility(visibleType, VISIBLE_TYPE_SINGLELINE, mSingleLineView, mSingleLineView); + updateShownWrapper(visibleType); fireExpandedVisibleListenerIfVisible(); // updateViewVisibilities cancels outstanding animations without updating the // mAnimationStartVisibleType. Do so here instead. @@ -980,6 +989,28 @@ public class NotificationContentView extends FrameLayout implements Notification } } + /** + * Called when the currently shown wrapper is potentially affected by a change to the + * {mVisibleType} or the user-visibility of this view. + * + * @see View#isShown() + */ + private void updateShownWrapper(int visibleType) { + final NotificationViewWrapper shownWrapper = isShown() ? getVisibleWrapper(visibleType) + : null; + + if (mShownWrapper != shownWrapper) { + NotificationViewWrapper hiddenWrapper = mShownWrapper; + mShownWrapper = shownWrapper; + if (hiddenWrapper != null) { + hiddenWrapper.onContentShown(false); + } + if (shownWrapper != null) { + shownWrapper.onContentShown(true); + } + } + } + private void animateToVisibleType(int visibleType) { final TransformableView shownView = getTransformableViewForVisibleType(visibleType); final TransformableView hiddenView = getTransformableViewForVisibleType(mVisibleType); @@ -990,6 +1021,7 @@ public class NotificationContentView extends FrameLayout implements Notification mAnimationStartVisibleType = mVisibleType; shownView.transformFrom(hiddenView); getViewForVisibleType(visibleType).setVisibility(View.VISIBLE); + updateShownWrapper(visibleType); hiddenView.transformTo(shownView, new Runnable() { @Override public void run() { @@ -1837,6 +1869,7 @@ public class NotificationContentView extends FrameLayout implements Notification @Override public void onVisibilityAggregated(boolean isVisible) { super.onVisibilityAggregated(isVisible); + updateShownWrapper(mVisibleType); if (isVisible) { fireExpandedVisibleListenerIfVisible(); } @@ -2217,6 +2250,21 @@ public class NotificationContentView extends FrameLayout implements Notification } @VisibleForTesting + protected NotificationViewWrapper getContractedWrapper() { + return mContractedWrapper; + } + + @VisibleForTesting + protected NotificationViewWrapper getExpandedWrapper() { + return mExpandedWrapper; + } + + @VisibleForTesting + protected NotificationViewWrapper getHeadsUpWrapper() { + return mHeadsUpWrapper; + } + + @VisibleForTesting protected void setContractedWrapper(NotificationViewWrapper contractedWrapper) { mContractedWrapper = contractedWrapper; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java index 62b268b90cf3..14593cb1b381 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java @@ -65,10 +65,10 @@ import android.widget.TextView; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.notification.ConversationIconFactory; -import com.android.systemui.res.R; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.people.widget.PeopleSpaceWidgetManager; +import com.android.systemui.res.R; import com.android.systemui.shade.ShadeController; import com.android.systemui.statusbar.notification.NotificationChannelHelper; import com.android.systemui.statusbar.notification.collection.NotificationEntry; @@ -336,10 +336,11 @@ public class NotificationConversationInfo extends LinearLayout implements Drawable person = mIconFactory.getBaseIconDrawable(mShortcutInfo); if (person == null) { person = mContext.getDrawable(R.drawable.ic_person).mutate(); - TypedArray ta = mContext.obtainStyledAttributes(new int[]{android.R.attr.colorAccent}); - int colorAccent = ta.getColor(0, 0); + TypedArray ta = mContext.obtainStyledAttributes( + new int[]{com.android.internal.R.attr.materialColorPrimary}); + int colorPrimary = ta.getColor(0, 0); ta.recycle(); - person.setTint(colorAccent); + person.setTint(colorPrimary); } ImageView image = findViewById(R.id.conversation_icon); image.setImageDrawable(person); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java index acd6cc69b553..990adf77a902 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationBigPictureTemplateViewWrapper.java @@ -68,13 +68,11 @@ public class NotificationBigPictureTemplateViewWrapper extends NotificationTempl } @Override - public void setVisible(boolean visible) { - super.setVisible(visible); - + public void onContentShown(boolean shown) { + super.onContentShown(shown); BigPictureIconManager imageManager = mRow.getBigPictureIconManager(); if (imageManager != null) { - // TODO(b/283082473) call it a bit earlier for true, as soon as the row starts to expand - imageManager.onViewShown(visible); + imageManager.onViewShown(shown); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java index ff5b9cbf3c23..50f3e7896442 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java @@ -311,6 +311,17 @@ public abstract class NotificationViewWrapper implements TransformableView { } /** + * Called when the user-visibility of this content wrapper has changed. + * + * @param shown true if the content of this wrapper is user-visible, meaning that the wrapped + * view and all of its ancestors are visible. + * + * @see View#isShown() + */ + public void onContentShown(boolean shown) { + } + + /** * Called to indicate this view is removed */ public void setRemoved() { @@ -326,7 +337,8 @@ public abstract class NotificationViewWrapper implements TransformableView { if (customBackgroundColor != 0) { return customBackgroundColor; } - return Utils.getColorAttr(mView.getContext(), android.R.attr.colorBackground) + return Utils.getColorAttr(mView.getContext(), + com.android.internal.R.attr.materialColorSurfaceContainerHigh) .getDefaultColor(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt index 2a7d0876912f..d35e4b56775f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt @@ -21,8 +21,6 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.flags.FeatureFlagsClassic -import com.android.systemui.flags.Flags import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.plugins.FalsingManager import com.android.systemui.statusbar.LegacyNotificationShelfControllerImpl @@ -31,13 +29,12 @@ import com.android.systemui.statusbar.NotificationShelfController import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder import com.android.systemui.statusbar.notification.icon.ui.viewbinder.ShelfNotificationIconViewStore import com.android.systemui.statusbar.notification.row.ui.viewbinder.ActivatableNotificationViewBinder +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import com.android.systemui.statusbar.notification.shelf.ui.viewmodel.NotificationShelfViewModel import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController -import com.android.systemui.statusbar.phone.DozeParameters import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.phone.NotificationIconContainer -import com.android.systemui.statusbar.phone.ScreenOffAnimationController import com.android.systemui.statusbar.policy.ConfigurationController import javax.inject.Inject import kotlinx.coroutines.awaitCancellation @@ -84,24 +81,18 @@ object NotificationShelfViewBinder { viewModel: NotificationShelfViewModel, configuration: ConfigurationState, configurationController: ConfigurationController, - dozeParameters: DozeParameters, falsingManager: FalsingManager, - featureFlags: FeatureFlagsClassic, notificationIconAreaController: NotificationIconAreaController, - screenOffAnimationController: ScreenOffAnimationController, shelfIconViewStore: ShelfNotificationIconViewStore, ) { ActivatableNotificationViewBinder.bind(viewModel, shelf, falsingManager) shelf.apply { - if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled) { NotificationIconContainerViewBinder.bind( shelfIcons, viewModel.icons, configuration, configurationController, - dozeParameters, - featureFlags, - screenOffAnimationController, shelfIconViewStore, ) } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java index a929e4f3ea7f..0236fc265add 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java @@ -1362,7 +1362,7 @@ public class NotificationChildrenContainer extends ViewGroup Resources.Theme theme = new ContextThemeWrapper(mContext, com.android.internal.R.style.Theme_DeviceDefault_DayNight).getTheme(); try (TypedArray ta = theme.obtainStyledAttributes( - new int[]{com.android.internal.R.attr.colorAccent})) { + new int[]{com.android.internal.R.attr.materialColorPrimary})) { color = ta.getColor(0, color); } mHybridGroupManager.setOverflowNumberColor(mOverflowNumber, color); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt index fd064eeab2ab..cfc433a09c4d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt @@ -244,10 +244,10 @@ class NotificationSectionsManager @Inject internal constructor( } } - fun setHeaderForegroundColor(@ColorInt color: Int) { - peopleHeaderView?.setForegroundColor(color) - silentHeaderView?.setForegroundColor(color) - alertingHeaderView?.setForegroundColor(color) + fun setHeaderForegroundColors(@ColorInt onSurface: Int, @ColorInt onSurfaceVariant: Int) { + peopleHeaderView?.setForegroundColors(onSurface, onSurfaceVariant) + silentHeaderView?.setForegroundColors(onSurface, onSurfaceVariant) + alertingHeaderView?.setForegroundColors(onSurface, onSurfaceVariant) } companion object { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java index 1e9cfa8d1d3a..8babcc24043a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java @@ -344,7 +344,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable private boolean mAnimateNextBackgroundTop; private boolean mAnimateNextBackgroundBottom; private boolean mAnimateNextSectionBoundsChange; - private int mBgColor; + private @ColorInt int mBgColor; private float mDimAmount; private ValueAnimator mDimAnimator; private final ArrayList<ExpandableView> mTmpSortedChildren = new ArrayList<>(); @@ -647,8 +647,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mSections = mSectionsManager.createSectionsForBuckets(); mAmbientState = Dependency.get(AmbientState.class); - mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating) - .getDefaultColor(); + mBgColor = Utils.getColorAttr(mContext, + com.android.internal.R.attr.materialColorSurfaceContainerHigh).getDefaultColor(); int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height); int maxHeight = res.getDimensionPixelSize(R.dimen.notification_max_height); mSplitShadeMinContentHeight = res.getDimensionPixelSize( @@ -790,8 +790,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } void updateBgColor() { - mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating) - .getDefaultColor(); + mBgColor = Utils.getColorAttr(mContext, + com.android.internal.R.attr.materialColorSurfaceContainerHigh).getDefaultColor(); updateBackgroundDimming(); for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); @@ -4421,14 +4421,19 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } /** - * Update colors of "dismiss" and "empty shade" views. + * Update colors of section headers, shade footer, and empty shade views. */ void updateDecorViews() { - final @ColorInt int textColor = - Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorPrimary); - mSectionsManager.setHeaderForegroundColor(textColor); + final @ColorInt int onSurface = Utils.getColorAttrDefaultColor( + mContext, com.android.internal.R.attr.materialColorOnSurface); + final @ColorInt int onSurfaceVariant = Utils.getColorAttrDefaultColor( + mContext, com.android.internal.R.attr.materialColorOnSurfaceVariant); + + mSectionsManager.setHeaderForegroundColors(onSurface, onSurfaceVariant); + mFooterView.updateColors(); - mEmptyShadeView.setTextColor(textColor); + + mEmptyShadeView.setTextColors(onSurface, onSurfaceVariant); } void goToFullShade(long delay) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java index b770b83cae9f..21efd639825e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java @@ -217,8 +217,6 @@ public class NotificationStackScrollLayoutController { private final NotificationDismissibilityProvider mDismissibilityProvider; private final ActivityStarter mActivityStarter; private final ConfigurationState mConfigurationState; - private final DozeParameters mDozeParameters; - private final ScreenOffAnimationController mScreenOffAnimationController; private final ShelfNotificationIconViewStore mShelfIconViewStore; private View mLongPressedView; @@ -683,8 +681,7 @@ public class NotificationStackScrollLayoutController { NotificationDismissibilityProvider dismissibilityProvider, ActivityStarter activityStarter, SplitShadeStateController splitShadeStateController, - ConfigurationState configurationState, DozeParameters dozeParameters, - ScreenOffAnimationController screenOffAnimationController, + ConfigurationState configurationState, ShelfNotificationIconViewStore shelfIconViewStore) { mView = view; mKeyguardTransitionRepo = keyguardTransitionRepo; @@ -736,8 +733,6 @@ public class NotificationStackScrollLayoutController { mDismissibilityProvider = dismissibilityProvider; mActivityStarter = activityStarter; mConfigurationState = configurationState; - mDozeParameters = dozeParameters; - mScreenOffAnimationController = screenOffAnimationController; mShelfIconViewStore = shelfIconViewStore; mView.passSplitShadeStateController(splitShadeStateController); updateResources(); @@ -848,8 +843,8 @@ public class NotificationStackScrollLayoutController { mViewModel.ifPresent( vm -> NotificationListViewBinder .bind(mView, vm, mConfigurationState, mConfigurationController, - mDozeParameters, mFalsingManager, mFeatureFlags, - mNotifIconAreaController, mScreenOffAnimationController, + mFalsingManager, + mNotifIconAreaController, mShelfIconViewStore)); collectFlow(mView, mKeyguardTransitionRepo.getTransitions(), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java index 722c28c43e8a..5c1149bafb2f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java @@ -132,8 +132,8 @@ public class SectionHeaderView extends StackScrollerDecorView { mLabelView.setText(resId); } - void setForegroundColor(@ColorInt int color) { - mLabelView.setTextColor(color); - mClearAllButton.setImageTintList(ColorStateList.valueOf(color)); + void setForegroundColors(@ColorInt int onSurface, @ColorInt int onSurfaceVariant) { + mLabelView.setTextColor(onSurface); + mClearAllButton.setImageTintList(ColorStateList.valueOf(onSurfaceVariant)); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt index 69b96fa95dbe..5c590870981d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt @@ -19,7 +19,6 @@ package com.android.systemui.statusbar.notification.stack.ui.viewbinder import android.view.LayoutInflater import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.common.ui.reinflateAndBindLatest -import com.android.systemui.flags.FeatureFlagsClassic import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.plugins.FalsingManager import com.android.systemui.res.R @@ -30,9 +29,7 @@ import com.android.systemui.statusbar.notification.icon.ui.viewbinder.ShelfNotif import com.android.systemui.statusbar.notification.shelf.ui.viewbinder.NotificationShelfViewBinder import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationListViewModel -import com.android.systemui.statusbar.phone.DozeParameters import com.android.systemui.statusbar.phone.NotificationIconAreaController -import com.android.systemui.statusbar.phone.ScreenOffAnimationController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.traceSection @@ -44,40 +41,65 @@ object NotificationListViewBinder { viewModel: NotificationListViewModel, configuration: ConfigurationState, configurationController: ConfigurationController, - dozeParameters: DozeParameters, falsingManager: FalsingManager, - featureFlags: FeatureFlagsClassic, iconAreaController: NotificationIconAreaController, - screenOffAnimationController: ScreenOffAnimationController, shelfIconViewStore: ShelfNotificationIconViewStore, ) { + bindShelf( + view, + viewModel, + configuration, + configurationController, + falsingManager, + iconAreaController, + shelfIconViewStore + ) + + bindFooter(view, viewModel, configuration) + } + + private fun bindShelf( + parentView: NotificationStackScrollLayout, + parentViewModel: NotificationListViewModel, + configuration: ConfigurationState, + configurationController: ConfigurationController, + falsingManager: FalsingManager, + iconAreaController: NotificationIconAreaController, + shelfIconViewStore: ShelfNotificationIconViewStore + ) { val shelf = - LayoutInflater.from(view.context) - .inflate(R.layout.status_bar_notification_shelf, view, false) as NotificationShelf + LayoutInflater.from(parentView.context) + .inflate(R.layout.status_bar_notification_shelf, parentView, false) + as NotificationShelf NotificationShelfViewBinder.bind( shelf, - viewModel.shelf, + parentViewModel.shelf, configuration, configurationController, - dozeParameters, falsingManager, - featureFlags, iconAreaController, - screenOffAnimationController, shelfIconViewStore, ) - view.setShelf(shelf) + parentView.setShelf(shelf) + } - viewModel.footer.ifPresent { footerViewModel -> + private fun bindFooter( + parentView: NotificationStackScrollLayout, + parentViewModel: NotificationListViewModel, + configuration: ConfigurationState + ) { + parentViewModel.footer.ifPresent { footerViewModel -> // The footer needs to be re-inflated every time the theme or the font size changes. - view.repeatWhenAttached { + parentView.repeatWhenAttached { configuration.reinflateAndBindLatest( R.layout.status_bar_notification_footer, - view, + parentView, attachToRoot = false, ) { footerView: FooterView -> traceSection("bind FooterView") { - FooterViewBinder.bind(footerView, footerViewModel) + val disposableHandle = FooterViewBinder.bind(footerView, footerViewModel) + parentView.setFooterView(footerView) + return@reinflateAndBindLatest disposableHandle } } } 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 8295f65f2ece..897bb42e7f94 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -206,6 +206,7 @@ import com.android.systemui.statusbar.notification.init.NotificationsController; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.NotificationGutsManager; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; @@ -236,8 +237,6 @@ import com.android.wm.shell.startingsurface.StartingSurface; import dalvik.annotation.optimization.NeverCompile; -import dagger.Lazy; - import java.io.PrintWriter; import java.io.StringWriter; import java.util.List; @@ -249,6 +248,8 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Provider; +import dagger.Lazy; + /** * A class handling initialization and coordination between some of the key central surfaces in * System UI: The notification shade, the keyguard (lockscreen), and the status bar. @@ -809,8 +810,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { mShadeExpansionStateManager.addExpansionListener(shadeExpansionListener); shadeExpansionListener.onPanelExpansionChanged(currentState); - mShadeExpansionStateManager.addFullExpansionListener(this::onShadeExpansionFullyChanged); - mActivityIntentHelper = new ActivityIntentHelper(mContext); mActivityLaunchAnimator = activityLaunchAnimator; @@ -1397,20 +1396,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { } } - @VisibleForTesting - void onShadeExpansionFullyChanged(Boolean isExpanded) { - if (isExpanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) { - if (DEBUG) { - Log.v(TAG, "clearing notification effects from Height"); - } - clearNotificationEffects(); - } - - if (!isExpanded) { - mRemoteInputManager.onPanelCollapsed(); - } - } - @NonNull @Override public Lifecycle getLifecycle() { @@ -2635,7 +2620,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { !mDozeServiceHost.isPulsing(), mDeviceProvisionedController.isFrpActive()); mShadeSurface.setTouchAndAnimationDisabled(disabled); - if (!mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (!NotificationIconContainerRefactor.isEnabled()) { mNotificationIconAreaController.setAnimationsEnabled(!disabled); } } @@ -3102,7 +3087,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { } // TODO: Bring these out of CentralSurfaces. mUserInfoControllerImpl.onDensityOrFontScaleChanged(); - if (!mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (!NotificationIconContainerRefactor.isEnabled()) { mNotificationIconAreaController.onDensityOrFontScaleChanged(mContext); } } @@ -3122,7 +3107,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { if (mAmbientIndicationContainer instanceof AutoReinflateContainer) { ((AutoReinflateContainer) mAmbientIndicationContainer).inflateLayout(); } - if (!mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (!NotificationIconContainerRefactor.isEnabled()) { mNotificationIconAreaController.onThemeChanged(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java index 66341ba42a64..600d4afde935 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java @@ -38,7 +38,6 @@ import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeLog; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.flags.FeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.keyguard.domain.interactor.DozeInteractor; import com.android.systemui.shade.NotificationShadeWindowViewController; @@ -49,18 +48,18 @@ import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.NotificationEntry; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.util.Assert; -import dagger.Lazy; - import java.util.ArrayList; import javax.inject.Inject; +import dagger.Lazy; import kotlinx.coroutines.ExperimentalCoroutinesApi; /** @@ -178,7 +177,7 @@ public final class DozeServiceHost implements DozeHost { void fireNotificationPulse(NotificationEntry entry) { Runnable pulseSuppressedListener = () -> { - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mHeadsUpManager.removeNotification( entry.getKey(), /* releaseImmediately= */ true, /* animate= */ false); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java index 8fee5c0487f3..beeee1be401d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java @@ -27,7 +27,6 @@ import androidx.annotation.NonNull; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.ViewClippingUtil; import com.android.systemui.flags.FeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.res.R; @@ -42,6 +41,7 @@ import com.android.systemui.statusbar.notification.SourceType; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.domain.interactor.HeadsUpNotificationIconInteractor; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.notification.stack.NotificationRoundnessManager; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentScope; @@ -179,7 +179,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar mHeadsUpManager.addListener(this); mView.setOnDrawingRectChangedListener( () -> updateIsolatedIconLocation(true /* requireUpdate */)); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { updateIsolatedIconLocation(true); } mWakeUpCoordinator.addListener(this); @@ -197,7 +197,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar protected void onViewDetached() { mHeadsUpManager.removeListener(this); mView.setOnDrawingRectChangedListener(null); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mHeadsUpNotificationIconInteractor.setIsolatedIconLocation(null); } mWakeUpCoordinator.removeListener(this); @@ -208,7 +208,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar } private void updateIsolatedIconLocation(boolean requireStateUpdate) { - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mHeadsUpNotificationIconInteractor .setIsolatedIconLocation(mView.getIconDrawingRect()); } else { @@ -250,7 +250,7 @@ public class HeadsUpAppearanceController extends ViewController<HeadsUpStatusBar setShown(true); animateIsolation = !isExpanded(); } - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mHeadsUpNotificationIconInteractor.setIsolatedIconNotificationKey( newEntry == null ? null : newEntry.getKey()); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java index f4862c73606f..3a95e6d053e8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java @@ -34,7 +34,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.res.R; -import com.android.systemui.shade.ShadeExpansionStateManager; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener; @@ -48,6 +48,7 @@ import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.statusbar.policy.OnHeadsUpPhoneListenerChange; +import com.android.systemui.util.kotlin.JavaAdapter; import java.io.PrintWriter; import java.util.ArrayList; @@ -105,7 +106,8 @@ public class HeadsUpManagerPhone extends BaseHeadsUpManager implements OnHeadsUp /////////////////////////////////////////////////////////////////////////////////////////////// // Constructor: @Inject - public HeadsUpManagerPhone(@NonNull final Context context, + public HeadsUpManagerPhone( + @NonNull final Context context, HeadsUpManagerLogger logger, StatusBarStateController statusBarStateController, KeyguardBypassController bypassController, @@ -115,7 +117,8 @@ public class HeadsUpManagerPhone extends BaseHeadsUpManager implements OnHeadsUp @Main Handler handler, AccessibilityManagerWrapper accessibilityManagerWrapper, UiEventLogger uiEventLogger, - ShadeExpansionStateManager shadeExpansionStateManager) { + JavaAdapter javaAdapter, + ShadeInteractor shadeInteractor) { super(context, logger, handler, accessibilityManagerWrapper, uiEventLogger); Resources resources = mContext.getResources(); mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time); @@ -136,8 +139,7 @@ public class HeadsUpManagerPhone extends BaseHeadsUpManager implements OnHeadsUp updateResources(); } }); - - shadeExpansionStateManager.addFullExpansionListener(this::onShadeExpansionFullyChanged); + javaAdapter.alwaysCollectFlow(shadeInteractor.isAnyExpanded(), this::onShadeOrQsExpanded); } public void setAnimationStateHandler(AnimationStateHandler handler) { @@ -230,7 +232,7 @@ public class HeadsUpManagerPhone extends BaseHeadsUpManager implements OnHeadsUp mTrackingHeadsUp = trackingHeadsUp; } - private void onShadeExpansionFullyChanged(Boolean isExpanded) { + private void onShadeOrQsExpanded(Boolean isExpanded) { if (isExpanded != mIsExpanded) { mIsExpanded = isExpanded; if (isExpanded) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerModule.kt index d1ddd51a04c7..ba693708f401 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerModule.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerModule.kt @@ -15,9 +15,8 @@ */ package com.android.systemui.statusbar.phone -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconAreaControllerViewBinderWrapperImpl +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import dagger.Module import dagger.Provides import javax.inject.Provider @@ -26,11 +25,10 @@ import javax.inject.Provider object NotificationIconAreaControllerModule { @Provides fun provideNotificationIconAreaControllerImpl( - featureFlags: FeatureFlags, legacyProvider: Provider<LegacyNotificationIconAreaControllerImpl>, newProvider: Provider<NotificationIconAreaControllerViewBinderWrapperImpl>, ): NotificationIconAreaController = - if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled) { newProvider.get() } else { legacyProvider.get() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java index 535f6acab5be..efb8e2cfce19 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java @@ -40,10 +40,9 @@ import androidx.collection.ArrayMap; import com.android.app.animation.Interpolators; import com.android.internal.statusbar.StatusBarIcon; import com.android.settingslib.Utils; -import com.android.systemui.flags.Flags; -import com.android.systemui.flags.RefactorFlag; import com.android.systemui.res.R; import com.android.systemui.statusbar.StatusBarIconView; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.notification.stack.AnimationFilter; import com.android.systemui.statusbar.notification.stack.AnimationProperties; import com.android.systemui.statusbar.notification.stack.ViewState; @@ -133,9 +132,6 @@ public class NotificationIconContainer extends ViewGroup { } }.setDuration(CONTENT_FADE_DURATION); - private final RefactorFlag mIconContainerRefactorFlag = - RefactorFlag.forView(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); - /* Maximum number of icons on AOD when also showing overflow dot. */ private int mMaxIconsOnAod; @@ -352,7 +348,7 @@ public class NotificationIconContainer extends ViewGroup { StatusBarIconView iconView = (StatusBarIconView) child; Icon sourceIcon = iconView.getSourceIcon(); String groupKey = iconView.getNotification().getGroupKey(); - if (mIconContainerRefactorFlag.isEnabled()) { + if (NotificationIconContainerRefactor.isEnabled()) { if (mReplacingIcons == null) { return false; } @@ -695,18 +691,18 @@ public class NotificationIconContainer extends ViewGroup { } public void setReplacingIconsLegacy(ArrayMap<String, ArrayList<StatusBarIcon>> replacingIcons) { - mIconContainerRefactorFlag.assertInLegacyMode(); + NotificationIconContainerRefactor.assertInLegacyMode(); mReplacingIconsLegacy = replacingIcons; } public void setReplacingIcons(ArrayMap<String, StatusBarIcon> replacingIcons) { - if (mIconContainerRefactorFlag.isUnexpectedlyInLegacyMode()) return; + if (NotificationIconContainerRefactor.isUnexpectedlyInLegacyMode()) return; mReplacingIcons = replacingIcons; } @Deprecated public void showIconIsolated(StatusBarIconView icon, boolean animated) { - mIconContainerRefactorFlag.assertInLegacyMode(); + NotificationIconContainerRefactor.assertInLegacyMode(); if (animated) { showIconIsolatedAnimated(icon, null); } else { @@ -716,14 +712,14 @@ public class NotificationIconContainer extends ViewGroup { public void showIconIsolatedAnimated(StatusBarIconView icon, @Nullable Runnable onAnimationEnd) { - if (mIconContainerRefactorFlag.isUnexpectedlyInLegacyMode()) return; + if (NotificationIconContainerRefactor.isUnexpectedlyInLegacyMode()) return; mIsolatedIconForAnimation = icon != null ? icon : mIsolatedIcon; mIsolatedIconAnimationEndRunnable = onAnimationEnd; showIconIsolated(icon); } public void showIconIsolated(StatusBarIconView icon) { - if (mIconContainerRefactorFlag.isUnexpectedlyInLegacyMode()) return; + if (NotificationIconContainerRefactor.isUnexpectedlyInLegacyMode()) return; mIsolatedIcon = icon; updateState(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index 744d70e36972..3e753a589a84 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -1505,8 +1505,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump private void updateThemeColors() { if (mScrimBehind == null) return; int background = Utils.getColorAttr(mScrimBehind.getContext(), - android.R.attr.colorBackgroundFloating).getDefaultColor(); - int accent = Utils.getColorAccent(mScrimBehind.getContext()).getDefaultColor(); + com.android.internal.R.attr.materialColorSurfaceDim).getDefaultColor(); + int accent = Utils.getColorAttr(mScrimBehind.getContext(), + com.android.internal.R.attr.materialColorPrimary).getDefaultColor(); mColors.setMainColor(background); mColors.setSecondaryColor(accent); final boolean isBackgroundLight = !ContrastColorUtil.isColorDark(background); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHideIconsForBouncerManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHideIconsForBouncerManager.kt index 4d9de09fded4..fa6d2797a37e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHideIconsForBouncerManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHideIconsForBouncerManager.kt @@ -3,12 +3,15 @@ package com.android.systemui.statusbar.phone import android.app.StatusBarManager import com.android.systemui.Dumpable import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager -import com.android.systemui.shade.ShadeExpansionStateManager +import com.android.systemui.shade.domain.interactor.ShadeInteractor import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.window.StatusBarWindowStateController import com.android.systemui.util.concurrency.DelayableExecutor +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch import java.io.PrintWriter import javax.inject.Inject @@ -25,14 +28,14 @@ import javax.inject.Inject */ @SysUISingleton class StatusBarHideIconsForBouncerManager @Inject constructor( - private val commandQueue: CommandQueue, - @Main private val mainExecutor: DelayableExecutor, - statusBarWindowStateController: StatusBarWindowStateController, - shadeExpansionStateManager: ShadeExpansionStateManager, - dumpManager: DumpManager + @Application private val scope: CoroutineScope, + private val commandQueue: CommandQueue, + @Main private val mainExecutor: DelayableExecutor, + statusBarWindowStateController: StatusBarWindowStateController, + val shadeInteractor: ShadeInteractor, + dumpManager: DumpManager ) : Dumpable { // State variables set by external classes. - private var panelExpanded: Boolean = false private var isOccluded: Boolean = false private var bouncerShowing: Boolean = false private var topAppHidesStatusBar: Boolean = false @@ -49,10 +52,9 @@ class StatusBarHideIconsForBouncerManager @Inject constructor( statusBarWindowStateController.addListener { state -> setStatusBarStateAndTriggerUpdate(state) } - shadeExpansionStateManager.addFullExpansionListener { isExpanded -> - if (panelExpanded != isExpanded) { - panelExpanded = isExpanded - updateHideIconsForBouncer(animate = false) + scope.launch { + shadeInteractor.isAnyExpanded.collect { + updateHideIconsForBouncer(false) } } } @@ -101,7 +103,7 @@ class StatusBarHideIconsForBouncerManager @Inject constructor( topAppHidesStatusBar && isOccluded && (statusBarWindowHidden || bouncerShowing) - val hideBecauseKeyguard = !panelExpanded && !isOccluded && bouncerShowing + val hideBecauseKeyguard = !isShadeOrQsExpanded() && !isOccluded && bouncerShowing val shouldHideIconsForBouncer = hideBecauseApp || hideBecauseKeyguard if (hideIconsForBouncer != shouldHideIconsForBouncer) { hideIconsForBouncer = shouldHideIconsForBouncer @@ -125,9 +127,13 @@ class StatusBarHideIconsForBouncerManager @Inject constructor( } } + private fun isShadeOrQsExpanded(): Boolean { + return shadeInteractor.isAnyExpanded.value + } + override fun dump(pw: PrintWriter, args: Array<out String>) { pw.println("---- State variables set externally ----") - pw.println("panelExpanded=$panelExpanded") + pw.println("isShadeOrQsExpanded=${isShadeOrQsExpanded()}") pw.println("isOccluded=$isOccluded") pw.println("bouncerShowing=$bouncerShowing") pw.println("topAppHideStatusBar=$topAppHidesStatusBar") diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java index ba73c1098637..6d8ec44ad55e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java @@ -39,6 +39,7 @@ import com.android.systemui.res.R; import com.android.systemui.scene.domain.interactor.SceneInteractor; import com.android.systemui.scene.shared.flag.SceneContainerFlags; import com.android.systemui.shade.ShadeExpansionStateManager; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; @@ -86,8 +87,9 @@ public final class StatusBarTouchableRegionManager implements Dumpable { ConfigurationController configurationController, HeadsUpManager headsUpManager, ShadeExpansionStateManager shadeExpansionStateManager, + ShadeInteractor shadeInteractor, Provider<SceneInteractor> sceneInteractor, - Provider<JavaAdapter> javaAdapter, + JavaAdapter javaAdapter, SceneContainerFlags sceneContainerFlags, UnlockedScreenOffAnimationController unlockedScreenOffAnimationController, PrimaryBouncerInteractor primaryBouncerInteractor, @@ -126,12 +128,12 @@ public final class StatusBarTouchableRegionManager implements Dumpable { }); mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController; - shadeExpansionStateManager.addFullExpansionListener(this::onShadeExpansionFullyChanged); + javaAdapter.alwaysCollectFlow(shadeInteractor.isAnyExpanded(), this::onShadeOrQsExpanded); if (sceneContainerFlags.isEnabled()) { - javaAdapter.get().alwaysCollectFlow( + javaAdapter.alwaysCollectFlow( sceneInteractor.get().isVisible(), - this::onShadeExpansionFullyChanged); + this::onShadeOrQsExpanded); } mPrimaryBouncerInteractor = primaryBouncerInteractor; @@ -151,7 +153,7 @@ public final class StatusBarTouchableRegionManager implements Dumpable { pw.println(mTouchableRegion); } - private void onShadeExpansionFullyChanged(Boolean isExpanded) { + private void onShadeOrQsExpanded(Boolean isExpanded) { if (isExpanded != mIsStatusBarExpanded) { mIsStatusBarExpanded = isExpanded; if (isExpanded) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java index a033e1d55333..66ac17eee545 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java @@ -20,6 +20,7 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; +import android.annotation.ColorInt; import android.content.Context; import android.util.AttributeSet; import android.view.View; @@ -28,6 +29,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.android.settingslib.Utils; import com.android.systemui.res.R; import com.android.wm.shell.animation.Interpolators; @@ -49,8 +51,9 @@ public class TapAgainView extends TextView { } void updateColor() { - int textColor = getResources().getColor(R.color.notif_pill_text, mContext.getTheme()); - setTextColor(textColor); + final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(mContext, + com.android.internal.R.attr.materialColorOnSurface); + setTextColor(onSurface); setBackground(getResources().getDrawable(R.drawable.rounded_bg_full, mContext.getTheme())); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java index e2a4714e6116..3921e69501d2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java @@ -44,7 +44,6 @@ import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.res.R; import com.android.systemui.shade.ShadeExpansionStateManager; @@ -59,12 +58,10 @@ import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder; import com.android.systemui.statusbar.notification.icon.ui.viewbinder.StatusBarNotificationIconViewStore; import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerStatusBarViewModel; -import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerViewModel; -import com.android.systemui.statusbar.phone.DozeParameters; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.phone.NotificationIconAreaController; import com.android.systemui.statusbar.phone.NotificationIconContainer; import com.android.systemui.statusbar.phone.PhoneStatusBarView; -import com.android.systemui.statusbar.phone.ScreenOffAnimationController; import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconController.DarkIconManager; @@ -86,6 +83,8 @@ import com.android.systemui.util.CarrierConfigTracker.CarrierConfigChangedListen import com.android.systemui.util.CarrierConfigTracker.DefaultDataSubscriptionChangedListener; import com.android.systemui.util.settings.SecureSettings; +import kotlin.Unit; + import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; @@ -96,8 +95,6 @@ import java.util.concurrent.Executor; import javax.inject.Inject; -import kotlin.Unit; - /** * Contains the collapsed status bar and handles hiding/showing based on disable flags * and keyguard state. Also manages lifecycle to make sure the views it contains are being @@ -155,12 +152,10 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private final DumpManager mDumpManager; private final StatusBarWindowStateController mStatusBarWindowStateController; private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; - private final NotificationIconContainerViewModel mStatusBarIconsViewModel; + private final NotificationIconContainerStatusBarViewModel mStatusBarIconsViewModel; private final ConfigurationState mConfigurationState; private final ConfigurationController mConfigurationController; - private final DozeParameters mDozeParameters; - private final ScreenOffAnimationController mScreenOffAnimationController; - private final NotificationIconContainerViewBinder.IconViewStore mStatusBarIconViewStore; + private final StatusBarNotificationIconViewStore mStatusBarIconViewStore; private final DemoModeController mDemoModeController; private List<String> mBlockedIcons = new ArrayList<>(); @@ -252,8 +247,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue NotificationIconContainerStatusBarViewModel statusBarIconsViewModel, ConfigurationState configurationState, ConfigurationController configurationController, - DozeParameters dozeParameters, - ScreenOffAnimationController screenOffAnimationController, StatusBarNotificationIconViewStore statusBarIconViewStore, DemoModeController demoModeController) { mStatusBarFragmentComponentFactory = statusBarFragmentComponentFactory; @@ -283,8 +276,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mStatusBarIconsViewModel = statusBarIconsViewModel; mConfigurationState = configurationState; mConfigurationController = configurationController; - mDozeParameters = dozeParameters; - mScreenOffAnimationController = screenOffAnimationController; mStatusBarIconViewStore = statusBarIconViewStore; mDemoModeController = demoModeController; } @@ -317,7 +308,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mStatusBarWindowStateController.addListener(mStatusBarWindowStateListener); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mDemoModeController.addCallback(mDemoModeCallback); } } @@ -326,7 +317,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue public void onDestroy() { super.onDestroy(); mStatusBarWindowStateController.removeListener(mStatusBarWindowStateListener); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mDemoModeController.removeCallback(mDemoModeCallback); } } @@ -469,7 +460,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue /** Initializes views related to the notification icon area. */ public void initNotificationIconArea() { ViewGroup notificationIconArea = mStatusBar.requireViewById(R.id.notification_icon_area); - if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) { + if (NotificationIconContainerRefactor.isEnabled()) { mNotificationIconAreaInner = LayoutInflater.from(getContext()) .inflate(R.layout.notification_icon_area, notificationIconArea, true); @@ -480,9 +471,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mStatusBarIconsViewModel, mConfigurationState, mConfigurationController, - mDozeParameters, - mFeatureFlags, - mScreenOffAnimationController, mStatusBarIconViewStore); } else { mNotificationIconAreaInner = @@ -606,7 +594,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue // Hide notifications if the disable flag is set or we have an ongoing call. if (disableNotifications || hasOngoingCall) { - hideNotificationIconArea(animate); + hideNotificationIconArea(animate && !hasOngoingCall); } else { showNotificationIconArea(animate); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/SubscriptionModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/SubscriptionModel.kt index 27f6df4c26e1..d9d909a49781 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/SubscriptionModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/SubscriptionModel.kt @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.model import android.os.ParcelUuid +import android.telephony.SubscriptionManager.ProfileClass /** * SystemUI representation of [SubscriptionInfo]. Currently we only use two fields on the @@ -37,4 +38,7 @@ data class SubscriptionModel( /** Text representing the name for this connection */ val carrierName: String, + + /** Allow us to filter out PROVISIONING profiles. See [SubscriptionInfo.getProfileClass] */ + @ProfileClass val profileClass: Int ) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt index c7987e2f8eb1..205dc1cd66cf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository.demo import android.content.Context import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.util.Log import com.android.settingslib.SignalIcon import com.android.settingslib.mobile.MobileMappings @@ -96,6 +97,7 @@ constructor( subscriptionId = subId, isOpportunistic = false, carrierName = DEFAULT_CARRIER_NAME, + profileClass = PROFILE_CLASS_UNSET, ) .also { subscriptionInfoCache[subId] = it } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt index ecb80f28de3e..2caf33bd92cf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt @@ -408,6 +408,7 @@ constructor( isOpportunistic = isOpportunistic, groupUuid = groupUuid, carrierName = carrierName.toString(), + profileClass = profileClass, ) companion object { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt index 62150e9a1236..dad409316730 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt @@ -19,10 +19,13 @@ package com.android.systemui.statusbar.pipeline.mobile.domain.interactor import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.SubscriptionManager +import android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING import com.android.settingslib.SignalIcon.MobileIconGroup import com.android.settingslib.mobile.TelephonyIcons import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.flags.FeatureFlagsClassic +import com.android.systemui.flags.Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS import com.android.systemui.log.table.TableLogBuffer import com.android.systemui.log.table.logDiffsForTable import com.android.systemui.statusbar.pipeline.dagger.MobileSummaryLog @@ -121,6 +124,7 @@ constructor( userSetupRepo: UserSetupRepository, @Application private val scope: CoroutineScope, private val context: Context, + private val featureFlagsClassic: FeatureFlagsClassic, ) : MobileIconsInteractor { // Weak reference lookup for created interactors @@ -163,6 +167,20 @@ constructor( mobileConnectionsRepo.subscriptions /** + * Any filtering that we can do based purely on the info of each subscription. Currently this + * only applies the ProfileClass-based filter, but if we need other they can go here + */ + private val subscriptionsBasedFilteredSubs = + unfilteredSubscriptions.map { subs -> applyProvisioningFilter(subs) }.distinctUntilChanged() + + private fun applyProvisioningFilter(subs: List<SubscriptionModel>): List<SubscriptionModel> = + if (!featureFlagsClassic.isEnabled(FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS)) { + subs + } else { + subs.filter { it.profileClass != PROFILE_CLASS_PROVISIONING } + } + + /** * Generally, SystemUI wants to show iconography for each subscription that is listed by * [SubscriptionManager]. However, in the case of opportunistic subscriptions, we want to only * show a single representation of the pair of subscriptions. The docs define opportunistic as: @@ -177,48 +195,15 @@ constructor( */ override val filteredSubscriptions: Flow<List<SubscriptionModel>> = combine( - unfilteredSubscriptions, + subscriptionsBasedFilteredSubs, mobileConnectionsRepo.activeMobileDataSubscriptionId, connectivityRepository.vcnSubId, ) { unfilteredSubs, activeId, vcnSubId -> - // Based on the old logic, - if (unfilteredSubs.size != 2) { - return@combine unfilteredSubs - } - - val info1 = unfilteredSubs[0] - val info2 = unfilteredSubs[1] - - // Filtering only applies to subscriptions in the same group - if (info1.groupUuid == null || info1.groupUuid != info2.groupUuid) { - return@combine unfilteredSubs - } - - // If both subscriptions are primary, show both - if (!info1.isOpportunistic && !info2.isOpportunistic) { - return@combine unfilteredSubs - } - - // NOTE: at this point, we are now returning a single SubscriptionInfo - - // If carrier required, always show the icon of the primary subscription. - // Otherwise, show whichever subscription is currently active for internet. - if (carrierConfigTracker.alwaysShowPrimarySignalBarInOpportunisticNetworkDefault) { - // return the non-opportunistic info - return@combine if (info1.isOpportunistic) listOf(info2) else listOf(info1) - } else { - // It's possible for the subId of the VCN to disagree with the active subId in - // cases where the system has tried to switch but found no connection. In these - // scenarios, VCN will always have the subId that we want to use, so use that - // value instead of the activeId reported by telephony - val subIdToKeep = vcnSubId ?: activeId - - return@combine if (info1.subscriptionId == subIdToKeep) { - listOf(info1) - } else { - listOf(info2) - } - } + filterSubsBasedOnOpportunistic( + unfilteredSubs, + activeId, + vcnSubId, + ) } .distinctUntilChanged() .logDiffsForTable( @@ -229,6 +214,51 @@ constructor( ) .stateIn(scope, SharingStarted.WhileSubscribed(), listOf()) + private fun filterSubsBasedOnOpportunistic( + subList: List<SubscriptionModel>, + activeId: Int?, + vcnSubId: Int?, + ): List<SubscriptionModel> { + // Based on the old logic, + if (subList.size != 2) { + return subList + } + + val info1 = subList[0] + val info2 = subList[1] + + // Filtering only applies to subscriptions in the same group + if (info1.groupUuid == null || info1.groupUuid != info2.groupUuid) { + return subList + } + + // If both subscriptions are primary, show both + if (!info1.isOpportunistic && !info2.isOpportunistic) { + return subList + } + + // NOTE: at this point, we are now returning a single SubscriptionInfo + + // If carrier required, always show the icon of the primary subscription. + // Otherwise, show whichever subscription is currently active for internet. + if (carrierConfigTracker.alwaysShowPrimarySignalBarInOpportunisticNetworkDefault) { + // return the non-opportunistic info + return if (info1.isOpportunistic) listOf(info2) else listOf(info1) + } else { + // It's possible for the subId of the VCN to disagree with the active subId in + // cases where the system has tried to switch but found no connection. In these + // scenarios, VCN will always have the subId that we want to use, so use that + // value instead of the activeId reported by telephony + val subIdToKeep = vcnSubId ?: activeId + + return if (info1.subscriptionId == subIdToKeep) { + listOf(info1) + } else { + listOf(info2) + } + } + } + /** * Copied from the old pipeline. We maintain a 2s period of time where we will keep the * validated bit from the old active network (A) while data is changing to the new one (B). diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java index ceed81a182aa..4864fb8ca634 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java @@ -130,7 +130,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene private ImageView mDelete; private ImageView mDeleteBg; private boolean mColorized; - private int mTint; + private int mLastBackgroundColor; private boolean mResetting; @Nullable private RevealParams mRevealParams; @@ -181,10 +181,9 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene mEditorActionHandler = new EditorActionHandler(); mUiEventLogger = Dependency.get(UiEventLogger.class); TypedArray ta = getContext().getTheme().obtainStyledAttributes(new int[]{ - com.android.internal.R.attr.colorAccent, - com.android.internal.R.attr.colorSurface, + com.android.internal.R.attr.materialColorSurfaceDim, }); - mTint = ta.getColor(0, 0); + mLastBackgroundColor = ta.getColor(0, 0); ta.recycle(); } @@ -210,9 +209,9 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene * @param backgroundColor colorized notification color */ public void setBackgroundTintColor(final int backgroundColor, boolean colorized) { - if (colorized == mColorized && backgroundColor == mTint) return; + if (colorized == mColorized && backgroundColor == mLastBackgroundColor) return; mColorized = colorized; - mTint = backgroundColor; + mLastBackgroundColor = backgroundColor; final int editBgColor; final int deleteBgColor; final int deleteFgColor; @@ -237,8 +236,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene hintColor = mContext.getColor(R.color.remote_input_hint); deleteFgColor = textColor.getDefaultColor(); try (TypedArray ta = getContext().getTheme().obtainStyledAttributes(new int[]{ - com.android.internal.R.attr.colorSurfaceHighlight, - com.android.internal.R.attr.colorSurfaceVariant + com.android.internal.R.attr.materialColorSurfaceDim, + com.android.internal.R.attr.materialColorSurfaceVariant })) { editBgColor = ta.getColor(0, backgroundColor); deleteBgColor = ta.getColor(1, Color.GRAY); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/VariableDateViewController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/VariableDateViewController.kt index eaae0f0c4f75..fa6ea4cdc2e1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/VariableDateViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/VariableDateViewController.kt @@ -30,10 +30,13 @@ import android.text.TextUtils import android.util.Log import android.view.View.MeasureSpec import androidx.annotation.VisibleForTesting +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.repeatOnLifecycle import com.android.systemui.Dependency import com.android.systemui.broadcast.BroadcastDispatcher -import com.android.systemui.shade.ShadeExpansionStateManager +import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.shade.ShadeLogger +import com.android.systemui.shade.domain.interactor.ShadeInteractor import com.android.systemui.util.ViewController import com.android.systemui.util.time.SystemClock import java.text.FieldPosition @@ -83,7 +86,7 @@ private const val TAG = "VariableDateViewController" class VariableDateViewController( private val systemClock: SystemClock, private val broadcastDispatcher: BroadcastDispatcher, - private val shadeExpansionStateManager: ShadeExpansionStateManager, + private val shadeInteractor: ShadeInteractor, private val shadeLogger: ShadeLogger, private val timeTickHandler: Handler, view: VariableDateView @@ -174,8 +177,11 @@ class VariableDateViewController( broadcastDispatcher.registerReceiver(intentReceiver, filter, HandlerExecutor(timeTickHandler), UserHandle.SYSTEM) - - shadeExpansionStateManager.addQsExpansionFractionListener(::onQsExpansionFractionChanged) + mView.repeatWhenAttached { + repeatOnLifecycle(Lifecycle.State.STARTED) { + shadeInteractor.qsExpansion.collect(::onQsExpansionFractionChanged) + } + } post(::updateClock) mView.onAttach(onMeasureListener) } @@ -183,7 +189,6 @@ class VariableDateViewController( override fun onViewDetached() { dateFormat = null mView.onAttach(null) - shadeExpansionStateManager.removeQsExpansionFractionListener(::onQsExpansionFractionChanged) broadcastDispatcher.unregisterReceiver(intentReceiver) } @@ -237,18 +242,18 @@ class VariableDateViewController( class Factory @Inject constructor( private val systemClock: SystemClock, private val broadcastDispatcher: BroadcastDispatcher, - private val shadeExpansionStateManager: ShadeExpansionStateManager, + private val shadeInteractor: ShadeInteractor, private val shadeLogger: ShadeLogger, @Named(Dependency.TIME_TICK_HANDLER_NAME) private val handler: Handler ) { fun create(view: VariableDateView): VariableDateViewController { return VariableDateViewController( - systemClock, - broadcastDispatcher, - shadeExpansionStateManager, - shadeLogger, - handler, - view + systemClock, + broadcastDispatcher, + shadeInteractor, + shadeLogger, + handler, + view ) } } diff --git a/packages/SystemUI/src/com/android/systemui/util/DumpUtils.kt b/packages/SystemUI/src/com/android/systemui/util/DumpUtils.kt index 018ef968ff2d..5b0943a77979 100644 --- a/packages/SystemUI/src/com/android/systemui/util/DumpUtils.kt +++ b/packages/SystemUI/src/com/android/systemui/util/DumpUtils.kt @@ -18,6 +18,7 @@ package com.android.systemui.util import android.util.IndentingPrintWriter import android.view.View +import com.android.systemui.Dumpable import java.io.PrintWriter /** @@ -56,13 +57,28 @@ fun IndentingPrintWriter.withIncreasedIndent(runnable: Runnable) { } /** Print a line which is '$label=$value' */ -fun IndentingPrintWriter.println(label: String, value: Any) = +fun IndentingPrintWriter.println(label: String, value: Any?) = append(label).append('=').println(value) -/** Return a readable string for the visibility */ -fun visibilityString(@View.Visibility visibility: Int): String = when (visibility) { - View.GONE -> "gone" - View.VISIBLE -> "visible" - View.INVISIBLE -> "invisible" - else -> "unknown:$visibility" +@JvmOverloads +inline fun <T> IndentingPrintWriter.printCollection( + label: String, + collection: Collection<T>, + printer: IndentingPrintWriter.(T) -> Unit = IndentingPrintWriter::println, +) { + append(label).append(": ").println(collection.size) + withIncreasedIndent { collection.forEach { printer(it) } } +} + +fun <T : Dumpable> IndentingPrintWriter.dumpCollection(label: String, collection: Collection<T>) { + printCollection(label, collection) { it.dump(this, emptyArray()) } } + +/** Return a readable string for the visibility */ +fun visibilityString(@View.Visibility visibility: Int): String = + when (visibility) { + View.GONE -> "gone" + View.VISIBLE -> "visible" + View.INVISIBLE -> "invisible" + else -> "unknown:$visibility" + } diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 0ff308e19dd6..280c66a33151 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -99,7 +99,6 @@ import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.DecelerateInterpolator; -import android.widget.FrameLayout; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; @@ -256,7 +255,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, private CaptionsToggleImageButton mODICaptionsIcon; private View mSettingsView; private ImageButton mSettingsIcon; - private FrameLayout mZenIcon; private final List<VolumeRow> mRows = new ArrayList<>(); private ConfigurableTexts mConfigurableTexts; private final SparseBooleanArray mDynamic = new SparseBooleanArray(); @@ -633,7 +631,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, mRinger = mDialog.findViewById(R.id.ringer); if (mRinger != null) { mRingerIcon = mRinger.findViewById(R.id.ringer_icon); - mZenIcon = mRinger.findViewById(R.id.dnd_icon); } mSelectedRingerIcon = mDialog.findViewById(R.id.volume_new_ringer_active_icon); @@ -847,7 +844,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, if (stream == STREAM_ACCESSIBILITY) { row.header.setFilters(new InputFilter[] {new InputFilter.LengthFilter(13)}); } - row.dndIcon = row.view.findViewById(R.id.dnd_icon); row.slider = row.view.findViewById(R.id.volume_row_slider); row.slider.setOnSeekBarChangeListener(new VolumeSeekBarChangeListener(row)); row.number = row.view.findViewById(R.id.volume_number); @@ -1791,27 +1787,13 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, } /** - * Toggles enable state of views in a VolumeRow (not including seekbar or icon) - * Hides/shows zen icon - * @param enable whether to enable volume row views and hide dnd icon - */ - private void enableVolumeRowViewsH(VolumeRow row, boolean enable) { - boolean showDndIcon = !enable; - row.dndIcon.setVisibility(showDndIcon ? VISIBLE : GONE); - } - - /** * Toggles enable state of footer/ringer views - * Hides/shows zen icon - * @param enable whether to enable ringer views and hide dnd icon + * @param enable whether to enable ringer views */ private void enableRingerViewsH(boolean enable) { if (mRingerIcon != null) { mRingerIcon.setEnabled(enable); } - if (mZenIcon != null) { - mZenIcon.setVisibility(enable ? GONE : VISIBLE); - } } private void trimObsoleteH() { @@ -1937,9 +1919,11 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, // update icon final boolean iconEnabled = (mAutomute || ss.muteSupported) && !zenMuted; final int iconRes; - if (isRingVibrate) { + if (zenMuted) { + iconRes = com.android.internal.R.drawable.ic_qs_dnd; + } else if (isRingVibrate) { iconRes = R.drawable.ic_volume_ringer_vibrate; - } else if (isRingSilent || zenMuted) { + } else if (isRingSilent) { iconRes = row.iconMuteRes; } else if (ss.routedToBluetooth) { if (isVoiceCallStream) { @@ -2011,7 +1995,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, if (zenMuted) { row.tracking = false; } - enableVolumeRowViewsH(row, !zenMuted); // update slider final boolean enableSlider = !zenMuted; @@ -2582,7 +2565,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, private ObjectAnimator anim; // slider progress animation for non-touch-related updates private int animTargetProgress; private int lastAudibleLevel = 1; - private FrameLayout dndIcon; void setIcon(int iconRes, Resources.Theme theme) { if (icon != null) { diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java index 153f3f7a1049..603d548694ec 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerBaseTest.java @@ -39,7 +39,6 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.common.ui.ConfigurationState; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FakeFeatureFlags; -import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.KeyguardUnlockAnimationController; import com.android.systemui.keyguard.domain.interactor.KeyguardInteractorFactory; import com.android.systemui.log.LogBuffer; @@ -173,7 +172,6 @@ public class KeyguardClockSwitchControllerBaseTest extends SysuiTestCase { when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mFakeSmartspaceView); mExecutor = new FakeExecutor(new FakeSystemClock()); mFakeFeatureFlags = new FakeFeatureFlags(); - mFakeFeatureFlags.setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); mFakeFeatureFlags.set(FACE_AUTH_REFACTOR, false); mFakeFeatureFlags.set(LOCKSCREEN_WALLPAPER_DREAM_ENABLED, false); mFakeFeatureFlags.set(MIGRATE_KEYGUARD_STATUS_VIEW, false); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/MockMagnificationAnimationCallback.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/MockMagnificationAnimationCallback.java deleted file mode 100644 index 89389b0dd424..000000000000 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/MockMagnificationAnimationCallback.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.accessibility; - -import android.os.RemoteException; -import android.view.accessibility.IRemoteMagnificationAnimationCallback; - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicInteger; - -public class MockMagnificationAnimationCallback extends IRemoteMagnificationAnimationCallback.Stub { - - private final CountDownLatch mCountDownLatch; - private final AtomicInteger mSuccessCount; - private final AtomicInteger mFailedCount; - - MockMagnificationAnimationCallback(CountDownLatch countDownLatch) { - mCountDownLatch = countDownLatch; - mSuccessCount = new AtomicInteger(); - mFailedCount = new AtomicInteger(); - } - - public int getSuccessCount() { - return mSuccessCount.get(); - } - - public int getFailedCount() { - return mFailedCount.get(); - } - - @Override - public void onResult(boolean success) throws RemoteException { - if (success) { - mSuccessCount.getAndIncrement(); - } else { - mFailedCount.getAndIncrement(); - } - // It should be put at the last line to avoid making CountDownLatch#await passed without - // updating values. - mCountDownLatch.countDown(); - } -} diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java index f15164e3fdcc..728102d806fa 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java @@ -35,7 +35,6 @@ import android.graphics.Rect; import android.os.Handler; import android.os.RemoteException; import android.testing.AndroidTestingRunner; -import android.testing.TestableLooper.RunWithLooper; import android.view.SurfaceControl; import android.view.View; import android.view.WindowManager; @@ -68,7 +67,6 @@ import java.util.concurrent.atomic.AtomicReference; @LargeTest @RunWith(AndroidTestingRunner.class) -@RunWithLooper(setAsMainLooper = true) public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @Rule @@ -135,7 +133,9 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @After public void tearDown() throws Exception { - mController.deleteWindowMagnification(); + mInstrumentation.runOnMainSync(() -> { + mController.deleteWindowMagnification(); + }); } @Test @@ -170,8 +170,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterX = DEFAULT_CENTER_X + 100; final float targetCenterY = DEFAULT_CENTER_Y + 100; - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, null); + enableWindowMagnificationWithoutAnimation(targetScale, targetCenterX, targetCenterY); verifyFinalSpec(targetScale, targetCenterX, targetCenterY); } @@ -179,10 +178,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @Test public void enableWindowMagnificationWithScaleOne_disabled_NoAnimationAndInvokeCallback() throws RemoteException { - mWindowMagnificationAnimationController.enableWindowMagnification(1, + enableWindowMagnificationAndWaitAnimating( + mWaitAnimationDuration, /* targetScale= */ 1.0f, DEFAULT_CENTER_X, DEFAULT_CENTER_Y, mAnimationCallback); - verify(mSpyController).enableWindowMagnificationInternal(1, DEFAULT_CENTER_X, + verify(mSpyController).enableWindowMagnificationInternal(1.0f, DEFAULT_CENTER_X, DEFAULT_CENTER_Y, 0f, 0f); verify(mAnimationCallback).onResult(true); } @@ -196,13 +196,15 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterX = DEFAULT_CENTER_X + 100; final float targetCenterY = DEFAULT_CENTER_Y + 100; - Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, mAnimationCallback2); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); - advanceTimeBy(mWaitAnimationDuration); + resetMockObjects(); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, + targetCenterX, targetCenterY, mAnimationCallback2); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + advanceTimeBy(mWaitAnimationDuration); + }); verify(mSpyController, atLeast(2)).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -224,9 +226,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - mWindowMagnificationAnimationController.enableWindowMagnification(Float.NaN, + enableWindowMagnificationAndWaitAnimating(mWaitAnimationDuration, Float.NaN, Float.NaN, Float.NaN, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); // The callback in 2nd enableWindowMagnification will return true verify(mAnimationCallback2).onResult(true); @@ -240,17 +241,23 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { throws RemoteException { enableWindowMagnificationWithoutAnimation(); + // Wait for Rects updated. + waitForIdleSync(); + View mirrorView = mWindowManager.getAttachedView(); final float targetScale = 1.0f; - final float targetCenterX = DEFAULT_CENTER_X + 100; - final float targetCenterY = DEFAULT_CENTER_Y + 100; + // Move the magnifier to the top left corner, within the boundary + final float targetCenterX = mirrorView.getWidth() / 2.0f; + final float targetCenterY = mirrorView.getHeight() / 2.0f; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, mAnimationCallback); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, + targetCenterX, targetCenterY, mAnimationCallback); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + advanceTimeBy(mWaitAnimationDuration); + }); verify(mSpyController, atLeast(2)).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -279,12 +286,14 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, mAnimationCallback); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, + targetCenterX, targetCenterY, mAnimationCallback); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + advanceTimeBy(mWaitAnimationDuration); + }); verify(mSpyController, atLeast(2)).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -314,8 +323,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, null); + enableWindowMagnificationWithoutAnimation(targetScale, targetCenterX, targetCenterY); verifyFinalSpec(Float.NaN, Float.NaN, Float.NaN); assertEquals(WindowMagnificationAnimationController.STATE_DISABLED, @@ -333,8 +341,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, null); + enableWindowMagnificationWithoutAnimation(targetScale, targetCenterX, targetCenterY); verifyFinalSpec(targetScale, targetCenterX, targetCenterY); verify(mAnimationCallback).onResult(false); @@ -347,9 +354,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mAnimationCallback); Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(Float.NaN, - Float.NaN, Float.NaN, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); + enableWindowMagnificationAndWaitAnimating( + mWaitAnimationDuration, Float.NaN, Float.NaN, Float.NaN, mAnimationCallback2); verify(mSpyController, never()).enableWindowMagnificationInternal(anyFloat(), anyFloat(), anyFloat()); @@ -368,20 +374,25 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, mAnimationCallback2); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, + targetCenterX, targetCenterY, mAnimationCallback2); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + }); // Current spec shouldn't match given spec. verify(mAnimationCallback2, never()).onResult(anyBoolean()); verify(mAnimationCallback).onResult(false); - // ValueAnimator.reverse() could not work correctly with the AnimatorTestRule since it is - // using SystemClock in reverse() (b/305731398). Therefore, we call end() on the animator - // directly to verify the result of animation is correct instead of querying the animation - // frame at a specific timing. - mValueAnimator.end(); + + mInstrumentation.runOnMainSync(() -> { + // ValueAnimator.reverse() could not work correctly with the AnimatorTestRule since it + // is using SystemClock in reverse() (b/305731398). Therefore, we call end() on the + // animator directly to verify the result of animation is correct instead of querying + // the animation frame at a specific timing. + mValueAnimator.end(); + }); verify(mSpyController).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -410,8 +421,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, null); + enableWindowMagnificationWithoutAnimation(targetScale, targetCenterX, targetCenterY); verify(mAnimationCallback).onResult(false); verifyFinalSpec(targetScale, targetCenterX, targetCenterY); @@ -425,9 +435,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mAnimationCallback); Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(Float.NaN, + enableWindowMagnificationAndWaitAnimating(mWaitAnimationDuration, Float.NaN, Float.NaN, Float.NaN, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); verify(mSpyController, never()).enableWindowMagnificationInternal(anyFloat(), anyFloat(), anyFloat()); @@ -445,12 +454,14 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, - targetCenterX, targetCenterY, mAnimationCallback2); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, + targetCenterX, targetCenterY, mAnimationCallback2); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + advanceTimeBy(mWaitAnimationDuration); + }); verify(mSpyController, atLeast(2)).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -471,25 +482,26 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final Rect windowBounds = new Rect(mWindowManager.getCurrentWindowMetrics().getBounds()); Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(DEFAULT_SCALE, - windowBounds.exactCenterX(), windowBounds.exactCenterY(), - offsetRatio, offsetRatio, mAnimationCallback); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification(DEFAULT_SCALE, + windowBounds.exactCenterX(), windowBounds.exactCenterY(), + offsetRatio, offsetRatio, mAnimationCallback); + advanceTimeBy(mWaitAnimationDuration); + }); - // We delay the time of verifying to wait for the measurement and layout of the view - mHandler.postDelayed(() -> { - final View attachedView = mWindowManager.getAttachedView(); - assertNotNull(attachedView); - final Rect mirrorViewBound = new Rect(); - final View mirrorView = attachedView.findViewById(R.id.surface_view); - assertNotNull(mirrorView); - mirrorView.getBoundsOnScreen(mirrorViewBound); + // Wait for Rects update + waitForIdleSync(); + final View attachedView = mWindowManager.getAttachedView(); + assertNotNull(attachedView); + final Rect mirrorViewBound = new Rect(); + final View mirrorView = attachedView.findViewById(R.id.surface_view); + assertNotNull(mirrorView); + mirrorView.getBoundsOnScreen(mirrorViewBound); - assertEquals((int) (offsetRatio * mirrorViewBound.width() / 2), - (int) (mirrorViewBound.exactCenterX() - windowBounds.exactCenterX())); - assertEquals((int) (offsetRatio * mirrorViewBound.height() / 2), - (int) (mirrorViewBound.exactCenterY() - windowBounds.exactCenterY())); - }, 100); + assertEquals((int) (offsetRatio * mirrorViewBound.width() / 2), + (int) (mirrorViewBound.exactCenterX() - windowBounds.exactCenterX())); + assertEquals((int) (offsetRatio * mirrorViewBound.height() / 2), + (int) (mirrorViewBound.exactCenterY() - windowBounds.exactCenterY())); } @Test @@ -498,9 +510,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; enableWindowMagnificationWithoutAnimation(); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - targetCenterX, targetCenterY, mAnimationCallback); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + targetCenterX, targetCenterY, mAnimationCallback); + advanceTimeBy(mWaitAnimationDuration); + }); verify(mAnimationCallback).onResult(true); verify(mAnimationCallback, never()).onResult(false); @@ -512,15 +526,17 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { throws RemoteException { enableWindowMagnificationWithoutAnimation(); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - DEFAULT_CENTER_X + 10, DEFAULT_CENTER_Y + 10, mAnimationCallback); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - DEFAULT_CENTER_X + 20, DEFAULT_CENTER_Y + 20, mAnimationCallback); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - DEFAULT_CENTER_X + 30, DEFAULT_CENTER_Y + 30, mAnimationCallback); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - DEFAULT_CENTER_X + 40, DEFAULT_CENTER_Y + 40, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + DEFAULT_CENTER_X + 10, DEFAULT_CENTER_Y + 10, mAnimationCallback); + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + DEFAULT_CENTER_X + 20, DEFAULT_CENTER_Y + 20, mAnimationCallback); + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + DEFAULT_CENTER_X + 30, DEFAULT_CENTER_Y + 30, mAnimationCallback); + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + DEFAULT_CENTER_X + 40, DEFAULT_CENTER_Y + 40, mAnimationCallback2); + advanceTimeBy(mWaitAnimationDuration); + }); // only the last one callback will return true verify(mAnimationCallback2).onResult(true); @@ -538,9 +554,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - targetCenterX, targetCenterY, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + targetCenterX, targetCenterY, mAnimationCallback2); + advanceTimeBy(mWaitAnimationDuration); + }); // The callback in moveWindowMagnifierToPosition will return true verify(mAnimationCallback2).onResult(true); @@ -556,9 +574,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( - Float.NaN, Float.NaN, mAnimationCallback2); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( + Float.NaN, Float.NaN, mAnimationCallback2); + advanceTimeBy(mWaitAnimationDuration); + }); // The callback in moveWindowMagnifierToPosition will return true verify(mAnimationCallback2).onResult(true); @@ -584,6 +604,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { throws RemoteException { enableWindowMagnificationWithoutAnimation(); + resetMockObjects(); deleteWindowMagnificationAndWaitAnimating(mWaitAnimationDuration, mAnimationCallback); verify(mSpyController, atLeast(2)).enableWindowMagnificationInternal( @@ -625,16 +646,18 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mAnimationCallback); Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.deleteWindowMagnification( - mAnimationCallback2); - mCurrentScale.set(mController.getScale()); - mCurrentCenterX.set(mController.getCenterX()); - mCurrentCenterY.set(mController.getCenterY()); - // ValueAnimator.reverse() could not work correctly with the AnimatorTestRule since it is - // using SystemClock in reverse() (b/305731398). Therefore, we call end() on the animator - // directly to verify the result of animation is correct instead of querying the animation - // frame at a specific timing. - mValueAnimator.end(); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.deleteWindowMagnification( + mAnimationCallback2); + mCurrentScale.set(mController.getScale()); + mCurrentCenterX.set(mController.getCenterX()); + mCurrentCenterY.set(mController.getCenterY()); + // ValueAnimator.reverse() could not work correctly with the AnimatorTestRule since it + // is using SystemClock in reverse() (b/305731398). Therefore, we call end() on the + // animator directly to verify the result of animation is correct instead of querying + // the animation frame at a specific timing. + mValueAnimator.end(); + }); verify(mSpyController).enableWindowMagnificationInternal( mScaleCaptor.capture(), @@ -661,7 +684,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mAnimationCallback); Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.deleteWindowMagnification(null); + deleteWindowMagnificationWithoutAnimation(); verifyFinalSpec(Float.NaN, Float.NaN, Float.NaN); verify(mAnimationCallback).onResult(false); @@ -673,6 +696,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { deleteWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); + resetMockObjects(); deleteWindowMagnificationAndWaitAnimating(mWaitAnimationDuration, mAnimationCallback2); verify(mSpyController).enableWindowMagnificationInternal( @@ -710,8 +734,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float offsetY = (float) Math.ceil(offsetX * WindowMagnificationController.HORIZONTAL_LOCK_BASE) + 1.0f; - - mController.moveWindowMagnifier(offsetX, offsetY); + mInstrumentation.runOnMainSync(()-> mController.moveWindowMagnifier(offsetX, offsetY)); verify(mSpyController).moveWindowMagnifier(offsetX, offsetY); verifyFinalSpec(DEFAULT_SCALE, DEFAULT_CENTER_X, DEFAULT_CENTER_Y + offsetY); @@ -726,8 +749,8 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float offsetY = (float) Math.floor(offsetX * WindowMagnificationController.HORIZONTAL_LOCK_BASE) - 1.0f; - - mController.moveWindowMagnifier(offsetX, offsetY); + mInstrumentation.runOnMainSync(() -> + mController.moveWindowMagnifier(offsetX, offsetY)); verify(mSpyController).moveWindowMagnifier(offsetX, offsetY); verifyFinalSpec(DEFAULT_SCALE, DEFAULT_CENTER_X + offsetX, DEFAULT_CENTER_Y); @@ -742,8 +765,10 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { (float) Math.ceil(offsetX * WindowMagnificationController.HORIZONTAL_LOCK_BASE); // while diagonal scrolling enabled, // should move with both offsetX and offsetY without regrading offsetY/offsetX - mController.setDiagonalScrolling(true); - mController.moveWindowMagnifier(offsetX, offsetY); + mInstrumentation.runOnMainSync(() -> { + mController.setDiagonalScrolling(true); + mController.moveWindowMagnifier(offsetX, offsetY); + }); verify(mSpyController).moveWindowMagnifier(offsetX, offsetY); verifyFinalSpec(DEFAULT_SCALE, DEFAULT_CENTER_X + offsetX, DEFAULT_CENTER_Y + offsetY); @@ -755,9 +780,11 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; enableWindowMagnificationWithoutAnimation(); - mController.moveWindowMagnifierToPosition(targetCenterX, targetCenterY, - mAnimationCallback); - advanceTimeBy(mWaitAnimationDuration); + mInstrumentation.runOnMainSync(() -> { + mController.moveWindowMagnifierToPosition(targetCenterX, targetCenterY, + mAnimationCallback); + advanceTimeBy(mWaitAnimationDuration); + }); verifyFinalSpec(DEFAULT_SCALE, targetCenterX, targetCenterY); } @@ -774,24 +801,49 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { } private void enableWindowMagnificationWithoutAnimation() { - Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(DEFAULT_SCALE, - DEFAULT_CENTER_X, DEFAULT_CENTER_Y, null); + enableWindowMagnificationWithoutAnimation( + DEFAULT_SCALE, DEFAULT_CENTER_X, DEFAULT_CENTER_Y); + } + + private void enableWindowMagnificationWithoutAnimation( + float targetScale, float targetCenterX, float targetCenterY) { + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification( + targetScale, targetCenterX, targetCenterY, null); + }); } private void enableWindowMagnificationAndWaitAnimating(long duration, @Nullable IRemoteMagnificationAnimationCallback callback) { - Mockito.reset(mSpyController); - mWindowMagnificationAnimationController.enableWindowMagnification(DEFAULT_SCALE, - DEFAULT_CENTER_X, DEFAULT_CENTER_Y, callback); - advanceTimeBy(duration); + enableWindowMagnificationAndWaitAnimating( + duration, DEFAULT_SCALE, DEFAULT_CENTER_X, DEFAULT_CENTER_Y, callback); + } + + private void enableWindowMagnificationAndWaitAnimating( + long duration, + float targetScale, + float targetCenterX, + float targetCenterY, + @Nullable IRemoteMagnificationAnimationCallback callback) { + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.enableWindowMagnification( + targetScale, targetCenterX, targetCenterY, callback); + advanceTimeBy(duration); + }); + } + + private void deleteWindowMagnificationWithoutAnimation() { + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.deleteWindowMagnification(null); + }); } private void deleteWindowMagnificationAndWaitAnimating(long duration, @Nullable IRemoteMagnificationAnimationCallback callback) { - resetMockObjects(); - mWindowMagnificationAnimationController.deleteWindowMagnification(callback); - advanceTimeBy(duration); + mInstrumentation.runOnMainSync(() -> { + mWindowMagnificationAnimationController.deleteWindowMagnification(callback); + advanceTimeBy(duration); + }); } private void verifyStartValue(ArgumentCaptor<Float> captor, float startValue) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java index 86ae51768219..06421dbbf2bb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java @@ -45,6 +45,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.times; @@ -53,6 +54,7 @@ import static org.mockito.Mockito.when; import android.animation.ValueAnimator; import android.annotation.IdRes; +import android.annotation.Nullable; import android.app.Instrumentation; import android.content.Context; import android.content.pm.ActivityInfo; @@ -89,6 +91,7 @@ import androidx.test.filters.LargeTest; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.SysuiTestCase; +import com.android.systemui.animation.AnimatorTestRule; import com.android.systemui.model.SysUiState; import com.android.systemui.res.R; import com.android.systemui.settings.FakeDisplayTracker; @@ -102,6 +105,7 @@ import org.junit.After; import org.junit.Assume; import org.junit.Before; import org.junit.Ignore; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; @@ -111,8 +115,6 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.List; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; @LargeTest @@ -120,12 +122,10 @@ import java.util.concurrent.atomic.AtomicInteger; @RunWith(AndroidTestingRunner.class) public class WindowMagnificationControllerTest extends SysuiTestCase { + @Rule + public final AnimatorTestRule mAnimatorTestRule = new AnimatorTestRule(); + private static final int LAYOUT_CHANGE_TIMEOUT_MS = 5000; - // The duration couldn't too short, otherwise the animation check on bounce effect - // won't work in expectation. (b/299537784) - private static final int BOUNCE_EFFECT_DURATION_MS = 2000; - private static final long ANIMATION_DURATION_MS = 300; - private final long mWaitingAnimationPeriod = 2 * ANIMATION_DURATION_MS; @Mock private SfVsyncFrameCallbackProvider mSfVsyncFrameProvider; @Mock @@ -134,11 +134,16 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { private WindowMagnifierCallback mWindowMagnifierCallback; @Mock IRemoteMagnificationAnimationCallback mAnimationCallback; + @Mock + IRemoteMagnificationAnimationCallback mAnimationCallback2; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction(); @Mock private SecureSettings mSecureSettings; + private long mWaitAnimationDuration; + private long mWaitBounceEffectDuration; + private Handler mHandler; private TestableWindowManager mWindowManager; private SysUiState mSysUiState; @@ -194,6 +199,13 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { mResources.getConfiguration().orientation = ORIENTATION_PORTRAIT; } + // Using the animation duration in WindowMagnificationAnimationController for testing. + mWaitAnimationDuration = mResources.getInteger( + com.android.internal.R.integer.config_longAnimTime); + // Using the bounce effect duration in WindowMagnificationController for testing. + mWaitBounceEffectDuration = mResources.getInteger( + com.android.internal.R.integer.config_shortAnimTime); + mWindowMagnificationAnimationController = new WindowMagnificationAnimationController( mContext, mValueAnimator); mWindowMagnificationController = @@ -208,7 +220,6 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { mSysUiState, () -> mWindowSessionSpy, mSecureSettings); - mWindowMagnificationController.setBounceEffectDuration(BOUNCE_EFFECT_DURATION_MS); verify(mMirrorWindowControl).setWindowDelegate( any(MirrorWindowControl.MirrorWindowDelegate.class)); @@ -281,9 +292,9 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { /* magnificationFrameOffsetRatioY= */ 0, Mockito.mock(IRemoteMagnificationAnimationCallback.class)); }); + advanceTimeBy(LAYOUT_CHANGE_TIMEOUT_MS); - verify(mSfVsyncFrameProvider, - timeout(LAYOUT_CHANGE_TIMEOUT_MS).atLeast(2)).postFrameCallback(any()); + verify(mSfVsyncFrameProvider, atLeast(2)).postFrameCallback(any()); } @Test @@ -401,14 +412,12 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { @Test public void moveWindowMagnifierToPositionWithAnimation_expectedValuesAndInvokeCallback() - throws InterruptedException { + throws RemoteException { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN, Float.NaN, 0, 0, null); }); - final CountDownLatch countDownLatch = new CountDownLatch(1); - final MockMagnificationAnimationCallback animationCallback = - new MockMagnificationAnimationCallback(countDownLatch); + final ArgumentCaptor<Rect> sourceBoundsCaptor = ArgumentCaptor.forClass(Rect.class); verify(mWindowMagnifierCallback, timeout(LAYOUT_CHANGE_TIMEOUT_MS)) .onSourceBoundsChanged((eq(mContext.getDisplayId())), sourceBoundsCaptor.capture()); @@ -417,12 +426,12 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.moveWindowMagnifierToPosition( - targetCenterX, targetCenterY, animationCallback); + targetCenterX, targetCenterY, mAnimationCallback); }); + advanceTimeBy(mWaitAnimationDuration); - assertTrue(countDownLatch.await(mWaitingAnimationPeriod, TimeUnit.MILLISECONDS)); - assertEquals(1, animationCallback.getSuccessCount()); - assertEquals(0, animationCallback.getFailedCount()); + verify(mAnimationCallback, times(1)).onResult(eq(true)); + verify(mAnimationCallback, never()).onResult(eq(false)); verify(mWindowMagnifierCallback, timeout(LAYOUT_CHANGE_TIMEOUT_MS)) .onSourceBoundsChanged((eq(mContext.getDisplayId())), sourceBoundsCaptor.capture()); assertEquals(mWindowMagnificationController.getCenterX(), @@ -435,14 +444,12 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { @Test public void moveWindowMagnifierToPositionMultipleTimes_expectedValuesAndInvokeCallback() - throws InterruptedException { + throws RemoteException { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN, Float.NaN, 0, 0, null); }); - final CountDownLatch countDownLatch = new CountDownLatch(4); - final MockMagnificationAnimationCallback animationCallback = - new MockMagnificationAnimationCallback(countDownLatch); + final ArgumentCaptor<Rect> sourceBoundsCaptor = ArgumentCaptor.forClass(Rect.class); verify(mWindowMagnifierCallback, timeout(LAYOUT_CHANGE_TIMEOUT_MS)) .onSourceBoundsChanged((eq(mContext.getDisplayId())), sourceBoundsCaptor.capture()); @@ -451,20 +458,20 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { mInstrumentation.runOnMainSync(() -> { mWindowMagnificationController.moveWindowMagnifierToPosition( - centerX + 10, centerY + 10, animationCallback); + centerX + 10, centerY + 10, mAnimationCallback); mWindowMagnificationController.moveWindowMagnifierToPosition( - centerX + 20, centerY + 20, animationCallback); + centerX + 20, centerY + 20, mAnimationCallback); mWindowMagnificationController.moveWindowMagnifierToPosition( - centerX + 30, centerY + 30, animationCallback); + centerX + 30, centerY + 30, mAnimationCallback); mWindowMagnificationController.moveWindowMagnifierToPosition( - centerX + 40, centerY + 40, animationCallback); + centerX + 40, centerY + 40, mAnimationCallback2); }); + advanceTimeBy(mWaitAnimationDuration); - assertTrue(countDownLatch.await(mWaitingAnimationPeriod, TimeUnit.MILLISECONDS)); // only the last one callback will return true - assertEquals(1, animationCallback.getSuccessCount()); + verify(mAnimationCallback2).onResult(eq(true)); // the others will return false - assertEquals(3, animationCallback.getFailedCount()); + verify(mAnimationCallback, times(3)).onResult(eq(false)); verify(mWindowMagnifierCallback, timeout(LAYOUT_CHANGE_TIMEOUT_MS)) .onSourceBoundsChanged((eq(mContext.getDisplayId())), sourceBoundsCaptor.capture()); assertEquals(mWindowMagnificationController.getCenterX(), @@ -1078,27 +1085,16 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { final View mirrorView = mWindowManager.getAttachedView(); - final long timeout = SystemClock.uptimeMillis() + 5000; final AtomicDouble maxScaleX = new AtomicDouble(); - final Runnable onAnimationFrame = new Runnable() { - @Override - public void run() { - // For some reason the fancy way doesn't compile... -// maxScaleX.getAndAccumulate(mirrorView.getScaleX(), Math::max); - final double oldMax = maxScaleX.get(); - final double newMax = Math.max(mirrorView.getScaleX(), oldMax); - assertTrue(maxScaleX.compareAndSet(oldMax, newMax)); - - if (SystemClock.uptimeMillis() < timeout) { - mirrorView.postOnAnimation(this); - } - } - }; - mirrorView.postOnAnimation(onAnimationFrame); - - waitForIdleSync(); + advanceTimeBy(mWaitBounceEffectDuration, /* runnableOnEachRefresh= */ () -> { + // For some reason the fancy way doesn't compile... + // maxScaleX.getAndAccumulate(mirrorView.getScaleX(), Math::max); + final double oldMax = maxScaleX.get(); + final double newMax = Math.max(mirrorView.getScaleX(), oldMax); + assertTrue(maxScaleX.compareAndSet(oldMax, newMax)); + }); - ReferenceTestUtils.waitForCondition(() -> maxScaleX.get() > 1.0); + assertTrue(maxScaleX.get() > 1.0); } @Test @@ -1455,4 +1451,23 @@ public class WindowMagnificationControllerTest extends SysuiTestCase { return newRotation; } + // advance time based on the device frame refresh rate + private void advanceTimeBy(long timeDelta) { + advanceTimeBy(timeDelta, /* runnableOnEachRefresh= */ null); + } + + // advance time based on the device frame refresh rate, and trigger runnable on each refresh + private void advanceTimeBy(long timeDelta, @Nullable Runnable runnableOnEachRefresh) { + final float frameRate = mContext.getDisplay().getRefreshRate(); + final int timeSlot = (int) (1000 / frameRate); + int round = (int) Math.ceil((double) timeDelta / timeSlot); + for (; round >= 0; round--) { + mInstrumentation.runOnMainSync(() -> { + mAnimatorTestRule.advanceTimeBy(timeSlot); + if (runnableOnEachRefresh != null) { + runnableOnEachRefresh.run(); + } + }); + } + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java index daa6070b5403..3da72618fb60 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java @@ -19,8 +19,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -89,7 +87,6 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); MockitoAnnotations.initMocks(this); mContextWrapper = new ContextWrapper(mContext) { @Override diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DismissAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DismissAnimationControllerTest.java index 56664356f964..fd258e38a00f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DismissAnimationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/DismissAnimationControllerTest.java @@ -16,8 +16,6 @@ package com.android.systemui.accessibility.floatingmenu; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; @@ -58,7 +56,6 @@ public class DismissAnimationControllerTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final WindowManager stubWindowManager = mContext.getSystemService(WindowManager.class); final MenuViewModel stubMenuViewModel = new MenuViewModel(mContext, mAccessibilityManager, mock(SecureSettings.class)); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationControllerTest.java index e8329409ff10..834dccbd2979 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuAnimationControllerTest.java @@ -16,8 +16,6 @@ package com.android.systemui.accessibility.floatingmenu; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.any; @@ -28,6 +26,9 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import android.graphics.PointF; +import android.platform.test.annotations.RequiresFlagsEnabled; +import android.platform.test.flag.junit.CheckFlagsRule; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.view.View; @@ -41,6 +42,7 @@ import androidx.dynamicanimation.animation.SpringAnimation; import androidx.dynamicanimation.animation.SpringForce; import androidx.test.filters.SmallTest; +import com.android.systemui.Flags; import com.android.systemui.Prefs; import com.android.systemui.SysuiTestCase; import com.android.systemui.util.settings.SecureSettings; @@ -72,12 +74,15 @@ public class MenuAnimationControllerTest extends SysuiTestCase { @Rule public MockitoRule mockito = MockitoJUnit.rule(); + @Rule + public final CheckFlagsRule mCheckFlagsRule = + DeviceFlagsValueProvider.createCheckFlagsRule(); + @Mock private AccessibilityManager mAccessibilityManager; @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final WindowManager stubWindowManager = mContext.getSystemService(WindowManager.class); final MenuViewAppearance stubMenuViewAppearance = new MenuViewAppearance(mContext, stubWindowManager); @@ -226,6 +231,24 @@ public class MenuAnimationControllerTest extends SysuiTestCase { verifyZeroInteractions(onSpringAnimationsEndCallback); } + @Test + @RequiresFlagsEnabled(Flags.FLAG_FLOATING_MENU_ANIMATED_TUCK) + public void tuck_animates() { + mMenuAnimationController.cancelAnimations(); + mMenuAnimationController.moveToEdgeAndHide(); + assertThat(mMenuAnimationController.getAnimation( + DynamicAnimation.TRANSLATION_X).isRunning()).isTrue(); + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_FLOATING_MENU_ANIMATED_TUCK) + public void untuck_animates() { + mMenuAnimationController.cancelAnimations(); + mMenuAnimationController.moveOutEdgeAndShow(); + assertThat(mMenuAnimationController.getAnimation( + DynamicAnimation.TRANSLATION_X).isRunning()).isTrue(); + } + private void setupAndRunSpringAnimations() { final float stiffness = 700f; final float dampingRatio = 0.85f; diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuEduTooltipViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuEduTooltipViewTest.java index e8192c43f6f8..34a2e8719f0b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuEduTooltipViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuEduTooltipViewTest.java @@ -16,8 +16,6 @@ package com.android.systemui.accessibility.floatingmenu; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import android.content.res.Resources; @@ -45,7 +43,6 @@ public class MenuEduTooltipViewTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final WindowManager windowManager = mContext.getSystemService(WindowManager.class); mMenuViewAppearance = new MenuViewAppearance(mContext, windowManager); mMenuEduTooltipView = new MenuEduTooltipView(mContext, mMenuViewAppearance); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java index 62cb9a01ac84..4ac18d04cd75 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java @@ -19,8 +19,6 @@ package com.android.systemui.accessibility.floatingmenu; import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS; import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; @@ -74,7 +72,6 @@ public class MenuItemAccessibilityDelegateTest extends SysuiTestCase { @Before public void setUp() { - setFlagDefaults(mSetFlagsRule); final WindowManager stubWindowManager = mContext.getSystemService(WindowManager.class); final MenuViewAppearance stubMenuViewAppearance = new MenuViewAppearance(mContext, stubWindowManager); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuListViewTouchHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuListViewTouchHandlerTest.java index 32487534423d..f0a497d5c9f0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuListViewTouchHandlerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuListViewTouchHandlerTest.java @@ -18,8 +18,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.view.View.OVER_SCROLL_NEVER; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyFloat; @@ -82,7 +80,6 @@ public class MenuListViewTouchHandlerTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final WindowManager windowManager = mContext.getSystemService(WindowManager.class); final MenuViewModel stubMenuViewModel = new MenuViewModel(mContext, mAccessibilityManager, mock(SecureSettings.class)); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerControllerTest.java index 03a4ba78a208..31824ecaa432 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerControllerTest.java @@ -19,8 +19,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.view.WindowInsets.Type.displayCutout; import static android.view.WindowInsets.Type.systemBars; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.verify; @@ -75,7 +73,6 @@ public class MenuViewLayerControllerTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final WindowManager wm = mContext.getSystemService(WindowManager.class); doAnswer(invocation -> wm.getMaximumWindowMetrics()).when( mWindowManager).getMaximumWindowMetrics(); 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 76094c1cf185..0f1364d951e7 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 @@ -23,7 +23,6 @@ import static android.view.WindowInsets.Type.ime; import static android.view.WindowInsets.Type.systemBars; import static com.android.systemui.accessibility.floatingmenu.MenuViewLayer.LayerIndex; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; import static com.google.common.truth.Truth.assertThat; @@ -122,7 +121,6 @@ public class MenuViewLayerTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); final Rect mDisplayBounds = new Rect(); mDisplayBounds.set(/* left= */ 0, /* top= */ 0, DISPLAY_WINDOW_WIDTH, DISPLAY_WINDOW_HEIGHT); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewTest.java index b9fd5d0f5e84..5cd0fd0bb42d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuViewTest.java @@ -18,8 +18,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.app.UiModeManager.MODE_NIGHT_YES; -import static com.android.systemui.accessibility.utils.FlagUtils.setFlagDefaults; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; @@ -69,7 +67,6 @@ public class MenuViewTest extends SysuiTestCase { @Before public void setUp() throws Exception { - setFlagDefaults(mSetFlagsRule); mUiModeManager = mContext.getSystemService(UiModeManager.class); mNightMode = mUiModeManager.getNightMode(); mUiModeManager.setNightMode(MODE_NIGHT_YES); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/utils/FlagUtils.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/utils/FlagUtils.java deleted file mode 100644 index c7bb0f5d3906..000000000000 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/utils/FlagUtils.java +++ /dev/null @@ -1,36 +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.accessibility.utils; - -import static com.android.systemui.flags.SetFlagsRuleExtensionsKt.setFlagDefault; - -import android.platform.test.flag.junit.SetFlagsRule; - -import com.android.systemui.Flags; - -public class FlagUtils { - /** - * Populates a setFlagsRule with every SystemUI a11y feature flag. - * This function should be updated when new flags are added. - * - * @param setFlagsRule set flags rule from the test environment. - */ - public static void setFlagDefaults(SetFlagsRule setFlagsRule) { - setFlagDefault(setFlagsRule, Flags.FLAG_FLOATING_MENU_OVERLAPS_NAV_BARS_FLAG); - setFlagDefault(setFlagsRule, Flags.FLAG_FLOATING_MENU_IME_DISPLACEMENT_ANIMATION); - } -} diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FacePropertyRepositoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FacePropertyRepositoryImplTest.kt index 0da7b4ac88f8..c14ad6a46616 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FacePropertyRepositoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FacePropertyRepositoryImplTest.kt @@ -32,6 +32,8 @@ import com.android.systemui.coroutines.collectLastValue import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.TestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest @@ -54,18 +56,20 @@ class FacePropertyRepositoryImplTest : SysuiTestCase() { @JvmField @Rule val mockitoRule: MockitoRule = MockitoJUnit.rule() private lateinit var underTest: FacePropertyRepository + private lateinit var dispatcher: TestDispatcher private lateinit var testScope: TestScope @Captor private lateinit var callback: ArgumentCaptor<IFaceAuthenticatorsRegisteredCallback> @Mock private lateinit var faceManager: FaceManager @Before fun setup() { - testScope = TestScope() + dispatcher = StandardTestDispatcher() + testScope = TestScope(dispatcher) underTest = createRepository(faceManager) } private fun createRepository(manager: FaceManager? = faceManager) = - FacePropertyRepositoryImpl(testScope.backgroundScope, manager) + FacePropertyRepositoryImpl(testScope.backgroundScope, dispatcher, manager) @Test fun whenFaceManagerIsNotPresentIsNull() = diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FingerprintRepositoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FingerprintRepositoryImplTest.kt index ed9ae5e3dc01..dc438d7d80f2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FingerprintRepositoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/data/repository/FingerprintRepositoryImplTest.kt @@ -65,7 +65,11 @@ class FingerprintRepositoryImplTest : SysuiTestCase() { val dispatcher = StandardTestDispatcher() testScope = TestScope(dispatcher) repository = - FingerprintPropertyRepositoryImpl(testScope.backgroundScope, fingerprintManager) + FingerprintPropertyRepositoryImpl( + testScope.backgroundScope, + dispatcher, + fingerprintManager + ) testScope.runCurrent() verify(fingerprintManager) diff --git a/packages/SystemUI/tests/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandlerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandlerTest.kt index 1b2fc93ddb3f..2f4fc96ebf6c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandlerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/common/ui/view/LongPressHandlingViewInteractionHandlerTest.kt @@ -67,6 +67,7 @@ class LongPressHandlingViewInteractionHandlerTest : SysuiTestCase() { isAttachedToWindow = { isAttachedToWindow }, onLongPressDetected = onLongPressDetected, onSingleTapDetected = onSingleTapDetected, + longPressDuration = { ViewConfiguration.getLongPressTimeout().toLong() } ) underTest.isLongPressHandlingEnabled = true } diff --git a/packages/SystemUI/tests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt index 511562f2aec0..d80dd76b23e5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/display/data/repository/DisplayRepositoryTest.kt @@ -390,6 +390,17 @@ class DisplayRepositoryTest : SysuiTestCase() { assertThat(pendingDisplay!!.id).isEqualTo(1) } + @Test + fun onDisplayAdded_emitsDisplayAdditionEvent() = + testScope.runTest { + val display by lastDisplayAdditionEvent() + + sendOnDisplayAdded(1, TYPE_EXTERNAL) + + assertThat(display!!.displayId).isEqualTo(1) + assertThat(display!!.type).isEqualTo(TYPE_EXTERNAL) + } + private fun Iterable<Display>.ids(): List<Int> = map { it.displayId } // Wrapper to capture the displayListener. @@ -411,6 +422,12 @@ class DisplayRepositoryTest : SysuiTestCase() { return flowValue } + private fun TestScope.lastDisplayAdditionEvent(): FlowValue<Display?> { + val flowValue = collectLastValue(displayRepository.displayAdditionEvent) + captureAddedRemovedListener() + return flowValue + } + private fun captureAddedRemovedListener() { verify(displayManager) .registerDisplayListener( @@ -423,9 +440,17 @@ class DisplayRepositoryTest : SysuiTestCase() { ) ) } + + private fun sendOnDisplayAdded(id: Int, displayType: Int) { + val mockDisplay = display(id = id, type = displayType) + whenever(displayManager.getDisplay(eq(id))).thenReturn(mockDisplay) + displayListener.value.onDisplayAdded(id) + } + private fun sendOnDisplayAdded(id: Int) { displayListener.value.onDisplayAdded(id) } + private fun sendOnDisplayRemoved(id: Int) { displayListener.value.onDisplayRemoved(id) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt index 26ee09412687..0db3de2ce0dd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/display/domain/interactor/ConnectedDisplayInteractorTest.kt @@ -16,11 +16,14 @@ package com.android.systemui.display.domain.interactor +import android.companion.virtual.VirtualDeviceManager +import android.companion.virtual.flags.Flags.FLAG_INTERACTIVE_SCREEN_MIRROR import android.testing.AndroidTestingRunner import android.testing.TestableLooper import android.view.Display import android.view.Display.TYPE_EXTERNAL import android.view.Display.TYPE_INTERNAL +import android.view.Display.TYPE_VIRTUAL import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.FlowValue @@ -31,14 +34,20 @@ import com.android.systemui.display.data.repository.display import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor.PendingDisplay import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor.State import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository +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.launchIn +import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher +import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.Mockito.anyInt @RunWith(AndroidTestingRunner::class) @TestableLooper.RunWithLooper @@ -46,14 +55,22 @@ import org.junit.runner.RunWith @SmallTest class ConnectedDisplayInteractorTest : SysuiTestCase() { + private val virtualDeviceManager = mock<VirtualDeviceManager>() + private val fakeDisplayRepository = FakeDisplayRepository() private val fakeKeyguardRepository = FakeKeyguardRepository() private val connectedDisplayStateProvider: ConnectedDisplayInteractor = - ConnectedDisplayInteractorImpl(fakeKeyguardRepository, fakeDisplayRepository) + ConnectedDisplayInteractorImpl( + virtualDeviceManager, + fakeKeyguardRepository, + fakeDisplayRepository + ) private val testScope = TestScope(UnconfinedTestDispatcher()) @Before fun setup() { + mSetFlagsRule.disableFlags(FLAG_INTERACTIVE_SCREEN_MIRROR) + whenever(virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(anyInt())).thenReturn(false) fakeKeyguardRepository.setKeyguardShowing(false) } @@ -137,6 +154,96 @@ class ConnectedDisplayInteractorTest : SysuiTestCase() { } @Test + fun displayState_virtualDeviceOwnedMirrorVirtualDisplay_connected() = + testScope.runTest { + mSetFlagsRule.enableFlags(FLAG_INTERACTIVE_SCREEN_MIRROR) + whenever(virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(anyInt())) + .thenReturn(true) + val value by lastValue() + + fakeDisplayRepository.emit(setOf(display(type = TYPE_VIRTUAL))) + + assertThat(value).isEqualTo(State.CONNECTED) + } + + @Test + fun displayState_virtualDeviceUnownedMirrorVirtualDisplay_disconnected() = + testScope.runTest { + val value by lastValue() + + fakeDisplayRepository.emit(setOf(display(type = TYPE_VIRTUAL))) + + assertThat(value).isEqualTo(State.DISCONNECTED) + } + + @Test + fun virtualDeviceOwnedMirrorVirtualDisplay_emitsConnectedDisplayAddition() = + testScope.runTest { + mSetFlagsRule.enableFlags(FLAG_INTERACTIVE_SCREEN_MIRROR) + whenever(virtualDeviceManager.isVirtualDeviceOwnedMirrorDisplay(anyInt())) + .thenReturn(true) + var count = 0 + val job = + connectedDisplayStateProvider.connectedDisplayAddition + .onEach { count++ } + .launchIn(this) + + fakeDisplayRepository.emit(display(type = TYPE_VIRTUAL)) + + runCurrent() + assertThat(count).isEqualTo(1) + job.cancel() + } + + @Test + fun virtualDeviceUnownedMirrorVirtualDisplay_doesNotEmitConnectedDisplayAddition() = + testScope.runTest { + var count = 0 + val job = + connectedDisplayStateProvider.connectedDisplayAddition + .onEach { count++ } + .launchIn(this) + + fakeDisplayRepository.emit(display(type = TYPE_VIRTUAL)) + + runCurrent() + assertThat(count).isEqualTo(0) + job.cancel() + } + + @Test + fun externalDisplay_emitsConnectedDisplayAddition() = + testScope.runTest { + var count = 0 + val job = + connectedDisplayStateProvider.connectedDisplayAddition + .onEach { count++ } + .launchIn(this) + + fakeDisplayRepository.emit(display(type = TYPE_EXTERNAL)) + + runCurrent() + assertThat(count).isEqualTo(1) + job.cancel() + } + + @Test + fun internalDisplay_doesNotEmitConnectedDisplayAddition() = + testScope.runTest { + var count = 0 + val job = + connectedDisplayStateProvider.connectedDisplayAddition + .onEach { count++ } + .launchIn(this) + + fakeDisplayRepository.emit(display(type = TYPE_INTERNAL)) + + runCurrent() + assertThat(count).isEqualTo(0) + job.cancel() + } + + @Test fun pendingDisplay_propagated() = testScope.runTest { val value by lastPendingDisplay() diff --git a/packages/SystemUI/tests/src/com/android/systemui/flags/SetFlagsRuleExtensions.kt b/packages/SystemUI/tests/src/com/android/systemui/flags/SetFlagsRuleExtensions.kt index e16b8d400149..f4f05d85540e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/flags/SetFlagsRuleExtensions.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/flags/SetFlagsRuleExtensions.kt @@ -18,39 +18,7 @@ package com.android.systemui.flags import android.platform.test.flag.junit.SetFlagsRule -/** - * Set the given flag's value to the real value for the current build configuration. - * This prevents test code from crashing because it is reading an unspecified flag value. - * - * REMINDER: You should always test your code with your flag in both configurations, so - * generally you should be explicitly enabling or disabling your flag. This method is for - * situations where the flag needs to be read (e.g. in the class constructor), but its value - * shouldn't affect the actual test cases. In those cases, it's mildly safer to use this method - * than to hard-code `false` or `true` because then at least if you're wrong, and the flag value - * *does* matter, you'll notice when the flag is flipped and tests start failing. - */ -fun SetFlagsRule.setFlagDefault(flagName: String) { - if (getFlagDefault(flagName)) { - enableFlags(flagName) - } else { - disableFlags(flagName) - } -} - -// NOTE: This code uses reflection to gain access to private members of aconfig generated -// classes (in the same way SetFlagsRule does internally) because this is the only way to get -// at the underlying information and read the current value of the flag. -// If aconfig had flag constants with accessible default values, this would be unnecessary. -private fun getFlagDefault(name: String): Boolean { - val flagPackage = name.substringBeforeLast(".") - val featureFlagsImplClass = Class.forName("$flagPackage.FeatureFlagsImpl") - val featureFlagsImpl = featureFlagsImplClass.getConstructor().newInstance() - val flagMethodName = name.substringAfterLast(".").snakeToCamelCase() - val flagGetter = featureFlagsImplClass.getDeclaredMethod(flagMethodName) - return flagGetter.invoke(featureFlagsImpl) as Boolean -} - -private fun String.snakeToCamelCase(): String { - val pattern = "_[a-z]".toRegex() - return replace(pattern) { it.value.last().uppercase() } +/** Set the given flag to an explicit value. */ +fun SetFlagsRule.setFlagValue(name: String, value: Boolean) { + if (value) enableFlags(name) else disableFlags(name) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt index 00951c30fbe5..f0ff77ebf1ea 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt @@ -12,7 +12,6 @@ import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepos import com.android.systemui.keyguard.domain.interactor.KeyguardInteractorFactory import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractorFactory import com.android.systemui.keyguard.shared.model.KeyguardState -import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.setAsleepForTest import com.android.systemui.power.domain.interactor.PowerInteractorFactory @@ -45,7 +44,6 @@ class ResourceTrimmerTest : SysuiTestCase() { private val keyguardTransitionRepository = FakeKeyguardTransitionRepository() private lateinit var powerInteractor: PowerInteractor - @Mock private lateinit var globalWindowManager: GlobalWindowManager private lateinit var resourceTrimmer: ResourceTrimmer @@ -181,8 +179,10 @@ class ResourceTrimmerTest : SysuiTestCase() { @Test fun keyguardTransitionsToGone_trimsFontCache() = testScope.runTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(KeyguardState.LOCKSCREEN, KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) verify(globalWindowManager, times(1)) .trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) @@ -194,8 +194,10 @@ class ResourceTrimmerTest : SysuiTestCase() { fun keyguardTransitionsToGone_flagDisabled_doesNotTrimFontCache() = testScope.runTest { featureFlags.set(Flags.TRIM_FONT_CACHES_AT_UNLOCK, false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(KeyguardState.LOCKSCREEN, KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) // Memory hidden should still be called. verify(globalWindowManager, times(1)) diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt index 9bb2434f84ac..8d9bc751fbc9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt @@ -32,7 +32,6 @@ import android.hardware.face.FaceManager import android.hardware.face.FaceSensorProperties import android.hardware.face.FaceSensorPropertiesInternal import android.os.CancellationSignal -import android.util.Log import android.view.Display import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest @@ -637,7 +636,19 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun authenticateDoesNotRunWhenDeviceIsGoingToSleep() = - testScope.runTest { testGatingCheckForFaceAuth { powerInteractor.setAsleepForTest() } } + testScope.runTest { + testGatingCheckForFaceAuth { + powerInteractor.setAsleepForTest() + keyguardTransitionRepository.sendTransitionStep( + TransitionStep( + transitionState = TransitionState.STARTED, + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.AOD, + ) + ) + runCurrent() + } + } @Test fun authenticateDoesNotRunWhenSecureCameraIsActive() = @@ -733,13 +744,10 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { allPreconditionsToRunFaceAuthAreTrue() - Log.i("TEST", "started waking") - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.LOCKSCREEN, - to = KeyguardState.OFF, - transitionState = TransitionState.FINISHED, - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.OFF, + testScope ) runCurrent() keyguardTransitionRepository.sendTransitionStep( @@ -751,15 +759,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { ) runCurrent() - Log.i("TEST", "sending display off") displayRepository.emit(setOf(display(0, 0, Display.DEFAULT_DISPLAY, Display.STATE_OFF))) displayRepository.emitDisplayChangeEvent(Display.DEFAULT_DISPLAY) - Log.i("TEST", "sending step") - runCurrent() - Log.i("TEST", "About to assert if face auth can run.") assertThat(canFaceAuthRun()).isTrue() } @@ -768,12 +772,10 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { testScope.runTest { testGatingCheckForFaceAuth { powerInteractor.onFinishedWakingUp() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.OFF, - to = KeyguardState.LOCKSCREEN, - transitionState = TransitionState.FINISHED, - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.OFF, + to = KeyguardState.LOCKSCREEN, + testScope ) runCurrent() @@ -923,7 +925,19 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun detectDoesNotRunWhenDeviceSleepingStartingToSleep() = - testScope.runTest { testGatingCheckForDetect { powerInteractor.setAsleepForTest() } } + testScope.runTest { + testGatingCheckForDetect { + powerInteractor.setAsleepForTest() + keyguardTransitionRepository.sendTransitionStep( + TransitionStep( + transitionState = TransitionState.STARTED, + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.AOD, + ) + ) + runCurrent() + } + } @Test fun detectDoesNotRunWhenSecureCameraIsActive() = @@ -1016,14 +1030,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun schedulesFaceManagerWatchdogWhenKeyguardIsGoneFromDozing() = testScope.runTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.DOZING, - to = KeyguardState.GONE, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.DOZING, + to = KeyguardState.GONE, + testScope ) - runCurrent() verify(faceManager).scheduleWatchdog() } @@ -1031,14 +1042,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun schedulesFaceManagerWatchdogWhenKeyguardIsGoneFromAod() = testScope.runTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.AOD, - to = KeyguardState.GONE, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.GONE, + testScope ) - runCurrent() verify(faceManager).scheduleWatchdog() } @@ -1046,14 +1054,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun schedulesFaceManagerWatchdogWhenKeyguardIsGoneFromLockscreen() = testScope.runTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.LOCKSCREEN, - to = KeyguardState.GONE, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) - runCurrent() verify(faceManager).scheduleWatchdog() } @@ -1061,14 +1066,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { @Test fun schedulesFaceManagerWatchdogWhenKeyguardIsGoneFromBouncer() = testScope.runTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.PRIMARY_BOUNCER, - to = KeyguardState.GONE, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.PRIMARY_BOUNCER, + to = KeyguardState.GONE, + testScope ) - runCurrent() verify(faceManager).scheduleWatchdog() } @@ -1251,6 +1253,11 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(true) displayRepository.emit(setOf(display(0, 0, Display.DEFAULT_DISPLAY, Display.STATE_ON))) displayRepository.emitDisplayChangeEvent(Display.DEFAULT_DISPLAY) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.LOCKSCREEN, + testScope + ) runCurrent() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyEventRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyEventRepositoryTest.kt new file mode 100644 index 000000000000..bbe45c1b3cd9 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyEventRepositoryTest.kt @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.android.systemui.keyguard.data.repository + +import android.view.KeyEvent +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.keyevent.data.repository.KeyEventRepositoryImpl +import com.android.systemui.statusbar.CommandQueue +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.Mock +import org.mockito.Mockito.times +import org.mockito.Mockito.verify +import org.mockito.MockitoAnnotations + +@OptIn(ExperimentalCoroutinesApi::class) +@SmallTest +@RunWith(AndroidJUnit4::class) +class KeyEventRepositoryTest : SysuiTestCase() { + private lateinit var underTest: KeyEventRepositoryImpl + @Mock private lateinit var commandQueue: CommandQueue + @Captor private lateinit var commandQueueCallbacks: ArgumentCaptor<CommandQueue.Callbacks> + private lateinit var testScope: TestScope + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + testScope = TestScope() + underTest = KeyEventRepositoryImpl(commandQueue) + } + + @Test + fun isPowerButtonDown_initialValueFalse() = + testScope.runTest { + val isPowerButtonDown by collectLastValue(underTest.isPowerButtonDown) + runCurrent() + assertThat(isPowerButtonDown).isFalse() + } + + @Test + fun isPowerButtonDown_onChange() = + testScope.runTest { + val isPowerButtonDown by collectLastValue(underTest.isPowerButtonDown) + runCurrent() + verify(commandQueue).addCallback(commandQueueCallbacks.capture()) + commandQueueCallbacks.value.handleSystemKey( + KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_POWER) + ) + assertThat(isPowerButtonDown).isTrue() + + commandQueueCallbacks.value.handleSystemKey( + KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_POWER) + ) + assertThat(isPowerButtonDown).isFalse() + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt index e87adf5e424b..e75f5570248e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt @@ -26,8 +26,6 @@ import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepos import com.android.systemui.keyguard.shared.model.DismissAction import com.android.systemui.keyguard.shared.model.KeyguardDone import com.android.systemui.keyguard.shared.model.KeyguardState -import com.android.systemui.keyguard.shared.model.TransitionState -import com.android.systemui.keyguard.shared.model.TransitionStep import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.StandardTestDispatcher @@ -179,8 +177,10 @@ class KeyguardDismissActionInteractorTest : SysuiTestCase() { assertThat(executeDismissAction).isNull() // WHEN the keyguard is GONE - transitionRepository.sendTransitionStep( - TransitionStep(to = KeyguardState.GONE, transitionState = TransitionState.FINISHED) + transitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) assertThat(executeDismissAction).isNotNull() } @@ -198,11 +198,10 @@ class KeyguardDismissActionInteractorTest : SysuiTestCase() { willAnimateOnLockscreen = true, ) ) - transitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.AOD, - transitionState = TransitionState.FINISHED, - ) + transitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.AOD, + testScope ) assertThat(resetDismissAction).isEqualTo(Unit) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt index 0c74a38fea04..98f0211587ea 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt @@ -21,7 +21,6 @@ import android.content.Intent import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.UiEventLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.flags.FakeFeatureFlags @@ -29,7 +28,7 @@ import com.android.systemui.flags.Flags 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.TransitionStep +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat @@ -265,17 +264,17 @@ class KeyguardLongPressInteractorTest : SysuiTestCase() { underTest.onLongPress() assertThat(isMenuVisible).isTrue() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.GONE, - ), + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) assertThat(isMenuVisible).isFalse() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.LOCKSCREEN, - ), + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + testScope ) assertThat(isMenuVisible).isFalse() } @@ -312,10 +311,10 @@ class KeyguardLongPressInteractorTest : SysuiTestCase() { keyguardState: KeyguardState = KeyguardState.LOCKSCREEN, isQuickSettingsVisible: Boolean = false, ) { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = keyguardState, - ), + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = keyguardState, + testScope = testScope ) keyguardRepository.setQuickSettingsVisible(isVisible = isQuickSettingsVisible) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt index 16f2fa22d5fb..6eed427e9297 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt @@ -231,12 +231,10 @@ class WindowManagerLockscreenVisibilityInteractorTest : SysuiTestCase() { surfaceBehindIsAnimatingFlow.emit(true) runCurrent() - transitionRepository.sendTransitionStep( - TransitionStep( - transitionState = TransitionState.FINISHED, - from = KeyguardState.LOCKSCREEN, - to = KeyguardState.GONE, - ) + transitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope ) runCurrent() diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlowTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlowTest.kt index 3efe38295f3d..a04ea2e4fa9c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlowTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/KeyguardTransitionAnimationFlowTest.kt @@ -72,7 +72,7 @@ class KeyguardTransitionAnimationFlowTest : SysuiTestCase() { onFinish = { 10f }, ) var animationValues = collectLastValue(flow) - repository.sendTransitionStep(step(1f, TransitionState.FINISHED)) + repository.sendTransitionStep(step(1f, TransitionState.FINISHED), validateStep = false) assertThat(animationValues()).isEqualTo(10f) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/UdfpsLockscreenViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/UdfpsLockscreenViewModelTest.kt index edcaa1d65f49..30e48669205f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/UdfpsLockscreenViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/UdfpsLockscreenViewModelTest.kt @@ -751,14 +751,10 @@ class UdfpsLockscreenViewModelTest : SysuiTestCase() { } private suspend fun givenTransitionToLockscreenFinished() { - transitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.AOD, - to = KeyguardState.LOCKSCREEN, - value = 1f, - transitionState = TransitionState.FINISHED, - ownerName = "givenTransitionToLockscreenFinished", - ) + transitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.LOCKSCREEN, + testScope ) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaCarouselControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaCarouselControllerTest.kt index a4c2a0850ce4..3bfdb84249ac 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaCarouselControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaCarouselControllerTest.kt @@ -31,7 +31,6 @@ import com.android.internal.logging.InstanceId import com.android.keyguard.KeyguardUpdateMonitor import com.android.keyguard.KeyguardUpdateMonitorCallback import com.android.keyguard.TestScopeProvider -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager @@ -39,8 +38,6 @@ import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepos import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractorFactory import com.android.systemui.keyguard.shared.model.KeyguardState -import com.android.systemui.keyguard.shared.model.TransitionState -import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.media.controls.MediaTestUtils import com.android.systemui.media.controls.models.player.MediaData import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData @@ -52,6 +49,7 @@ import com.android.systemui.media.controls.util.MediaUiEventLogger import com.android.systemui.plugins.ActivityStarter import com.android.systemui.plugins.FalsingManager import com.android.systemui.qs.PageIndicator +import com.android.systemui.res.R import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider import com.android.systemui.statusbar.policy.ConfigurationController @@ -810,8 +808,10 @@ class MediaCarouselControllerTest : SysuiTestCase() { mediaCarouselController.mediaCarousel = mediaCarousel val job = mediaCarouselController.listenForAnyStateToGoneKeyguardTransition(this) - transitionRepository.sendTransitionStep( - TransitionStep(to = KeyguardState.GONE, transitionState = TransitionState.FINISHED) + transitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this ) verify(mediaCarousel).visibility = View.VISIBLE diff --git a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLoggerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLoggerTest.kt index fd1e2c7b19a5..da448aa20289 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLoggerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/MediaProjectionMetricsLoggerTest.kt @@ -74,6 +74,15 @@ class MediaProjectionMetricsLoggerTest : SysuiTestCase() { } @Test + fun notifyProjectionCancelled_forwardsToServiceWithMetricsValue() { + val hostUid = 123 + + logger.notifyProjectionRequestCancelled(hostUid) + + verify(service).notifyPermissionRequestCancelled(hostUid) + } + + @Test fun notifyAppSelectorDisplayed_forwardsToService() { val hostUid = 654 diff --git a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorControllerTest.kt index 5255f71b9c09..44798ea99bee 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/mediaprojection/appselector/MediaProjectionAppSelectorControllerTest.kt @@ -4,7 +4,6 @@ import android.content.ComponentName import android.os.UserHandle import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest -import com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_APP_SELECTOR_DISPLAYED as STATE_APP_SELECTOR_DISPLAYED import com.android.systemui.SysuiTestCase import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.mediaprojection.appselector.data.RecentTask @@ -214,7 +213,7 @@ class MediaProjectionAppSelectorControllerTest : SysuiTestCase() { @Test fun init_firstStart_logsAppSelectorDisplayed() { val hostUid = 123456789 - val controller = createController(isFirstStart = true, hostUid) + val controller = createController(isFirstStart = true, hostUid) controller.init() @@ -231,6 +230,15 @@ class MediaProjectionAppSelectorControllerTest : SysuiTestCase() { verify(logger, never()).notifyAppSelectorDisplayed(hostUid) } + @Test + fun onSelectorDismissed_logsProjectionRequestCancelled() { + val hostUid = 123 + + createController(hostUid = hostUid).onSelectorDismissed() + + verify(logger).notifyProjectionRequestCancelled(hostUid) + } + private fun givenCaptureAllowed(isAllow: Boolean) { whenever(policyResolver.isScreenCaptureAllowed(any(), any())).thenReturn(isAllow) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderTest.kt new file mode 100644 index 000000000000..682b2d0d3983 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigProviderTest.kt @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.qs.tiles.viewmodel + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.systemui.qs.pipeline.shared.TileSpec +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@SmallTest +@RunWith(AndroidJUnit4::class) +class QSTileConfigProviderTest : SysuiTestCase() { + + private val underTest = + QSTileConfigProviderImpl( + mapOf(VALID_SPEC.spec to QSTileConfigTestBuilder.build { tileSpec = VALID_SPEC }) + ) + + @Test + fun providerReturnsConfig() { + assertThat(underTest.getConfig(VALID_SPEC.spec)).isNotNull() + } + + @Test(expected = IllegalArgumentException::class) + fun throwsForInvalidSpec() { + underTest.getConfig(INVALID_SPEC.spec) + } + + @Test(expected = IllegalArgumentException::class) + fun validatesSpecUponCreation() { + QSTileConfigProviderImpl( + mapOf(VALID_SPEC.spec to QSTileConfigTestBuilder.build { tileSpec = INVALID_SPEC }) + ) + } + + private companion object { + + val VALID_SPEC = TileSpec.create("valid_tile_spec") + val INVALID_SPEC = TileSpec.create("invalid_tile_spec") + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelInterfaceComplianceTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelInterfaceComplianceTest.kt index 1a4553558e28..9bf4a759a1f2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelInterfaceComplianceTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/viewmodel/QSTileViewModelInterfaceComplianceTest.kt @@ -20,12 +20,10 @@ import android.os.UserHandle import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.MediumTest -import com.android.internal.logging.InstanceId import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.Icon -import com.android.systemui.qs.pipeline.shared.TileSpec import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor @@ -93,7 +91,7 @@ class QSTileViewModelInterfaceComplianceTest : SysuiTestCase() { config: QSTileConfig = TEST_QS_TILE_CONFIG, ): QSTileViewModel = QSTileViewModelImpl( - { config }, + config, { fakeQSTileUserActionInteractor }, { fakeQSTileDataInteractor }, { @@ -114,12 +112,6 @@ class QSTileViewModelInterfaceComplianceTest : SysuiTestCase() { private companion object { - val TEST_QS_TILE_CONFIG = - QSTileConfig( - TileSpec.create("default"), - Icon.Resource(0, null), - 0, - InstanceId.fakeInstanceId(0), - ) + val TEST_QS_TILE_CONFIG = QSTileConfigTestBuilder.build {} } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenrecord/RecordingControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenrecord/RecordingControllerTest.java index c439cfe6270f..49049bc51460 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenrecord/RecordingControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/screenrecord/RecordingControllerTest.java @@ -16,6 +16,8 @@ package com.android.systemui.screenrecord; +import static android.os.Process.myUid; + import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertFalse; @@ -31,8 +33,8 @@ import android.app.Dialog; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; -import android.os.Looper; import android.testing.AndroidTestingRunner; +import android.testing.TestableLooper; import androidx.test.filters.SmallTest; @@ -60,6 +62,7 @@ import org.mockito.MockitoAnnotations; @SmallTest @RunWith(AndroidTestingRunner.class) +@TestableLooper.RunWithLooper(setAsMainLooper = true) /** * Tests for exception handling and bitmap configuration in adding smart actions to Screenshot * Notification. @@ -117,10 +120,6 @@ public class RecordingControllerTest extends SysuiTestCase { // starting, and notifies listeners. @Test public void testCancelCountdown() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - mController.startCountdown(100, 10, null, null); assertTrue(mController.isStarting()); @@ -137,10 +136,6 @@ public class RecordingControllerTest extends SysuiTestCase { // Test that when recording is started, the start intent is sent and listeners are notified. @Test public void testStartRecording() throws PendingIntent.CanceledException { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - PendingIntent startIntent = Mockito.mock(PendingIntent.class); mController.startCountdown(0, 0, startIntent, null); @@ -151,10 +146,6 @@ public class RecordingControllerTest extends SysuiTestCase { // Test that when recording is stopped, the stop intent is sent and listeners are notified. @Test public void testStopRecording() throws PendingIntent.CanceledException { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - PendingIntent startIntent = Mockito.mock(PendingIntent.class); PendingIntent stopIntent = Mockito.mock(PendingIntent.class); @@ -182,10 +173,6 @@ public class RecordingControllerTest extends SysuiTestCase { // Test that broadcast will update state @Test public void testUpdateStateBroadcast() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - // When a recording has started PendingIntent startIntent = Mockito.mock(PendingIntent.class); mController.startCountdown(0, 0, startIntent, null); @@ -211,10 +198,6 @@ public class RecordingControllerTest extends SysuiTestCase { // Test that switching users will stop an ongoing recording @Test public void testUserChange() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - // If we are recording PendingIntent startIntent = Mockito.mock(PendingIntent.class); PendingIntent stopIntent = Mockito.mock(PendingIntent.class); @@ -231,10 +214,6 @@ public class RecordingControllerTest extends SysuiTestCase { @Test public void testPoliciesFlagDisabled_screenCapturingNotAllowed_returnsNullDevicePolicyDialog() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING, true); mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES, false); when(mDevicePolicyResolver.isScreenCaptureCompletelyDisabled((any()))).thenReturn(true); @@ -247,10 +226,6 @@ public class RecordingControllerTest extends SysuiTestCase { @Test public void testPartialScreenSharingDisabled_returnsLegacyDialog() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING, false); mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES, false); @@ -262,10 +237,6 @@ public class RecordingControllerTest extends SysuiTestCase { @Test public void testPoliciesFlagEnabled_screenCapturingNotAllowed_returnsDevicePolicyDialog() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING, true); mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES, true); when(mDevicePolicyResolver.isScreenCaptureCompletelyDisabled((any()))).thenReturn(true); @@ -278,10 +249,6 @@ public class RecordingControllerTest extends SysuiTestCase { @Test public void testPoliciesFlagEnabled_screenCapturingAllowed_returnsNullDevicePolicyDialog() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } - mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING, true); mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES, true); when(mDevicePolicyResolver.isScreenCaptureCompletelyDisabled((any()))).thenReturn(false); @@ -294,9 +261,6 @@ public class RecordingControllerTest extends SysuiTestCase { @Test public void testPoliciesFlagEnabled_screenCapturingAllowed_logsProjectionInitiated() { - if (Looper.myLooper() == null) { - Looper.prepare(); - } mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING, true); mFeatureFlags.set(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES, true); when(mDevicePolicyResolver.isScreenCaptureCompletelyDisabled((any()))).thenReturn(false); @@ -306,7 +270,7 @@ public class RecordingControllerTest extends SysuiTestCase { verify(mMediaProjectionMetricsLogger) .notifyProjectionInitiated( - TEST_USER_ID, + /* hostUid= */ myUid(), SessionCreationSource.SYSTEM_UI_SCREEN_RECORDER); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogTest.kt index bf12d7deb076..fd381392c3e9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/screenrecord/ScreenRecordPermissionDialogTest.kt @@ -26,6 +26,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags +import com.android.systemui.mediaprojection.MediaProjectionMetricsLogger import com.android.systemui.mediaprojection.appselector.MediaProjectionAppSelectorActivity import com.android.systemui.mediaprojection.permission.ENTIRE_SCREEN import com.android.systemui.mediaprojection.permission.SINGLE_APP @@ -41,7 +42,6 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock -import org.mockito.Mockito import org.mockito.Mockito.eq import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever @@ -57,6 +57,7 @@ class ScreenRecordPermissionDialogTest : SysuiTestCase() { @Mock private lateinit var userContextProvider: UserContextProvider @Mock private lateinit var flags: FeatureFlags @Mock private lateinit var onStartRecordingClicked: Runnable + @Mock private lateinit var mediaProjectionMetricsLogger: MediaProjectionMetricsLogger private lateinit var dialog: ScreenRecordPermissionDialog @@ -72,7 +73,8 @@ class ScreenRecordPermissionDialogTest : SysuiTestCase() { controller, starter, userContextProvider, - onStartRecordingClicked + onStartRecordingClicked, + mediaProjectionMetricsLogger, ) dialog.onCreate(null) whenever(flags.isEnabled(Flags.WM_ENABLE_PARTIAL_SCREEN_SHARING)).thenReturn(true) @@ -149,6 +151,28 @@ class ScreenRecordPermissionDialogTest : SysuiTestCase() { assertThat(dialog.isShowing).isFalse() } + @Test + fun showDialog_cancelClickedMultipleTimes_projectionRequestCancelledIsLoggedOnce() { + dialog.show() + + clickOnCancel() + clickOnCancel() + + verify(mediaProjectionMetricsLogger).notifyProjectionRequestCancelled(TEST_HOST_UID) + } + + @Test + fun dismissDialog_dismissCalledMultipleTimes_projectionRequestCancelledIsLoggedOnce() { + dialog.show() + + TestableLooper.get(this).runWithLooper { + dialog.dismiss() + dialog.dismiss() + } + + verify(mediaProjectionMetricsLogger).notifyProjectionRequestCancelled(TEST_HOST_UID) + } + private fun clickOnCancel() { dialog.requireViewById<View>(android.R.id.button2).performClick() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java index 6223e250d603..2ce4b04b037a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java @@ -84,6 +84,7 @@ import com.android.systemui.biometrics.AuthController; import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor; import com.android.systemui.classifier.FalsingCollectorFake; import com.android.systemui.classifier.FalsingManagerFake; +import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository; import com.android.systemui.common.ui.view.LongPressHandlingView; import com.android.systemui.doze.DozeLog; import com.android.systemui.dump.DumpManager; @@ -120,6 +121,8 @@ import com.android.systemui.plugins.qs.QS; import com.android.systemui.power.domain.interactor.PowerInteractor; import com.android.systemui.qs.QSFragmentLegacy; import com.android.systemui.res.R; +import com.android.systemui.scene.SceneTestUtils; +import com.android.systemui.scene.shared.flag.FakeSceneContainerFlags; import com.android.systemui.screenrecord.RecordingController; import com.android.systemui.shade.data.repository.FakeShadeRepository; import com.android.systemui.shade.data.repository.ShadeRepository; @@ -137,6 +140,7 @@ import com.android.systemui.statusbar.QsFrameTranslateController; import com.android.systemui.statusbar.StatusBarStateControllerImpl; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.VibratorHelper; +import com.android.systemui.statusbar.disableflags.data.repository.FakeDisableFlagsRepository; import com.android.systemui.statusbar.notification.ConversationNotificationManager; import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; @@ -168,6 +172,7 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.phone.StatusBarTouchableRegionManager; import com.android.systemui.statusbar.phone.TapAgainViewController; import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController; +import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeUserSetupRepository; import com.android.systemui.statusbar.policy.CastController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.HeadsUpManager; @@ -176,8 +181,10 @@ import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardUserSwitcherController; import com.android.systemui.statusbar.policy.KeyguardUserSwitcherView; import com.android.systemui.statusbar.policy.ResourcesSplitShadeStateController; +import com.android.systemui.statusbar.policy.data.repository.FakeDeviceProvisioningRepository; import com.android.systemui.statusbar.window.StatusBarWindowStateController; import com.android.systemui.unfold.SysUIUnfoldComponent; +import com.android.systemui.user.domain.interactor.UserSwitcherInteractor; import com.android.systemui.util.kotlin.JavaAdapter; import com.android.systemui.util.time.FakeSystemClock; import com.android.systemui.util.time.SystemClock; @@ -197,6 +204,8 @@ import java.util.List; import java.util.Optional; import kotlinx.coroutines.CoroutineDispatcher; +import kotlinx.coroutines.flow.StateFlowKt; +import kotlinx.coroutines.test.TestScope; public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @@ -324,7 +333,6 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mEmptySpaceClickListenerCaptor; @Mock protected ActivityStarter mActivityStarter; @Mock protected KeyguardFaceAuthInteractor mKeyguardFaceAuthInteractor; - @Mock private ShadeInteractor mShadeInteractor; @Mock private JavaAdapter mJavaAdapter; @Mock private CastController mCastController; @Mock private KeyguardRootView mKeyguardRootView; @@ -335,6 +343,9 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { protected KeyguardBottomAreaInteractor mKeyguardBottomAreaInteractor; protected FakeKeyguardRepository mFakeKeyguardRepository; protected KeyguardInteractor mKeyguardInteractor; + protected SceneTestUtils mUtils = new SceneTestUtils(this); + protected TestScope mTestScope = mUtils.getTestScope(); + protected ShadeInteractor mShadeInteractor; protected PowerInteractor mPowerInteractor; protected NotificationPanelViewController.TouchHandler mTouchHandler; protected ConfigurationController mConfigurationController; @@ -370,10 +381,31 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mKeyguardInteractor = keyguardInteractorDeps.getKeyguardInteractor(); mShadeRepository = new FakeShadeRepository(); mPowerInteractor = keyguardInteractorDeps.getPowerInteractor(); + when(mKeyguardTransitionInteractor.isInTransitionToStateWhere(any())).thenReturn( + StateFlowKt.MutableStateFlow(false)); + mShadeInteractor = new ShadeInteractor( + mTestScope.getBackgroundScope(), + new FakeDeviceProvisioningRepository(), + new FakeDisableFlagsRepository(), + mDozeParameters, + new FakeSceneContainerFlags(), + mUtils::sceneInteractor, + mFakeKeyguardRepository, + mKeyguardTransitionInteractor, + mPowerInteractor, + new FakeUserSetupRepository(), + mock(UserSwitcherInteractor.class), + new SharedNotificationContainerInteractor( + new FakeConfigurationRepository(), + mContext, + new ResourcesSplitShadeStateController() + ), + mShadeRepository + ); SystemClock systemClock = new FakeSystemClock(); - mStatusBarStateController = new StatusBarStateControllerImpl(mUiEventLogger, mDumpManager, - mInteractionJankMonitor, mShadeExpansionStateManager); + mStatusBarStateController = new StatusBarStateControllerImpl(mUiEventLogger, + mInteractionJankMonitor, mJavaAdapter, () -> mShadeInteractor); KeyguardStatusView keyguardStatusView = new KeyguardStatusView(mContext); keyguardStatusView.setId(R.id.keyguard_status_view); @@ -532,8 +564,9 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { new NotificationWakeUpCoordinator( mDumpManager, mock(HeadsUpManager.class), - new StatusBarStateControllerImpl(new UiEventLoggerFake(), mDumpManager, - mInteractionJankMonitor, mShadeExpansionStateManager), + new StatusBarStateControllerImpl(new UiEventLoggerFake(), + mInteractionJankMonitor, + mJavaAdapter, () -> mShadeInteractor), mKeyguardBypassController, mDozeParameters, mScreenOffAnimationController, 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 7931e9ea5d7b..2f45b1260dc2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/QuickSettingsControllerBaseTest.java @@ -187,8 +187,8 @@ public class QuickSettingsControllerBaseTest extends SysuiTestCase { public void setup() { MockitoAnnotations.initMocks(this); when(mPanelViewControllerLazy.get()).thenReturn(mNotificationPanelViewController); - mStatusBarStateController = new StatusBarStateControllerImpl(mUiEventLogger, mDumpManager, - mInteractionJankMonitor, mShadeExpansionStateManager); + mStatusBarStateController = new StatusBarStateControllerImpl(mUiEventLogger, + mInteractionJankMonitor, mock(JavaAdapter.class), () -> mShadeInteractor); FakeDeviceProvisioningRepository deviceProvisioningRepository = new FakeDeviceProvisioningRepository(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt index df38f936f4f2..f98267b63986 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt @@ -1,5 +1,6 @@ package com.android.systemui.shade.ui.viewmodel +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase @@ -151,12 +152,14 @@ class ShadeHeaderViewModelTest : SysuiTestCase() { subscriptionId = 1, isOpportunistic = false, carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_UNSET, ) private val SUB_2 = SubscriptionModel( subscriptionId = 2, isOpportunistic = false, carrierName = "Carrier 2", + profileClass = PROFILE_CLASS_UNSET, ) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceTest.java b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceTest.java index 8f06e636b479..6eabf4412474 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/shared/plugins/PluginInstanceTest.java @@ -145,22 +145,15 @@ public class PluginInstanceTest extends SysuiTestCase { } @Test - public void testOnRepeatedlyLoadUnload_PluginFreed() { + public void testOnUnloadAfterLoad() { mPluginInstance.onCreate(); mPluginInstance.loadPlugin(); + assertNotNull(mPluginInstance.getPlugin()); assertInstances(1, 1); mPluginInstance.unloadPlugin(); assertNull(mPluginInstance.getPlugin()); assertInstances(0, 0); - - mPluginInstance.loadPlugin(); - assertInstances(1, 1); - - mPluginInstance.unloadPlugin(); - mPluginInstance.onDestroy(); - assertNull(mPluginInstance.getPlugin()); - assertInstances(0, 0); } @Test @@ -169,7 +162,7 @@ public class PluginInstanceTest extends SysuiTestCase { mPluginInstance.onCreate(); assertEquals(1, mPluginListener.mAttachedCount); assertEquals(0, mPluginListener.mLoadCount); - assertEquals(null, mPluginInstance.getPlugin()); + assertNull(mPluginInstance.getPlugin()); assertInstances(0, 0); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationListenerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationListenerTest.java index 2b3fd34cedbf..2bee7b85eb98 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationListenerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationListenerTest.java @@ -37,8 +37,6 @@ import android.testing.AndroidTestingRunner; import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; -import com.android.systemui.flags.FakeFeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.NotificationListener.NotificationHandler; import com.android.systemui.statusbar.data.repository.NotificationListenerSettingsRepository; @@ -71,12 +69,8 @@ public class NotificationListenerTest extends SysuiTestCase { @Before public void setUp() { MockitoAnnotations.initMocks(this); - - FakeFeatureFlagsClassic featureFlags = new FakeFeatureFlagsClassic(); - featureFlags.setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); mListener = new NotificationListener( mContext, - featureFlags, mNotificationManager, new SilentNotificationStatusIconsVisibilityInteractor( new NotificationListenerSettingsRepository()), diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java index 764f7b6b8887..560ebc6c3d98 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java @@ -33,9 +33,9 @@ import android.testing.TestableLooper; import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; -import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.power.domain.interactor.PowerInteractor; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.RemoteInputControllerLogger; import com.android.systemui.statusbar.notification.collection.NotificationEntry; @@ -43,6 +43,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntryB import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.policy.RemoteInputUriController; +import com.android.systemui.util.kotlin.JavaAdapter; import org.junit.Before; import org.junit.Test; @@ -87,7 +88,8 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase { new RemoteInputControllerLogger(logcatLogBuffer()), mClickNotifier, new ActionClickLogger(logcatLogBuffer()), - mock(DumpManager.class)); + mock(JavaAdapter.class), + mock(ShadeInteractor.class)); mEntry = new NotificationEntryBuilder() .setPkg(TEST_PACKAGE_NAME) .setOpPkg(TEST_PACKAGE_NAME) @@ -145,7 +147,8 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase { RemoteInputControllerLogger remoteInputControllerLogger, NotificationClickNotifier clickNotifier, ActionClickLogger actionClickLogger, - DumpManager dumpManager) { + JavaAdapter javaAdapter, + ShadeInteractor shadeInteractor) { super( context, notifPipelineFlags, @@ -158,7 +161,8 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase { remoteInputControllerLogger, clickNotifier, actionClickLogger, - dumpManager); + javaAdapter, + shadeInteractor); } public void setUpWithPresenterForTest(Callback callback, @@ -170,3 +174,4 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase { } } + diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt index 3327e42b930f..d6dfc5e928a7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt @@ -23,9 +23,30 @@ import androidx.test.filters.SmallTest import com.android.internal.jank.InteractionJankMonitor import com.android.internal.logging.testing.UiEventLoggerFake import com.android.systemui.SysuiTestCase -import com.android.systemui.dump.DumpManager +import com.android.systemui.bouncer.data.repository.FakeKeyguardBouncerRepository +import com.android.systemui.classifier.FalsingCollectorFake +import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository +import com.android.systemui.flags.FakeFeatureFlagsClassic +import com.android.systemui.keyguard.data.repository.FakeCommandQueue +import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository +import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository +import com.android.systemui.keyguard.domain.interactor.FromLockscreenTransitionInteractor +import com.android.systemui.keyguard.domain.interactor.FromPrimaryBouncerTransitionInteractor +import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor +import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor import com.android.systemui.plugins.statusbar.StatusBarStateController -import com.android.systemui.shade.ShadeExpansionStateManager +import com.android.systemui.power.data.repository.FakePowerRepository +import com.android.systemui.power.domain.interactor.PowerInteractor +import com.android.systemui.scene.SceneTestUtils +import com.android.systemui.scene.shared.flag.FakeSceneContainerFlags +import com.android.systemui.shade.data.repository.FakeShadeRepository +import com.android.systemui.shade.domain.interactor.ShadeInteractor +import com.android.systemui.statusbar.disableflags.data.repository.FakeDisableFlagsRepository +import com.android.systemui.statusbar.notification.stack.domain.interactor.SharedNotificationContainerInteractor +import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeUserSetupRepository +import com.android.systemui.statusbar.policy.ResourcesSplitShadeStateController +import com.android.systemui.statusbar.policy.data.repository.FakeDeviceProvisioningRepository +import com.android.systemui.util.mockito.mock import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue @@ -40,17 +61,22 @@ import org.mockito.Mock import org.mockito.Mockito import org.mockito.Mockito.mock import org.mockito.Mockito.verify -import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations +import org.mockito.Mockito.`when` as whenever @SmallTest @RunWith(AndroidTestingRunner::class) @TestableLooper.RunWithLooper class StatusBarStateControllerImplTest : SysuiTestCase() { + private val utils = SceneTestUtils(this) + private val testScope = utils.testScope + private lateinit var shadeInteractor: ShadeInteractor + private lateinit var fromLockscreenTransitionInteractor: FromLockscreenTransitionInteractor + private lateinit var fromPrimaryBouncerTransitionInteractor: + FromPrimaryBouncerTransitionInteractor @Mock lateinit var interactionJankMonitor: InteractionJankMonitor - @Mock private lateinit var mockDarkAnimator: ObjectAnimator - @Mock private lateinit var shadeExpansionStateManager: ShadeExpansionStateManager + @Mock lateinit var mockDarkAnimator: ObjectAnimator private lateinit var controller: StatusBarStateControllerImpl private lateinit var uiEventLogger: UiEventLoggerFake @@ -64,11 +90,75 @@ class StatusBarStateControllerImplTest : SysuiTestCase() { uiEventLogger = UiEventLoggerFake() controller = object : StatusBarStateControllerImpl( uiEventLogger, - mock(DumpManager::class.java), - interactionJankMonitor, shadeExpansionStateManager + interactionJankMonitor, + mock(), + { shadeInteractor } ) { override fun createDarkAnimator(): ObjectAnimator { return mockDarkAnimator } } + + val powerInteractor = PowerInteractor( + FakePowerRepository(), + FalsingCollectorFake(), + mock(), + controller) + val keyguardRepository = FakeKeyguardRepository() + val keyguardTransitionRepository = FakeKeyguardTransitionRepository() + val featureFlags = FakeFeatureFlagsClassic() + val shadeRepository = FakeShadeRepository() + val sceneContainerFlags = FakeSceneContainerFlags() + val configurationRepository = FakeConfigurationRepository() + val keyguardInteractor = KeyguardInteractor( + keyguardRepository, + FakeCommandQueue(), + powerInteractor, + featureFlags, + sceneContainerFlags, + FakeKeyguardBouncerRepository(), + configurationRepository, + shadeRepository, + utils::sceneInteractor) + val keyguardTransitionInteractor = KeyguardTransitionInteractor( + testScope.backgroundScope, + keyguardTransitionRepository, + { keyguardInteractor }, + { fromLockscreenTransitionInteractor }, + { fromPrimaryBouncerTransitionInteractor }) + fromLockscreenTransitionInteractor = FromLockscreenTransitionInteractor( + keyguardTransitionRepository, + keyguardTransitionInteractor, + testScope.backgroundScope, + keyguardInteractor, + featureFlags, + shadeRepository, + powerInteractor) + fromPrimaryBouncerTransitionInteractor = FromPrimaryBouncerTransitionInteractor( + keyguardTransitionRepository, + keyguardTransitionInteractor, + testScope.backgroundScope, + keyguardInteractor, + featureFlags, + mock(), + mock(), + powerInteractor) + shadeInteractor = ShadeInteractor( + testScope.backgroundScope, + FakeDeviceProvisioningRepository(), + FakeDisableFlagsRepository(), + mock(), + sceneContainerFlags, + utils::sceneInteractor, + keyguardRepository, + keyguardTransitionInteractor, + powerInteractor, + FakeUserSetupRepository(), + mock(), + SharedNotificationContainerInteractor( + configurationRepository, + mContext, + ResourcesSplitShadeStateController()), + shadeRepository, + ) } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/events/SystemEventCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/events/SystemEventCoordinatorTest.kt index 66d2465750ad..c289ff3bc19d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/events/SystemEventCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/events/SystemEventCoordinatorTest.kt @@ -21,7 +21,6 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor.PendingDisplay -import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor.State.CONNECTED import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.privacy.PrivacyItemController import com.android.systemui.statusbar.policy.BatteryController @@ -79,8 +78,8 @@ class SystemEventCoordinatorTest : SysuiTestCase() { testScope.runTest { systemEventCoordinator.startObserving() - connectedDisplayInteractor.emit(CONNECTED) - connectedDisplayInteractor.emit(CONNECTED) + connectedDisplayInteractor.emit() + connectedDisplayInteractor.emit() verify(scheduler, times(2)).onStatusEvent(any<ConnectedDisplayEvent>()) } @@ -90,21 +89,23 @@ class SystemEventCoordinatorTest : SysuiTestCase() { testScope.runTest { systemEventCoordinator.startObserving() - connectedDisplayInteractor.emit(CONNECTED) + connectedDisplayInteractor.emit() verify(scheduler).onStatusEvent(any<ConnectedDisplayEvent>()) systemEventCoordinator.stopObserving() - connectedDisplayInteractor.emit(CONNECTED) + connectedDisplayInteractor.emit() verifyNoMoreInteractions(scheduler) } class FakeConnectedDisplayInteractor : ConnectedDisplayInteractor { - private val flow = MutableSharedFlow<ConnectedDisplayInteractor.State>() - suspend fun emit(value: ConnectedDisplayInteractor.State) = flow.emit(value) + private val flow = MutableSharedFlow<Unit>() + suspend fun emit() = flow.emit(Unit) override val connectedDisplayState: Flow<ConnectedDisplayInteractor.State> + get() = MutableSharedFlow<ConnectedDisplayInteractor.State>() + override val connectedDisplayAddition: Flow<Unit> get() = flow override val pendingDisplay: Flow<PendingDisplay?> get() = MutableSharedFlow<PendingDisplay>() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt index 6c1f537e754f..2ee016b2c87c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt @@ -28,8 +28,6 @@ import com.android.systemui.dump.logcatLogBuffer 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 -import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder @@ -51,8 +49,6 @@ import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.withArgCaptor import com.android.systemui.util.settings.FakeSettings import com.google.common.truth.Truth.assertThat -import java.util.function.Consumer -import kotlin.time.Duration.Companion.seconds import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestCoroutineScheduler @@ -66,6 +62,8 @@ import org.mockito.Mockito.anyString import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.never import org.mockito.Mockito.verify +import java.util.function.Consumer +import kotlin.time.Duration.Companion.seconds import org.mockito.Mockito.`when` as whenever @SmallTest @@ -131,8 +129,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { collectionListener.onEntryAdded(fakeEntry) // WHEN: The device transitions to AOD - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(to = KeyguardState.AOD, transitionState = TransitionState.STARTED), + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.AOD, + this.testScheduler, ) testScheduler.runCurrent() @@ -147,8 +147,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(false) whenever(statusBarStateController.isExpanded).thenReturn(false) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) // WHEN: A notification is posted @@ -161,8 +163,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: The keyguard is now showing keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.AOD) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.AOD, + this.testScheduler, ) testScheduler.runCurrent() @@ -171,8 +175,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: The keyguard goes away keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.AOD, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() @@ -337,8 +343,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { runKeyguardCoordinatorTest { val fakeEntry = NotificationEntryBuilder().build() collectionListener.onEntryAdded(fakeEntry) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.AOD, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -348,15 +356,19 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: Keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() // WHEN: Keyguard is shown again keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.AOD) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.AOD, + this.testScheduler, ) testScheduler.runCurrent() @@ -370,16 +382,20 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // GIVEN: Keyguard is showing, unseen notification is present keyguardRepository.setKeyguardShowing(true) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) val fakeEntry = NotificationEntryBuilder().build() collectionListener.onEntryAdded(fakeEntry) // WHEN: Keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) // WHEN: Keyguard is shown again @@ -397,8 +413,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(true) keyguardRepository.setIsDozing(false) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) val firstEntry = NotificationEntryBuilder().setId(1).build() collectionListener.onEntryAdded(firstEntry) @@ -419,15 +437,19 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: the keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() // WHEN: Keyguard is shown again keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -445,8 +467,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(true) keyguardRepository.setIsDozing(false) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -473,15 +497,19 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: the keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() // WHEN: Keyguard is shown again keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -496,8 +524,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(true) keyguardRepository.setIsDozing(false) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -524,15 +554,19 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: the keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() // WHEN: Keyguard is shown again keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -547,8 +581,10 @@ class KeyguardCoordinatorTest : SysuiTestCase() { keyguardRepository.setKeyguardShowing(true) keyguardRepository.setIsDozing(false) runKeyguardCoordinatorTest { - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() @@ -571,15 +607,19 @@ class KeyguardCoordinatorTest : SysuiTestCase() { // WHEN: the keyguard is no longer showing keyguardRepository.setKeyguardShowing(false) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.LOCKSCREEN, to = KeyguardState.GONE) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + this.testScheduler, ) testScheduler.runCurrent() // WHEN: Keyguard is shown again keyguardRepository.setKeyguardShowing(true) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep(from = KeyguardState.GONE, to = KeyguardState.LOCKSCREEN) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this.testScheduler, ) testScheduler.runCurrent() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinatorTest.kt index a736182b6329..428574bb15f8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinatorTest.kt @@ -19,8 +19,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase -import com.android.systemui.flags.FakeFeatureFlagsClassic -import com.android.systemui.flags.Flags +import com.android.systemui.flags.setFlagValue import com.android.systemui.statusbar.notification.collection.NotifPipeline import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder @@ -30,6 +29,7 @@ import com.android.systemui.statusbar.notification.collection.render.GroupExpans import com.android.systemui.statusbar.notification.collection.render.NotifStackController import com.android.systemui.statusbar.notification.collection.render.NotifStats import com.android.systemui.statusbar.notification.domain.interactor.RenderNotificationListInteractor +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor import com.android.systemui.statusbar.notification.stack.BUCKET_ALERTING import com.android.systemui.statusbar.notification.stack.BUCKET_SILENT import com.android.systemui.statusbar.phone.NotificationIconAreaController @@ -39,6 +39,7 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock +import org.mockito.Mockito.reset import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations.initMocks @@ -59,15 +60,18 @@ class StackCoordinatorTest : SysuiTestCase() { @Mock private lateinit var stackController: NotifStackController @Mock private lateinit var section: NotifSection - val featureFlags = - FakeFeatureFlagsClassic().apply { setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR) } - @Before fun setUp() { initMocks(this) + entry = NotificationEntryBuilder().setSection(section).build() + setUpWithFlags() + } + + private fun setUpWithFlags(vararg flags: Pair<String, Boolean>) { + flags.forEach { (name, value) -> mSetFlagsRule.setFlagValue(name, value) } + reset(pipeline) coordinator = StackCoordinator( - featureFlags, groupExpansionManagerImpl, notificationIconAreaController, renderListInteractor, @@ -76,19 +80,18 @@ class StackCoordinatorTest : SysuiTestCase() { afterRenderListListener = withArgCaptor { verify(pipeline).addOnAfterRenderListListener(capture()) } - entry = NotificationEntryBuilder().setSection(section).build() } @Test fun testUpdateNotificationIcons() { - featureFlags.set(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR, false) + setUpWithFlags(NotificationIconContainerRefactor.FLAG_NAME to false) afterRenderListListener.onAfterRenderList(listOf(entry), stackController) verify(notificationIconAreaController).updateNotificationIcons(eq(listOf(entry))) } @Test fun testSetRenderedListOnInteractor() { - featureFlags.set(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR, true) + setUpWithFlags(NotificationIconContainerRefactor.FLAG_NAME to true) afterRenderListListener.onAfterRenderList(listOf(entry), stackController) verify(renderListInteractor).setRenderedList(eq(listOf(entry))) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModelTest.kt index 41c7071a616d..14d188c69525 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerAlwaysOnDisplayViewModelTest.kt @@ -370,11 +370,10 @@ class NotificationIconContainerAlwaysOnDisplayViewModelTest : SysuiTestCase() { scope.runTest { val isVisible by collectLastValue(underTest.isVisible) runCurrent() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.GONE, - transitionState = TransitionState.FINISHED, - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.OFF, + to = KeyguardState.GONE, + scope, ) whenever(screenOffAnimController.shouldShowAodIconsWhenShade()).thenReturn(false) runCurrent() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapperTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapperTest.kt index cbb08946a1b0..947bcfb5011b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapperTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapperTest.kt @@ -2,7 +2,6 @@ package com.android.systemui.statusbar.notification.interruption import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest -import com.android.systemui.SysuiTestCase import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider.FullScreenIntentDecision import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider.FullScreenIntentDecision.FSI_DEVICE_NOT_INTERACTIVE @@ -19,7 +18,30 @@ import org.junit.runner.RunWith @SmallTest @RunWith(AndroidTestingRunner::class) -class NotificationInterruptStateProviderWrapperTest : SysuiTestCase() { +class NotificationInterruptStateProviderWrapperTest : VisualInterruptionDecisionProviderTestBase() { + override val provider: VisualInterruptionDecisionProvider + get() = + NotificationInterruptStateProviderWrapper( + NotificationInterruptStateProviderImpl( + context.contentResolver, + powerManager, + ambientDisplayConfiguration, + batteryController, + statusBarStateController, + keyguardStateController, + headsUpManager, + logger, + mainHandler, + flags, + keyguardNotificationVisibilityProvider, + uiEventLogger, + userTracker, + deviceProvisionedController + ) + .also { it.mUseHeadsUp = true } + ) + + // Tests of internals of the wrapper: @Test fun decisionOfTrue() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt new file mode 100644 index 000000000000..6f4bbd5e21fc --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt @@ -0,0 +1,221 @@ +package com.android.systemui.statusbar.notification.interruption + +import android.app.ActivityManager +import android.app.Notification +import android.app.Notification.BubbleMetadata +import android.app.NotificationChannel +import android.app.NotificationManager.IMPORTANCE_DEFAULT +import android.app.NotificationManager.IMPORTANCE_HIGH +import android.app.NotificationManager.VISIBILITY_NO_OVERRIDE +import android.app.PendingIntent +import android.app.PendingIntent.FLAG_MUTABLE +import android.content.Intent +import android.content.pm.UserInfo +import android.graphics.drawable.Icon +import android.hardware.display.FakeAmbientDisplayConfiguration +import android.os.Handler +import android.os.PowerManager +import com.android.internal.logging.testing.UiEventLoggerFake +import com.android.systemui.SysuiTestCase +import com.android.systemui.res.R +import com.android.systemui.settings.FakeUserTracker +import com.android.systemui.statusbar.FakeStatusBarStateController +import com.android.systemui.statusbar.NotificationEntryHelper.modifyRanking +import com.android.systemui.statusbar.StatusBarState.KEYGUARD +import com.android.systemui.statusbar.StatusBarState.SHADE +import com.android.systemui.statusbar.notification.NotifPipelineFlags +import com.android.systemui.statusbar.notification.collection.NotificationEntry +import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder +import com.android.systemui.statusbar.policy.DeviceProvisionedController +import com.android.systemui.statusbar.policy.HeadsUpManager +import com.android.systemui.statusbar.policy.KeyguardStateController +import com.android.systemui.util.mockito.any +import com.android.systemui.util.mockito.mock +import com.android.systemui.utils.leaks.FakeBatteryController +import com.android.systemui.utils.leaks.LeakCheckedTest +import junit.framework.Assert.assertTrue +import org.junit.Before +import org.junit.Test +import org.mockito.Mockito.`when` as whenever + +abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { + private val leakCheck = LeakCheckedTest.SysuiLeakCheck() + + protected val ambientDisplayConfiguration = FakeAmbientDisplayConfiguration(context) + protected val batteryController = FakeBatteryController(leakCheck) + protected val deviceProvisionedController: DeviceProvisionedController = mock() + protected val flags: NotifPipelineFlags = mock() + protected val headsUpManager: HeadsUpManager = mock() + protected val keyguardNotificationVisibilityProvider: KeyguardNotificationVisibilityProvider = + mock() + protected val keyguardStateController: KeyguardStateController = mock() + protected val logger: NotificationInterruptLogger = mock() + protected val mainHandler: Handler = mock() + protected val powerManager: PowerManager = mock() + protected val statusBarStateController = FakeStatusBarStateController() + protected val uiEventLogger = UiEventLoggerFake() + protected val userTracker = FakeUserTracker() + + protected abstract val provider: VisualInterruptionDecisionProvider + + @Before + fun setUp() { + val user = UserInfo(ActivityManager.getCurrentUser(), "Current user", /* flags = */ 0) + userTracker.set(listOf(user), /* currentUserIndex = */ 0) + + whenever(headsUpManager.isSnoozed(any())).thenReturn(false) + whenever(keyguardNotificationVisibilityProvider.shouldHideNotification(any())) + .thenReturn(false) + } + + @Test + fun testShouldPeek() { + ensureStateForPeek() + + assertTrue(provider.makeUnloggedHeadsUpDecision(createPeekEntry()).shouldInterrupt) + } + + @Test + fun testShouldPulse() { + ensureStateForPulse() + + assertTrue(provider.makeUnloggedHeadsUpDecision(createPulseEntry()).shouldInterrupt) + } + + @Test + fun testShouldFsi_awake() { + ensureStateForAwakeFsi() + + assertTrue(provider.makeUnloggedFullScreenIntentDecision(createFsiEntry()).shouldInterrupt) + } + + @Test + fun testShouldFsi_dreaming() { + ensureStateForDreamingFsi() + + assertTrue(provider.makeUnloggedFullScreenIntentDecision(createFsiEntry()).shouldInterrupt) + } + + @Test + fun testShouldFsi_keyguard() { + ensureStateForKeyguardFsi() + + assertTrue(provider.makeUnloggedFullScreenIntentDecision(createFsiEntry()).shouldInterrupt) + } + + @Test + fun testShouldBubble() { + assertTrue(provider.makeAndLogBubbleDecision(createBubbleEntry()).shouldInterrupt) + } + + private fun ensureStateForPeek() { + whenever(powerManager.isScreenOn).thenReturn(true) + statusBarStateController.dozing = false + statusBarStateController.dreaming = false + } + + private fun ensureStateForPulse() { + ambientDisplayConfiguration.fakePulseOnNotificationEnabled = true + batteryController.setIsAodPowerSave(false) + statusBarStateController.dozing = true + } + + private fun ensureStateForAwakeFsi() { + whenever(powerManager.isInteractive).thenReturn(false) + statusBarStateController.dreaming = false + statusBarStateController.state = SHADE + } + + private fun ensureStateForDreamingFsi() { + whenever(powerManager.isInteractive).thenReturn(true) + statusBarStateController.dreaming = true + statusBarStateController.state = SHADE + } + + private fun ensureStateForKeyguardFsi() { + whenever(powerManager.isInteractive).thenReturn(true) + statusBarStateController.dreaming = false + statusBarStateController.state = KEYGUARD + } + + private fun createNotif( + hasFsi: Boolean = false, + bubbleMetadata: BubbleMetadata? = null + ): Notification { + return Notification.Builder(context, TEST_CHANNEL_ID) + .apply { + setContentTitle(TEST_CONTENT_TITLE) + setContentText(TEST_CONTENT_TEXT) + + if (hasFsi) { + setFullScreenIntent(mock(), /* highPriority = */ true) + } + + if (bubbleMetadata != null) { + setBubbleMetadata(bubbleMetadata) + } + } + .setContentTitle(TEST_CONTENT_TITLE) + .setContentText(TEST_CONTENT_TEXT) + .build() + } + + private fun createBubbleMetadata(): BubbleMetadata { + val pendingIntent = + PendingIntent.getActivity( + context, + /* requestCode = */ 0, + Intent().setPackage(context.packageName), + FLAG_MUTABLE + ) + + val icon = Icon.createWithResource(context.resources, R.drawable.android) + + return BubbleMetadata.Builder(pendingIntent, icon).build() + } + + private fun createEntry( + notif: Notification, + importance: Int = IMPORTANCE_DEFAULT, + canBubble: Boolean? = null + ): NotificationEntry { + return NotificationEntryBuilder() + .apply { + setPkg(TEST_PACKAGE) + setOpPkg(TEST_PACKAGE) + setTag(TEST_TAG) + setChannel(NotificationChannel(TEST_CHANNEL_ID, TEST_CHANNEL_NAME, importance)) + setNotification(notif) + setImportance(importance) + + if (canBubble != null) { + setCanBubble(canBubble) + } + } + .build() + } + + private fun createPeekEntry() = createEntry(notif = createNotif(), importance = IMPORTANCE_HIGH) + + private fun createPulseEntry() = + createEntry(notif = createNotif(), importance = IMPORTANCE_HIGH).also { + modifyRanking(it).setVisibilityOverride(VISIBILITY_NO_OVERRIDE).build() + } + + private fun createFsiEntry() = + createEntry(notif = createNotif(hasFsi = true), importance = IMPORTANCE_HIGH) + + private fun createBubbleEntry() = + createEntry( + notif = createNotif(bubbleMetadata = createBubbleMetadata()), + importance = IMPORTANCE_HIGH, + canBubble = true + ) +} + +private const val TEST_CONTENT_TITLE = "Test Content Title" +private const val TEST_CONTENT_TEXT = "Test content text" +private const val TEST_CHANNEL_ID = "test_channel" +private const val TEST_CHANNEL_NAME = "Test Channel" +private const val TEST_PACKAGE = "test_package" +private const val TEST_TAG = "test_tag" diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt index ccef1d56c6a0..9b9cb8213c91 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt @@ -61,8 +61,9 @@ class ActivatableNotificationViewTest : SysuiTestCase() { else -> null } as T? } - mNormalColor = - Utils.getColorAttrDefaultColor(mContext, com.android.internal.R.attr.colorSurface) + + mNormalColor = Utils.getColorAttrDefaultColor(mContext, + com.android.internal.R.attr.materialColorSurfaceContainerHigh) } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationContentViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationContentViewTest.kt index c4baa691e612..5549feefe090 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationContentViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationContentViewTest.kt @@ -16,13 +16,17 @@ package com.android.systemui.statusbar.notification.row +import android.annotation.DimenRes import android.content.res.Resources import android.os.UserHandle import android.service.notification.StatusBarNotification import android.testing.AndroidTestingRunner +import android.testing.TestableLooper +import android.testing.ViewUtils import android.view.NotificationHeaderView import android.view.View import android.view.ViewGroup +import android.widget.FrameLayout import android.widget.ImageView import android.widget.LinearLayout import androidx.test.filters.SmallTest @@ -30,20 +34,21 @@ import com.android.internal.R import com.android.internal.widget.NotificationActionListLayout import com.android.internal.widget.NotificationExpandButton import com.android.systemui.SysuiTestCase -import com.android.systemui.media.dialog.MediaOutputDialogFactory import com.android.systemui.statusbar.notification.FeedbackIcon import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier -import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever import junit.framework.Assert.assertEquals import junit.framework.Assert.assertFalse import junit.framework.Assert.assertTrue +import org.junit.After import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.Mockito.anyBoolean import org.mockito.Mockito.doReturn import org.mockito.Mockito.never import org.mockito.Mockito.spy @@ -53,89 +58,247 @@ import org.mockito.MockitoAnnotations.initMocks @SmallTest @RunWith(AndroidTestingRunner::class) +@TestableLooper.RunWithLooper class NotificationContentViewTest : SysuiTestCase() { - private lateinit var view: NotificationContentView + private lateinit var row: ExpandableNotificationRow + private lateinit var fakeParent: ViewGroup @Mock private lateinit var mPeopleNotificationIdentifier: PeopleNotificationIdentifier - private val notificationContentMargin = - mContext.resources.getDimensionPixelSize(R.dimen.notification_content_margin) + private val testableResources = mContext.getOrCreateTestableResources() + private val contractedHeight = + px(com.android.systemui.res.R.dimen.min_notification_layout_height) + private val expandedHeight = px(com.android.systemui.res.R.dimen.notification_max_height) + private val notificationContentMargin = px(R.dimen.notification_content_margin) @Before fun setup() { initMocks(this) + fakeParent = FrameLayout(mContext, /* attrs= */ null).also { it.visibility = View.GONE } + row = + spy( + ExpandableNotificationRow(mContext, /* attrs= */ null).apply { + entry = createMockNotificationEntry() + } + ) + ViewUtils.attachView(fakeParent) + } - mDependency.injectMockDependency(MediaOutputDialogFactory::class.java) - - view = spy(NotificationContentView(mContext, /* attrs= */ null)) - val row = ExpandableNotificationRow(mContext, /* attrs= */ null) - row.entry = createMockNotificationEntry(false) - val spyRow = spy(row) - doReturn(10).whenever(spyRow).intrinsicHeight - - with(view) { - initialize(mPeopleNotificationIdentifier, mock(), mock(), mock(), mock()) - setContainingNotification(spyRow) - setHeights(/* smallHeight= */ 10, /* headsUpMaxHeight= */ 20, /* maxHeight= */ 30) - contractedChild = createViewWithHeight(10) - expandedChild = createViewWithHeight(20) - headsUpChild = createViewWithHeight(30) - measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED) - layout(0, 0, view.measuredWidth, view.measuredHeight) - } + @After + fun teardown() { + fakeParent.removeAllViews() + ViewUtils.detachView(fakeParent) } - private fun createViewWithHeight(height: Int) = - View(mContext, /* attrs= */ null).apply { minimumHeight = height } + @Test + fun contractedWrapperSelected_whenShadeIsClosed_wrapperNotNotified() { + // GIVEN the shade is closed + fakeParent.visibility = View.GONE + + // WHEN a collapsed content is created + val view = createContentView(isSystemExpanded = false) + + // THEN the contractedWrapper is set + assertEquals(view.contractedWrapper, view.visibleWrapper) + // AND the contractedWrapper is visible, but NOT shown + verify(view.contractedWrapper).setVisible(true) + verify(view.contractedWrapper, never()).onContentShown(anyBoolean()) + } + + @Test + fun contractedWrapperSelected_whenShadeIsOpen_wrapperNotified() { + // GIVEN the shade is open + fakeParent.visibility = View.VISIBLE + + // WHEN a collapsed content is created + val view = createContentView(isSystemExpanded = false) + + // THEN the contractedWrapper is set + assertEquals(view.contractedWrapper, view.visibleWrapper) + // AND the contractedWrapper is visible and shown + verify(view.contractedWrapper, Mockito.atLeastOnce()).setVisible(true) + verify(view.contractedWrapper, times(1)).onContentShown(true) + } + + @Test + fun shadeOpens_collapsedWrapperIsSelected_wrapperNotified() { + // GIVEN the shade is closed + fakeParent.visibility = View.GONE + // AND a collapsed content is created + val view = createContentView(isSystemExpanded = false).apply { clearInvocations() } + + // WHEN the shade opens + fakeParent.visibility = View.VISIBLE + view.onVisibilityAggregated(true) + + // THEN the contractedWrapper is set + assertEquals(view.contractedWrapper, view.visibleWrapper) + // AND the contractedWrapper is shown + verify(view.contractedWrapper, times(1)).onContentShown(true) + } + + @Test + fun shadeCloses_collapsedWrapperIsShown_wrapperNotified() { + // GIVEN the shade is closed + fakeParent.visibility = View.VISIBLE + // AND a collapsed content is created + val view = createContentView(isSystemExpanded = false).apply { clearInvocations() } + + // WHEN the shade opens + fakeParent.visibility = View.GONE + view.onVisibilityAggregated(false) + + // THEN the contractedWrapper is set + assertEquals(view.contractedWrapper, view.visibleWrapper) + // AND the contractedWrapper is NOT shown + verify(view.contractedWrapper, times(1)).onContentShown(false) + } + + @Test + fun expandedWrapperSelected_whenShadeIsClosed_wrapperNotNotified() { + // GIVEN the shade is closed + fakeParent.visibility = View.GONE + + // WHEN a system-expanded content is created + val view = createContentView(isSystemExpanded = true) + + // THEN the contractedWrapper is set + assertEquals(view.expandedWrapper, view.visibleWrapper) + // AND the contractedWrapper is visible, but NOT shown + verify(view.expandedWrapper, Mockito.atLeastOnce()).setVisible(true) + verify(view.expandedWrapper, never()).onContentShown(anyBoolean()) + } + + @Test + fun expandedWrapperSelected_whenShadeIsOpen_wrapperNotified() { + // GIVEN the shade is open + fakeParent.visibility = View.VISIBLE + + // WHEN an system-expanded content is created + val view = createContentView(isSystemExpanded = true) + + // THEN the expandedWrapper is set + assertEquals(view.expandedWrapper, view.visibleWrapper) + // AND the expandedWrapper is visible and shown + verify(view.expandedWrapper, Mockito.atLeastOnce()).setVisible(true) + verify(view.expandedWrapper, times(1)).onContentShown(true) + } + + @Test + fun shadeOpens_expandedWrapperIsSelected_wrapperNotified() { + // GIVEN the shade is closed + fakeParent.visibility = View.GONE + // AND a system-expanded content is created + val view = createContentView(isSystemExpanded = true).apply { clearInvocations() } + + // WHEN the shade opens + fakeParent.visibility = View.VISIBLE + view.onVisibilityAggregated(true) + + // THEN the expandedWrapper is set + assertEquals(view.expandedWrapper, view.visibleWrapper) + // AND the expandedWrapper is shown + verify(view.expandedWrapper, times(1)).onContentShown(true) + } + + @Test + fun shadeCloses_expandedWrapperIsShown_wrapperNotified() { + // GIVEN the shade is open + fakeParent.visibility = View.VISIBLE + // AND a system-expanded content is created + val view = createContentView(isSystemExpanded = true).apply { clearInvocations() } + + // WHEN the shade opens + fakeParent.visibility = View.GONE + view.onVisibilityAggregated(false) + + // THEN the expandedWrapper is set + assertEquals(view.expandedWrapper, view.visibleWrapper) + // AND the expandedWrapper is NOT shown + verify(view.expandedWrapper, times(1)).onContentShown(false) + } + + @Test + fun expandCollapsedNotification_expandedWrapperShown() { + // GIVEN the shade is open + fakeParent.visibility = View.VISIBLE + // AND a collapsed content is created + val view = createContentView(isSystemExpanded = false).apply { clearInvocations() } + + // WHEN we collapse the notification + whenever(row.intrinsicHeight).thenReturn(expandedHeight) + view.contentHeight = expandedHeight + + // THEN the wrappers are updated + assertEquals(view.expandedWrapper, view.visibleWrapper) + verify(view.contractedWrapper, times(1)).onContentShown(false) + verify(view.contractedWrapper).setVisible(false) + verify(view.expandedWrapper, times(1)).onContentShown(true) + verify(view.expandedWrapper).setVisible(true) + } + + @Test + fun collapseExpandedNotification_expandedWrapperShown() { + // GIVEN the shade is open + fakeParent.visibility = View.VISIBLE + // AND a system-expanded content is created + val view = createContentView(isSystemExpanded = true).apply { clearInvocations() } + + // WHEN we collapse the notification + whenever(row.intrinsicHeight).thenReturn(contractedHeight) + view.contentHeight = contractedHeight + + // THEN the wrappers are updated + assertEquals(view.contractedWrapper, view.visibleWrapper) + verify(view.expandedWrapper, times(1)).onContentShown(false) + verify(view.expandedWrapper).setVisible(false) + verify(view.contractedWrapper, times(1)).onContentShown(true) + verify(view.contractedWrapper).setVisible(true) + } @Test fun testSetFeedbackIcon() { // Given: contractedChild, enpandedChild, and headsUpChild being set - val mockContracted = createMockNotificationHeaderView() - val mockExpanded = createMockNotificationHeaderView() - val mockHeadsUp = createMockNotificationHeaderView() - - with(view) { - contractedChild = mockContracted - expandedChild = mockExpanded - headsUpChild = mockHeadsUp - } + val view = createContentView(isSystemExpanded = false) // When: FeedBackIcon is set - view.setFeedbackIcon( + val icon = FeedbackIcon( R.drawable.ic_feedback_alerted, R.string.notification_feedback_indicator_alerted ) - ) + view.setFeedbackIcon(icon) - // Then: contractedChild, enpandedChild, and headsUpChild should be set to be visible - verify(mockContracted).visibility = View.VISIBLE - verify(mockExpanded).visibility = View.VISIBLE - verify(mockHeadsUp).visibility = View.VISIBLE + // Then: contractedChild, enpandedChild, and headsUpChild is updated with the feedbackIcon + verify(view.contractedWrapper).setFeedbackIcon(icon) + verify(view.expandedWrapper).setFeedbackIcon(icon) + verify(view.headsUpWrapper).setFeedbackIcon(icon) } - private fun createMockNotificationHeaderView() = - mock<NotificationHeaderView>().apply { - whenever(this.findViewById<View>(R.id.feedback)).thenReturn(this) - whenever(this.context).thenReturn(mContext) - } - @Test fun testExpandButtonFocusIsCalled() { val mockContractedEB = mock<NotificationExpandButton>() - val mockContracted = createMockNotificationHeaderView(mockContractedEB) + val mockContracted = createMockNotificationHeaderView(contractedHeight, mockContractedEB) val mockExpandedEB = mock<NotificationExpandButton>() - val mockExpanded = createMockNotificationHeaderView(mockExpandedEB) + val mockExpanded = createMockNotificationHeaderView(expandedHeight, mockExpandedEB) val mockHeadsUpEB = mock<NotificationExpandButton>() - val mockHeadsUp = createMockNotificationHeaderView(mockHeadsUpEB) + val mockHeadsUp = createMockNotificationHeaderView(contractedHeight, mockHeadsUpEB) - // Set up all 3 child forms - view.contractedChild = mockContracted - view.expandedChild = mockExpanded - view.headsUpChild = mockHeadsUp + val view = + createContentView( + isSystemExpanded = false, + ) + + // Update all 3 child forms + view.apply { + contractedChild = mockContracted + expandedChild = mockExpanded + headsUpChild = mockHeadsUp + + expandedWrapper = spy(expandedWrapper) + } // This is required to call requestAccessibilityFocus() view.setFocusOnVisibilityChange() @@ -143,35 +306,41 @@ class NotificationContentViewTest : SysuiTestCase() { // The following will initialize the view and switch from not visible to expanded. // (heads-up is actually an alternate form of contracted, hence this enters expanded state) view.setHeadsUp(true) + assertEquals(view.expandedWrapper, view.visibleWrapper) verify(mockContractedEB, never()).requestAccessibilityFocus() verify(mockExpandedEB).requestAccessibilityFocus() verify(mockHeadsUpEB, never()).requestAccessibilityFocus() } - private fun createMockNotificationHeaderView(mockExpandedEB: NotificationExpandButton) = - mock<NotificationHeaderView>().apply { - whenever(this.animate()).thenReturn(mock()) - whenever(this.findViewById<View>(R.id.expand_button)).thenReturn(mockExpandedEB) - whenever(this.context).thenReturn(mContext) - } + private fun createMockNotificationHeaderView( + height: Int, + mockExpandedEB: NotificationExpandButton + ) = + spy(NotificationHeaderView(mContext, /* attrs= */ null).apply { minimumHeight = height }) + .apply { + whenever(this.animate()).thenReturn(mock()) + whenever(this.findViewById<View>(R.id.expand_button)).thenReturn(mockExpandedEB) + } @Test fun testRemoteInputVisibleSetsActionsUnimportantHideDescendantsForAccessibility() { - val mockContracted = mock<NotificationHeaderView>() + val mockContracted = spy(createViewWithHeight(contractedHeight)) val mockExpandedActions = mock<NotificationActionListLayout>() - val mockExpanded = mock<NotificationHeaderView>() + val mockExpanded = spy(createViewWithHeight(expandedHeight)) whenever(mockExpanded.findViewById<View>(R.id.actions)).thenReturn(mockExpandedActions) val mockHeadsUpActions = mock<NotificationActionListLayout>() - val mockHeadsUp = mock<NotificationHeaderView>() + val mockHeadsUp = spy(createViewWithHeight(contractedHeight)) whenever(mockHeadsUp.findViewById<View>(R.id.actions)).thenReturn(mockHeadsUpActions) - with(view) { - contractedChild = mockContracted - expandedChild = mockExpanded - headsUpChild = mockHeadsUp - } + val view = + createContentView( + isSystemExpanded = false, + contractedView = mockContracted, + expandedView = mockExpanded, + headsUpView = mockHeadsUp + ) view.setRemoteInputVisible(true) @@ -184,21 +353,23 @@ class NotificationContentViewTest : SysuiTestCase() { @Test fun testRemoteInputInvisibleSetsActionsAutoImportantForAccessibility() { - val mockContracted = mock<NotificationHeaderView>() + val mockContracted = spy(createViewWithHeight(contractedHeight)) val mockExpandedActions = mock<NotificationActionListLayout>() - val mockExpanded = mock<NotificationHeaderView>() + val mockExpanded = spy(createViewWithHeight(expandedHeight)) whenever(mockExpanded.findViewById<View>(R.id.actions)).thenReturn(mockExpandedActions) val mockHeadsUpActions = mock<NotificationActionListLayout>() - val mockHeadsUp = mock<NotificationHeaderView>() + val mockHeadsUp = spy(createViewWithHeight(contractedHeight)) whenever(mockHeadsUp.findViewById<View>(R.id.actions)).thenReturn(mockHeadsUpActions) - with(view) { - contractedChild = mockContracted - expandedChild = mockExpanded - headsUpChild = mockHeadsUp - } + val view = + createContentView( + isSystemExpanded = false, + contractedView = mockContracted, + expandedView = mockExpanded, + headsUpView = mockHeadsUp + ) view.setRemoteInputVisible(false) @@ -212,7 +383,7 @@ class NotificationContentViewTest : SysuiTestCase() { fun setExpandedChild_notShowBubbleButton_marginTargetBottomMarginShouldNotChange() { // Given: bottom margin of actionListMarginTarget is notificationContentMargin // Bubble button should not be shown for the given NotificationEntry - val mockNotificationEntry = createMockNotificationEntry(/* showButton= */ false) + val mockNotificationEntry = createMockNotificationEntry() val mockContainingNotification = createMockContainingNotification(mockNotificationEntry) val actionListMarginTarget = spy(createLinearLayoutWithBottomMargin(notificationContentMargin)) @@ -223,7 +394,9 @@ class NotificationContentViewTest : SysuiTestCase() { ) ) .thenReturn(actionListMarginTarget) - view.setContainingNotification(mockContainingNotification) + val view = createContentView(isSystemExpanded = false) + + view.setContainingNotification(mockContainingNotification) // maybe not needed // When: call NotificationContentView.setExpandedChild() to set the expandedChild view.expandedChild = mockExpandedChild @@ -237,7 +410,7 @@ class NotificationContentViewTest : SysuiTestCase() { fun setExpandedChild_showBubbleButton_marginTargetBottomMarginShouldChangeToZero() { // Given: bottom margin of actionListMarginTarget is notificationContentMargin // Bubble button should be shown for the given NotificationEntry - val mockNotificationEntry = createMockNotificationEntry(/* showButton= */ true) + val mockNotificationEntry = createMockNotificationEntry() val mockContainingNotification = createMockContainingNotification(mockNotificationEntry) val actionListMarginTarget = spy(createLinearLayoutWithBottomMargin(notificationContentMargin)) @@ -248,10 +421,12 @@ class NotificationContentViewTest : SysuiTestCase() { ) ) .thenReturn(actionListMarginTarget) + val view = createContentView(isSystemExpanded = false) + view.setContainingNotification(mockContainingNotification) // Given: controller says bubbles are enabled for the user - view.setBubblesEnabledForUser(true); + view.setBubblesEnabledForUser(true) // When: call NotificationContentView.setExpandedChild() to set the expandedChild view.expandedChild = mockExpandedChild @@ -263,7 +438,7 @@ class NotificationContentViewTest : SysuiTestCase() { @Test fun onNotificationUpdated_notShowBubbleButton_marginTargetBottomMarginShouldNotChange() { // Given: bottom margin of actionListMarginTarget is notificationContentMargin - val mockNotificationEntry = createMockNotificationEntry(/* showButton= */ false) + val mockNotificationEntry = createMockNotificationEntry() val mockContainingNotification = createMockContainingNotification(mockNotificationEntry) val actionListMarginTarget = spy(createLinearLayoutWithBottomMargin(notificationContentMargin)) @@ -274,13 +449,15 @@ class NotificationContentViewTest : SysuiTestCase() { ) ) .thenReturn(actionListMarginTarget) + val view = createContentView(isSystemExpanded = false) + view.setContainingNotification(mockContainingNotification) view.expandedChild = mockExpandedChild assertEquals(notificationContentMargin, getMarginBottom(actionListMarginTarget)) // When: call NotificationContentView.onNotificationUpdated() to update the // NotificationEntry, which should not show bubble button - view.onNotificationUpdated(createMockNotificationEntry(/* showButton= */ false)) + view.onNotificationUpdated(createMockNotificationEntry()) // Then: bottom margin of actionListMarginTarget should not change, still be 20 assertEquals(notificationContentMargin, getMarginBottom(actionListMarginTarget)) @@ -289,7 +466,7 @@ class NotificationContentViewTest : SysuiTestCase() { @Test fun onNotificationUpdated_showBubbleButton_marginTargetBottomMarginShouldChangeToZero() { // Given: bottom margin of actionListMarginTarget is notificationContentMargin - val mockNotificationEntry = createMockNotificationEntry(/* showButton= */ false) + val mockNotificationEntry = createMockNotificationEntry() val mockContainingNotification = createMockContainingNotification(mockNotificationEntry) val actionListMarginTarget = spy(createLinearLayoutWithBottomMargin(notificationContentMargin)) @@ -300,19 +477,20 @@ class NotificationContentViewTest : SysuiTestCase() { ) ) .thenReturn(actionListMarginTarget) + val view = createContentView(isSystemExpanded = false, expandedView = mockExpandedChild) + view.setContainingNotification(mockContainingNotification) - view.expandedChild = mockExpandedChild assertEquals(notificationContentMargin, getMarginBottom(actionListMarginTarget)) // When: call NotificationContentView.onNotificationUpdated() to update the // NotificationEntry, which should show bubble button - view.onNotificationUpdated(createMockNotificationEntry(true)) + view.onNotificationUpdated(createMockNotificationEntry(/*true*/ )) // Then: no bubble yet assertEquals(notificationContentMargin, getMarginBottom(actionListMarginTarget)) // Given: controller says bubbles are enabled for the user - view.setBubblesEnabledForUser(true); + view.setBubblesEnabledForUser(true) // Then: bottom margin of actionListMarginTarget should not change, still be 20 assertEquals(0, getMarginBottom(actionListMarginTarget)) @@ -321,81 +499,63 @@ class NotificationContentViewTest : SysuiTestCase() { @Test fun onSetAnimationRunning() { // Given: contractedWrapper, enpandedWrapper, and headsUpWrapper being set - val mockContracted = mock<NotificationViewWrapper>() - val mockExpanded = mock<NotificationViewWrapper>() - val mockHeadsUp = mock<NotificationViewWrapper>() - - view.setContractedWrapper(mockContracted) - view.setExpandedWrapper(mockExpanded) - view.setHeadsUpWrapper(mockHeadsUp) + val view = createContentView(isSystemExpanded = false) // When: we set content animation running. assertTrue(view.setContentAnimationRunning(true)) // Then: contractedChild, expandedChild, and headsUpChild should have setAnimationsRunning // called on them. - verify(mockContracted, times(1)).setAnimationsRunning(true) - verify(mockExpanded, times(1)).setAnimationsRunning(true) - verify(mockHeadsUp, times(1)).setAnimationsRunning(true) + verify(view.contractedWrapper, times(1)).setAnimationsRunning(true) + verify(view.expandedWrapper, times(1)).setAnimationsRunning(true) + verify(view.headsUpWrapper, times(1)).setAnimationsRunning(true) // When: we set content animation running true _again_. assertFalse(view.setContentAnimationRunning(true)) // Then: the children should not have setAnimationRunning called on them again. // Verify counts number of calls so far on the object, so these still register as 1. - verify(mockContracted, times(1)).setAnimationsRunning(true) - verify(mockExpanded, times(1)).setAnimationsRunning(true) - verify(mockHeadsUp, times(1)).setAnimationsRunning(true) + verify(view.contractedWrapper, times(1)).setAnimationsRunning(true) + verify(view.expandedWrapper, times(1)).setAnimationsRunning(true) + verify(view.headsUpWrapper, times(1)).setAnimationsRunning(true) } @Test fun onSetAnimationStopped() { // Given: contractedWrapper, expandedWrapper, and headsUpWrapper being set - val mockContracted = mock<NotificationViewWrapper>() - val mockExpanded = mock<NotificationViewWrapper>() - val mockHeadsUp = mock<NotificationViewWrapper>() - - view.setContractedWrapper(mockContracted) - view.setExpandedWrapper(mockExpanded) - view.setHeadsUpWrapper(mockHeadsUp) + val view = createContentView(isSystemExpanded = false) // When: we set content animation running. assertTrue(view.setContentAnimationRunning(true)) // Then: contractedChild, expandedChild, and headsUpChild should have setAnimationsRunning // called on them. - verify(mockContracted).setAnimationsRunning(true) - verify(mockExpanded).setAnimationsRunning(true) - verify(mockHeadsUp).setAnimationsRunning(true) + verify(view.contractedWrapper).setAnimationsRunning(true) + verify(view.expandedWrapper).setAnimationsRunning(true) + verify(view.headsUpWrapper).setAnimationsRunning(true) // When: we set content animation running false, the state changes, so the function // returns true. assertTrue(view.setContentAnimationRunning(false)) // Then: the children have their animations stopped. - verify(mockContracted).setAnimationsRunning(false) - verify(mockExpanded).setAnimationsRunning(false) - verify(mockHeadsUp).setAnimationsRunning(false) + verify(view.contractedWrapper).setAnimationsRunning(false) + verify(view.expandedWrapper).setAnimationsRunning(false) + verify(view.headsUpWrapper).setAnimationsRunning(false) } @Test fun onSetAnimationInitStopped() { // Given: contractedWrapper, expandedWrapper, and headsUpWrapper being set - val mockContracted = mock<NotificationViewWrapper>() - val mockExpanded = mock<NotificationViewWrapper>() - val mockHeadsUp = mock<NotificationViewWrapper>() - - view.setContractedWrapper(mockContracted) - view.setExpandedWrapper(mockExpanded) - view.setHeadsUpWrapper(mockHeadsUp) + val view = createContentView(isSystemExpanded = false) // When: we try to stop the animations before they've been started. assertFalse(view.setContentAnimationRunning(false)) // Then: the children should not have setAnimationRunning called on them again. - verify(mockContracted, never()).setAnimationsRunning(false) - verify(mockExpanded, never()).setAnimationsRunning(false) - verify(mockHeadsUp, never()).setAnimationsRunning(false) + verify(view.contractedWrapper, never()).setAnimationsRunning(false) + verify(view.expandedWrapper, never()).setAnimationsRunning(false) + verify(view.headsUpWrapper, never()).setAnimationsRunning(false) } private fun createMockContainingNotification(notificationEntry: NotificationEntry) = @@ -405,7 +565,7 @@ class NotificationContentViewTest : SysuiTestCase() { whenever(this.bubbleClickListener).thenReturn(View.OnClickListener {}) } - private fun createMockNotificationEntry(showButton: Boolean) = + private fun createMockNotificationEntry() = mock<NotificationEntry>().apply { whenever(mPeopleNotificationIdentifier.getPeopleNotificationType(this)) .thenReturn(PeopleNotificationIdentifier.TYPE_FULL_PERSON) @@ -426,10 +586,9 @@ class NotificationContentViewTest : SysuiTestCase() { } private fun createMockExpandedChild(notificationEntry: NotificationEntry) = - mock<ExpandableNotificationRow>().apply { + spy(createViewWithHeight(expandedHeight)).apply { whenever(this.findViewById<ImageView>(R.id.bubble_button)).thenReturn(mock()) whenever(this.findViewById<View>(R.id.actions_container)).thenReturn(mock()) - whenever(this.entry).thenReturn(notificationEntry) whenever(this.context).thenReturn(mContext) val resourcesMock: Resources = mock() @@ -437,6 +596,56 @@ class NotificationContentViewTest : SysuiTestCase() { whenever(this.resources).thenReturn(resourcesMock) } + private fun createContentView( + isSystemExpanded: Boolean, + contractedView: View = createViewWithHeight(contractedHeight), + expandedView: View = createViewWithHeight(expandedHeight), + headsUpView: View = createViewWithHeight(contractedHeight), + row: ExpandableNotificationRow = this.row + ): NotificationContentView { + val height = if (isSystemExpanded) expandedHeight else contractedHeight + doReturn(height).whenever(row).intrinsicHeight + + return spy(NotificationContentView(mContext, /* attrs= */ null)) + .apply { + initialize(mPeopleNotificationIdentifier, mock(), mock(), mock(), mock()) + setContainingNotification(row) + setHeights( + /* smallHeight= */ contractedHeight, + /* headsUpMaxHeight= */ contractedHeight, + /* maxHeight= */ expandedHeight + ) + contractedChild = contractedView + expandedChild = expandedView + headsUpChild = headsUpView + contractedWrapper = spy(contractedWrapper) + expandedWrapper = spy(expandedWrapper) + headsUpWrapper = spy(headsUpWrapper) + + if (isSystemExpanded) { + contentHeight = expandedHeight + } + } + .also { contentView -> + fakeParent.addView(contentView) + contentView.mockRequestLayout() + } + } + + private fun createViewWithHeight(height: Int) = + View(mContext, /* attrs= */ null).apply { minimumHeight = height } + private fun getMarginBottom(layout: LinearLayout): Int = (layout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin + + private fun px(@DimenRes id: Int): Int = testableResources.resources.getDimensionPixelSize(id) +} + +private fun NotificationContentView.mockRequestLayout() { + measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED) + layout(0, 0, measuredWidth, measuredHeight) +} + +private fun NotificationContentView.clearInvocations() { + Mockito.clearInvocations(contractedWrapper, expandedWrapper, headsUpWrapper) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java index 2b944c345643..39e3d5da3318 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java @@ -92,10 +92,8 @@ import com.android.systemui.statusbar.notification.row.NotificationGutsManager; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController.NotificationPanelEvent; import com.android.systemui.statusbar.notification.stack.NotificationSwipeHelper.NotificationCallback; import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationListViewModel; -import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.NotificationIconAreaController; -import com.android.systemui.statusbar.phone.ScreenOffAnimationController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; @@ -722,8 +720,6 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase { mActivityStarter, new ResourcesSplitShadeStateController(), mock(ConfigurationState.class), - mock(DozeParameters.class), - mock(ScreenOffAnimationController.class), mock(ShelfNotificationIconViewStore.class)); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java index 8f36d4f5bf6c..033c96ae84b0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java @@ -19,8 +19,6 @@ package com.android.systemui.statusbar.notification.stack; import static android.view.View.GONE; import static android.view.WindowInsets.Type.ime; -import static com.android.systemui.Flags.FLAG_NOTIFICATIONS_FOOTER_VIEW_REFACTOR; -import static com.android.systemui.flags.SetFlagsRuleExtensionsKt.setFlagDefault; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.RUBBER_BAND_FACTOR_NORMAL; @@ -167,11 +165,6 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase { mFeatureFlags.setDefault(Flags.NOTIFICATION_SHELF_REFACTOR); mFeatureFlags.setDefault(Flags.NEW_AOD_TRANSITION); mFeatureFlags.setDefault(Flags.UNCLEARED_TRANSIENT_HUN_FIX); - // Some tests in this file test the FooterView. Since we're refactoring the FooterView - // business logic out of the NSSL, the behavior tested in this file will eventually be - // tested directly in the new FooterView stack. For now, we just want to make sure that the - // old behavior is preserved when the flag is off. - setFlagDefault(mSetFlagsRule, FLAG_NOTIFICATIONS_FOOTER_VIEW_REFACTOR); // Inject dependencies before initializing the layout mDependency.injectTestDependency(FeatureFlags.class, mFeatureFlags); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt index 0a7dc4e05633..60421c981e6d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt @@ -191,13 +191,10 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { testScope.runTest { val isOnLockscreen by collectLastValue(underTest.isOnLockscreen) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - from = KeyguardState.LOCKSCREEN, - to = KeyguardState.GONE, - value = 1f, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.GONE, + testScope, ) assertThat(isOnLockscreen).isFalse() @@ -212,19 +209,17 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { ) assertThat(isOnLockscreen).isTrue() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.LOCKSCREEN, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.GONE, + to = KeyguardState.LOCKSCREEN, + this, ) assertThat(isOnLockscreen).isTrue() - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.PRIMARY_BOUNCER, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.PRIMARY_BOUNCER, + testScope, ) assertThat(isOnLockscreen).isTrue() } @@ -237,11 +232,10 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { // First on AOD shadeRepository.setLockscreenShadeExpansion(0f) shadeRepository.setQsExpansion(0f) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.OCCLUDED, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.OCCLUDED, + testScope, ) assertThat(isOnLockscreenWithoutShade).isFalse() @@ -271,12 +265,13 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { testScope.runTest { val position by collectLastValue(underTest.position) - // Start on lockscreen - showLockscreen() - // When not in split shade overrideResource(R.bool.config_use_split_notification_shade, false) configurationRepository.onAnyConfigurationChange() + runCurrent() + + // Start on lockscreen + showLockscreen() keyguardInteractor.sharedNotificationContainerPosition.value = SharedNotificationContainerPosition(top = 1f, bottom = 2f) @@ -290,12 +285,13 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { testScope.runTest { val position by collectLastValue(underTest.position) - // Start on lockscreen - showLockscreen() - // When in split shade overrideResource(R.bool.config_use_split_notification_shade, true) configurationRepository.onAnyConfigurationChange() + runCurrent() + + // Start on lockscreen + showLockscreen() keyguardInteractor.sharedNotificationContainerPosition.value = SharedNotificationContainerPosition(top = 1f, bottom = 2f) @@ -372,27 +368,25 @@ class SharedNotificationContainerViewModelTest : SysuiTestCase() { assertThat(maxNotifications).isEqualTo(-1) } - private suspend fun showLockscreen() { + private suspend fun TestScope.showLockscreen() { shadeRepository.setLockscreenShadeExpansion(0f) shadeRepository.setQsExpansion(0f) keyguardRepository.setStatusBarState(StatusBarState.KEYGUARD) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.LOCKSCREEN, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.LOCKSCREEN, + this, ) } - private suspend fun showLockscreenWithShadeExpanded() { + private suspend fun TestScope.showLockscreenWithShadeExpanded() { shadeRepository.setLockscreenShadeExpansion(1f) shadeRepository.setQsExpansion(0f) keyguardRepository.setStatusBarState(StatusBarState.SHADE_LOCKED) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - to = KeyguardState.LOCKSCREEN, - transitionState = TransitionState.FINISHED - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.LOCKSCREEN, + this, ) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java index 41eaf858f27a..05fd6d22f961 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java @@ -185,8 +185,6 @@ import com.android.systemui.volume.VolumeComponent; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.startingsurface.StartingSurface; -import dagger.Lazy; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -200,6 +198,8 @@ import java.util.Optional; import javax.inject.Provider; +import dagger.Lazy; + @SmallTest @RunWith(AndroidTestingRunner.class) @RunWithLooper(setAsMainLooper = true) @@ -335,7 +335,6 @@ public class CentralSurfacesImplTest extends SysuiTestCase { mFeatureFlags.set(Flags.WM_ENABLE_PREDICTIVE_BACK_SYSUI, false); // Set default value to avoid IllegalStateException. mFeatureFlags.set(Flags.SHORTCUT_LIST_SEARCH_LAYOUT, false); - mFeatureFlags.setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); // For the Shade to respond to Back gesture, we must enable the event routing mFeatureFlags.set(Flags.WM_SHADE_ALLOW_BACK_GESTURE, true); // For the Shade to animate during the Back gesture, we must enable the animation flag. diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java index 472709cd622e..53cb8a7eb81b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java @@ -43,7 +43,6 @@ import com.android.systemui.biometrics.AuthController; import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeLog; import com.android.systemui.flags.FakeFeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.keyguard.domain.interactor.DozeInteractor; import com.android.systemui.shade.NotificationShadeWindowViewController; @@ -105,7 +104,6 @@ public class DozeServiceHostTest extends SysuiTestCase { @Before public void setup() { MockitoAnnotations.initMocks(this); - mFeatureFlags.setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); mDozeServiceHost = new DozeServiceHost(mDozeLog, mPowerManager, mWakefullnessLifecycle, mStatusBarStateController, mDeviceProvisionedController, mFeatureFlags, mHeadsUpManager, mBatteryController, mScrimController, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java index 529e2c9a8e7e..c1ef1ad9eef9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java @@ -35,7 +35,6 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.flags.FakeFeatureFlagsClassic; -import com.android.systemui.flags.Flags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.shade.ShadeHeadsUpTracker; @@ -90,7 +89,6 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase { @Before public void setUp() throws Exception { allowTestableLooperAsMainThread(); - mFeatureFlags.setDefault(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR); mTestHelper = new NotificationTestHelper( mContext, mDependency, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java index cda2a74609bd..48b95d407246 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java @@ -34,7 +34,7 @@ import androidx.test.filters.SmallTest; import com.android.internal.logging.UiEventLogger; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.res.R; -import com.android.systemui.shade.ShadeExpansionStateManager; +import com.android.systemui.shade.domain.interactor.ShadeInteractor; import com.android.systemui.statusbar.AlertingNotificationManager; import com.android.systemui.statusbar.AlertingNotificationManagerTest; import com.android.systemui.statusbar.NotificationShadeWindowController; @@ -45,6 +45,7 @@ import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManagerLogger; +import com.android.systemui.util.kotlin.JavaAdapter; import org.junit.After; import org.junit.Before; @@ -56,6 +57,8 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; +import kotlinx.coroutines.flow.StateFlowKt; + @SmallTest @RunWith(AndroidTestingRunner.class) @TestableLooper.RunWithLooper @@ -70,8 +73,9 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { @Mock private KeyguardBypassController mBypassController; @Mock private ConfigurationControllerImpl mConfigurationController; @Mock private AccessibilityManagerWrapper mAccessibilityManagerWrapper; - @Mock private ShadeExpansionStateManager mShadeExpansionStateManager; @Mock private UiEventLogger mUiEventLogger; + @Mock private JavaAdapter mJavaAdapter; + @Mock private ShadeInteractor mShadeInteractor; private static final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone { TestableHeadsUpManagerPhone( @@ -85,7 +89,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { Handler handler, AccessibilityManagerWrapper accessibilityManagerWrapper, UiEventLogger uiEventLogger, - ShadeExpansionStateManager shadeExpansionStateManager + JavaAdapter javaAdapter, + ShadeInteractor shadeInteractor ) { super( context, @@ -98,7 +103,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { handler, accessibilityManagerWrapper, uiEventLogger, - shadeExpansionStateManager + javaAdapter, + shadeInteractor ); mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME; mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME; @@ -117,7 +123,8 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { mTestHandler, mAccessibilityManagerWrapper, mUiEventLogger, - mShadeExpansionStateManager + mJavaAdapter, + mShadeInteractor ); } @@ -129,6 +136,7 @@ public class HeadsUpManagerPhoneTest extends AlertingNotificationManagerTest { @Before @Override public void setUp() { + when(mShadeInteractor.isAnyExpanded()).thenReturn(StateFlowKt.MutableStateFlow(false)); final AccessibilityManagerWrapper accessibilityMgr = mDependency.injectMockDependency(AccessibilityManagerWrapper.class); when(accessibilityMgr.getRecommendedTimeoutMillis(anyInt(), anyInt())) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyNotificationIconAreaControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyNotificationIconAreaControllerImplTest.java index 1b8cfd43e6b6..c24d9adf1dbd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyNotificationIconAreaControllerImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LegacyNotificationIconAreaControllerImplTest.java @@ -34,6 +34,7 @@ import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator; import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider; +import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor; import com.android.systemui.statusbar.window.StatusBarWindowController; import com.android.wm.shell.bubbles.Bubbles; @@ -82,6 +83,7 @@ public class LegacyNotificationIconAreaControllerImplTest extends SysuiTestCase @Before public void setup() { MockitoAnnotations.initMocks(this); + mSetFlagsRule.disableFlags(NotificationIconContainerRefactor.FLAG_NAME); mController = new LegacyNotificationIconAreaControllerImpl( mContext, mStatusBarStateController, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt index c282c1ef0cf6..62d8f7fa894d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconContainerTest.kt @@ -31,9 +31,7 @@ import org.junit.runner.RunWith import org.mockito.Mockito.mock import org.mockito.Mockito.`when` as whenever -/** - * Tests for {@link NotificationIconContainer}. - */ +/** Tests for {@link NotificationIconContainer}. */ @SmallTest @RunWith(AndroidTestingRunner::class) @RunWithLooper @@ -43,8 +41,10 @@ class NotificationIconContainerTest : SysuiTestCase() { @Test fun calculateWidthFor_zeroIcons_widthIsZero() { - assertEquals(/* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 0f), - /* actual= */ 0f) + assertEquals( + /* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 0f), + /* actual= */ 0f + ) } @Test @@ -53,8 +53,10 @@ class NotificationIconContainerTest : SysuiTestCase() { iconContainer.setActualPaddingEnd(10f) iconContainer.setIconSize(10) - assertEquals(/* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 1f), - /* actual= */ 30f) + assertEquals( + /* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 1f), + /* actual= */ 30f + ) } @Test @@ -63,8 +65,10 @@ class NotificationIconContainerTest : SysuiTestCase() { iconContainer.setActualPaddingEnd(10f) iconContainer.setIconSize(10) - assertEquals(/* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 4f), - /* actual= */ 60f) + assertEquals( + /* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 4f), + /* actual= */ 60f + ) } @Test @@ -72,8 +76,10 @@ class NotificationIconContainerTest : SysuiTestCase() { iconContainer.setActualPaddingStart(10f) iconContainer.setActualPaddingEnd(10f) iconContainer.setIconSize(10) - assertEquals(/* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 5f), - /* actual= */ 60f) + assertEquals( + /* expected= */ iconContainer.calculateWidthFor(/* numIcons= */ 5f), + /* actual= */ 60f + ) } @Test @@ -206,112 +212,121 @@ class NotificationIconContainerTest : SysuiTestCase() { @Test fun shouldForceOverflow_appearingAboveSpeedBump_true() { - val forceOverflow = iconContainer.shouldForceOverflow( + val forceOverflow = + iconContainer.shouldForceOverflow( /* i= */ 1, /* speedBumpIndex= */ 0, /* iconAppearAmount= */ 1f, /* maxVisibleIcons= */ 5 - ) + ) assertTrue(forceOverflow) } @Test fun shouldForceOverflow_moreThanMaxVisible_true() { - val forceOverflow = iconContainer.shouldForceOverflow( + val forceOverflow = + iconContainer.shouldForceOverflow( /* i= */ 10, /* speedBumpIndex= */ 11, /* iconAppearAmount= */ 0f, /* maxVisibleIcons= */ 5 - ) + ) assertTrue(forceOverflow) } @Test fun shouldForceOverflow_belowSpeedBumpAndLessThanMaxVisible_false() { - val forceOverflow = iconContainer.shouldForceOverflow( + val forceOverflow = + iconContainer.shouldForceOverflow( /* i= */ 0, /* speedBumpIndex= */ 11, /* iconAppearAmount= */ 0f, /* maxVisibleIcons= */ 5 - ) + ) assertFalse(forceOverflow) } @Test fun isOverflowing_lastChildXLessThanLayoutEnd_false() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ true, /* translationX= */ 0f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertFalse(isOverflowing) } - @Test fun isOverflowing_lastChildXEqualToLayoutEnd_true() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ true, /* translationX= */ 10f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertTrue(isOverflowing) } @Test fun isOverflowing_lastChildXGreaterThanDotX_true() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ true, /* translationX= */ 9f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertTrue(isOverflowing) } @Test fun isOverflowing_lastChildXGreaterThanLayoutEnd_true() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ true, /* translationX= */ 20f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertTrue(isOverflowing) } @Test fun isOverflowing_notLastChildXLessThanDotX_false() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ false, /* translationX= */ 0f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertFalse(isOverflowing) } @Test fun isOverflowing_notLastChildXGreaterThanDotX_true() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ false, /* translationX= */ 20f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertTrue(isOverflowing) } @Test fun isOverflowing_notLastChildXEqualToDotX_true() { - val isOverflowing = iconContainer.isOverflowing( + val isOverflowing = + iconContainer.isOverflowing( /* isLastChild= */ false, /* translationX= */ 8f, /* layoutEnd= */ 10f, /* iconSize= */ 2f, - ) + ) assertTrue(isOverflowing) } @@ -327,4 +342,4 @@ class NotificationIconContainerTest : SysuiTestCase() { whenever(iconView.notification).thenReturn(sbn) return iconView } -}
\ No newline at end of file +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt index 71c27dec74d4..da6c28ad9af4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicyTest.kt @@ -317,6 +317,8 @@ class PhoneStatusBarPolicyTest : SysuiTestCase() { suspend fun emit(value: State) = flow.emit(value) override val connectedDisplayState: Flow<State> get() = flow + override val connectedDisplayAddition: Flow<Unit> + get() = TODO("Not yet implemented") override val pendingDisplay: Flow<PendingDisplay?> get() = TODO("Not yet implemented") } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java index 9a77f0c0300d..d1b9b8aae70e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java @@ -24,13 +24,8 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyFloat; -import static org.mockito.ArgumentMatchers.anyLong; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.Fragment; @@ -42,8 +37,6 @@ import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper.RunWithLooper; import android.view.View; -import android.view.ViewPropertyAnimator; -import android.widget.FrameLayout; import androidx.test.filters.SmallTest; @@ -67,10 +60,8 @@ import com.android.systemui.statusbar.disableflags.DisableFlagsLogger; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.notification.icon.ui.viewbinder.StatusBarNotificationIconViewStore; import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerStatusBarViewModel; -import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.HeadsUpAppearanceController; import com.android.systemui.statusbar.phone.NotificationIconAreaController; -import com.android.systemui.statusbar.phone.ScreenOffAnimationController; import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarLocationPublisher; @@ -283,15 +274,15 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { fragment.disable(DEFAULT_DISPLAY, StatusBarManager.DISABLE_NOTIFICATION_ICONS, 0, false); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); fragment.disable(DEFAULT_DISPLAY, 0, 0, false); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); + assertEquals(View.VISIBLE, mNotificationAreaInner.getVisibility()); fragment.disable(DEFAULT_DISPLAY, StatusBarManager.DISABLE_NOTIFICATION_ICONS, 0, false); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); } @Test @@ -323,7 +314,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are hidden assertEquals(View.INVISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.INVISIBLE, getEndSideContentView().getVisibility()); } @@ -339,7 +330,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are shown assertEquals(View.VISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); + assertEquals(View.VISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.VISIBLE, getEndSideContentView().getVisibility()); } @@ -356,7 +347,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are hidden assertEquals(View.INVISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.INVISIBLE, getEndSideContentView().getVisibility()); // WHEN the shade is updated to no longer be open @@ -367,7 +358,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are shown assertEquals(View.VISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); + assertEquals(View.VISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.VISIBLE, getEndSideContentView().getVisibility()); } @@ -381,7 +372,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are shown assertEquals(View.VISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); + assertEquals(View.VISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.VISIBLE, getEndSideContentView().getVisibility()); } @@ -395,7 +386,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are hidden assertEquals(View.GONE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.INVISIBLE, getEndSideContentView().getVisibility()); } @@ -409,7 +400,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are hidden assertEquals(View.GONE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.INVISIBLE, getEndSideContentView().getVisibility()); // WHEN the transition has finished @@ -418,7 +409,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { // THEN all views are shown assertEquals(View.VISIBLE, getClockView().getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.VISIBLE)); + assertEquals(View.VISIBLE, mNotificationAreaInner.getVisibility()); assertEquals(View.VISIBLE, getEndSideContentView().getVisibility()); } @@ -451,7 +442,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { assertEquals(View.VISIBLE, mFragment.getView().findViewById(R.id.ongoing_call_chip).getVisibility()); - verify(mNotificationAreaInner, atLeast(1)).setVisibility(eq(View.INVISIBLE)); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); } @Test @@ -507,6 +498,20 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { } @Test + public void disable_hasOngoingCall_hidesNotifsWithoutAnimation() { + CollapsedStatusBarFragment fragment = resumeAndGetFragment(); + fragment.disable(DEFAULT_DISPLAY, 0, 0, false); + + // Ongoing call started + when(mOngoingCallController.hasOngoingCall()).thenReturn(true); + fragment.disable(DEFAULT_DISPLAY, 0, 0, true); + + // Notification area is hidden without delay + assertEquals(0f, mNotificationAreaInner.getAlpha(), 0.01); + assertEquals(View.INVISIBLE, mNotificationAreaInner.getVisibility()); + } + + @Test public void disable_isDozing_clockAndSystemInfoVisible() { CollapsedStatusBarFragment fragment = resumeAndGetFragment(); when(mStatusBarStateController.isDozing()).thenReturn(true); @@ -713,8 +718,6 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { mock(NotificationIconContainerStatusBarViewModel.class), mock(ConfigurationState.class), mock(ConfigurationController.class), - mock(DozeParameters.class), - mock(ScreenOffAnimationController.class), mock(StatusBarNotificationIconViewStore.class), mock(DemoModeController.class)); } @@ -729,18 +732,7 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { private void setUpNotificationIconAreaController() { mMockNotificationAreaController = mock(NotificationIconAreaController.class); - mNotificationAreaInner = mock(View.class); - - when(mNotificationAreaInner.getLayoutParams()).thenReturn( - new FrameLayout.LayoutParams(100, 100)); - // We should probably start using a real view so that we don't need to mock these methods. - ViewPropertyAnimator viewPropertyAnimator = mock(ViewPropertyAnimator.class); - when(mNotificationAreaInner.animate()).thenReturn(viewPropertyAnimator); - when(viewPropertyAnimator.alpha(anyFloat())).thenReturn(viewPropertyAnimator); - when(viewPropertyAnimator.setDuration(anyLong())).thenReturn(viewPropertyAnimator); - when(viewPropertyAnimator.setInterpolator(any())).thenReturn(viewPropertyAnimator); - when(viewPropertyAnimator.setStartDelay(anyLong())).thenReturn(viewPropertyAnimator); - when(viewPropertyAnimator.withEndAction(any())).thenReturn(viewPropertyAnimator); + mNotificationAreaInner = new View(mContext); when(mMockNotificationAreaController.getNotificationInnerAreaView()).thenReturn( mNotificationAreaInner); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcherTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcherTest.kt index 4d4f33b63f3f..9b6940e14415 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcherTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcherTest.kt @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.telephony.TelephonyManager import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase @@ -249,11 +250,13 @@ class MobileRepositorySwitcherTest : SysuiTestCase() { mock<SubscriptionInfo>().also { whenever(it.subscriptionId).thenReturn(SUB_1_ID) whenever(it.carrierName).thenReturn(SUB_1_NAME) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } private val MODEL_1 = SubscriptionModel( subscriptionId = SUB_1_ID, carrierName = SUB_1_NAME, + profileClass = PROFILE_CLASS_UNSET, ) private const val SUB_2_ID = 2 @@ -262,11 +265,13 @@ class MobileRepositorySwitcherTest : SysuiTestCase() { mock<SubscriptionInfo>().also { whenever(it.subscriptionId).thenReturn(SUB_2_ID) whenever(it.carrierName).thenReturn(SUB_2_NAME) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } private val MODEL_2 = SubscriptionModel( subscriptionId = SUB_2_ID, carrierName = SUB_2_NAME, + profileClass = PROFILE_CLASS_UNSET, ) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/FullMobileConnectionRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/FullMobileConnectionRepositoryTest.kt index 1c21ebe05d84..787a26614909 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/FullMobileConnectionRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/FullMobileConnectionRepositoryTest.kt @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository.prod import android.net.ConnectivityManager import android.telephony.ServiceState import android.telephony.SignalStrength +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.telephony.TelephonyCallback import android.telephony.TelephonyManager import androidx.test.filters.SmallTest @@ -88,6 +89,7 @@ class FullMobileConnectionRepositoryTest : SysuiTestCase() { SubscriptionModel( subscriptionId = SUB_ID, carrierName = DEFAULT_NAME, + profileClass = PROFILE_CLASS_UNSET, ) ) @@ -737,7 +739,7 @@ class FullMobileConnectionRepositoryTest : SysuiTestCase() { private companion object { const val SUB_ID = 42 - private val DEFAULT_NAME = "default name" + private const val DEFAULT_NAME = "default name" private val DEFAULT_NAME_MODEL = NetworkNameModel.Default(DEFAULT_NAME) private const val SEP = "-" private const val BUFFER_SEPARATOR = "|" diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt index ba6426586ebd..a90bd48a5bce 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt @@ -32,13 +32,13 @@ import android.telephony.ServiceState import android.telephony.ServiceState.STATE_IN_SERVICE import android.telephony.ServiceState.STATE_OUT_OF_SERVICE import android.telephony.SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.telephony.TelephonyCallback import android.telephony.TelephonyCallback.DataActivityListener import android.telephony.TelephonyCallback.ServiceStateListener import android.telephony.TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA import android.telephony.TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE import android.telephony.TelephonyManager -import android.telephony.TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED import android.telephony.TelephonyManager.DATA_ACTIVITY_DORMANT import android.telephony.TelephonyManager.DATA_ACTIVITY_IN import android.telephony.TelephonyManager.DATA_ACTIVITY_INOUT @@ -132,6 +132,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { SubscriptionModel( subscriptionId = SUB_1_ID, carrierName = DEFAULT_NAME, + profileClass = PROFILE_CLASS_UNSET, ) ) @@ -677,6 +678,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { SubscriptionModel( subscriptionId = SUB_1_ID, carrierName = DEFAULT_NAME, + profileClass = PROFILE_CLASS_UNSET, ) assertThat(latest?.name).isEqualTo(DEFAULT_NAME) @@ -686,6 +688,7 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { SubscriptionModel( subscriptionId = SUB_1_ID, carrierName = updatedName, + profileClass = PROFILE_CLASS_UNSET, ) assertThat(latest?.name).isEqualTo(updatedName) @@ -980,9 +983,9 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { companion object { private const val SUB_1_ID = 1 - private val DEFAULT_NAME = "Fake Mobile Network" + private const val DEFAULT_NAME = "Fake Mobile Network" private val DEFAULT_NAME_MODEL = NetworkNameModel.Default(DEFAULT_NAME) - private val SEP = "-" + private const val SEP = "-" private const val SPN = "testSpn" private const val PLMN = "testPlmn" diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt index 18ba6c4f5d9f..936c58ecaffb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt @@ -31,6 +31,7 @@ import android.telephony.CarrierConfigManager import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.telephony.TelephonyCallback import android.telephony.TelephonyCallback.ActiveDataSubscriptionIdListener import android.telephony.TelephonyManager @@ -1223,12 +1224,14 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { whenever(it.subscriptionId).thenReturn(SUB_1_ID) whenever(it.groupUuid).thenReturn(GROUP_1) whenever(it.carrierName).thenReturn(SUB_1_NAME) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } private val MODEL_1 = SubscriptionModel( subscriptionId = SUB_1_ID, groupUuid = GROUP_1, carrierName = SUB_1_NAME, + profileClass = PROFILE_CLASS_UNSET, ) // Subscription 2 @@ -1240,12 +1243,14 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { whenever(it.subscriptionId).thenReturn(SUB_2_ID) whenever(it.groupUuid).thenReturn(GROUP_2) whenever(it.carrierName).thenReturn(SUB_2_NAME) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } private val MODEL_2 = SubscriptionModel( subscriptionId = SUB_2_ID, groupUuid = GROUP_2, carrierName = SUB_2_NAME, + profileClass = PROFILE_CLASS_UNSET, ) // Subs 3 and 4 are considered to be in the same group ------------------------------------ @@ -1257,6 +1262,7 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { mock<SubscriptionInfo>().also { whenever(it.subscriptionId).thenReturn(SUB_3_ID_GROUPED) whenever(it.groupUuid).thenReturn(GROUP_ID_3_4) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } // Subscription 4 @@ -1265,6 +1271,7 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { mock<SubscriptionInfo>().also { whenever(it.subscriptionId).thenReturn(SUB_4_ID_GROUPED) whenever(it.groupUuid).thenReturn(GROUP_ID_3_4) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } // Subs 3 and 4 are considered to be in the same group ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1279,9 +1286,14 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { mock<SubscriptionInfo>().also { whenever(it.subscriptionId).thenReturn(SUB_CM_ID) whenever(it.carrierName).thenReturn(SUB_CM_NAME) + whenever(it.profileClass).thenReturn(PROFILE_CLASS_UNSET) } private val MODEL_CM = - SubscriptionModel(subscriptionId = SUB_CM_ID, carrierName = SUB_CM_NAME) + SubscriptionModel( + subscriptionId = SUB_CM_ID, + carrierName = SUB_CM_NAME, + profileClass = PROFILE_CLASS_UNSET, + ) private val WIFI_INFO_CM = mock<WifiInfo>().apply { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt index e2f91194cf40..20d5c5de3ffa 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.pipeline.mobile.domain.interactor import android.telephony.CellSignalStrength +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN import androidx.test.filters.SmallTest import com.android.settingslib.mobile.MobileIconCarrierIdOverrides @@ -65,6 +66,7 @@ class MobileIconInteractorTest : SysuiTestCase() { SubscriptionModel( subscriptionId = SUB_1_ID, carrierName = DEFAULT_NAME, + profileClass = PROFILE_CLASS_UNSET, ) ) @@ -649,9 +651,9 @@ class MobileIconInteractorTest : SysuiTestCase() { private const val SUB_1_ID = 1 - private val DEFAULT_NAME = "test default name" + private const val DEFAULT_NAME = "test default name" private val DEFAULT_NAME_MODEL = NetworkNameModel.Default(DEFAULT_NAME) - private val DERIVED_NAME = "test derived name" + private const val DERIVED_NAME = "test derived name" private val DERIVED_NAME_MODEL = NetworkNameModel.IntentDerived(DERIVED_NAME) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt index b4c7578241e8..2060288c28a4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt @@ -17,10 +17,16 @@ package com.android.systemui.statusbar.pipeline.mobile.domain.interactor import android.os.ParcelUuid +import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID +import android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import androidx.test.filters.SmallTest import com.android.settingslib.mobile.MobileMappings import com.android.systemui.SysuiTestCase +import com.android.systemui.coroutines.collectLastValue +import com.android.systemui.flags.FakeFeatureFlagsClassic +import com.android.systemui.flags.Flags import com.android.systemui.log.table.TableLogBuffer import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionRepository @@ -57,6 +63,10 @@ class MobileIconsInteractorTest : SysuiTestCase() { private lateinit var connectionsRepository: FakeMobileConnectionsRepository private val userSetupRepository = FakeUserSetupRepository() private val mobileMappingsProxy = FakeMobileMappingsProxy() + private val flags = + FakeFeatureFlagsClassic().apply { + set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) + } private val testDispatcher = UnconfinedTestDispatcher() private val testScope = TestScope(testDispatcher) @@ -99,6 +109,7 @@ class MobileIconsInteractorTest : SysuiTestCase() { userSetupRepository, testScope.backgroundScope, context, + flags, ) } @@ -318,6 +329,123 @@ class MobileIconsInteractorTest : SysuiTestCase() { } @Test + fun filteredSubscriptions_doesNotFilterProvisioningWhenFlagIsFalse() = + testScope.runTest { + // GIVEN the flag is false + flags.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, false) + + // GIVEN 1 sub that is in PROFILE_CLASS_PROVISIONING + val sub1 = + SubscriptionModel( + subscriptionId = SUB_1_ID, + isOpportunistic = false, + carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_PROVISIONING, + ) + + connectionsRepository.setSubscriptions(listOf(sub1)) + + // WHEN filtering is applied + val latest by collectLastValue(underTest.filteredSubscriptions) + + // THEN the provisioning sub is still present (unfiltered) + assertThat(latest).isEqualTo(listOf(sub1)) + } + + @Test + fun filteredSubscriptions_filtersOutProvisioningSubs() = + testScope.runTest { + val sub1 = + SubscriptionModel( + subscriptionId = SUB_1_ID, + isOpportunistic = false, + carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_UNSET, + ) + val sub2 = + SubscriptionModel( + subscriptionId = SUB_2_ID, + isOpportunistic = false, + carrierName = "Carrier 2", + profileClass = SubscriptionManager.PROFILE_CLASS_PROVISIONING, + ) + + connectionsRepository.setSubscriptions(listOf(sub1, sub2)) + + val latest by collectLastValue(underTest.filteredSubscriptions) + + assertThat(latest).isEqualTo(listOf(sub1)) + } + + /** Note: I'm not sure if this will ever be the case, but we can test it at least */ + @Test + fun filteredSubscriptions_filtersOutProvisioningSubsBeforeOpportunistic() = + testScope.runTest { + // This is a contrived test case, where the active subId is the one that would + // also be filtered by opportunistic filtering. + + // GIVEN grouped, opportunistic subscriptions + val groupUuid = ParcelUuid(UUID.randomUUID()) + val sub1 = + SubscriptionModel( + subscriptionId = 1, + isOpportunistic = true, + groupUuid = groupUuid, + carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_PROVISIONING, + ) + + val sub2 = + SubscriptionModel( + subscriptionId = 2, + isOpportunistic = true, + groupUuid = groupUuid, + carrierName = "Carrier 2", + profileClass = PROFILE_CLASS_UNSET, + ) + + // GIVEN active subId is 1 + connectionsRepository.setSubscriptions(listOf(sub1, sub2)) + connectionsRepository.setActiveMobileDataSubscriptionId(1) + + // THEN filtering of provisioning subs takes place first, and we result in sub2 + + val latest by collectLastValue(underTest.filteredSubscriptions) + + assertThat(latest).isEqualTo(listOf(sub2)) + } + + @Test + fun filteredSubscriptions_groupedPairAndNonProvisioned_groupedFilteringStillHappens() = + testScope.runTest { + // Grouped filtering only happens when the list of subs is length 2. In this case + // we'll show that filtering of provisioning subs happens before, and thus grouped + // filtering happens even though the unfiltered list is length 3 + val (sub1, sub3) = + createSubscriptionPair( + subscriptionIds = Pair(SUB_1_ID, SUB_3_ID), + opportunistic = Pair(true, true), + grouped = true, + ) + + val sub2 = + SubscriptionModel( + subscriptionId = 2, + isOpportunistic = true, + groupUuid = null, + carrierName = "Carrier 2", + profileClass = PROFILE_CLASS_PROVISIONING, + ) + + connectionsRepository.setSubscriptions(listOf(sub1, sub2, sub3)) + connectionsRepository.setActiveMobileDataSubscriptionId(1) + + val latest by collectLastValue(underTest.filteredSubscriptions) + + assertThat(latest).isEqualTo(listOf(sub1)) + } + + @Test fun activeDataConnection_turnedOn() = testScope.runTest { CONNECTION_1.setDataEnabled(true) @@ -806,7 +934,8 @@ class MobileIconsInteractorTest : SysuiTestCase() { subscriptionId = subscriptionIds.first, isOpportunistic = opportunistic.first, groupUuid = groupUuid, - carrierName = "Carrier ${subscriptionIds.first}" + carrierName = "Carrier ${subscriptionIds.first}", + profileClass = PROFILE_CLASS_UNSET, ) val sub2 = @@ -814,7 +943,8 @@ class MobileIconsInteractorTest : SysuiTestCase() { subscriptionId = subscriptionIds.second, isOpportunistic = opportunistic.second, groupUuid = groupUuid, - carrierName = "Carrier ${opportunistic.second}" + carrierName = "Carrier ${opportunistic.second}", + profileClass = PROFILE_CLASS_UNSET, ) return Pair(sub1, sub2) @@ -824,12 +954,20 @@ class MobileIconsInteractorTest : SysuiTestCase() { private const val SUB_1_ID = 1 private val SUB_1 = - SubscriptionModel(subscriptionId = SUB_1_ID, carrierName = "Carrier $SUB_1_ID") + SubscriptionModel( + subscriptionId = SUB_1_ID, + carrierName = "Carrier $SUB_1_ID", + profileClass = PROFILE_CLASS_UNSET, + ) private val CONNECTION_1 = FakeMobileConnectionRepository(SUB_1_ID, mock()) private const val SUB_2_ID = 2 private val SUB_2 = - SubscriptionModel(subscriptionId = SUB_2_ID, carrierName = "Carrier $SUB_2_ID") + SubscriptionModel( + subscriptionId = SUB_2_ID, + carrierName = "Carrier $SUB_2_ID", + profileClass = PROFILE_CLASS_UNSET, + ) private val CONNECTION_2 = FakeMobileConnectionRepository(SUB_2_ID, mock()) private const val SUB_3_ID = 3 @@ -838,7 +976,8 @@ class MobileIconsInteractorTest : SysuiTestCase() { subscriptionId = SUB_3_ID, isOpportunistic = true, groupUuid = ParcelUuid(UUID.randomUUID()), - carrierName = "Carrier $SUB_3_ID" + carrierName = "Carrier $SUB_3_ID", + profileClass = PROFILE_CLASS_UNSET, ) private val CONNECTION_3 = FakeMobileConnectionRepository(SUB_3_ID, mock()) @@ -848,7 +987,8 @@ class MobileIconsInteractorTest : SysuiTestCase() { subscriptionId = SUB_4_ID, isOpportunistic = true, groupUuid = ParcelUuid(UUID.randomUUID()), - carrierName = "Carrier $SUB_4_ID" + carrierName = "Carrier $SUB_4_ID", + profileClass = PROFILE_CLASS_UNSET, ) private val CONNECTION_4 = FakeMobileConnectionRepository(SUB_4_ID, mock()) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt index 1d5487f31e55..6a69d1fea993 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/LocationBasedMobileIconViewModelTest.kt @@ -70,7 +70,11 @@ class LocationBasedMobileIconViewModelTest : SysuiTestCase() { private lateinit var airplaneModeInteractor: AirplaneModeInteractor private val connectivityRepository = FakeConnectivityRepository() - private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.NEW_NETWORK_SLICE_UI, false) } + private val flags = + FakeFeatureFlagsClassic().also { + it.set(Flags.NEW_NETWORK_SLICE_UI, false) + it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) + } @Mock private lateinit var statusBarPipelineFlags: StatusBarPipelineFlags @Mock private lateinit var constants: ConnectivityConstants @@ -114,6 +118,7 @@ class LocationBasedMobileIconViewModelTest : SysuiTestCase() { FakeUserSetupRepository(), testScope.backgroundScope, context, + flags, ) interactor = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt index c831e62dd709..b39fc5b8fe21 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt @@ -82,7 +82,11 @@ class MobileIconViewModelTest : SysuiTestCase() { @Mock private lateinit var tableLogBuffer: TableLogBuffer @Mock private lateinit var carrierConfigTracker: CarrierConfigTracker - private val flags = FakeFeatureFlagsClassic().also { it.set(Flags.NEW_NETWORK_SLICE_UI, false) } + private val flags = + FakeFeatureFlagsClassic().also { + it.set(Flags.NEW_NETWORK_SLICE_UI, false) + it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) + } private val testDispatcher = UnconfinedTestDispatcher() private val testScope = TestScope(testDispatcher) @@ -120,6 +124,7 @@ class MobileIconViewModelTest : SysuiTestCase() { FakeUserSetupRepository(), testScope.backgroundScope, context, + flags, ) interactor = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt index f3e334ed8a22..f029152da0fc 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModelTest.kt @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel +import android.telephony.SubscriptionManager.PROFILE_CLASS_UNSET import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.settingslib.mobile.TelephonyIcons @@ -102,6 +103,7 @@ class MobileIconsViewModelTest : SysuiTestCase() { subscriptionId = 1, isOpportunistic = false, carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_UNSET, ), ) assertThat(latest).isEqualTo(listOf(1)) @@ -112,16 +114,19 @@ class MobileIconsViewModelTest : SysuiTestCase() { subscriptionId = 2, isOpportunistic = false, carrierName = "Carrier 2", + profileClass = PROFILE_CLASS_UNSET, ), SubscriptionModel( subscriptionId = 5, isOpportunistic = true, carrierName = "Carrier 5", + profileClass = PROFILE_CLASS_UNSET, ), SubscriptionModel( subscriptionId = 7, isOpportunistic = true, carrierName = "Carrier 7", + profileClass = PROFILE_CLASS_UNSET, ), ) assertThat(latest).isEqualTo(listOf(2, 5, 7)) @@ -335,18 +340,21 @@ class MobileIconsViewModelTest : SysuiTestCase() { subscriptionId = 1, isOpportunistic = false, carrierName = "Carrier 1", + profileClass = PROFILE_CLASS_UNSET, ) private val SUB_2 = SubscriptionModel( subscriptionId = 2, isOpportunistic = false, carrierName = "Carrier 2", + profileClass = PROFILE_CLASS_UNSET, ) private val SUB_3 = SubscriptionModel( subscriptionId = 3, isOpportunistic = false, carrierName = "Carrier 3", + profileClass = PROFILE_CLASS_UNSET, ) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModelImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModelImplTest.kt index 842d548c8358..688f739f61f8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModelImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModelImplTest.kt @@ -99,13 +99,10 @@ class CollapsedStatusBarViewModelImplTest : SysuiTestCase() { testScope.runTest { val job = underTest.isTransitioningFromLockscreenToOccluded.launchIn(this) - keyguardTransitionRepository.sendTransitionStep( - TransitionStep( - KeyguardState.LOCKSCREEN, - KeyguardState.OCCLUDED, - value = 0f, - TransitionState.FINISHED, - ) + keyguardTransitionRepository.sendTransitionSteps( + from = KeyguardState.LOCKSCREEN, + to = KeyguardState.OCCLUDED, + this.testScheduler, ) assertThat(underTest.isTransitioningFromLockscreenToOccluded.value).isFalse() @@ -312,7 +309,10 @@ class CollapsedStatusBarViewModelImplTest : SysuiTestCase() { KeyguardState.DREAMING, value = 1.0f, TransitionState.FINISHED, - ) + ), + // We're intentionally not sending STARTED to validate that FINISHED steps are + // ignored. + validateStep = false, ) assertThat(emissions).isEmpty() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt index c935dbb0ca1c..8405fb43e16a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/InternetTileViewModelTest.kt @@ -22,6 +22,8 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription import com.android.systemui.common.shared.model.Text import com.android.systemui.coroutines.collectLastValue +import com.android.systemui.flags.FakeFeatureFlagsClassic +import com.android.systemui.flags.Flags import com.android.systemui.log.table.TableLogBuffer import com.android.systemui.qs.tileimpl.QSTileImpl.ResourceIcon import com.android.systemui.res.R @@ -75,6 +77,11 @@ class InternetTileViewModelTest : SysuiTestCase() { private val mobileConnectionRepository = FakeMobileConnectionRepository(SUB_1_ID, tableLogBuffer) + private val flags = + FakeFeatureFlagsClassic().also { + it.set(Flags.FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS, true) + } + private val internet = context.getString(R.string.quick_settings_internet_label) @Before @@ -101,6 +108,7 @@ class InternetTileViewModelTest : SysuiTestCase() { userSetupRepo, testScope.backgroundScope, context, + flags, ) underTest = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/VariableDateViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/VariableDateViewControllerTest.kt index b78e83990411..63de0685ea96 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/VariableDateViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/VariableDateViewControllerTest.kt @@ -23,26 +23,27 @@ import android.view.View import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.broadcast.BroadcastDispatcher -import com.android.systemui.shade.ShadeExpansionStateManager +import com.android.systemui.shade.domain.interactor.ShadeInteractor import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.capture import com.android.systemui.util.mockito.mock import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.flow.MutableStateFlow 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.`when` import org.mockito.Mockito.anyString import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations import java.util.Date @RunWith(AndroidTestingRunner::class) -@TestableLooper.RunWithLooper +@TestableLooper.RunWithLooper(setAsMainLooper = true) @SmallTest class VariableDateViewControllerTest : SysuiTestCase() { @@ -57,12 +58,15 @@ class VariableDateViewControllerTest : SysuiTestCase() { private lateinit var broadcastDispatcher: BroadcastDispatcher @Mock private lateinit var view: VariableDateView + @Mock + private lateinit var shadeInteractor: ShadeInteractor @Captor private lateinit var onMeasureListenerCaptor: ArgumentCaptor<VariableDateView.OnMeasureListener> + private val qsExpansion = MutableStateFlow(0F) + private var lastText: String? = null - private lateinit var shadeExpansionStateManager: ShadeExpansionStateManager private lateinit var systemClock: FakeSystemClock private lateinit var testableLooper: TestableLooper private lateinit var testableHandler: Handler @@ -80,7 +84,7 @@ class VariableDateViewControllerTest : SysuiTestCase() { systemClock = FakeSystemClock() systemClock.setCurrentTimeMillis(TIME_STAMP) - shadeExpansionStateManager = ShadeExpansionStateManager() + `when`(shadeInteractor.qsExpansion).thenReturn(qsExpansion) `when`(view.longerPattern).thenReturn(LONG_PATTERN) `when`(view.shorterPattern).thenReturn(SHORT_PATTERN) @@ -91,6 +95,7 @@ class VariableDateViewControllerTest : SysuiTestCase() { Unit } `when`(view.isAttachedToWindow).thenReturn(true) + `when`(view.viewTreeObserver).thenReturn(mock()) val date = Date(TIME_STAMP) longText = getTextForFormat(date, getFormatFromPattern(LONG_PATTERN)) @@ -103,12 +108,12 @@ class VariableDateViewControllerTest : SysuiTestCase() { } controller = VariableDateViewController( - systemClock, - broadcastDispatcher, - shadeExpansionStateManager, - mock(), - testableHandler, - view + systemClock, + broadcastDispatcher, + shadeInteractor, + mock(), + testableHandler, + view ) controller.init() @@ -180,7 +185,7 @@ class VariableDateViewControllerTest : SysuiTestCase() { @Test fun testQsExpansionTrue_ignoreAtMostMeasureRequests() { - shadeExpansionStateManager.onQsExpansionFractionChanged(0f) + qsExpansion.value = 0f onMeasureListenerCaptor.value.onMeasureAction( getTextLength(shortText).toInt(), @@ -195,7 +200,7 @@ class VariableDateViewControllerTest : SysuiTestCase() { @Test fun testQsExpansionFalse_acceptAtMostMeasureRequests() { - shadeExpansionStateManager.onQsExpansionFractionChanged(1f) + qsExpansion.value = 1f onMeasureListenerCaptor.value.onMeasureAction( getTextLength(shortText).toInt(), diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java index c4c7472ba39c..7456e00e948d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java @@ -26,6 +26,8 @@ import static com.android.systemui.volume.Events.SHOW_REASON_UNKNOWN; import static com.android.systemui.volume.VolumeDialogControllerImpl.STREAMS; import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNotNull; import static junit.framework.Assert.assertNotSame; import static junit.framework.Assert.assertTrue; @@ -40,6 +42,9 @@ import static org.mockito.Mockito.when; import android.app.KeyguardManager; import android.content.res.Configuration; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.os.SystemClock; import android.provider.Settings; @@ -52,6 +57,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; +import android.widget.ImageButton; import androidx.test.core.view.MotionEventBuilder; import androidx.test.filters.SmallTest; @@ -90,6 +96,7 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import java.util.Arrays; import java.util.function.Predicate; @SmallTest @@ -757,6 +764,86 @@ public class VolumeDialogImplTest extends SysuiTestCase { foundCaptionLog); } + @Test + public void turnOnDnD_volumeSliderIconChangesToDnd() { + State state = createShellState(); + state.zenMode = Settings.Global.ZEN_MODE_NO_INTERRUPTIONS; + + mDialog.onStateChangedH(state); + mTestableLooper.processAllMessages(); + + boolean foundDnDIcon = findDndIconAmongVolumeRows(); + assertTrue(foundDnDIcon); + } + + @Test + public void turnOffDnD_volumeSliderIconIsNotDnd() { + State state = createShellState(); + state.zenMode = Settings.Global.ZEN_MODE_OFF; + + mDialog.onStateChangedH(state); + mTestableLooper.processAllMessages(); + + boolean foundDnDIcon = findDndIconAmongVolumeRows(); + assertFalse(foundDnDIcon); + } + + /** + * @return true if at least one volume row has the DND icon + */ + private boolean findDndIconAmongVolumeRows() { + ViewGroup volumeDialogRows = mDialog.getDialogView().findViewById(R.id.volume_dialog_rows); + assumeNotNull(volumeDialogRows); + Drawable expected = getContext().getDrawable(com.android.internal.R.drawable.ic_qs_dnd); + boolean foundDnDIcon = false; + final int rowCount = volumeDialogRows.getChildCount(); + // we don't make assumptions about the position of the dnd row + for (int i = 0; i < rowCount && !foundDnDIcon; i++) { + View volumeRow = volumeDialogRows.getChildAt(i); + ImageButton rowIcon = volumeRow.findViewById(R.id.volume_row_icon); + assertNotNull(rowIcon); + + // VolumeDialogImpl changes tint and alpha in a private method, so we clear those here. + rowIcon.setImageTintList(null); + rowIcon.setAlpha(0xFF); + + Drawable actual = rowIcon.getDrawable(); + foundDnDIcon |= areDrawablesEqual(expected, actual); + } + return foundDnDIcon; + } + + private boolean areDrawablesEqual(Drawable drawable1, Drawable drawable2) { + int size = 100; + Bitmap bm1 = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); + Bitmap bm2 = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); + + Canvas canvas1 = new Canvas(bm1); + Canvas canvas2 = new Canvas(bm2); + + drawable1.setBounds(0, 0, size, size); + drawable2.setBounds(0, 0, size, size); + + drawable1.draw(canvas1); + drawable2.draw(canvas2); + + boolean areBitmapsEqual = areBitmapsEqual(bm1, bm2); + bm1.recycle(); + bm2.recycle(); + return areBitmapsEqual; + } + + private boolean areBitmapsEqual(Bitmap a, Bitmap b) { + if (a.getWidth() != b.getWidth() || a.getHeight() != b.getHeight()) return false; + int w = a.getWidth(); + int h = a.getHeight(); + int[] aPix = new int[w * h]; + int[] bPix = new int[w * h]; + a.getPixels(aPix, 0, w, 0, 0, w, h); + b.getPixels(bPix, 0, w, 0, 0, w, h); + return Arrays.equals(aPix, bPix); + } + @After public void teardown() { // Detailed logs to track down timeout issues in b/299491332 diff --git a/packages/SystemUI/tests/utils/src/android/hardware/display/FakeAmbientDisplayConfiguration.kt b/packages/SystemUI/tests/utils/src/android/hardware/display/FakeAmbientDisplayConfiguration.kt new file mode 100644 index 000000000000..cdd0ff7c38f7 --- /dev/null +++ b/packages/SystemUI/tests/utils/src/android/hardware/display/FakeAmbientDisplayConfiguration.kt @@ -0,0 +1,68 @@ +package android.hardware.display + +import android.content.Context + +class FakeAmbientDisplayConfiguration(context: Context) : AmbientDisplayConfiguration(context) { + var fakePulseOnNotificationEnabled = true + + override fun pulseOnNotificationEnabled(user: Int) = fakePulseOnNotificationEnabled + + override fun pulseOnNotificationAvailable() = TODO("Not yet implemented") + + override fun pickupGestureEnabled(user: Int) = TODO("Not yet implemented") + + override fun dozePickupSensorAvailable() = TODO("Not yet implemented") + + override fun tapGestureEnabled(user: Int) = TODO("Not yet implemented") + + override fun tapSensorAvailable() = TODO("Not yet implemented") + + override fun doubleTapGestureEnabled(user: Int) = TODO("Not yet implemented") + + override fun doubleTapSensorAvailable() = TODO("Not yet implemented") + + override fun quickPickupSensorEnabled(user: Int) = TODO("Not yet implemented") + + override fun screenOffUdfpsEnabled(user: Int) = TODO("Not yet implemented") + + override fun wakeScreenGestureAvailable() = TODO("Not yet implemented") + + override fun wakeLockScreenGestureEnabled(user: Int) = TODO("Not yet implemented") + + override fun wakeDisplayGestureEnabled(user: Int) = TODO("Not yet implemented") + + override fun getWakeLockScreenDebounce() = TODO("Not yet implemented") + + override fun doubleTapSensorType() = TODO("Not yet implemented") + + override fun tapSensorTypeMapping() = TODO("Not yet implemented") + + override fun longPressSensorType() = TODO("Not yet implemented") + + override fun udfpsLongPressSensorType() = TODO("Not yet implemented") + + override fun quickPickupSensorType() = TODO("Not yet implemented") + + override fun pulseOnLongPressEnabled(user: Int) = TODO("Not yet implemented") + + override fun alwaysOnEnabled(user: Int) = TODO("Not yet implemented") + + override fun alwaysOnAvailable() = TODO("Not yet implemented") + + override fun alwaysOnAvailableForUser(user: Int) = TODO("Not yet implemented") + + override fun ambientDisplayComponent() = TODO("Not yet implemented") + + override fun accessibilityInversionEnabled(user: Int) = TODO("Not yet implemented") + + override fun ambientDisplayAvailable() = TODO("Not yet implemented") + + override fun dozeSuppressed(user: Int) = TODO("Not yet implemented") + + override fun disableDozeSettings(userId: Int) = TODO("Not yet implemented") + + override fun disableDozeSettings(shouldDisableNonUserConfigurable: Boolean, userId: Int) = + TODO("Not yet implemented") + + override fun restoreDozeSettings(userId: Int) = TODO("Not yet implemented") +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java b/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java index 6ef812be0350..29e737eac99b 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestCase.java @@ -15,9 +15,8 @@ */ package com.android.systemui; -import static com.android.systemui.Flags.FLAG_EXAMPLE_FLAG; +import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -38,11 +37,7 @@ import androidx.core.animation.AndroidXAnimatorIsolationRule; import androidx.test.InstrumentationRegistry; import androidx.test.uiautomator.UiDevice; -import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.FakeBroadcastDispatcher; -import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger; -import com.android.systemui.dump.DumpManager; -import com.android.systemui.settings.UserTracker; import org.junit.After; import org.junit.AfterClass; @@ -53,7 +48,6 @@ import org.mockito.Mockito; import java.io.FileInputStream; import java.io.IOException; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; import java.util.concurrent.Future; /** @@ -71,7 +65,7 @@ public abstract class SysuiTestCase { new AndroidXAnimatorIsolationRule(); @Rule - public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT); @Rule public SysuiTestableContext mContext = new SysuiTestableContext( @@ -86,7 +80,7 @@ public abstract class SysuiTestCase { public TestableDependency mDependency; private Instrumentation mRealInstrumentation; - private FakeBroadcastDispatcher mFakeBroadcastDispatcher; + private SysuiTestDependency mSysuiDependency; @Before public void SysuiSetup() throws Exception { @@ -94,21 +88,8 @@ public abstract class SysuiTestCase { if (isRobolectricTest()) { mContext = mContext.createDefaultDisplayContext(); } - // Set the value of a single gantry flag inside the com.android.systemui package to - // ensure all flags in that package are faked (and thus require a value to be set). - mSetFlagsRule.disableFlags(FLAG_EXAMPLE_FLAG); - - mDependency = SysuiTestDependencyKt.installSysuiTestDependency(mContext); - mFakeBroadcastDispatcher = new FakeBroadcastDispatcher( - mContext, - mContext.getMainExecutor(), - mock(Looper.class), - mock(Executor.class), - mock(DumpManager.class), - mock(BroadcastDispatcherLogger.class), - mock(UserTracker.class), - shouldFailOnLeakedReceiver()); - + mSysuiDependency = new SysuiTestDependency(mContext, shouldFailOnLeakedReceiver()); + mDependency = mSysuiDependency.install(); mRealInstrumentation = InstrumentationRegistry.getInstrumentation(); Instrumentation inst = spy(mRealInstrumentation); when(inst.getContext()).thenAnswer(invocation -> { @@ -120,11 +101,6 @@ public abstract class SysuiTestCase { "SysUI Tests should use SysuiTestCase#getContext or SysuiTestCase#mContext"); }); InstrumentationRegistry.registerInstance(inst, InstrumentationRegistry.getArguments()); - // Many tests end up creating a BroadcastDispatcher. Instead, give them a fake that will - // record receivers registered. They are not actually leaked as they are kept just as a weak - // reference and are never sent to the Context. This will also prevent a real - // BroadcastDispatcher from actually registering receivers. - mDependency.injectTestDependency(BroadcastDispatcher.class, mFakeBroadcastDispatcher); } protected boolean shouldFailOnLeakedReceiver() { @@ -144,8 +120,9 @@ public abstract class SysuiTestCase { } disallowTestableLooperAsMainThread(); mContext.cleanUpReceivers(this.getClass().getSimpleName()); - if (mFakeBroadcastDispatcher != null) { - mFakeBroadcastDispatcher.cleanUpReceivers(this.getClass().getSimpleName()); + FakeBroadcastDispatcher dispatcher = getFakeBroadcastDispatcher(); + if (dispatcher != null) { + dispatcher.cleanUpReceivers(this.getClass().getSimpleName()); } } @@ -172,7 +149,7 @@ public abstract class SysuiTestCase { } public FakeBroadcastDispatcher getFakeBroadcastDispatcher() { - return mFakeBroadcastDispatcher; + return mSysuiDependency.getFakeBroadcastDispatcher(); } public SysuiTestableContext getContext() { diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestDependency.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestDependency.kt index c791f4f70920..d89d7b00592e 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestDependency.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/SysuiTestDependency.kt @@ -1,26 +1,60 @@ package com.android.systemui import android.annotation.SuppressLint -import android.content.Context +import android.os.Looper import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.animation.DialogLaunchAnimator import com.android.systemui.animation.fakeDialogLaunchAnimator +import com.android.systemui.broadcast.BroadcastDispatcher +import com.android.systemui.broadcast.FakeBroadcastDispatcher +import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger +import com.android.systemui.dump.DumpManager +import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.phone.SystemUIDialogManager +import java.util.concurrent.Executor +import org.mockito.Mockito.mock -@SuppressLint("VisibleForTests") -fun installSysuiTestDependency(context: Context): TestableDependency { - val initializer: SystemUIInitializer = SystemUIInitializerImpl(context) - initializer.init(true) +class SysuiTestDependency( + val context: SysuiTestableContext, + private val shouldFailOnLeakedReceiver: Boolean +) { + var fakeBroadcastDispatcher: FakeBroadcastDispatcher? = null - val dependency = TestableDependency(initializer.sysUIComponent.createDependency()) - Dependency.setInstance(dependency) + @SuppressLint("VisibleForTests") + fun install(): TestableDependency { + val initializer: SystemUIInitializer = SystemUIInitializerImpl(context) + initializer.init(true) - dependency.injectMockDependency(KeyguardUpdateMonitor::class.java) + val dependency = TestableDependency(initializer.sysUIComponent.createDependency()) + Dependency.setInstance(dependency) - // Make sure that all tests on any SystemUIDialog does not crash because this dependency - // is missing (constructing the actual one would throw). - // TODO(b/219008720): Remove this. - dependency.injectMockDependency(SystemUIDialogManager::class.java) - dependency.injectTestDependency(DialogLaunchAnimator::class.java, fakeDialogLaunchAnimator()) - return dependency + dependency.injectMockDependency(KeyguardUpdateMonitor::class.java) + + // Make sure that all tests on any SystemUIDialog does not crash because this dependency + // is missing (constructing the actual one would throw). + // TODO(b/219008720): Remove this. + dependency.injectMockDependency(SystemUIDialogManager::class.java) + dependency.injectTestDependency( + DialogLaunchAnimator::class.java, + fakeDialogLaunchAnimator() + ) + + // Many tests end up creating a BroadcastDispatcher. Instead, give them a fake that will + // record receivers registered. They are not actually leaked as they are kept just as a weak + // reference and are never sent to the Context. This will also prevent a real + // BroadcastDispatcher from actually registering receivers. + fakeBroadcastDispatcher = + FakeBroadcastDispatcher( + context, + context.mainExecutor, + mock(Looper::class.java), + mock(Executor::class.java), + mock(DumpManager::class.java), + mock(BroadcastDispatcherLogger::class.java), + mock(UserTracker::class.java), + shouldFailOnLeakedReceiver + ) + dependency.injectTestDependency(BroadcastDispatcher::class.java, fakeBroadcastDispatcher) + return dependency + } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt index 5fd0b4f61b43..d8098b7ffab3 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/display/data/repository/FakeDisplayRepository.kt @@ -47,6 +47,10 @@ class FakeDisplayRepository : DisplayRepository { private val flow = MutableSharedFlow<Set<Display>>(replay = 1) private val pendingDisplayFlow = MutableSharedFlow<DisplayRepository.PendingDisplay?>(replay = 1) + private val displayAdditionEventFlow = MutableSharedFlow<Display?>(replay = 1) + + /** Emits [value] as [displayAdditionEvent] flow value. */ + suspend fun emit(value: Display?) = displayAdditionEventFlow.emit(value) /** Emits [value] as [displays] flow value. */ suspend fun emit(value: Set<Display>) = flow.emit(value) @@ -60,6 +64,9 @@ class FakeDisplayRepository : DisplayRepository { override val pendingDisplay: Flow<DisplayRepository.PendingDisplay?> get() = pendingDisplayFlow + override val displayAdditionEvent: Flow<Display?> + get() = displayAdditionEventFlow + private val _displayChangeEvent = MutableSharedFlow<Int>(replay = 1) override val displayChangeEvent: Flow<Int> = _displayChangeEvent suspend fun emitDisplayChangeEvent(displayId: Int) = _displayChangeEvent.emit(displayId) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/FakeKeyguardTransitionRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/FakeKeyguardTransitionRepository.kt index 71e2bc1339a6..b90ad8cd8745 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/FakeKeyguardTransitionRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/repository/FakeKeyguardTransitionRepository.kt @@ -19,6 +19,7 @@ package com.android.systemui.keyguard.data.repository import android.annotation.FloatRange import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.TransitionInfo import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep @@ -26,9 +27,13 @@ import dagger.Binds import dagger.Module import java.util.UUID import javax.inject.Inject +import junit.framework.Assert.fail import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.test.TestCoroutineScheduler +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent /** Fake implementation of [KeyguardTransitionRepository] */ @SysUISingleton @@ -38,7 +43,111 @@ class FakeKeyguardTransitionRepository @Inject constructor() : KeyguardTransitio MutableSharedFlow<TransitionStep>(replay = 1, onBufferOverflow = BufferOverflow.DROP_OLDEST) override val transitions: SharedFlow<TransitionStep> = _transitions - suspend fun sendTransitionStep(step: TransitionStep) { + init { + _transitions.tryEmit( + TransitionStep( + transitionState = TransitionState.STARTED, + from = KeyguardState.OFF, + to = KeyguardState.LOCKSCREEN, + ) + ) + + _transitions.tryEmit( + TransitionStep( + transitionState = TransitionState.FINISHED, + from = KeyguardState.OFF, + to = KeyguardState.LOCKSCREEN, + ) + ) + } + + /** + * Sends STARTED, RUNNING, and FINISHED TransitionSteps between [from] and [to], calling + * [runCurrent] after each step. + */ + suspend fun sendTransitionSteps( + from: KeyguardState, + to: KeyguardState, + testScope: TestScope, + ) { + sendTransitionSteps(from, to, testScope.testScheduler) + } + + /** + * Sends STARTED, RUNNING, and FINISHED TransitionSteps between [from] and [to], calling + * [runCurrent] after each step. + */ + suspend fun sendTransitionSteps( + from: KeyguardState, + to: KeyguardState, + testScheduler: TestCoroutineScheduler, + ) { + sendTransitionStep( + TransitionStep( + transitionState = TransitionState.STARTED, + from = from, + to = to, + value = 0f, + ) + ) + testScheduler.runCurrent() + + sendTransitionStep( + TransitionStep( + transitionState = TransitionState.RUNNING, + from = from, + to = to, + value = 0.5f + ) + ) + testScheduler.runCurrent() + + sendTransitionStep( + TransitionStep( + transitionState = TransitionState.FINISHED, + from = from, + to = to, + value = 1f, + ) + ) + testScheduler.runCurrent() + } + + /** + * Directly emits the provided TransitionStep, which can be useful in tests for testing behavior + * during specific phases of a transition (such as asserting values while a transition has + * STARTED but not FINISHED). + * + * WARNING: You can get the transition repository into undefined states using this method - for + * example, you could send a FINISHED step to LOCKSCREEN having never sent a STARTED step. This + * can get flows that combine startedStep/finishedStep into a bad state. + * + * If you are just trying to get the transition repository FINISHED in a certain state, use + * [sendTransitionSteps] - this will send STARTED, RUNNING, and FINISHED steps for you which + * ensures that [KeyguardTransitionInteractor] flows will be in the correct state. + * + * If you're testing something involving transitions themselves and are sure you want to send + * only a FINISHED step, override [validateStep]. + */ + suspend fun sendTransitionStep(step: TransitionStep, validateStep: Boolean = true) { + _transitions.replayCache.getOrNull(0)?.let { lastStep -> + if ( + validateStep && + step.transitionState == TransitionState.FINISHED && + !(lastStep.transitionState == TransitionState.STARTED || + lastStep.transitionState == TransitionState.RUNNING) + ) { + fail( + "Attempted to send a FINISHED TransitionStep without a prior " + + "STARTED/RUNNING step. This leaves the FakeKeyguardTransitionRepository " + + "in an undefined state and should not be done. Pass " + + "allowInvalidStep=true to sendTransitionStep if you are trying to test " + + "this specific and" + + "incorrect state." + ) + } + } + _transitions.emit(step) } diff --git a/services/core/java/com/android/server/power/stats/CpuAggregatedPowerStats.java b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/FakeQSTileConfigProvider.kt index fbf692800e52..de72a7dc30d7 100644 --- a/services/core/java/com/android/server/power/stats/CpuAggregatedPowerStats.java +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/FakeQSTileConfigProvider.kt @@ -14,10 +14,19 @@ * limitations under the License. */ -package com.android.server.power.stats; +package com.android.systemui.qs.tiles.viewmodel -class CpuAggregatedPowerStats extends PowerComponentAggregatedPowerStats { - CpuAggregatedPowerStats(AggregatedPowerStatsConfig.PowerComponent config) { - super(config); +import com.android.systemui.qs.pipeline.shared.TileSpec + +class FakeQSTileConfigProvider : QSTileConfigProvider { + + private val configs: MutableMap<String, QSTileConfig> = mutableMapOf() + + override fun getConfig(tileSpec: String): QSTileConfig = configs.getValue(tileSpec) + + fun putConfig(tileSpec: TileSpec, config: QSTileConfig) { + configs[tileSpec.spec] = config } + + fun removeConfig(tileSpec: TileSpec): QSTileConfig? = configs.remove(tileSpec.spec) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt index 201926df5a5c..2a0ee888db35 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/viewmodel/QSTileConfigTestBuilder.kt @@ -16,10 +16,7 @@ package com.android.systemui.qs.tiles.viewmodel -import androidx.annotation.StringRes import com.android.internal.logging.InstanceId -import com.android.systemui.common.shared.model.ContentDescription -import com.android.systemui.common.shared.model.Icon import com.android.systemui.qs.pipeline.shared.TileSpec object QSTileConfigTestBuilder { @@ -29,8 +26,7 @@ object QSTileConfigTestBuilder { class BuildingScope { var tileSpec: TileSpec = TileSpec.create("test_spec") - var tileIcon: Icon = Icon.Resource(0, ContentDescription.Resource(0)) - @StringRes var tileLabel: Int = 0 + var uiConfig: QSTileUIConfig = QSTileUIConfig.Empty var instanceId: InstanceId = InstanceId.fakeInstanceId(0) var metricsSpec: String = tileSpec.spec var policy: QSTilePolicy = QSTilePolicy.NoRestrictions @@ -38,8 +34,7 @@ object QSTileConfigTestBuilder { fun build() = QSTileConfig( tileSpec, - tileIcon, - tileLabel, + uiConfig, instanceId, metricsSpec, policy, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/FakeStatusBarStateController.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/FakeStatusBarStateController.kt new file mode 100644 index 000000000000..19fdb6ddad02 --- /dev/null +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/FakeStatusBarStateController.kt @@ -0,0 +1,159 @@ +package com.android.systemui.statusbar + +import android.view.View +import com.android.systemui.plugins.statusbar.StatusBarStateController + +class FakeStatusBarStateController : SysuiStatusBarStateController { + @JvmField var state = StatusBarState.SHADE + + @JvmField var upcomingState = StatusBarState.SHADE + + @JvmField var lastState = StatusBarState.SHADE + + @JvmField var dozing = false + + @JvmField var expanded = false + + @JvmField var pulsing = false + + @JvmField var dreaming = false + + @JvmField var dozeAmount = 0.0f + + @JvmField var interpolatedDozeAmount = 0.0f + + @JvmField var dozeAmountTarget = 0.0f + + @JvmField var leaveOpen = false + + @JvmField var keyguardRequested = false + + var lastSetDozeAmountView: View? = null + private set + + var lastSetDozeAmountAnimated = false + private set + + var lastSystemBarAppearance = 0 + private set + + var lastSystemBarBehavior = 0 + private set + + var lastSystemBarRequestedVisibleTypes = 0 + private set + + var lastSystemBarPackageName: String? = null + private set + + private val _callbacks = mutableSetOf<StatusBarStateController.StateListener>() + + @JvmField val callbacks: Set<StatusBarStateController.StateListener> = _callbacks + + private var fullscreen = false + + override fun start() {} + + override fun getState() = state + + override fun setState(newState: Int, force: Boolean): Boolean { + val oldState = this.state + newState != oldState || force || return false + + callbacks.forEach { it.onStatePreChange(oldState, newState) } + this.lastState = oldState + this.state = newState + setUpcomingState(newState) + callbacks.forEach { it.onStateChanged(newState) } + callbacks.forEach { it.onStatePostChange() } + return true + } + + override fun getCurrentOrUpcomingState() = upcomingState + + override fun setUpcomingState(upcomingState: Int) { + upcomingState != this.upcomingState || return + this.upcomingState = upcomingState + callbacks.forEach { it.onUpcomingStateChanged(upcomingState) } + } + + override fun isDozing() = dozing + + override fun setIsDozing(dozing: Boolean): Boolean { + dozing != this.dozing || return false + this.dozing = dozing + callbacks.forEach { it.onDozingChanged(dozing) } + return true + } + + override fun isExpanded() = expanded + + fun fakeShadeExpansionFullyChanged(expanded: Boolean) { + expanded != this.expanded || return + this.expanded = expanded + callbacks.forEach { it.onExpandedChanged(expanded) } + } + + override fun isPulsing() = pulsing + + override fun setPulsing(pulsing: Boolean) { + pulsing != this.pulsing || return + this.pulsing = pulsing + callbacks.forEach { it.onPulsingChanged(pulsing) } + } + + override fun isDreaming() = dreaming + + override fun setIsDreaming(drreaming: Boolean): Boolean { + dreaming != this.dreaming || return false + this.dreaming = dreaming + callbacks.forEach { it.onDreamingChanged(dreaming) } + return true + } + + override fun getDozeAmount() = dozeAmount + + override fun setAndInstrumentDozeAmount(view: View?, dozeAmount: Float, animated: Boolean) { + dozeAmountTarget = dozeAmount + lastSetDozeAmountView = view + lastSetDozeAmountAnimated = animated + if (!animated) { + this.dozeAmount = dozeAmount + } + } + + override fun leaveOpenOnKeyguardHide() = leaveOpen + + override fun setLeaveOpenOnKeyguardHide(leaveOpen: Boolean) { + this.leaveOpen = leaveOpen + } + + override fun getInterpolatedDozeAmount() = interpolatedDozeAmount + + fun fakeInterpolatedDozeAmountChanged(interpolatedDozeAmount: Float) { + this.interpolatedDozeAmount = interpolatedDozeAmount + callbacks.forEach { it.onDozeAmountChanged(dozeAmount, interpolatedDozeAmount) } + } + + override fun goingToFullShade() = state == StatusBarState.SHADE && leaveOpen + + override fun fromShadeLocked() = lastState == StatusBarState.SHADE_LOCKED + + override fun isKeyguardRequested(): Boolean = keyguardRequested + + override fun setKeyguardRequested(keyguardRequested: Boolean) { + this.keyguardRequested = keyguardRequested + } + + override fun addCallback(listener: StatusBarStateController.StateListener?) { + _callbacks.add(listener!!) + } + + override fun addCallback(listener: StatusBarStateController.StateListener?, rank: Int) { + throw RuntimeException("addCallback with rank unsupported") + } + + override fun removeCallback(listener: StatusBarStateController.StateListener?) { + _callbacks.remove(listener!!) + } +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeBatteryController.java b/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeBatteryController.java index eaa109d672f8..209cac6688a2 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeBatteryController.java +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeBatteryController.java @@ -25,6 +25,7 @@ import java.io.PrintWriter; public class FakeBatteryController extends BaseLeakChecker<BatteryStateChangeCallback> implements BatteryController { + private boolean mIsAodPowerSave = false; private boolean mWirelessCharging; public FakeBatteryController(LeakCheck test) { @@ -63,7 +64,7 @@ public class FakeBatteryController extends BaseLeakChecker<BatteryStateChangeCal @Override public boolean isAodPowerSave() { - return false; + return mIsAodPowerSave; } @Override @@ -71,6 +72,10 @@ public class FakeBatteryController extends BaseLeakChecker<BatteryStateChangeCal return mWirelessCharging; } + public void setIsAodPowerSave(boolean isAodPowerSave) { + mIsAodPowerSave = isAodPowerSave; + } + public void setWirelessCharging(boolean wirelessCharging) { mWirelessCharging = wirelessCharging; } diff --git a/rs/java/android/renderscript/ScriptC.java b/rs/java/android/renderscript/ScriptC.java index 1866a9983495..67c2caa338a6 100644 --- a/rs/java/android/renderscript/ScriptC.java +++ b/rs/java/android/renderscript/ScriptC.java @@ -16,9 +16,12 @@ package android.renderscript; +import android.app.compat.CompatChanges; +import android.compat.annotation.ChangeId; +import android.compat.annotation.EnabledAfter; import android.content.res.Resources; +import android.util.Slog; -import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -35,6 +38,15 @@ public class ScriptC extends Script { private static final String TAG = "ScriptC"; /** + * In targetSdkVersion 35 and above, Renderscript's ScriptC stops being supported + * and an exception is thrown when the class is instantiated. + * In targetSdkVersion 34 and below, Renderscript's ScriptC still works. + */ + @ChangeId + @EnabledAfter(targetSdkVersion = 35) + private static final long RENDERSCRIPT_SCRIPTC_DEPRECATION_CHANGE_ID = 297019750L; + + /** * Only intended for use by the generated derived classes. * * @param id @@ -89,7 +101,19 @@ public class ScriptC extends Script { setID(id); } + private static void throwExceptionIfSDKTooHigh() { + String message = + "ScriptC scripts are not supported when targeting an API Level >= 35. Please refer " + + "to https://developer.android.com/guide/topics/renderscript/migration-guide " + + "for proposed alternatives."; + Slog.w(TAG, message); + if (CompatChanges.isChangeEnabled(RENDERSCRIPT_SCRIPTC_DEPRECATION_CHANGE_ID)) { + throw new UnsupportedOperationException(message); + } + } + private static synchronized long internalCreate(RenderScript rs, Resources resources, int resourceID) { + throwExceptionIfSDKTooHigh(); byte[] pgm; int pgmLength; InputStream is = resources.openRawResource(resourceID); @@ -126,6 +150,7 @@ public class ScriptC extends Script { private static synchronized long internalStringCreate(RenderScript rs, String resName, byte[] bitcode) { // Log.v(TAG, "Create script for resource = " + resName); + throwExceptionIfSDKTooHigh(); return rs.nScriptCCreate(resName, RenderScript.getCachePath(), bitcode, bitcode.length); } } diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig index 75ecdb78fe00..a19920f4fc02 100644 --- a/services/accessibility/accessibility.aconfig +++ b/services/accessibility/accessibility.aconfig @@ -10,6 +10,13 @@ flag { } flag { + name: "cleanup_a11y_overlays" + namespace: "accessibility" + description: "Removes all attached accessibility overlays when a service is removed." + bug: "271490102" +} + +flag { name: "deprecate_package_list_observer" namespace: "accessibility" description: "Stops using the deprecated PackageListObserver." diff --git a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java index fa73cffb83ea..6d82b749fda3 100644 --- a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java +++ b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java @@ -224,6 +224,9 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ final SparseArray<IBinder> mOverlayWindowTokens = new SparseArray(); + // All the embedded accessibility overlays that have been added by this service. + private List<SurfaceControl> mOverlays = new ArrayList<>(); + /** The timestamp of requesting to take screenshot in milliseconds */ private long mRequestTakeScreenshotTimestampMs; /** @@ -1554,6 +1557,9 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ final int displayId = displays[i].getDisplayId(); onDisplayRemoved(displayId); } + if (Flags.cleanupA11yOverlays()) { + detachAllOverlays(); + } } /** @@ -2677,6 +2683,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ try { mSystemSupport.attachAccessibilityOverlayToDisplay( interactionId, displayId, sc, callback); + mOverlays.add(sc); } finally { Binder.restoreCallingIdentity(identity); } @@ -2707,10 +2714,23 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ connection .getRemote() .attachAccessibilityOverlayToWindow(sc, interactionId, callback); + mOverlays.add(sc); } } finally { Binder.restoreCallingIdentity(identity); } } + + protected void detachAllOverlays() { + SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + for (SurfaceControl sc : mOverlays) { + if (sc.isValid()) { + t.reparent(sc, null); + } + } + t.apply(); + t.close(); + mOverlays.clear(); + } } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java index 5af80da894cc..74538ac02289 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java @@ -145,11 +145,19 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo /** Flag for intercepting generic motion events. */ static final int FLAG_FEATURE_INTERCEPT_GENERIC_MOTION_EVENTS = 0x00000800; + /** + * Flag for enabling the two-finger triple-tap magnification feature. + * + * @see #setUserAndEnabledFeatures(int, int) + */ + static final int FLAG_FEATURE_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP = 0x00001000; + static final int FEATURES_AFFECTING_MOTION_EVENTS = FLAG_FEATURE_INJECT_MOTION_EVENTS | FLAG_FEATURE_AUTOCLICK | FLAG_FEATURE_TOUCH_EXPLORATION | FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP + | FLAG_FEATURE_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP | FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER | FLAG_SERVICE_HANDLES_DOUBLE_TAP | FLAG_REQUEST_MULTI_FINGER_GESTURES @@ -531,6 +539,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo if ((mEnabledFeatures & FLAG_FEATURE_CONTROL_SCREEN_MAGNIFIER) != 0 || ((mEnabledFeatures & FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP) != 0) + || ((mEnabledFeatures & FLAG_FEATURE_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP) != 0) || ((mEnabledFeatures & FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER) != 0)) { final MagnificationGestureHandler magnificationGestureHandler = createMagnificationGestureHandler(displayId, @@ -649,6 +658,8 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo int displayId, Context displayContext) { final boolean detectControlGestures = (mEnabledFeatures & FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP) != 0; + final boolean detectTwoFingerTripleTap = (mEnabledFeatures + & FLAG_FEATURE_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP) != 0; final boolean triggerable = (mEnabledFeatures & FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER) != 0; MagnificationGestureHandler magnificationGestureHandler; @@ -658,8 +669,10 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, null /* options */); magnificationGestureHandler = new WindowMagnificationGestureHandler(uiContext, mAms.getWindowMagnificationMgr(), mAms.getTraceManager(), - mAms.getMagnificationController(), detectControlGestures, triggerable, - displayId); + mAms.getMagnificationController(), + detectControlGestures, + detectTwoFingerTripleTap, + triggerable, displayId); } else { final Context uiContext = displayContext.createWindowContext( TYPE_MAGNIFICATION_OVERLAY, null /* options */); @@ -668,7 +681,10 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo magnificationGestureHandler = new FullScreenMagnificationGestureHandler(uiContext, mAms.getMagnificationController().getFullScreenMagnificationController(), mAms.getTraceManager(), - mAms.getMagnificationController(), detectControlGestures, triggerable, + mAms.getMagnificationController(), + detectControlGestures, + detectTwoFingerTripleTap, + triggerable, new WindowMagnificationPromptController(displayContext, mUserId), displayId, fullScreenMagnificationVibrationHelper); } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index d575102bd5e1..32666e76372b 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -2786,6 +2786,12 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub flags |= AccessibilityInputFilter .FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP; } + if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) { + if (userState.isMagnificationTwoFingerTripleTapEnabledLocked()) { + flags |= AccessibilityInputFilter + .FLAG_FEATURE_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP; + } + } if (userState.isShortcutMagnificationEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER; } @@ -3150,6 +3156,21 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return false; } + private boolean readMagnificationTwoFingerTripleTapSettingsLocked( + AccessibilityUserState userState) { + final boolean magnificationTwoFingerTripleTapEnabled = Settings.Secure.getIntForUser( + mContext.getContentResolver(), + Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED, + 0, userState.mUserId) == 1; + if ((magnificationTwoFingerTripleTapEnabled + != userState.isMagnificationTwoFingerTripleTapEnabledLocked())) { + userState.setMagnificationTwoFingerTripleTapEnabledLocked( + magnificationTwoFingerTripleTapEnabled); + return true; + } + return false; + } + private boolean readAutoclickEnabledSettingLocked(AccessibilityUserState userState) { final boolean autoclickEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), @@ -3385,6 +3406,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub // displays in one display. It's not a real display and there's no input events for it. final ArrayList<Display> displays = getValidDisplayList(); if (userState.isMagnificationSingleFingerTripleTapEnabledLocked() + || userState.isMagnificationTwoFingerTripleTapEnabledLocked() || userState.isShortcutMagnificationEnabledLocked()) { for (int i = 0; i < displays.size(); i++) { final Display display = displays.get(i); @@ -4920,6 +4942,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub private final Uri mMagnificationmSingleFingerTripleTapEnabledUri = Settings.Secure .getUriFor(Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); + private final Uri mMagnificationTwoFingerTripleTapEnabledUri = Settings.Secure.getUriFor( + Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED); + private final Uri mAutoclickEnabledUri = Settings.Secure.getUriFor( Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED); @@ -4977,6 +5002,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mMagnificationmSingleFingerTripleTapEnabledUri, false, this, UserHandle.USER_ALL); + if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) { + contentResolver.registerContentObserver(mMagnificationTwoFingerTripleTapEnabledUri, + false, this, UserHandle.USER_ALL); + } contentResolver.registerContentObserver(mAutoclickEnabledUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mEnabledAccessibilityServicesUri, @@ -5027,6 +5056,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (readMagnificationEnabledSettingsLocked(userState)) { onUserStateChangedLocked(userState); } + } else if (Flags.enableMagnificationMultipleFingerMultipleTapGesture() + && mMagnificationTwoFingerTripleTapEnabledUri.equals(uri)) { + if (readMagnificationTwoFingerTripleTapSettingsLocked(userState)) { + onUserStateChangedLocked(userState); + } } else if (mAutoclickEnabledUri.equals(uri)) { if (readAutoclickEnabledSettingLocked(userState)) { onUserStateChangedLocked(userState); diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java index b4efec1a4b38..68ee78076f3d 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java @@ -110,6 +110,7 @@ class AccessibilityUserState { private boolean mIsAudioDescriptionByDefaultRequested; private boolean mIsAutoclickEnabled; private boolean mIsMagnificationSingleFingerTripleTapEnabled; + private boolean mMagnificationTwoFingerTripleTapEnabled; private boolean mIsFilterKeyEventsEnabled; private boolean mIsPerformGesturesEnabled; private boolean mAccessibilityFocusOnlyInActiveWindow; @@ -212,6 +213,7 @@ class AccessibilityUserState { mRequestTwoFingerPassthrough = false; mSendMotionEventsEnabled = false; mIsMagnificationSingleFingerTripleTapEnabled = false; + mMagnificationTwoFingerTripleTapEnabled = false; mIsAutoclickEnabled = false; mUserNonInteractiveUiTimeout = 0; mUserInteractiveUiTimeout = 0; @@ -633,6 +635,14 @@ class AccessibilityUserState { mIsMagnificationSingleFingerTripleTapEnabled = enabled; } + public boolean isMagnificationTwoFingerTripleTapEnabledLocked() { + return mMagnificationTwoFingerTripleTapEnabled; + } + + public void setMagnificationTwoFingerTripleTapEnabledLocked(boolean enabled) { + mMagnificationTwoFingerTripleTapEnabled = enabled; + } + public boolean isFilterKeyEventsEnabledLocked() { return mIsFilterKeyEventsEnabled; } diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java index 01064ac83fb2..45ca7260bbe7 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java @@ -177,12 +177,14 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH FullScreenMagnificationController fullScreenMagnificationController, AccessibilityTraceManager trace, Callback callback, - boolean detectTripleTap, + boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, boolean detectShortcutTrigger, @NonNull WindowMagnificationPromptController promptController, int displayId, FullScreenMagnificationVibrationHelper fullScreenMagnificationVibrationHelper) { - this(context, fullScreenMagnificationController, trace, callback, detectTripleTap, + this(context, fullScreenMagnificationController, trace, callback, + detectSingleFingerTripleTap, detectTwoFingerTripleTap, detectShortcutTrigger, promptController, displayId, fullScreenMagnificationVibrationHelper, /* magnificationLogger= */ null); } @@ -193,16 +195,20 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH FullScreenMagnificationController fullScreenMagnificationController, AccessibilityTraceManager trace, Callback callback, - boolean detectTripleTap, + boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, boolean detectShortcutTrigger, @NonNull WindowMagnificationPromptController promptController, int displayId, FullScreenMagnificationVibrationHelper fullScreenMagnificationVibrationHelper, MagnificationLogger magnificationLogger) { - super(displayId, detectTripleTap, detectShortcutTrigger, trace, callback); + super(displayId, detectSingleFingerTripleTap, detectTwoFingerTripleTap, + detectShortcutTrigger, trace, callback); if (DEBUG_ALL) { Log.i(mLogTag, - "FullScreenMagnificationGestureHandler(detectTripleTap = " + detectTripleTap + "FullScreenMagnificationGestureHandler(detectSingleFingerTripleTap = " + + detectSingleFingerTripleTap + + ", detectTwoFingerTripleTap = " + detectTwoFingerTripleTap + ", detectShortcutTrigger = " + detectShortcutTrigger + ")"); } mFullScreenMagnificationController = fullScreenMagnificationController; diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java index 8476a5e30e27..11d071345457 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java @@ -28,6 +28,7 @@ import android.view.MotionEvent; import com.android.server.accessibility.AccessibilityTraceManager; import com.android.server.accessibility.BaseEventStreamTransformation; +import com.android.server.accessibility.Flags; import java.util.ArrayDeque; import java.util.Queue; @@ -63,6 +64,13 @@ public abstract class MagnificationGestureHandler extends BaseEventStreamTransfo */ protected final boolean mDetectSingleFingerTripleTap; + /** + * {@code true} if this detector should detect and respond to two-finger triple-tap + * gestures for engaging and disengaging magnification, + * {@code false} if it should ignore such gestures + */ + protected final boolean mDetectTwoFingerTripleTap; + /** Callback interface to report that magnification is interactive with a user. */ public interface Callback { /** @@ -85,12 +93,16 @@ public abstract class MagnificationGestureHandler extends BaseEventStreamTransfo private final AccessibilityTraceManager mTrace; protected final Callback mCallback; - protected MagnificationGestureHandler(int displayId, boolean detectSingleFingerTripleTap, + protected MagnificationGestureHandler(int displayId, + boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, boolean detectShortcutTrigger, AccessibilityTraceManager trace, @NonNull Callback callback) { mDisplayId = displayId; mDetectSingleFingerTripleTap = detectSingleFingerTripleTap; + mDetectTwoFingerTripleTap = Flags.enableMagnificationMultipleFingerMultipleTapGesture() + && detectTwoFingerTripleTap; mDetectShortcutTrigger = detectShortcutTrigger; mTrace = trace; mCallback = callback; @@ -128,8 +140,8 @@ public abstract class MagnificationGestureHandler extends BaseEventStreamTransfo } private boolean shouldDispatchTransformedEvent(MotionEvent event) { - if ((!mDetectSingleFingerTripleTap && !mDetectShortcutTrigger) || !event.isFromSource( - SOURCE_TOUCHSCREEN)) { + if ((!mDetectSingleFingerTripleTap && !mDetectTwoFingerTripleTap && !mDetectShortcutTrigger) + || !event.isFromSource(SOURCE_TOUCHSCREEN)) { return true; } return false; diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java index 2d9dcb96d53d..cfe2af976350 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java @@ -99,8 +99,12 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl WindowMagnificationManager windowMagnificationMgr, AccessibilityTraceManager trace, Callback callback, - boolean detectTripleTap, boolean detectShortcutTrigger, int displayId) { - super(displayId, detectTripleTap, detectShortcutTrigger, trace, callback); + boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, + boolean detectShortcutTrigger, + int displayId) { + super(displayId, detectSingleFingerTripleTap, detectTwoFingerTripleTap, + detectShortcutTrigger, trace, callback); if (DEBUG_ALL) { Slog.i(mLogTag, "WindowMagnificationGestureHandler() , displayId = " + displayId + ")"); diff --git a/services/art-profile b/services/art-profile index cf9574a1279c..052f4fbcbaef 100644 --- a/services/art-profile +++ b/services/art-profile @@ -13,73 +13,69 @@ # See the License for the specific language governing permissions and # limitations under the License. # -HSPLandroid/app/usage/UsageStatsManagerInternal;-><init>()V HSPLandroid/content/pm/PackageManagerInternal;-><init>()V HSPLandroid/content/pm/PackageManagerInternal;->filterAppAccess(Ljava/lang/String;II)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLandroid/hardware/health/BatteryHealthData$1;-><init>()V -HSPLandroid/hardware/health/BatteryHealthData;-><clinit>()V -HSPLandroid/hardware/health/DiskStats$1;-><init>()V +HSPLandroid/hardware/audio/common/V2_0/Uuid;-><init>()V HSPLandroid/hardware/health/DiskStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/health/DiskStats; HSPLandroid/hardware/health/DiskStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/health/DiskStats$1;->newArray(I)[Landroid/hardware/health/DiskStats; HSPLandroid/hardware/health/DiskStats$1;->newArray(I)[Ljava/lang/Object; -HSPLandroid/hardware/health/DiskStats;-><clinit>()V HSPLandroid/hardware/health/DiskStats;-><init>()V -HSPLandroid/hardware/health/DiskStats;->readFromParcel(Landroid/os/Parcel;)V -HSPLandroid/hardware/health/HealthInfo$1;-><init>()V -HSPLandroid/hardware/health/HealthInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/health/HealthInfo; +HSPLandroid/hardware/health/DiskStats;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/hardware/health/HealthInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/health/HealthInfo;+]Landroid/hardware/health/HealthInfo;Landroid/hardware/health/HealthInfo; HSPLandroid/hardware/health/HealthInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/hardware/health/HealthInfo;-><clinit>()V HSPLandroid/hardware/health/HealthInfo;-><init>()V -HSPLandroid/hardware/health/HealthInfo;->readFromParcel(Landroid/os/Parcel;)V -HSPLandroid/hardware/health/IHealth$Stub$Proxy;-><init>(Landroid/os/IBinder;)V +HSPLandroid/hardware/health/HealthInfo;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/hardware/health/IHealth$Stub$Proxy;->asBinder()Landroid/os/IBinder; HPLandroid/hardware/health/IHealth$Stub$Proxy;->getCapacity()I HPLandroid/hardware/health/IHealth$Stub$Proxy;->getChargeCounterUah()I HPLandroid/hardware/health/IHealth$Stub$Proxy;->getChargeStatus()I HPLandroid/hardware/health/IHealth$Stub$Proxy;->getCurrentAverageMicroamps()I -HPLandroid/hardware/health/IHealth$Stub$Proxy;->getEnergyCounterNwh()J -HSPLandroid/hardware/health/IHealth$Stub$Proxy;->registerCallback(Landroid/hardware/health/IHealthInfoCallback;)V -HSPLandroid/hardware/health/IHealth$Stub$Proxy;->update()V -HSPLandroid/hardware/health/IHealth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/health/IHealth; -HSPLandroid/hardware/health/IHealth;-><clinit>()V -HSPLandroid/hardware/health/IHealthInfoCallback$Stub;-><init>()V -HSPLandroid/hardware/health/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IBinder; +HPLandroid/hardware/health/IHealth$Stub$Proxy;->getEnergyCounterNwh()J+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/hardware/health/IHealth$Stub$Proxy;Landroid/hardware/health/IHealth$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HPLandroid/hardware/health/IHealth$Stub$Proxy;->getHealthInfo()Landroid/hardware/health/HealthInfo; HSPLandroid/hardware/health/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLandroid/hardware/health/IHealthInfoCallback;-><clinit>()V -HSPLandroid/hardware/health/StorageInfo$1;-><init>()V HSPLandroid/hardware/health/StorageInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/health/StorageInfo; HSPLandroid/hardware/health/StorageInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/health/StorageInfo$1;->newArray(I)[Landroid/hardware/health/StorageInfo; HSPLandroid/hardware/health/StorageInfo$1;->newArray(I)[Ljava/lang/Object; -HSPLandroid/hardware/health/StorageInfo;-><clinit>()V HSPLandroid/hardware/health/StorageInfo;-><init>()V -HSPLandroid/hardware/health/StorageInfo;->readFromParcel(Landroid/os/Parcel;)V -HSPLandroid/hardware/health/V2_1/IHealthInfoCallback$Stub;-><init>()V +HSPLandroid/hardware/health/StorageInfo;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HPLandroid/hardware/health/Translate;->h2aTranslate(Landroid/hardware/health/V2_0/DiskStats;)Landroid/hardware/health/DiskStats; +HPLandroid/hardware/health/Translate;->h2aTranslate(Landroid/hardware/health/V2_0/StorageInfo;)Landroid/hardware/health/StorageInfo; +HPLandroid/hardware/health/Translate;->h2aTranslate(Landroid/hardware/health/V2_1/HealthInfo;)Landroid/hardware/health/HealthInfo;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +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/DiskStats;-><init>()V +HPLandroid/hardware/health/V2_0/DiskStats;->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+]Landroid/os/HwBlob;Landroid/os/HwBlob;]Landroid/hardware/health/V2_0/DiskStats;Landroid/hardware/health/V2_0/DiskStats;]Landroid/hardware/health/V1_0/HealthInfo;Landroid/hardware/health/V1_0/HealthInfo;]Landroid/hardware/health/V2_0/StorageInfo;Landroid/hardware/health/V2_0/StorageInfo;]Landroid/os/HwParcel;Landroid/os/HwParcel;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V +HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V +HPLandroid/hardware/health/V2_0/StorageAttribute;-><init>()V +HPLandroid/hardware/health/V2_0/StorageAttribute;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/os/HwBlob;Landroid/os/HwBlob;]Landroid/os/HwParcel;Landroid/os/HwParcel; +HPLandroid/hardware/health/V2_0/StorageInfo;-><init>()V +HPLandroid/hardware/health/V2_0/StorageInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V +HPLandroid/hardware/health/V2_1/HealthInfo;-><init>()V +HPLandroid/hardware/health/V2_1/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V HSPLandroid/hardware/light/HwLight$1;-><init>()V HSPLandroid/hardware/light/HwLight;-><clinit>()V HSPLandroid/hardware/light/HwLight;-><init>()V HSPLandroid/hardware/light/ILights;-><clinit>()V HSPLandroid/hardware/power/stats/EnergyConsumerAttribution$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/power/stats/EnergyConsumerAttribution;+]Landroid/hardware/power/stats/EnergyConsumerAttribution;Landroid/hardware/power/stats/EnergyConsumerAttribution; HSPLandroid/hardware/power/stats/EnergyConsumerAttribution$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/hardware/power/stats/EnergyConsumerAttribution$1;Landroid/hardware/power/stats/EnergyConsumerAttribution$1; -HSPLandroid/hardware/power/stats/EnergyConsumerAttribution$1;->newArray(I)[Landroid/hardware/power/stats/EnergyConsumerAttribution; -HSPLandroid/hardware/power/stats/EnergyConsumerAttribution$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/hardware/power/stats/EnergyConsumerAttribution;-><init>()V HSPLandroid/hardware/power/stats/EnergyConsumerAttribution;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/hardware/power/stats/EnergyConsumerResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/power/stats/EnergyConsumerResult; -HSPLandroid/hardware/power/stats/EnergyConsumerResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/power/stats/EnergyConsumerResult;-><init>()V -HSPLandroid/hardware/power/stats/EnergyConsumerResult;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/hardware/power/stats/EnergyConsumerResult;->readFromParcel(Landroid/os/Parcel;)V HPLandroid/hardware/power/stats/EnergyMeasurement$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/power/stats/EnergyMeasurement;+]Landroid/hardware/power/stats/EnergyMeasurement;Landroid/hardware/power/stats/EnergyMeasurement; HPLandroid/hardware/power/stats/EnergyMeasurement$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/hardware/power/stats/EnergyMeasurement$1;Landroid/hardware/power/stats/EnergyMeasurement$1; HPLandroid/hardware/power/stats/EnergyMeasurement;-><init>()V HPLandroid/hardware/power/stats/EnergyMeasurement;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/hardware/power/stats/IPowerStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/hardware/power/stats/IPowerStats$Stub$Proxy;->getEnergyConsumed([I)[Landroid/hardware/power/stats/EnergyConsumerResult; HPLandroid/hardware/power/stats/IPowerStats$Stub$Proxy;->getStateResidency([I)[Landroid/hardware/power/stats/StateResidencyResult; HPLandroid/hardware/power/stats/IPowerStats$Stub$Proxy;->readEnergyMeter([I)[Landroid/hardware/power/stats/EnergyMeasurement; -HSPLandroid/hardware/power/stats/IPowerStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/power/stats/IPowerStats; -HSPLandroid/hardware/power/stats/IPowerStats;-><clinit>()V HPLandroid/hardware/power/stats/StateResidency$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/power/stats/StateResidency; HPLandroid/hardware/power/stats/StateResidency$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/hardware/power/stats/StateResidency$1;Landroid/hardware/power/stats/StateResidency$1; HPLandroid/hardware/power/stats/StateResidency$1;->newArray(I)[Landroid/hardware/power/stats/StateResidency; @@ -90,6 +86,8 @@ HPLandroid/hardware/power/stats/StateResidencyResult$1;->createFromParcel(Landro HPLandroid/hardware/power/stats/StateResidencyResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/hardware/power/stats/StateResidencyResult$1;Landroid/hardware/power/stats/StateResidencyResult$1; HPLandroid/hardware/power/stats/StateResidencyResult;-><init>()V HPLandroid/hardware/power/stats/StateResidencyResult;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/hardware/usb/IUsbCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z +HSPLandroid/hardware/usb/PortStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/PortStatus; HSPLandroid/hardware/usb/PortStatus;-><init>()V HSPLandroid/hardware/usb/PortStatus;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/net/ConnectivityModuleConnector$DependenciesImpl;-><init>()V @@ -98,6 +96,8 @@ HSPLandroid/net/ConnectivityModuleConnector;-><clinit>()V HSPLandroid/net/ConnectivityModuleConnector;-><init>()V HSPLandroid/net/ConnectivityModuleConnector;-><init>(Landroid/net/ConnectivityModuleConnector$Dependencies;)V HSPLandroid/net/ConnectivityModuleConnector;->getInstance()Landroid/net/ConnectivityModuleConnector; +HPLandroid/net/INetd$Stub$Proxy;->bandwidthRemoveInterfaceQuota(Ljava/lang/String;)V +HPLandroid/net/INetd$Stub$Proxy;->bandwidthSetInterfaceQuota(Ljava/lang/String;J)V HSPLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/net/INetdUnsolicitedEventListener;Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener; HSPLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z+]Landroid/net/metrics/INetdEventListener;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BatteryStatsInternal;-><init>()V @@ -112,13 +112,8 @@ HPLcom/android/internal/util/jobs/FastXmlSerializer;->appendIndent(I)V+]Lcom/and HPLcom/android/internal/util/jobs/FastXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;+]Lcom/android/internal/util/jobs/FastXmlSerializer;Lcom/android/internal/util/jobs/FastXmlSerializer; HPLcom/android/internal/util/jobs/FastXmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;+]Lcom/android/internal/util/jobs/FastXmlSerializer;Lcom/android/internal/util/jobs/FastXmlSerializer; HPLcom/android/internal/util/jobs/FastXmlSerializer;->escapeAndAppendString(Ljava/lang/String;)V+]Lcom/android/internal/util/jobs/FastXmlSerializer;Lcom/android/internal/util/jobs/FastXmlSerializer; -HPLcom/android/internal/util/jobs/FastXmlSerializer;->flush()V -HPLcom/android/internal/util/jobs/FastXmlSerializer;->flushBytes()V -HPLcom/android/internal/util/jobs/FastXmlSerializer;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V HPLcom/android/internal/util/jobs/FastXmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;+]Lcom/android/internal/util/jobs/FastXmlSerializer;Lcom/android/internal/util/jobs/FastXmlSerializer; HPLcom/android/internal/util/jobs/RingBufferIndices;->add()I -HSPLcom/android/internal/util/jobs/StatLogger;-><init>(Ljava/lang/String;[Ljava/lang/String;)V -HSPLcom/android/internal/util/jobs/StatLogger;-><init>([Ljava/lang/String;)V HSPLcom/android/internal/util/jobs/StatLogger;->getTime()J HSPLcom/android/internal/util/jobs/StatLogger;->logDurationStat(IJ)J+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger; HSPLcom/android/modules/utils/build/SdkLevel;->isAtLeastT()Z @@ -128,42 +123,35 @@ HSPLcom/android/modules/utils/build/UnboundedSdkLevel;->isAtLeast(Ljava/lang/Str 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/server/AccessibilityManagerInternal$1;-><init>()V -HSPLcom/android/server/AccessibilityManagerInternal;-><clinit>()V -HSPLcom/android/server/AccessibilityManagerInternal;-><init>()V +HPLcom/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; -HSPLcom/android/server/AppSchedulingModuleThread;-><init>()V -HSPLcom/android/server/AppSchedulingModuleThread;->ensureThreadLocked()V -HSPLcom/android/server/AppSchedulingModuleThread;->get()Lcom/android/server/AppSchedulingModuleThread; +HPLcom/android/server/AnyMotionDetector$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V +HPLcom/android/server/AnyMotionDetector;->stop()V HSPLcom/android/server/AppSchedulingModuleThread;->getHandler()Landroid/os/Handler; HPLcom/android/server/AppStateTrackerImpl$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HSPLcom/android/server/AppStateTrackerImpl$Listener;-><init>()V HSPLcom/android/server/AppStateTrackerImpl$Listener;->onUidActiveStateChanged(Lcom/android/server/AppStateTrackerImpl;I)V HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/AppStateTrackerImpl$MyHandler;Lcom/android/server/AppStateTrackerImpl$MyHandler; HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidActive(I)V HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->handleUidCached(IZ)V+]Lcom/android/server/AppStateTrackerImpl$Listener;Lcom/android/server/job/controllers/BackgroundJobsController$1;,Lcom/android/server/AppStateTrackerImpl$1; -HPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyTempExemptionListChanged()V +HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyTempExemptionListChanged()V HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->notifyUidActiveStateChanged(I)V HSPLcom/android/server/AppStateTrackerImpl$MyHandler;->removeUid(IZ)V HPLcom/android/server/AppStateTrackerImpl$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V -HSPLcom/android/server/AppStateTrackerImpl$UidObserver;->onUidActive(I)V HSPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmHandler(Lcom/android/server/AppStateTrackerImpl;)Lcom/android/server/AppStateTrackerImpl$MyHandler; HSPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmLock(Lcom/android/server/AppStateTrackerImpl;)Ljava/lang/Object; HSPLcom/android/server/AppStateTrackerImpl;->-$$Nest$fgetmStatLogger(Lcom/android/server/AppStateTrackerImpl;)Lcom/android/internal/util/jobs/StatLogger; -HSPLcom/android/server/AppStateTrackerImpl;->-$$Nest$mcloneListeners(Lcom/android/server/AppStateTrackerImpl;)[Lcom/android/server/AppStateTrackerImpl$Listener; -HPLcom/android/server/AppStateTrackerImpl;->-$$Nest$mupdateForceAllAppStandbyState(Lcom/android/server/AppStateTrackerImpl;)V -HSPLcom/android/server/AppStateTrackerImpl;->addUidToArray(Landroid/util/SparseBooleanArray;I)Z HPLcom/android/server/AppStateTrackerImpl;->areAlarmsRestrictedByBatterySaver(ILjava/lang/String;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController; -HPLcom/android/server/AppStateTrackerImpl;->areJobsRestricted(ILjava/lang/String;Z)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; +HSPLcom/android/server/AppStateTrackerImpl;->areJobsRestricted(ILjava/lang/String;Z)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; HSPLcom/android/server/AppStateTrackerImpl;->cloneListeners()[Lcom/android/server/AppStateTrackerImpl$Listener; -HPLcom/android/server/AppStateTrackerImpl;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I+]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/AppStateTrackerImpl;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/AppStateTrackerImpl;->isAnyAppIdUnexempt([I[I)Z HSPLcom/android/server/AppStateTrackerImpl;->isAppBackgroundRestricted(ILjava/lang/String;)Z -HPLcom/android/server/AppStateTrackerImpl;->isRunAnyInBackgroundAppOpsAllowed(ILjava/lang/String;)Z+]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl; -HPLcom/android/server/AppStateTrackerImpl;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z+]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl; +HSPLcom/android/server/AppStateTrackerImpl;->isForceAllAppsStandbyEnabled()Z +HSPLcom/android/server/AppStateTrackerImpl;->isRunAnyInBackgroundAppOpsAllowed(ILjava/lang/String;)Z+]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl; +HSPLcom/android/server/AppStateTrackerImpl;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z+]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl; HSPLcom/android/server/AppStateTrackerImpl;->isUidActive(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/AppStateTrackerImpl;->isUidActiveSynced(I)Z HPLcom/android/server/AppStateTrackerImpl;->isUidPowerSaveUserExempt(I)Z @@ -172,15 +160,8 @@ HSPLcom/android/server/AppStateTrackerImpl;->setPowerSaveExemptionListAppIds([I[ HSPLcom/android/server/AppStateTrackerImpl;->toggleForceAllAppsStandbyLocked(Z)V HSPLcom/android/server/AppStateTrackerImpl;->updateForceAllAppStandbyState()V HPLcom/android/server/BatteryService$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;)V -HSPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$BatteryPropertiesRegistrar-IA;)V HPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I+]Lcom/android/server/health/HealthServiceWrapper;Lcom/android/server/health/HealthServiceWrapperAidl;]Landroid/content/Context;Landroid/app/ContextImpl; -HSPLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;)V -HSPLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$BinderService-IA;)V -HSPLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V HSPLcom/android/server/BatteryService$Led;->updateLightsLocked()V -HSPLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;)V -HSPLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$LocalService-IA;)V HSPLcom/android/server/BatteryService$LocalService;->getBatteryHealth()I HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z @@ -190,17 +171,12 @@ HSPLcom/android/server/BatteryService;->-$$Nest$fgetmHealthInfo(Lcom/android/ser HSPLcom/android/server/BatteryService;->-$$Nest$fgetmHealthServiceWrapper(Lcom/android/server/BatteryService;)Lcom/android/server/health/HealthServiceWrapper; HSPLcom/android/server/BatteryService;->-$$Nest$fgetmLock(Lcom/android/server/BatteryService;)Ljava/lang/Object; HSPLcom/android/server/BatteryService;->-$$Nest$fgetmLowBatteryWarningLevel(Lcom/android/server/BatteryService;)I -HSPLcom/android/server/BatteryService;->-$$Nest$fputmBatteryNearlyFullLevel(Lcom/android/server/BatteryService;I)V -HSPLcom/android/server/BatteryService;-><clinit>()V -HSPLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V +HPLcom/android/server/BatteryService;->broadcastBatteryChangedIntent(Landroid/content/Intent;Landroid/os/Bundle;)V HSPLcom/android/server/BatteryService;->getIconLocked(I)I HSPLcom/android/server/BatteryService;->isPoweredLocked(I)Z HPLcom/android/server/BatteryService;->lambda$sendBatteryChangedIntentLocked$0(Landroid/content/Intent;)V -HSPLcom/android/server/BatteryService;->onBootPhase(I)V -HSPLcom/android/server/BatteryService;->onStart()V HSPLcom/android/server/BatteryService;->plugType(Landroid/hardware/health/HealthInfo;)I HSPLcom/android/server/BatteryService;->processValuesLocked(Z)V -HSPLcom/android/server/BatteryService;->registerHealthCallback()V HSPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V HSPLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V HSPLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z @@ -210,144 +186,76 @@ HSPLcom/android/server/BatteryService;->shutdownIfOverTempLocked()V HSPLcom/android/server/BatteryService;->traceBegin(Ljava/lang/String;)V HSPLcom/android/server/BatteryService;->traceEnd()V HSPLcom/android/server/BatteryService;->update(Landroid/hardware/health/HealthInfo;)V -HSPLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;-><init>(Lcom/android/server/BinaryTransparencyService;)V HPLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;->collectAppInfo(Lcom/android/server/pm/pkg/PackageState;I)Ljava/util/List; -HPLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;->computeApkContentDigest(Ljava/lang/String;)Ljava/util/Map; -HPLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;->computePackageSignerSha256Digests(Landroid/content/pm/SigningInfo;)[Ljava/lang/String; -HPLcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl;->measureApk(Ljava/lang/String;)Lcom/android/server/BinaryTransparencyService$Digest; -HSPLcom/android/server/BinaryTransparencyService$BiometricLogger;-><clinit>()V -HSPLcom/android/server/BinaryTransparencyService$BiometricLogger;-><init>()V -HSPLcom/android/server/BinaryTransparencyService$BiometricLogger;->getInstance()Lcom/android/server/BinaryTransparencyService$BiometricLogger; -HSPLcom/android/server/BinaryTransparencyService;-><clinit>()V -HSPLcom/android/server/BinaryTransparencyService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/BinaryTransparencyService;-><init>(Landroid/content/Context;Lcom/android/server/BinaryTransparencyService$BiometricLogger;)V -HSPLcom/android/server/BinaryTransparencyService;->onBootPhase(I)V -HSPLcom/android/server/BinaryTransparencyService;->onStart()V -HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;-><init>()V HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->resolveWorkSourceUid(I)I+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider; -HSPLcom/android/server/BinderCallsStatsService$Internal;-><init>(Lcom/android/internal/os/BinderCallsStats;)V HPLcom/android/server/BinderCallsStatsService$LifeCycle$1;->noteCallStats(IJLjava/util/Collection;)V+]Landroid/os/BatteryStatsInternal;Lcom/android/server/am/BatteryStatsService$LocalService; -HSPLcom/android/server/BinderCallsStatsService$LifeCycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/BinderCallsStatsService$LifeCycle;->onBootPhase(I)V -HSPLcom/android/server/BinderCallsStatsService$LifeCycle;->onStart()V -HSPLcom/android/server/BinderCallsStatsService;-><init>(Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V HSPLcom/android/server/BundleUtils;->isEmpty(Landroid/os/Bundle;)Z -HSPLcom/android/server/CachedDeviceStateService$1;-><init>(Lcom/android/server/CachedDeviceStateService;)V HPLcom/android/server/CachedDeviceStateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HPLcom/android/server/CachedDeviceStateService;->-$$Nest$fgetmDeviceState(Lcom/android/server/CachedDeviceStateService;)Lcom/android/internal/os/CachedDeviceState; -HSPLcom/android/server/CachedDeviceStateService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/CachedDeviceStateService;->onBootPhase(I)V -HSPLcom/android/server/CachedDeviceStateService;->onStart()V HPLcom/android/server/DeviceIdleController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z HPLcom/android/server/DeviceIdleController$LocalService;->getNotificationAllowlistDuration()J -HPLcom/android/server/DeviceIdleController$LocalService;->getTempAllowListType(II)I +HSPLcom/android/server/DeviceIdleController$LocalService;->getTempAllowListType(II)I HPLcom/android/server/DeviceIdleController$LocalService;->isAppOnWhitelist(I)Z HPLcom/android/server/DeviceIdleController$LocalService;->setAlarmsActive(Z)V -HSPLcom/android/server/DeviceIdleController$MyHandler;->handleMessage(Landroid/os/Message;)V -HPLcom/android/server/DeviceIdleController;->-$$Nest$fgetmConstants(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$Constants; -HPLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppDirectInternal(IIJIZILjava/lang/String;)V +HSPLcom/android/server/DeviceIdleController$MyHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/net/INetworkPolicyManager;Lcom/android/server/net/NetworkPolicyManagerService;]Lcom/android/server/SystemService;Lcom/android/server/DeviceIdleController;]Lcom/android/server/net/NetworkPolicyManagerInternal;Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/PowerAllowlistInternal$TempAllowlistChangeListener;Lcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController;]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/DeviceIdleInternal$StationaryListener;Lcom/android/server/location/provider/StationaryThrottlingLocationProvider; +HPLcom/android/server/DeviceIdleController;->addPowerSaveTempAllowlistAppChecked(Ljava/lang/String;JIILjava/lang/String;)V +HPLcom/android/server/DeviceIdleController;->addPowerSaveTempAllowlistAppInternal(ILjava/lang/String;JIIZILjava/lang/String;)V +HSPLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppDirectInternal(IIJIZILjava/lang/String;)V+]Landroid/os/Handler;Lcom/android/server/DeviceIdleController$MyHandler;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/net/NetworkPolicyManagerInternal;Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; HSPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;I)V HSPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;IJZ)V +HPLcom/android/server/DeviceIdleController;->becomeInactiveIfAppropriateLocked()V HPLcom/android/server/DeviceIdleController;->checkTempAppWhitelistTimeout(I)V HPLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V HPLcom/android/server/DeviceIdleController;->isAppOnWhitelistInternal(I)Z +HPLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistAppInternal(Ljava/lang/String;)Z HPLcom/android/server/DeviceIdleController;->onAppRemovedFromTempWhitelistLocked(ILjava/lang/String;)V HSPLcom/android/server/DeviceIdleController;->passWhiteListsToForceAppStandbyTrackerLocked()V -HPLcom/android/server/DeviceIdleController;->postTempActiveTimeoutMessage(IJ)V -HPLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked(IZ)V -HPLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V+]Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController; -HPLcom/android/server/DeviceIdleController;->setJobsActive(Z)V +HSPLcom/android/server/DeviceIdleController;->postTempActiveTimeoutMessage(IJ)V +HSPLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked(IZ)V +HPLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V HPLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)V -HPLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZJIILjava/lang/String;I)V +HSPLcom/android/server/DeviceIdleController;->updateInteractivityLocked()V +HSPLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZJIILjava/lang/String;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; 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; -HSPLcom/android/server/DropBoxManagerInternal;-><init>()V HPLcom/android/server/DropBoxManagerService$1$1;->run()V -HSPLcom/android/server/DropBoxManagerService$1;-><init>(Lcom/android/server/DropBoxManagerService;)V -HSPLcom/android/server/DropBoxManagerService$2;-><init>(Lcom/android/server/DropBoxManagerService;)V -HSPLcom/android/server/DropBoxManagerService$2;->addData(Ljava/lang/String;[BI)V +HPLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/DropBoxManagerService$2;->getNextEntryWithAttribution(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Landroid/os/DropBoxManager$Entry; -HSPLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z -HSPLcom/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$3;->onChange(Z)V HSPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->createIntent(Ljava/lang/String;J)Landroid/content/Intent; -HSPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->handleMessage(Landroid/os/Message;)V -HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->maybeDeferBroadcast(Ljava/lang/String;J)V -HSPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->prepareAndSendBroadcast(Landroid/content/Intent;Landroid/os/Bundle;)V -HSPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->sendBroadcast(Ljava/lang/String;J)V -HSPLcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl;-><init>(Lcom/android/server/DropBoxManagerService;)V -HSPLcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl;-><init>(Lcom/android/server/DropBoxManagerService;Lcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl-IA;)V HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I+]Ljava/lang/Object;Lcom/android/server/DropBoxManagerService$EntryFile; HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I+]Lcom/android/server/DropBoxManagerService$EntryFile;Lcom/android/server/DropBoxManagerService$EntryFile; -HSPLcom/android/server/DropBoxManagerService$EntryFile;->deleteFile(Ljava/io/File;)V HSPLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String; HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;)Ljava/io/File; HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String; HSPLcom/android/server/DropBoxManagerService$EntryFile;->hasFile()Z -HSPLcom/android/server/DropBoxManagerService$FileList;-><init>()V -HSPLcom/android/server/DropBoxManagerService$FileList;-><init>(Lcom/android/server/DropBoxManagerService$FileList-IA;)V -HSPLcom/android/server/DropBoxManagerService$SimpleEntrySource;-><init>(Ljava/io/InputStream;JZ)V -HSPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->close()V -HSPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->length()J HSPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->writeTo(Ljava/io/FileDescriptor;)V -HSPLcom/android/server/DropBoxManagerService;->-$$Nest$fgetmBooted(Lcom/android/server/DropBoxManagerService;)Z -HSPLcom/android/server/DropBoxManagerService;-><clinit>()V -HSPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V -HSPLcom/android/server/DropBoxManagerService;->addData(Ljava/lang/String;[BI)V HSPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Lcom/android/server/DropBoxManagerInternal$EntrySource;I)V -HSPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Ljava/io/InputStream;JI)V HPLcom/android/server/DropBoxManagerService;->checkPermission(ILjava/lang/String;Ljava/lang/String;)Z HSPLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J HSPLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V HPLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Landroid/os/DropBoxManager$Entry; HSPLcom/android/server/DropBoxManagerService;->init()V HSPLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z -HSPLcom/android/server/DropBoxManagerService;->onBootPhase(I)V -HSPLcom/android/server/DropBoxManagerService;->onStart()V HSPLcom/android/server/DropBoxManagerService;->trimToFit()J -HSPLcom/android/server/DynamicSystemService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/EntropyMixer$1;-><init>(Lcom/android/server/EntropyMixer;Landroid/os/Looper;)V -HSPLcom/android/server/EntropyMixer$2;-><init>(Lcom/android/server/EntropyMixer;)V -HSPLcom/android/server/EntropyMixer;-><clinit>()V -HSPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/io/File;Ljava/io/File;)V -HSPLcom/android/server/EntropyMixer;->getDeviceSpecificInformation()[B -HSPLcom/android/server/EntropyMixer;->getSystemDir()Ljava/io/File; -HSPLcom/android/server/EntropyMixer;->loadInitialEntropy()V -HSPLcom/android/server/EntropyMixer;->longToBytes(J)[B -HSPLcom/android/server/EntropyMixer;->readSeedFile()[B -HSPLcom/android/server/EntropyMixer;->scheduleSeedUpdater()V -HSPLcom/android/server/EntropyMixer;->updateSeedFile()V -HSPLcom/android/server/EntropyMixer;->writeNewSeed([B)V +HPLcom/android/server/EventLogTags;->writeBatterySavingStats(IIIJIIJII)V HPLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V HPLcom/android/server/EventLogTags;->writeNotificationCanceled(Ljava/lang/String;IIIIIILjava/lang/String;)V HPLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V +HPLcom/android/server/EventLogTags;->writeNotificationVisibility(Ljava/lang/String;IIIII)V HSPLcom/android/server/EventLogTags;->writeRescueNote(IIJ)V HSPLcom/android/server/ExplicitHealthCheckController;-><init>(Landroid/content/Context;)V -HPLcom/android/server/ExplicitHealthCheckController;->bindService()V -HPLcom/android/server/ExplicitHealthCheckController;->lambda$getRequestedPackages$5(Ljava/util/function/Consumer;Landroid/os/Bundle;)V -HPLcom/android/server/ExplicitHealthCheckController;->lambda$getSupportedPackages$4(Ljava/util/function/Consumer;Landroid/os/Bundle;)V -HPLcom/android/server/ExplicitHealthCheckController;->lambda$syncRequests$2(Ljava/util/List;Ljava/util/Set;Ljava/util/List;)V -HPLcom/android/server/ExplicitHealthCheckController;->prepareServiceLocked(Ljava/lang/String;)Z -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo$$ExternalSyntheticLambda0;->accept(Ljava/io/File;Ljava/lang/String;)Z -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;-><clinit>()V -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;-><init>(Ljava/lang/String;)V -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->getExtconInfoForTypes([Ljava/lang/String;)Ljava/util/List; -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->hasCableType(Ljava/lang/String;)Z -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->initExtconInfos()V -HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->lambda$new$0(Ljava/io/File;Ljava/lang/String;)Z HSPLcom/android/server/FgThread;-><init>()V HSPLcom/android/server/FgThread;->ensureThreadLocked()V HSPLcom/android/server/FgThread;->get()Lcom/android/server/FgThread; HSPLcom/android/server/FgThread;->getHandler()Landroid/os/Handler; +HPLcom/android/server/GestureLauncherService;->interceptPowerKeyDown(Landroid/view/KeyEvent;ZLandroid/util/MutableBoolean;)Z HSPLcom/android/server/IntentResolver$1;-><init>()V HSPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I+]Landroid/content/IntentFilter;Lcom/android/server/am/BroadcastFilter; HSPLcom/android/server/IntentResolver;-><clinit>()V @@ -360,15 +268,15 @@ HSPLcom/android/server/IntentResolver;->collectFilters([Ljava/lang/Object;Landro HSPLcom/android/server/IntentResolver;->copyFrom(Lcom/android/server/IntentResolver;)V HSPLcom/android/server/IntentResolver;->copyInto(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/IntentResolver;megamorphic_types HSPLcom/android/server/IntentResolver;->copyInto(Landroid/util/ArraySet;Landroid/util/ArraySet;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/IntentResolver;megamorphic_types +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+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;,Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;,Lcom/android/server/pm/PreferredIntentResolver; HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/IntentResolver;Lcom/android/server/pm/PreferredIntentResolver;,Lcom/android/server/pm/CrossProfileIntentResolver;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; -HSPLcom/android/server/IntentResolver;->getFastIntentCategories(Landroid/content/Intent;)Landroid/util/FastImmutableArraySet;+]Ljava/util/Set;Landroid/util/ArraySet;]Landroid/content/Intent;Landroid/content/Intent; -HSPLcom/android/server/IntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Ljava/lang/Object;I)Z +HSPLcom/android/server/IntentResolver;->getFastIntentCategories(Landroid/content/Intent;)Landroid/util/FastImmutableArraySet;+]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/IntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object; HSPLcom/android/server/IntentResolver;->queryIntent(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;+]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;,Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;,Lcom/android/server/pm/PreferredIntentResolver;,Lcom/android/server/pm/CrossProfileIntentResolver; HSPLcom/android/server/IntentResolver;->queryIntent(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/content/Intent;Ljava/lang/String;ZIJ)Ljava/util/List;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/IntentResolver;megamorphic_types]Landroid/content/Intent;Landroid/content/Intent; -HSPLcom/android/server/IntentResolver;->queryIntentFromList(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;IJ)Ljava/util/List;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/IntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/IntentResolver;->queryIntentFromList(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;IJ)Ljava/util/List;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/IntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/IntentResolver;->register_intent_filter(Ljava/lang/Object;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I+]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;]Lcom/android/server/IntentResolver;megamorphic_types HSPLcom/android/server/IntentResolver;->register_mime_types(Ljava/lang/Object;Ljava/lang/String;)I+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;,Lcom/android/server/am/BroadcastFilter;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/IntentResolver;megamorphic_types HPLcom/android/server/IntentResolver;->removeFilter(Ljava/lang/Object;)V @@ -396,27 +304,17 @@ HSPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;IZ)Ljava/lang/O 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; -HSPLcom/android/server/LooperStatsService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/LooperStatsService$Lifecycle;->onBootPhase(I)V -HSPLcom/android/server/LooperStatsService$Lifecycle;->onStart()V -HSPLcom/android/server/LooperStatsService$SettingsObserver;-><init>(Lcom/android/server/LooperStatsService;)V -HSPLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;)V -HSPLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;Lcom/android/server/LooperStatsService-IA;)V HSPLcom/android/server/NetworkScoreService;->enforceSystemOrHasScoreNetworks()V HSPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String; +HPLcom/android/server/NetworkScoreService;->requestScores([Landroid/net/NetworkKey;)Z HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I -HPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getSecureInt(Landroid/content/Context;Ljava/lang/String;I)I HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; -HPLcom/android/server/NetworkScorerAppManager;->canAccessLocation(ILjava/lang/String;)Z -HPLcom/android/server/NetworkScorerAppManager;->findUseOpenWifiNetworksActivity(Landroid/content/pm/ServiceInfo;)Landroid/content/ComponentName; HSPLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData; HSPLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List; HSPLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsEnabledSetting()I HSPLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsPackage()Ljava/lang/String; -HPLcom/android/server/NetworkScorerAppManager;->getRecommendationServiceLabel(Landroid/content/pm/ServiceInfo;Landroid/content/pm/PackageManager;)Ljava/lang/String; HSPLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData; HPLcom/android/server/NetworkScorerAppManager;->hasScoreNetworksPermission(Ljava/lang/String;)Z -HPLcom/android/server/NetworkScorerAppManager;->isLocationModeEnabled()Z HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/PackageWatchdog;)V HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/PackageWatchdog;)V HSPLcom/android/server/PackageWatchdog$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/PackageWatchdog;)V @@ -430,21 +328,14 @@ HSPLcom/android/server/PackageWatchdog$BootThreshold;->setCount(I)V HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->-$$Nest$mgetName(Lcom/android/server/PackageWatchdog$MonitoredPackage;)Ljava/lang/String; HSPLcom/android/server/PackageWatchdog$MonitoredPackage;-><init>(Lcom/android/server/PackageWatchdog;Ljava/lang/String;JJZLandroid/util/LongArrayQueue;)V HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->getName()Ljava/lang/String; -HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->getShortestScheduleDurationMsLocked()J -HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->isPendingHealthChecksLocked()Z -HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->normalizeMitigationCalls()Landroid/util/LongArrayQueue; -HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->toPositive(J)J HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->toString(I)Ljava/lang/String; HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->updateHealthCheckStateLocked()I HSPLcom/android/server/PackageWatchdog$MonitoredPackage;->writeLocked(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/PackageWatchdog$ObserverInternal;-><init>(Ljava/lang/String;Ljava/util/List;)V HSPLcom/android/server/PackageWatchdog$ObserverInternal;->getMonitoredPackage(Ljava/lang/String;)Lcom/android/server/PackageWatchdog$MonitoredPackage; -HSPLcom/android/server/PackageWatchdog$ObserverInternal;->getMonitoredPackages()Landroid/util/ArrayMap; -HSPLcom/android/server/PackageWatchdog$ObserverInternal;->prunePackagesLocked(J)Ljava/util/Set; HSPLcom/android/server/PackageWatchdog$ObserverInternal;->putMonitoredPackage(Lcom/android/server/PackageWatchdog$MonitoredPackage;)V 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 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 @@ -454,7 +345,6 @@ HSPLcom/android/server/PackageWatchdog;->getNextStateSyncMillisLocked()J HPLcom/android/server/PackageWatchdog;->getPackagesPendingHealthChecksLocked()Ljava/util/Set; HPLcom/android/server/PackageWatchdog;->lambda$startObservingHealth$2(Lcom/android/server/PackageWatchdog$PackageHealthObserver;Ljava/util/List;Ljava/util/List;)V HSPLcom/android/server/PackageWatchdog;->loadFromFile()V -HSPLcom/android/server/PackageWatchdog;->longArrayQueueToString(Landroid/util/LongArrayQueue;)Ljava/lang/String; HSPLcom/android/server/PackageWatchdog;->newMonitoredPackage(Ljava/lang/String;JJZLandroid/util/LongArrayQueue;)Lcom/android/server/PackageWatchdog$MonitoredPackage; HSPLcom/android/server/PackageWatchdog;->noteBoot()V HPLcom/android/server/PackageWatchdog;->onSupportedPackages(Ljava/util/List;)V @@ -463,126 +353,44 @@ HSPLcom/android/server/PackageWatchdog;->parseMonitoredPackage(Lcom/android/modu HSPLcom/android/server/PackageWatchdog;->pruneObserversLocked()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 HPLcom/android/server/PackageWatchdog;->syncRequests()V -HSPLcom/android/server/PackageWatchdog;->syncRequestsAsync()V HSPLcom/android/server/PackageWatchdog;->syncState(Ljava/lang/String;)V -HSPLcom/android/server/PersistentDataBlockService;-><clinit>()V -HSPLcom/android/server/PersistentDataBlockService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/PersistentDataBlockService;->computeDigestLocked([B)[B+]Ljava/io/DataInputStream;Ljava/io/DataInputStream;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; -HSPLcom/android/server/PersistentDataBlockService;->enforceChecksumValidity()Z -HSPLcom/android/server/PersistentDataBlockService;->lambda$onStart$0()V -HSPLcom/android/server/PersistentDataBlockService;->onStart()V -HSPLcom/android/server/PinnerService$$ExternalSyntheticLambda1;-><init>()V -HSPLcom/android/server/PinnerService$1;-><init>(Lcom/android/server/PinnerService;)V -HSPLcom/android/server/PinnerService$2;-><init>(Lcom/android/server/PinnerService;Landroid/os/Handler;Landroid/net/Uri;)V -HSPLcom/android/server/PinnerService$3$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/android/server/PinnerService$3;-><init>(Lcom/android/server/PinnerService;)V -HSPLcom/android/server/PinnerService$3;->onUidActive(I)V -HSPLcom/android/server/PinnerService$3;->onUidGone(IZ)V -HSPLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;)V -HSPLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;Lcom/android/server/PinnerService$BinderService-IA;)V -HSPLcom/android/server/PinnerService$PinRange;-><init>()V -HSPLcom/android/server/PinnerService$PinRangeSource;-><init>()V -HSPLcom/android/server/PinnerService$PinRangeSource;-><init>(Lcom/android/server/PinnerService$PinRangeSource-IA;)V -HSPLcom/android/server/PinnerService$PinRangeSourceStatic;-><init>(II)V -HSPLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z -HSPLcom/android/server/PinnerService$PinRangeSourceStream;->read(Lcom/android/server/PinnerService$PinRange;)Z -HSPLcom/android/server/PinnerService$PinnedFile;-><init>(JILjava/lang/String;I)V -HSPLcom/android/server/PinnerService$PinnerHandler;-><init>(Lcom/android/server/PinnerService;Landroid/os/Looper;)V -HSPLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/PinnerService;->-$$Nest$fgetmPinnerHandler(Lcom/android/server/PinnerService;)Lcom/android/server/PinnerService$PinnerHandler; -HSPLcom/android/server/PinnerService;->-$$Nest$mhandlePinOnStart(Lcom/android/server/PinnerService;)V -HSPLcom/android/server/PinnerService;-><clinit>()V -HSPLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/PinnerService;->clamp(III)I -HSPLcom/android/server/PinnerService;->createPinKeys()Landroid/util/ArraySet; -HSPLcom/android/server/PinnerService;->handlePinOnStart()V HSPLcom/android/server/PinnerService;->handleUidGone(I)V -HSPLcom/android/server/PinnerService;->onStart()V -HSPLcom/android/server/PinnerService;->pinFile(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile; -HSPLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile; -HSPLcom/android/server/PinnerService;->registerUidListener()V -HSPLcom/android/server/PinnerService;->registerUserSetupCompleteListener()V -HSPLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V -HSPLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V -HSPLcom/android/server/PinnerService;->sendPinAppsMessage(I)V HSPLcom/android/server/PinnerService;->updateActiveState(IZ)V -HSPLcom/android/server/RescueParty$RescuePartyMonitorCallback;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/RescueParty$RescuePartyMonitorCallback;->onDeviceConfigAccess(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/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; -HSPLcom/android/server/RescueParty$RescuePartyObserver;->recordDeviceConfigAccess(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/RescueParty;-><clinit>()V -HSPLcom/android/server/RescueParty;->handleNativeRescuePartyResets()V -HSPLcom/android/server/RescueParty;->onSettingsProviderPublished(Landroid/content/Context;)V HSPLcom/android/server/RescueParty;->registerHealthObserver(Landroid/content/Context;)V -HPLcom/android/server/RescueParty;->startObservingPackages(Landroid/content/Context;Ljava/lang/String;)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 -HSPLcom/android/server/SmartStorageMaintIdler;->scheduleSmartIdlePass(Landroid/content/Context;I)V -HSPLcom/android/server/StorageManagerService$1;-><init>(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService$3;-><init>(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService$4;-><init>(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService$5;-><init>(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService$Callbacks;-><init>(Landroid/os/Looper;)V -HSPLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V -HSPLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/StorageManagerService$Lifecycle;->onStart()V -HSPLcom/android/server/StorageManagerService$ObbActionHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V -HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl-IA;)V HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z+]Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl; HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorageAccess(ILjava/lang/String;)Z -HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasLegacyExternalStorage(I)Z +HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasLegacyExternalStorage(I)Z+]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->isExternalStorageService(I)Z -HSPLcom/android/server/StorageManagerService$StorageManagerServiceHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V -HSPLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/StorageManagerService$WatchedLockedUsers;-><init>()V HSPLcom/android/server/StorageManagerService$WatchedLockedUsers;->contains(I)Z -HSPLcom/android/server/StorageManagerService$WatchedLockedUsers;->invalidateIsUserUnlockedCache()V HSPLcom/android/server/StorageManagerService;->-$$Nest$fgetmLock(Lcom/android/server/StorageManagerService;)Ljava/lang/Object; HSPLcom/android/server/StorageManagerService;->-$$Nest$fgetmMediaStoreAuthorityAppId(Lcom/android/server/StorageManagerService;)I HSPLcom/android/server/StorageManagerService;->-$$Nest$mgetMountModeInternal(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I -HSPLcom/android/server/StorageManagerService;->-$$Nest$mhandleDaemonConnected(Lcom/android/server/StorageManagerService;)V -HSPLcom/android/server/StorageManagerService;->-$$Nest$mstart(Lcom/android/server/StorageManagerService;)V HSPLcom/android/server/StorageManagerService;->-$$Nest$sfgetLOCAL_LOGV()Z -HSPLcom/android/server/StorageManagerService;-><clinit>()V -HSPLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/StorageManagerService;->addInternalVolumeLocked()V HPLcom/android/server/StorageManagerService;->adjustAllocateFlags(IILjava/lang/String;)I HPLcom/android/server/StorageManagerService;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V -HSPLcom/android/server/StorageManagerService;->connectStoraged()V -HSPLcom/android/server/StorageManagerService;->connectVold()V HPLcom/android/server/StorageManagerService;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J -HSPLcom/android/server/StorageManagerService;->getDefaultPrimaryStorageUuid()Ljava/lang/String; HPLcom/android/server/StorageManagerService;->getExternalStorageMountMode(ILjava/lang/String;)I HSPLcom/android/server/StorageManagerService;->getMountModeInternal(ILjava/lang/String;)I+]Lcom/android/internal/app/IAppOpsService;Lcom/android/server/appop/AppOpsService;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/os/storage/VolumeInfo;Landroid/os/storage/VolumeInfo;]Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/storage/StorageVolume;Landroid/os/storage/StorageVolume;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;]Landroid/os/storage/VolumeRecord;Landroid/os/storage/VolumeRecord;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; +HSPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/os/storage/VolumeInfo;Landroid/os/storage/VolumeInfo;]Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/storage/StorageVolume;Landroid/os/storage/StorageVolume;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/StorageManagerService;->handleDaemonConnected()V HSPLcom/android/server/StorageManagerService;->isSystemUnlocked(I)Z HSPLcom/android/server/StorageManagerService;->isUidOwnerOfPackageOrSystem(Ljava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/StorageManagerService;->isUserKeyUnlocked(I)Z+]Lcom/android/server/StorageManagerService$WatchedLockedUsers;Lcom/android/server/StorageManagerService$WatchedLockedUsers; -HSPLcom/android/server/StorageManagerService;->lastMaintenance()J -HPLcom/android/server/StorageManagerService;->monitor()V+]Landroid/os/IVold;Landroid/os/IVold$Stub$Proxy; -HSPLcom/android/server/StorageManagerService;->onDaemonConnected()V -HSPLcom/android/server/StorageManagerService;->readSettingsLocked()V -HSPLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V -HSPLcom/android/server/StorageManagerService;->resetIfBootedAndConnected()V -HSPLcom/android/server/StorageManagerService;->restoreLocalUnlockedUsers()V -HPLcom/android/server/StorageManagerService;->runSmartIdleMaint(Ljava/lang/Runnable;)V +HPLcom/android/server/StorageManagerService;->monitor()V +HPLcom/android/server/StorageManagerService;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount; +HPLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V HPLcom/android/server/StorageManagerService;->snapshotAndMonitorLegacyStorageAppOp(Landroid/os/UserHandle;)V -HSPLcom/android/server/StorageManagerService;->start()V HPLcom/android/server/StorageManagerService;->updateLegacyStorageApps(Ljava/lang/String;IZ)V -HSPLcom/android/server/SystemClockTime;-><clinit>()V -HSPLcom/android/server/SystemClockTime;->getCurrentTimeMillis()J -HSPLcom/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 @@ -591,14 +399,11 @@ 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 -HSPLcom/android/server/SystemConfig;->getAllowImplicitBroadcasts()Landroid/util/ArraySet; -HSPLcom/android/server/SystemConfig;->getAllowInPowerSaveExceptIdle()Landroid/util/ArraySet; 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; -HSPLcom/android/server/SystemConfig;->getBugreportWhitelistedPackages()Landroid/util/ArraySet; HSPLcom/android/server/SystemConfig;->getComponentsEnabledStates(Ljava/lang/String;)Landroid/util/ArrayMap; HSPLcom/android/server/SystemConfig;->getGlobalGids()[I HSPLcom/android/server/SystemConfig;->getHiddenApiWhitelistedApps()Landroid/util/ArraySet; @@ -606,7 +411,6 @@ HSPLcom/android/server/SystemConfig;->getInitialNonStoppedSystemPackages()Ljava/ HSPLcom/android/server/SystemConfig;->getInstance()Lcom/android/server/SystemConfig; HSPLcom/android/server/SystemConfig;->getLinkedApps()Landroid/util/ArraySet; HSPLcom/android/server/SystemConfig;->getNamedActors()Ljava/util/Map; -HSPLcom/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; HSPLcom/android/server/SystemConfig;->getSharedLibraries()Landroid/util/ArrayMap; @@ -614,7 +418,6 @@ HSPLcom/android/server/SystemConfig;->getSplitPermissions()Ljava/util/ArrayList; HSPLcom/android/server/SystemConfig;->getSystemAppUpdateOwnerPackageName(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/SystemConfig;->getSystemPermissions()Landroid/util/SparseArray; HSPLcom/android/server/SystemConfig;->isErofsSupported()Z -HSPLcom/android/server/SystemConfig;->isKernelVersionAtLeast(II)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 @@ -628,20 +431,11 @@ HSPLcom/android/server/SystemConfig;->readPrivAppPermissions(Lorg/xmlpull/v1/Xml 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 -HSPLcom/android/server/SystemConfigService$1;-><init>(Lcom/android/server/SystemConfigService;)V -HSPLcom/android/server/SystemConfigService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/SystemConfigService;->onStart()V HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda0;-><init>()V 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 -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda3;-><init>()V -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda3;->run()V -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda4;-><init>()V -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda4;->run()V -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda5;-><init>()V -HSPLcom/android/server/SystemServer$$ExternalSyntheticLambda5;->run()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 @@ -651,18 +445,12 @@ HSPLcom/android/server/SystemServer;-><init>()V HSPLcom/android/server/SystemServer;->createSystemContext()V HSPLcom/android/server/SystemServer;->getDumpableName()Ljava/lang/String; HSPLcom/android/server/SystemServer;->getMaxFd()I -HSPLcom/android/server/SystemServer;->isFirstBootOrUpgrade()Z HSPLcom/android/server/SystemServer;->lambda$spawnFdLeakCheckThread$0(III)V -HSPLcom/android/server/SystemServer;->lambda$startOtherServices$1()V -HSPLcom/android/server/SystemServer;->lambda$startOtherServices$2()V -HSPLcom/android/server/SystemServer;->lambda$startOtherServices$3()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 HSPLcom/android/server/SystemServer;->startBootstrapServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V -HSPLcom/android/server/SystemServer;->startCoreServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V -HSPLcom/android/server/SystemServer;->startOtherServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V HSPLcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda0;-><init>()V HSPLcom/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 @@ -676,7 +464,6 @@ HSPLcom/android/server/SystemServerInitThreadPool;->submit(Ljava/lang/Runnable;L HSPLcom/android/server/SystemServerInitThreadPool;->submitTask(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future; HSPLcom/android/server/SystemService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/SystemService;->getContext()Landroid/content/Context; -HSPLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object; HSPLcom/android/server/SystemService;->onBootPhase(I)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 @@ -686,39 +473,56 @@ 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; -HSPLcom/android/server/SystemServiceManager;->isBootCompleted()Z -HSPLcom/android/server/SystemServiceManager;->isJarInTestApex(Ljava/lang/String;)Z -HSPLcom/android/server/SystemServiceManager;->loadClassFromLoader(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class; -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 +HSPLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$UserCompletedEventType;)V 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; -HSPLcom/android/server/SystemServiceManager;->startServiceFromJar(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/SystemService; -HSPLcom/android/server/SystemServiceManager;->updateOtherServicesStartIndex()V HSPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server/SystemService;Ljava/lang/String;)V HSPLcom/android/server/SystemTimeZone;-><clinit>()V HSPLcom/android/server/SystemTimeZone;->initializeTimeZoneSettingsIfRequired()V HSPLcom/android/server/SystemTimeZone;->isValidTimeZoneId(Ljava/lang/String;)Z HSPLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle; -HSPLcom/android/server/TelephonyRegistry$1;-><init>(Lcom/android/server/TelephonyRegistry;)V -HSPLcom/android/server/TelephonyRegistry$2;-><init>(Lcom/android/server/TelephonyRegistry;)V -HSPLcom/android/server/TelephonyRegistry$ConfigurationProvider;-><init>()V +HPLcom/android/server/TelephonyRegistry$$ExternalSyntheticLambda0;->getOrThrow()Ljava/lang/Object; +HPLcom/android/server/TelephonyRegistry$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)V +HPLcom/android/server/TelephonyRegistry$$ExternalSyntheticLambda2;->getOrThrow()Ljava/lang/Object; HPLcom/android/server/TelephonyRegistry$Record;->matchTelephonyCallbackEvent(I)Z+]Ljava/util/Set;Ljava/util/HashSet; -HSPLcom/android/server/TelephonyRegistry;-><clinit>()V -HSPLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;Lcom/android/server/TelephonyRegistry$ConfigurationProvider;)V -HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/IBinder;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Landroid/os/BinderProxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$ConfigurationProvider;Lcom/android/server/TelephonyRegistry$ConfigurationProvider; +HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;,Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$ConfigurationProvider;Lcom/android/server/TelephonyRegistry$ConfigurationProvider; HSPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V -HPLcom/android/server/TelephonyRegistry;->checkCoarseLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z -HPLcom/android/server/TelephonyRegistry;->checkFineLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z -HSPLcom/android/server/TelephonyRegistry;->createCallQuality()Landroid/telephony/CallQuality; -HSPLcom/android/server/TelephonyRegistry;->createPreciseCallState()Landroid/telephony/PreciseCallState; +HPLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V +HPLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V +HPLcom/android/server/TelephonyRegistry;->checkCoarseLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z+]Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HPLcom/android/server/TelephonyRegistry;->checkFineLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z+]Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HSPLcom/android/server/TelephonyRegistry;->checkListenerPermission(Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z +HPLcom/android/server/TelephonyRegistry;->checkNotifyPermission()Z +HPLcom/android/server/TelephonyRegistry;->createServiceStateBroadcastOptions(IILjava/lang/String;)Landroid/app/BroadcastOptions; +HPLcom/android/server/TelephonyRegistry;->createServiceStateIntent(Landroid/telephony/ServiceState;IIZ)Landroid/content/Intent; +HPLcom/android/server/TelephonyRegistry;->fillInSignalStrengthNotifierBundle(Landroid/telephony/SignalStrength;Landroid/os/Bundle;)V +HPLcom/android/server/TelephonyRegistry;->getLocationSanitizedConfigs(Ljava/util/List;)Ljava/util/List;+]Landroid/telephony/PhysicalChannelConfig;Landroid/telephony/PhysicalChannelConfig;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/TelephonyRegistry;->getPhoneIdFromSubId(I)I HSPLcom/android/server/TelephonyRegistry;->getTelephonyManager()Landroid/telephony/TelephonyManager; +HPLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V+]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/TelephonyRegistry;->idMatch(Lcom/android/server/TelephonyRegistry$Record;II)Z +HSPLcom/android/server/TelephonyRegistry;->isPhoneStatePermissionRequired(Ljava/util/Set;Ljava/lang/String;Landroid/os/UserHandle;)Z +HSPLcom/android/server/TelephonyRegistry;->isPrecisePhoneStatePermissionRequired(Ljava/util/Set;)Z +HSPLcom/android/server/TelephonyRegistry;->isPrivilegedPhoneStatePermissionRequired(Ljava/util/Set;)Z +HPLcom/android/server/TelephonyRegistry;->lambda$checkCoarseLocationAccess$3(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean; +HPLcom/android/server/TelephonyRegistry;->lambda$checkFineLocationAccess$2(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean; HSPLcom/android/server/TelephonyRegistry;->listen(ZZLjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;Ljava/util/Set;ZI)V +HSPLcom/android/server/TelephonyRegistry;->listenWithEventList(ZZILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;[IZ)V +HPLcom/android/server/TelephonyRegistry;->notifyBarringInfoChanged(IILandroid/telephony/BarringInfo;)V+]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/telephony/BarringInfo;Landroid/telephony/BarringInfo; +HPLcom/android/server/TelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V+]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/telephony/CellIdentity;Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy; +HPLcom/android/server/TelephonyRegistry;->notifyDataConnectionForSubscriber(IILandroid/telephony/PreciseDataConnectionState;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;]Landroid/util/LocalLog;Landroid/util/LocalLog;]Landroid/telephony/data/ApnSetting;Landroid/telephony/data/ApnSetting;]Lcom/android/internal/telephony/IPhoneStateListener;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/telephony/PreciseDataConnectionState;Landroid/telephony/PreciseDataConnectionState;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;,Landroid/util/MapCollections$MapIterator; +HPLcom/android/server/TelephonyRegistry;->notifyDisplayInfoChanged(IILandroid/telephony/TelephonyDisplayInfo;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$ConfigurationProvider;Lcom/android/server/TelephonyRegistry$ConfigurationProvider;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/util/LocalLog;Landroid/util/LocalLog; +HPLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList(II)V+]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/telephony/TelephonyManager;Landroid/telephony/TelephonyManager; +HPLcom/android/server/TelephonyRegistry;->notifyLinkCapacityEstimateChanged(IILjava/util/List;)V+]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/TelephonyRegistry;->notifyPhysicalChannelConfigForSubscriber(IILjava/util/List;)V+]Lcom/android/internal/telephony/IPhoneStateListener;Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/telephony/IPhoneStateListener;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;]Landroid/util/LocalLog;Landroid/util/LocalLog; -HPLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V+]Landroid/os/IBinder;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Landroid/os/BinderProxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V+]Lcom/android/internal/telephony/IPhoneStateListener;Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;,Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;]Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry;]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/telephony/TelephonyCallback$IPhoneStateListenerStub;,Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/TelephonyRegistry;->validateEventAndUserLocked(Lcom/android/server/TelephonyRegistry$Record;I)Z+]Lcom/android/server/TelephonyRegistry$Record;Lcom/android/server/TelephonyRegistry$Record; +HSPLcom/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; @@ -727,50 +531,23 @@ HSPLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>(Lcom/android HSPLcom/android/server/ThreadPriorityBooster;-><init>(II)V HSPLcom/android/server/ThreadPriorityBooster;->boost()V+]Ljava/lang/ThreadLocal;Lcom/android/server/ThreadPriorityBooster$1; HSPLcom/android/server/ThreadPriorityBooster;->reset()V+]Ljava/lang/ThreadLocal;Lcom/android/server/ThreadPriorityBooster$1; -HSPLcom/android/server/UiModeManagerInternal;-><init>()V -HSPLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;)V -HSPLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/UiModeManagerService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$10;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/UiModeManagerService$11;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$12;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$1;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$2;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$3;-><init>(Lcom/android/server/UiModeManagerService;)V HPLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HSPLcom/android/server/UiModeManagerService$4;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$5;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$6;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$7;-><init>(Lcom/android/server/UiModeManagerService;)V -HSPLcom/android/server/UiModeManagerService$8;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/UiModeManagerService$9;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/UiModeManagerService$Injector;-><init>()V -HSPLcom/android/server/UiModeManagerService$LocalService;-><init>(Lcom/android/server/UiModeManagerService;)V HSPLcom/android/server/UiModeManagerService;->-$$Nest$fgetmLock(Lcom/android/server/UiModeManagerService;)Ljava/lang/Object; -HPLcom/android/server/UiModeManagerService;->-$$Nest$fputmCharging(Lcom/android/server/UiModeManagerService;Z)V -HSPLcom/android/server/UiModeManagerService;-><clinit>()V -HSPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;ZLcom/android/server/twilight/TwilightManager;Lcom/android/server/UiModeManagerService$Injector;)V HSPLcom/android/server/UiModeManagerService;->applyConfigurationExternallyLocked()V -HSPLcom/android/server/UiModeManagerService;->getComputedUiModeConfiguration(I)I HSPLcom/android/server/UiModeManagerService;->getContrastLocked()F -HSPLcom/android/server/UiModeManagerService;->isDeskDockState(I)Z -HSPLcom/android/server/UiModeManagerService;->lambda$onStart$1(Landroid/content/Context;Landroid/content/res/Resources;)V -HSPLcom/android/server/UiModeManagerService;->onStart()V HPLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V -HSPLcom/android/server/UiModeManagerService;->setupWizardCompleteForCurrentUser()Z HSPLcom/android/server/UiModeManagerService;->unregisterTimeChangeEvent()V HSPLcom/android/server/UiModeManagerService;->updateComputedNightModeLocked(Z)V HSPLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V HPLcom/android/server/UiModeManagerService;->updateLocked(II)V -HSPLcom/android/server/UiModeManagerService;->updateNightModeFromSettingsLocked(Landroid/content/Context;Landroid/content/res/Resources;I)V -HSPLcom/android/server/UiModeManagerService;->updateSystemProperties()V -HSPLcom/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 +HPLcom/android/server/VcnManagementService$TrackingNetworkCallback;->requiresRestartForImmutableCapabilityChanges(Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)Z +HPLcom/android/server/VcnManagementService;->getSubGroupForNetworkCapabilities(Landroid/net/NetworkCapabilities;)Landroid/os/ParcelUuid; +HPLcom/android/server/VcnManagementService;->getUnderlyingNetworkPolicy(Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)Landroid/net/vcn/VcnUnderlyingNetworkPolicy; HPLcom/android/server/VcnManagementService;->lambda$getUnderlyingNetworkPolicy$8(Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)Landroid/net/vcn/VcnUnderlyingNetworkPolicy; HSPLcom/android/server/Watchdog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/Watchdog;)V HSPLcom/android/server/Watchdog$$ExternalSyntheticLambda0;->run()V @@ -782,7 +559,6 @@ HSPLcom/android/server/Watchdog$HandlerChecker;->addMonitorLocked(Lcom/android/s HPLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I HSPLcom/android/server/Watchdog$HandlerChecker;->getThread()Ljava/lang/Thread; HSPLcom/android/server/Watchdog$HandlerChecker;->pauseLocked(Ljava/lang/String;)V -HSPLcom/android/server/Watchdog$HandlerChecker;->resumeLocked(Ljava/lang/String;)V HSPLcom/android/server/Watchdog$HandlerChecker;->run()V+]Lcom/android/server/Watchdog$Monitor;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/Watchdog$HandlerChecker;->scheduleCheckLocked(J)V+]Landroid/os/Handler;Landroid/os/Handler;,Lcom/android/server/pm/PackageHandler;,Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;-><init>(Lcom/android/server/Watchdog$HandlerChecker;Ljava/util/Optional;)V @@ -790,7 +566,6 @@ HSPLcom/android/server/Watchdog$HandlerCheckerAndTimeout;->checker()Lcom/android 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; -HSPLcom/android/server/Watchdog$RebootRequestReceiver;-><init>(Lcom/android/server/Watchdog;)V HSPLcom/android/server/Watchdog;->-$$Nest$fgetmLock(Lcom/android/server/Watchdog;)Ljava/lang/Object; HSPLcom/android/server/Watchdog;-><clinit>()V HSPLcom/android/server/Watchdog;-><init>()V @@ -799,111 +574,45 @@ HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;)V HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;J)V HPLcom/android/server/Watchdog;->evaluateCheckerCompletionLocked()I+]Lcom/android/server/Watchdog$HandlerCheckerAndTimeout;Lcom/android/server/Watchdog$HandlerCheckerAndTimeout;]Lcom/android/server/Watchdog$HandlerChecker;Lcom/android/server/Watchdog$HandlerChecker;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog; -HSPLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/Watchdog;->isInterestingJavaProcess(Ljava/lang/String;)Z HSPLcom/android/server/Watchdog;->pauseWatchingCurrentThread(Ljava/lang/String;)V -HSPLcom/android/server/Watchdog;->resumeWatchingCurrentThread(Ljava/lang/String;)V HSPLcom/android/server/Watchdog;->run()V HSPLcom/android/server/Watchdog;->start()V -HSPLcom/android/server/accessibility/AccessibilityManagerService$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$2;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$3;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$4;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/content/Context;Landroid/os/Handler;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->initializeDisplayList()V -HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->isValidDisplay(Landroid/view/Display;)Z HSPLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;I)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onStart()V -HSPLcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService$MainHandler;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Looper;)V -HSPLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmCurrentUserId(Lcom/android/server/accessibility/AccessibilityManagerService;)I -HSPLcom/android/server/accessibility/AccessibilityManagerService;->-$$Nest$fgetmLock(Lcom/android/server/accessibility/AccessibilityManagerService;)Ljava/lang/Object; -HSPLcom/android/server/accessibility/AccessibilityManagerService;-><clinit>()V -HSPLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J -HSPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I -HSPLcom/android/server/accessibility/AccessibilityManagerService;->disableAccessibilityMenuToMigrateIfNeeded()V -HSPLcom/android/server/accessibility/AccessibilityManagerService;->getClientStateLocked(Lcom/android/server/accessibility/AccessibilityUserState;)I +HSPLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserIdLocked()I HSPLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserStateLocked()Lcom/android/server/accessibility/AccessibilityUserState; HSPLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List; HSPLcom/android/server/accessibility/AccessibilityManagerService;->getFocusColor()I HSPLcom/android/server/accessibility/AccessibilityManagerService;->getFocusStrokeWidth()I HSPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J HSPLcom/android/server/accessibility/AccessibilityManagerService;->getUserStateLocked(I)Lcom/android/server/accessibility/AccessibilityUserState; -HSPLcom/android/server/accessibility/AccessibilityManagerService;->init()V -HPLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z -HSPLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V +HPLcom/android/server/accessibility/AccessibilityManagerService;->scheduleCreateImeSession(Landroid/util/ArraySet;)V +HPLcom/android/server/accessibility/AccessibilityManagerService;->scheduleStartInput(Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V +HPLcom/android/server/accessibility/AccessibilityManagerService;->startInput(Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;Z)V HPLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V -HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;-><clinit>()V HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveProfileParentLocked(I)I -HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->setAccessibilityWindowManager(Lcom/android/server/accessibility/AccessibilityWindowManager;)V -HSPLcom/android/server/accessibility/AccessibilityTraceManager;-><clinit>()V -HSPLcom/android/server/accessibility/AccessibilityTraceManager;-><init>(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal;Lcom/android/server/accessibility/AccessibilityManagerService;Ljava/lang/Object;)V -HSPLcom/android/server/accessibility/AccessibilityTraceManager;->getInstance(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal;Lcom/android/server/accessibility/AccessibilityManagerService;Ljava/lang/Object;)Lcom/android/server/accessibility/AccessibilityTraceManager; -HSPLcom/android/server/accessibility/AccessibilityTraceManager;->getTraceStateForAccessibilityManagerClientState()I HSPLcom/android/server/accessibility/AccessibilityTraceManager;->isA11yTracingEnabledForTypes(J)Z -HSPLcom/android/server/accessibility/AccessibilityUserState;->isHandlingAccessibilityEventsLocked()Z -HSPLcom/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 -HSPLcom/android/server/accessibility/CaptioningManagerImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$1;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$2;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$3;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$4;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$FlashBroadcastReceiver;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$FlashContentObserver;-><init>(Lcom/android/server/accessibility/FlashNotificationsController;Landroid/os/Handler;)V -HSPLcom/android/server/accessibility/FlashNotificationsController$FlashContentObserver;->register(Landroid/content/ContentResolver;)V -HSPLcom/android/server/accessibility/FlashNotificationsController;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accessibility/FlashNotificationsController;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)V -HSPLcom/android/server/accessibility/FlashNotificationsController;->getStartedHandler(Ljava/lang/String;)Landroid/os/Handler; -HSPLcom/android/server/accessibility/PolicyWarningUIController$NotificationController;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accessibility/PolicyWarningUIController;-><clinit>()V -HSPLcom/android/server/accessibility/PolicyWarningUIController;-><init>(Landroid/os/Handler;Landroid/content/Context;Lcom/android/server/accessibility/PolicyWarningUIController$NotificationController;)V +HPLcom/android/server/accessibility/FlashNotificationsController$4;->onDisplayChanged(I)V +HPLcom/android/server/accessibility/FlashNotificationsController;->requestStartFlashNotification(Lcom/android/server/accessibility/FlashNotificationsController$FlashNotification;)V +HPLcom/android/server/accessibility/FlashNotificationsController;->startFlashNotification(Lcom/android/server/accessibility/FlashNotificationsController$FlashNotification;)V HSPLcom/android/server/accessibility/ProxyManager;->getFirstDeviceIdForUidLocked(I)I HSPLcom/android/server/accessibility/ProxyManager;->getFirstProxyForDeviceIdLocked(I)Lcom/android/server/accessibility/ProxyAccessibilityServiceConnection; HSPLcom/android/server/accessibility/ProxyManager;->getLocalVdm()Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal; HSPLcom/android/server/accessibility/ProxyManager;->isProxyedDeviceId(I)Z -HSPLcom/android/server/accessibility/UiAutomationManager$1;-><init>(Lcom/android/server/accessibility/UiAutomationManager;)V -HSPLcom/android/server/accessibility/UiAutomationManager;-><clinit>()V -HSPLcom/android/server/accessibility/UiAutomationManager;-><init>(Ljava/lang/Object;)V -HSPLcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag;->addOnChangedListener(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Landroid/provider/DeviceConfig$OnPropertiesChangedListener; -HSPLcom/android/server/accessibility/magnification/MagnificationProcessor;-><init>(Lcom/android/server/accessibility/magnification/MagnificationController;)V -HSPLcom/android/server/accessibility/magnification/MagnificationScaleProvider;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>()V -HSPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$MySerializer-IA;)V -HSPLcom/android/server/accounts/AccountAuthenticatorCache;-><clinit>()V -HSPLcom/android/server/accounts/AccountAuthenticatorCache;-><init>(Landroid/content/Context;)V -HPLcom/android/server/accounts/AccountAuthenticatorCache;->getServiceInfo(Landroid/accounts/AuthenticatorDescription;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo; +HSPLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z +HSPLcom/android/server/accessibility/UiAutomationManager;->useAccessibility()Z HSPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription; -HSPLcom/android/server/accounts/AccountManagerService$1;-><init>(Lcom/android/server/accounts/AccountManagerService;)V -HSPLcom/android/server/accounts/AccountManagerService$2;-><init>(Lcom/android/server/accounts/AccountManagerService;)V -HSPLcom/android/server/accounts/AccountManagerService$3;-><init>(Lcom/android/server/accounts/AccountManagerService;)V -HSPLcom/android/server/accounts/AccountManagerService$4;-><init>(Lcom/android/server/accounts/AccountManagerService;)V HPLcom/android/server/accounts/AccountManagerService$8;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZLandroid/os/Bundle;Landroid/accounts/Account;Ljava/lang/String;ZZLjava/lang/String;IZ[BLcom/android/server/accounts/AccountManagerService$UserAccounts;)V HPLcom/android/server/accounts/AccountManagerService$8;->onResult(Landroid/os/Bundle;)V HPLcom/android/server/accounts/AccountManagerService$8;->run()V -HSPLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;)V -HSPLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl-IA;)V HPLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->hasAccountAccess(Landroid/accounts/Account;I)Z HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;ILjava/lang/String;Z)V HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->checkAccount()V HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->onResult(Landroid/os/Bundle;)V HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->run()V HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->sendResult()V -HSPLcom/android/server/accounts/AccountManagerService$Injector;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V -HSPLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache; -HSPLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper; -HPLcom/android/server/accounts/AccountManagerService$Injector;->getNotificationManager()Landroid/app/INotificationManager; -HSPLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V -HSPLcom/android/server/accounts/AccountManagerService$MessageHandler;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/os/Looper;)V -HPLcom/android/server/accounts/AccountManagerService$NotificationId;->-$$Nest$fgetmId(Lcom/android/server/accounts/AccountManagerService$NotificationId;)I -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;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 HPLcom/android/server/accounts/AccountManagerService$Session;->bind()V HPLcom/android/server/accounts/AccountManagerService$Session;->bindToAuthenticator(Ljava/lang/String;)Z @@ -911,21 +620,13 @@ HPLcom/android/server/accounts/AccountManagerService$Session;->cancelTimeout()V HPLcom/android/server/accounts/AccountManagerService$Session;->checkKeyIntent(ILandroid/os/Bundle;)Z HPLcom/android/server/accounts/AccountManagerService$Session;->checkKeyIntentParceledCorrectly(Landroid/os/Bundle;)Z HPLcom/android/server/accounts/AccountManagerService$Session;->close()V -HPLcom/android/server/accounts/AccountManagerService$Session;->getResponseAndClose()Landroid/accounts/IAccountManagerResponse; HPLcom/android/server/accounts/AccountManagerService$Session;->onResult(Landroid/os/Bundle;)V HPLcom/android/server/accounts/AccountManagerService$Session;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V HPLcom/android/server/accounts/AccountManagerService$Session;->unbind()V -HPLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;->onResult(Landroid/os/Bundle;)V -HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetaccountTokenCaches(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Lcom/android/server/accounts/TokenCache; HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetauthTokenCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map; -HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetsigninRequiredNotificationIds(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/HashMap; HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetuserDataCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map; HSPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetuserId(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I HSPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fgetvisibilityCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map; -HPLcom/android/server/accounts/AccountManagerService;->-$$Nest$fgetmSessions(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/LinkedHashMap; -HPLcom/android/server/accounts/AccountManagerService;->-$$Nest$mhasAccountAccess(Lcom/android/server/accounts/AccountManagerService;Landroid/accounts/Account;Ljava/lang/String;I)Z -HSPLcom/android/server/accounts/AccountManagerService;-><clinit>()V -HSPLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V HPLcom/android/server/accounts/AccountManagerService;->accountExistsCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Z+]Ljava/util/HashMap;Ljava/util/LinkedHashMap; HPLcom/android/server/accounts/AccountManagerService;->accountTypeManagesContacts(Ljava/lang/String;I)Z HPLcom/android/server/accounts/AccountManagerService;->calculatePackageSignatureDigest(Ljava/lang/String;I)[B @@ -941,16 +642,16 @@ HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPacka HSPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Ljava/util/HashMap;Ljava/util/LinkedHashMap;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/Collection;Ljava/util/LinkedHashMap$LinkedValues;]Ljava/util/Iterator;Ljava/util/LinkedHashMap$LinkedValueIterator; HSPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/accounts/AccountManagerService;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V -HPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypesInternal(II)[Landroid/accounts/AuthenticatorDescription; +HPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypesInternal(II)[Landroid/accounts/AuthenticatorDescription;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; HPLcom/android/server/accounts/AccountManagerService;->getPackageNameForUid(I)Ljava/lang/String; -HPLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map; +HPLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;+]Ljava/util/Map;Ljava/util/HashMap; HPLcom/android/server/accounts/AccountManagerService;->getPassword(Landroid/accounts/Account;)Ljava/lang/String; HPLcom/android/server/accounts/AccountManagerService;->getSigninRequiredNotificationId(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Lcom/android/server/accounts/AccountManagerService$NotificationId; HSPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;+]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/accounts/AccountManagerService;->getTypesManagedByCaller(II)Ljava/util/List;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService; -HSPLcom/android/server/accounts/AccountManagerService;->getTypesVisibleToCaller(IILjava/lang/String;)Ljava/util/List; +HSPLcom/android/server/accounts/AccountManagerService;->getTypesVisibleToCaller(IILjava/lang/String;)Ljava/util/List;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService; HSPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService; -HSPLcom/android/server/accounts/AccountManagerService;->getUserAccountsNotChecked(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;+]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/accounts/AccountManagerService;->getUserAccountsNotChecked(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;+]Lcom/android/server/accounts/AccountsDb;Lcom/android/server/accounts/AccountsDb;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/accounts/AccountManagerService$Injector;Lcom/android/server/accounts/AccountManagerService$Injector;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/accounts/AccountManagerService;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService; HSPLcom/android/server/accounts/AccountManagerService;->getUserManager()Landroid/os/UserManager; HPLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;I)Z @@ -960,26 +661,23 @@ HPLcom/android/server/accounts/AccountManagerService;->invalidateAuthToken(Ljava HPLcom/android/server/accounts/AccountManagerService;->invalidateAuthTokenLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; HPLcom/android/server/accounts/AccountManagerService;->isAccountManagedByCaller(Ljava/lang/String;II)Z+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; -HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;I[Ljava/lang/String;)Z +HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;I[Ljava/lang/String;)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HPLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)Z -HPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z +HPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/PackageManager$NameNotFoundException;Landroid/content/pm/PackageManager$NameNotFoundException;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HPLcom/android/server/accounts/AccountManagerService;->isProfileOwner(I)Z -HPLcom/android/server/accounts/AccountManagerService;->lambda$new$0(I)V HPLcom/android/server/accounts/AccountManagerService;->logGetAuthTokenMetrics(Ljava/lang/String;Ljava/lang/String;)V -HPLcom/android/server/accounts/AccountManagerService;->onAccountAccessed(Ljava/lang/String;)V -HPLcom/android/server/accounts/AccountManagerService;->onResult(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;)V +HPLcom/android/server/accounts/AccountManagerService;->onAccountAccessed(Ljava/lang/String;)V+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Landroid/accounts/Account;Landroid/accounts/Account;]Landroid/content/Context;Landroid/app/ContextImpl; HPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HPLcom/android/server/accounts/AccountManagerService;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String; HPLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z HPLcom/android/server/accounts/AccountManagerService;->readAuthTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String; HPLcom/android/server/accounts/AccountManagerService;->readCachedTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Lcom/android/server/accounts/TokenCache$Value; HPLcom/android/server/accounts/AccountManagerService;->readPasswordInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Ljava/lang/String; -HPLcom/android/server/accounts/AccountManagerService;->readUserDataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String; +HPLcom/android/server/accounts/AccountManagerService;->readUserDataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;+]Ljava/util/Map;Ljava/util/HashMap; 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 HSPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HPLcom/android/server/accounts/AccountManagerService;->saveAuthTokenToDatabase(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)Z -HPLcom/android/server/accounts/AccountManagerService;->saveCachedToken(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;[BLjava/lang/String;Ljava/lang/String;J)V HPLcom/android/server/accounts/AccountManagerService;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/accounts/AccountManagerService;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/accounts/AccountManagerService;->setUserdataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V @@ -1003,15 +701,9 @@ HPLcom/android/server/accounts/AccountsDb;->updateExtra(JLjava/lang/String;)Z HPLcom/android/server/accounts/TokenCache$Key;-><init>(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)V HPLcom/android/server/accounts/TokenCache$Key;->equals(Ljava/lang/Object;)Z HPLcom/android/server/accounts/TokenCache$Key;->hashCode()I -HPLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;-><init>(Lcom/android/server/accounts/TokenCache$TokenLruCache;)V -HPLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;->evict()V -HPLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;Lcom/android/server/accounts/TokenCache$Value;)V -HPLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V HPLcom/android/server/accounts/TokenCache$TokenLruCache;->evict(Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/accounts/TokenCache$TokenLruCache;->putToken(Lcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;)V -HPLcom/android/server/accounts/TokenCache$TokenLruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HPLcom/android/server/accounts/TokenCache;->get(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Lcom/android/server/accounts/TokenCache$Value; -HPLcom/android/server/accounts/TokenCache;->put(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BJ)V HPLcom/android/server/accounts/TokenCache;->remove(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/alarm/Alarm$Snapshot;-><init>(Lcom/android/server/alarm/Alarm;)V HSPLcom/android/server/alarm/Alarm;->-$$Nest$fgetmPolicyWhenElapsed(Lcom/android/server/alarm/Alarm;)[J @@ -1022,30 +714,16 @@ HSPLcom/android/server/alarm/Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/la HSPLcom/android/server/alarm/Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z+]Landroid/app/IAlarmListener;Landroid/app/IAlarmListener$Stub$Proxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Ljava/lang/Object;Landroid/os/BinderProxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3; HSPLcom/android/server/alarm/Alarm;->setPolicyElapsed(IJ)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm; HSPLcom/android/server/alarm/Alarm;->updateWhenElapsed()Z -HSPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HSPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda7;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z -HSPLcom/android/server/alarm/AlarmManagerService$1;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$2;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$3;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$5;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$8;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;-><init>(I)V HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler;->lambda$handleMessage$0(ILcom/android/server/alarm/Alarm;)Z -HSPLcom/android/server/alarm/AlarmManagerService$AlarmThread;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HSPLcom/android/server/alarm/AlarmManagerService$AlarmThread;->run()V HPLcom/android/server/alarm/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V -HSPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;-><init>(J)V HPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I HPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->recordAlarmForPackage(Ljava/lang/String;IJ)V -HSPLcom/android/server/alarm/AlarmManagerService$ChargingReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$ClockReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HSPLcom/android/server/alarm/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V -HSPLcom/android/server/alarm/AlarmManagerService$Constants;-><init>(Lcom/android/server/alarm/AlarmManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/alarm/AlarmManagerService$Constants;->updateAllowWhileIdleWhitelistDurationLocked()V -HSPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V HSPLcom/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 @@ -1054,58 +732,39 @@ HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->removeLocked(L 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 HSPLcom/android/server/alarm/AlarmManagerService$InFlight;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;J)V -HSPLcom/android/server/alarm/AlarmManagerService$InFlight;->isBroadcast()Z -HSPLcom/android/server/alarm/AlarmManagerService$Injector;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getAlarmWakeLock()Landroid/os/PowerManager$WakeLock; HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getCallingUid()I -HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getClockReceiver(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/alarm/AlarmManagerService$ClockReceiver; HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getCurrentTimeMillis()J HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getElapsedRealtimeMillis()J -HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getSystemUiUid(Landroid/content/pm/PackageManagerInternal;)I -HSPLcom/android/server/alarm/AlarmManagerService$Injector;->init()V -HSPLcom/android/server/alarm/AlarmManagerService$Injector;->initializeTimeIfRequired()V HSPLcom/android/server/alarm/AlarmManagerService$Injector;->isAlarmDriverPresent()Z HSPLcom/android/server/alarm/AlarmManagerService$Injector;->setAlarm(IJ)V HSPLcom/android/server/alarm/AlarmManagerService$Injector;->waitForAlarm()I -HSPLcom/android/server/alarm/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/android/server/alarm/AlarmManagerService$LocalService;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HSPLcom/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 HSPLcom/android/server/alarm/AlarmManagerService$LocalService;->shouldGetBucketElevation(Ljava/lang/String;I)Z+]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/android/server/alarm/AlarmManagerService$RemovedAlarm;-><init>(Lcom/android/server/alarm/Alarm;IJJ)V -HSPLcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;-><init>(J)V -HSPLcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;->cleanUpExpiredQuotas(J)V -HSPLcom/android/server/alarm/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/alarm/AlarmManagerService;)V -HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmActivityManagerInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/app/ActivityManagerInternal; +HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmActivityManagerInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/app/ActivityManagerInternal; HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmAppStateTracker(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/AppStateTrackerImpl; HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmInjector(Lcom/android/server/alarm/AlarmManagerService;)Lcom/android/server/alarm/AlarmManagerService$Injector; -HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmListenerFinishCount(Lcom/android/server/alarm/AlarmManagerService;)I HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fgetmPackageManagerInternal(Lcom/android/server/alarm/AlarmManagerService;)Landroid/content/pm/PackageManagerInternal; -HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$fputmListenerFinishCount(Lcom/android/server/alarm/AlarmManagerService;I)V -HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$sminit()J +HPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$mremoveAlarmsInternalLocked(Lcom/android/server/alarm/AlarmManagerService;Ljava/util/function/Predicate;I)V HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smisExactAlarmChangeEnabled(Ljava/lang/String;I)Z HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smset(JIJJ)I -HSPLcom/android/server/alarm/AlarmManagerService;->-$$Nest$smwaitForAlarm(J)I -HSPLcom/android/server/alarm/AlarmManagerService;-><clinit>()V -HSPLcom/android/server/alarm/AlarmManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/alarm/AlarmManagerService;-><init>(Landroid/content/Context;Lcom/android/server/alarm/AlarmManagerService$Injector;)V HSPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnBatterySaver(Lcom/android/server/alarm/Alarm;)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory; -HSPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/alarm/Alarm;)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Lcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;Lcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve; +HSPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/alarm/Alarm;)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;Lcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnDeviceIdle(Lcom/android/server/alarm/Alarm;)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory; HSPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnTareLocked(Lcom/android/server/alarm/Alarm;)Z+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector; HSPLcom/android/server/alarm/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/alarm/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z HSPLcom/android/server/alarm/AlarmManagerService;->clampPositive(J)J HSPLcom/android/server/alarm/AlarmManagerService;->convertToElapsed(JI)J+]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector; HSPLcom/android/server/alarm/AlarmManagerService;->decrementAlarmCount(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/alarm/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; -HSPLcom/android/server/alarm/AlarmManagerService;->getAlarmAttributionUid(Lcom/android/server/alarm/Alarm;)I +HSPLcom/android/server/alarm/AlarmManagerService;->getMinimumAllowedWindow(JJ)J HPLcom/android/server/alarm/AlarmManagerService;->getQuotaForBucketLocked(I)I HSPLcom/android/server/alarm/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/alarm/AlarmManagerService$BroadcastStats; HSPLcom/android/server/alarm/AlarmManagerService;->hasScheduleExactAlarmInternal(Ljava/lang/String;I)Z+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/SystemService;Lcom/android/server/alarm/AlarmManagerService;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;,Ljava/util/Collections$EmptySet; HSPLcom/android/server/alarm/AlarmManagerService;->hasUseExactAlarmInternal(Ljava/lang/String;I)Z+]Lcom/android/server/SystemService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/android/server/alarm/AlarmManagerService;->increment(Landroid/util/SparseIntArray;I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/alarm/AlarmManagerService;->incrementAlarmCount(I)V +HPLcom/android/server/alarm/AlarmManagerService;->interactiveStateChangedLocked(Z)V HSPLcom/android/server/alarm/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/alarm/Alarm;)Z HSPLcom/android/server/alarm/AlarmManagerService;->isExactAlarmChangeEnabled(Ljava/lang/String;I)Z HSPLcom/android/server/alarm/AlarmManagerService;->isExemptFromAppStandby(Lcom/android/server/alarm/Alarm;)Z @@ -1114,18 +773,15 @@ HSPLcom/android/server/alarm/AlarmManagerService;->isExemptFromExactAlarmPermiss HSPLcom/android/server/alarm/AlarmManagerService;->isRtc(I)Z HSPLcom/android/server/alarm/AlarmManagerService;->isScheduleExactAlarmDeniedByDefault(Ljava/lang/String;I)Z HSPLcom/android/server/alarm/AlarmManagerService;->isUseExactAlarmEnabled(Ljava/lang/String;I)Z -HSPLcom/android/server/alarm/AlarmManagerService;->logAlarmBatchDelivered(IILandroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HSPLcom/android/server/alarm/AlarmManagerService;->makeBasicAlarmBroadcastOptions()Landroid/app/BroadcastOptions; +HSPLcom/android/server/alarm/AlarmManagerService;->logAlarmBatchDelivered(IILandroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V HSPLcom/android/server/alarm/AlarmManagerService;->maxTriggerTime(JJJ)J HSPLcom/android/server/alarm/AlarmManagerService;->maybeUnregisterTareListenerLocked(Lcom/android/server/alarm/Alarm;)V -HSPLcom/android/server/alarm/AlarmManagerService;->onBootPhase(I)V -HSPLcom/android/server/alarm/AlarmManagerService;->onStart()V HSPLcom/android/server/alarm/AlarmManagerService;->registerTareListener(Lcom/android/server/alarm/Alarm;)V -HSPLcom/android/server/alarm/AlarmManagerService;->removeAlarmsInternalLocked(Ljava/util/function/Predicate;I)V+]Landroid/app/IAlarmListener;Landroid/app/IAlarmListener$Stub$Proxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/util/RingBuffer;Lcom/android/internal/util/RingBuffer;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/function/Predicate;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda10;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda18;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/alarm/AlarmManagerService;->removeAlarmsInternalLocked(Ljava/util/function/Predicate;I)V+]Landroid/app/IAlarmListener;Landroid/app/IAlarmListener$Stub$Proxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/util/RingBuffer;Lcom/android/internal/util/RingBuffer;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/function/Predicate;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda10;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda18;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/server/alarm/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;I)V+]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/android/server/alarm/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z -HSPLcom/android/server/alarm/AlarmManagerService;->reportAlarmEventToTare(Lcom/android/server/alarm/Alarm;)V HSPLcom/android/server/alarm/AlarmManagerService;->rescheduleKernelAlarmsLocked()V+]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; +HSPLcom/android/server/alarm/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V HSPLcom/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+]Landroid/app/IAlarmListener;Landroid/app/IAlarmListener$Stub$Proxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector;]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/app/AlarmManager$ListenerWrapper;,Lcom/android/server/alarm/AlarmManagerService$3;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/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+]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/android/server/alarm/AlarmManagerService;->setImplLocked(Lcom/android/server/alarm/Alarm;)V+]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; @@ -1133,31 +789,22 @@ HSPLcom/android/server/alarm/AlarmManagerService;->setLocked(IJ)V+]Lcom/android/ HSPLcom/android/server/alarm/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V HSPLcom/android/server/alarm/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;J)I+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService; HSPLcom/android/server/alarm/AlarmManagerService;->updateNextAlarmClockLocked()V+]Ljava/lang/Object;Landroid/app/AlarmManager$AlarmClockInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/alarm/AlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/AlarmManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HSPLcom/android/server/alarm/LazyAlarmStore$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/alarm/LazyAlarmStore$$ExternalSyntheticLambda0;->applyAsLong(Ljava/lang/Object;)J+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm; -HSPLcom/android/server/alarm/LazyAlarmStore;-><clinit>()V -HSPLcom/android/server/alarm/LazyAlarmStore;-><init>()V HSPLcom/android/server/alarm/LazyAlarmStore;->add(Lcom/android/server/alarm/Alarm;)V -HSPLcom/android/server/alarm/LazyAlarmStore;->addAll(Ljava/util/ArrayList;)V HPLcom/android/server/alarm/LazyAlarmStore;->getCount(Ljava/util/function/Predicate;)I+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Ljava/util/function/Predicate;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/server/alarm/LazyAlarmStore;->getNextDeliveryTime()J+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/alarm/LazyAlarmStore;->getNextWakeupDeliveryTime()J+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/alarm/LazyAlarmStore;->remove(Ljava/util/function/Predicate;)Ljava/util/ArrayList;+]Ljava/util/function/Predicate;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda10;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda18;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/alarm/LazyAlarmStore;->remove(Ljava/util/function/Predicate;)Ljava/util/ArrayList;+]Ljava/util/function/Predicate;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda10;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda18;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda6;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Runnable;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3; HSPLcom/android/server/alarm/LazyAlarmStore;->removePendingAlarms(J)Ljava/util/ArrayList;+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm;]Lcom/android/server/alarm/LazyAlarmStore;Lcom/android/server/alarm/LazyAlarmStore;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/alarm/LazyAlarmStore;->setAlarmClockRemovalListener(Ljava/lang/Runnable;)V HSPLcom/android/server/alarm/LazyAlarmStore;->size()I HSPLcom/android/server/alarm/LazyAlarmStore;->updateAlarmDeliveries(Lcom/android/server/alarm/AlarmStore$AlarmDeliveryCalculator;)Z+]Lcom/android/server/alarm/AlarmStore$AlarmDeliveryCalculator;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HSPLcom/android/server/alarm/MetricsHelper;-><init>(Landroid/content/Context;Ljava/lang/Object;)V HSPLcom/android/server/alarm/MetricsHelper;->pushAlarmScheduled(Lcom/android/server/alarm/Alarm;I)V -HSPLcom/android/server/alarm/MetricsHelper;->reasonToStatsReason(I)I HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/ActiveServices;ILandroid/util/ArraySet;)V HPLcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object; 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 -HPLcom/android/server/am/ActiveServices$AppOpCallback;-><init>(Lcom/android/server/am/ProcessRecord;Landroid/app/AppOpsManager;)V HSPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Landroid/content/ComponentName;)V HSPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V+]Landroid/os/Handler;Lcom/android/server/am/ActiveServices$ServiceMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/am/ActiveServices$ServiceMap;->handleMessage(Landroid/os/Message;)V HPLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V HSPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;)V HSPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$ServiceRestarter-IA;)V @@ -1167,18 +814,17 @@ HSPLcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/Activit HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z -HSPLcom/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+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ActiveServices$ServiceMap;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ActivityServiceConnectionsHolder;Lcom/android/server/wm/ActivityServiceConnectionsHolder; +HSPLcom/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+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ActiveServices$ServiceMap;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ActivityServiceConnectionsHolder;Lcom/android/server/wm/ActivityServiceConnectionsHolder;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/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+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ForegroundServiceTypeLoggerModule;Lcom/android/server/am/ForegroundServiceTypeLoggerModule;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ActiveServices$ServiceRestarter;Lcom/android/server/am/ActiveServices$ServiceRestarter;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ActiveServices$ServiceMap;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; -HSPLcom/android/server/am/ActiveServices;->bringUpServiceInnerLocked(Lcom/android/server/am/ServiceRecord;IZZZZZ)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; +HSPLcom/android/server/am/ActiveServices;->bringUpServiceInnerLocked(Lcom/android/server/am/ServiceRecord;IZZZZZ)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZZZ)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;I)Z+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActiveServices;->canBindingClientStartFgsLocked(I)Ljava/lang/String; HPLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; -HPLcom/android/server/am/ActiveServices;->clearRestartingIfNeededLocked(Lcom/android/server/am/ServiceRecord;)V -HPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z -HSPLcom/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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLcom/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+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ActiveServices;->dropFgsNotificationStateLocked(Lcom/android/server/am/ServiceRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord; HPLcom/android/server/am/ActiveServices;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Lcom/android/server/am/ServiceRecord; HPLcom/android/server/am/ActiveServices;->foregroundServiceProcStateChangedLocked(Lcom/android/server/am/UidRecord;)V @@ -1193,12 +839,11 @@ HSPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/se HSPLcom/android/server/am/ActiveServices;->getShortProcessNameForStats(ILjava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/am/ActiveServices;->getShortServiceNameForStats(Lcom/android/server/am/ServiceRecord;)Ljava/lang/String;+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/am/ActiveServices;->hasForegroundServiceNotificationLocked(Ljava/lang/String;ILjava/lang/String;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/app/Notification;Landroid/app/Notification; -HPLcom/android/server/am/ActiveServices;->isServiceNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)Z+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord; +HSPLcom/android/server/am/ActiveServices;->isServiceNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)Z+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord; HSPLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V -HPLcom/android/server/am/ActiveServices;->lambda$canBindingClientStartFgsLocked$6(ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Landroid/util/Pair;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +HPLcom/android/server/am/ActiveServices;->lambda$canBindingClientStartFgsLocked$6(ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Landroid/util/Pair;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ActiveServices;->lambda$shouldAllowFgsStartForegroundNoBindingCheckLocked$7(IZLcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/ActiveServices;->lambda$shouldAllowFgsWhileInUsePermissionByBindingsLocked$5(ILandroid/util/ArraySet;Lcom/android/server/am/ProcessRecord;)Ljava/lang/Integer;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -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 HPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ActiveServices;->maybeLogBindCrossProfileService(ILjava/lang/String;I)V+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/app/admin/DevicePolicyEventLogger;Landroid/app/admin/DevicePolicyEventLogger; @@ -1206,30 +851,30 @@ HPLcom/android/server/am/ActiveServices;->maybeStopShortFgsTimeoutLocked(Lcom/an HSPLcom/android/server/am/ActiveServices;->notifyBindingServiceEventLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/os/Message;Landroid/os/Message; HPLcom/android/server/am/ActiveServices;->onForegroundServiceNotificationUpdateLocked(ZLandroid/app/Notification;ILjava/lang/String;I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ActiveServices;->performScheduleRestartLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;Ljava/lang/String;J)V -HPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Landroid/app/IApplicationThread;ILcom/android/server/am/UidRecord;ZZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Z)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityServiceConnectionsHolder;Lcom/android/server/wm/ActivityServiceConnectionsHolder;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; +HPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Z)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityServiceConnectionsHolder;Lcom/android/server/wm/ActivityServiceConnectionsHolder;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Intent$FilterComparison;Landroid/content/Intent$FilterComparison;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/am/ActiveServices;->requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;Ljava/lang/String;ILandroid/content/Intent;ZIZLandroid/app/IServiceConnection;)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActiveServices;->resetFgsRestrictionLocked(Lcom/android/server/am/ServiceRecord;)V+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord; -HSPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZLandroid/app/ForegroundServiceDelegationOptions;Z)Lcom/android/server/am/ActiveServices$ServiceLookupResult;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ComponentAliasResolver;Lcom/android/server/am/ComponentAliasResolver;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/am/ActiveServices$ServiceRestarter;Lcom/android/server/am/ActiveServices$ServiceRestarter;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; -HPLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ServiceRecord$StartItem;Lcom/android/server/am/ServiceRecord$StartItem;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; +HSPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZLandroid/app/ForegroundServiceDelegationOptions;Z)Lcom/android/server/am/ActiveServices$ServiceLookupResult;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ComponentAliasResolver;Lcom/android/server/am/ComponentAliasResolver;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/am/ActiveServices$ServiceRestarter;Lcom/android/server/am/ActiveServices$ServiceRestarter;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ServiceRecord$StartItem;Lcom/android/server/am/ServiceRecord$StartItem;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V+]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ServiceRecord$StartItem;Lcom/android/server/am/ServiceRecord$StartItem;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy; -HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;IIIZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZZI)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;IIIZ)V+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZZI)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActiveServices;->setFgsRestrictionLocked(Ljava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;ILandroid/app/BackgroundStartPrivileges;Z)V+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->setFgsRestrictionLocked(Ljava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;ILandroid/app/BackgroundStartPrivileges;ZZ)V+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HPLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;II)V -HSPLcom/android/server/am/ActiveServices;->shouldAllowFgsStartForegroundNoBindingCheckLocked(IIILjava/lang/String;Lcom/android/server/am/ServiceRecord;Landroid/app/BackgroundStartPrivileges;)I+]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActiveServices;->shouldAllowFgsStartForegroundNoBindingCheckLocked(IIILjava/lang/String;Lcom/android/server/am/ServiceRecord;Landroid/app/BackgroundStartPrivileges;)I+]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->shouldAllowFgsStartForegroundWithBindingCheckLocked(ILjava/lang/String;IILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;Landroid/app/BackgroundStartPrivileges;Z)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActiveServices;->shouldAllowFgsWhileInUsePermissionByBindingsLocked(I)I HSPLcom/android/server/am/ActiveServices;->shouldAllowFgsWhileInUsePermissionLocked(Ljava/lang/String;IILcom/android/server/am/ProcessRecord;Landroid/app/BackgroundStartPrivileges;)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActiveServices;->shouldShowFgsNotificationLocked(Lcom/android/server/am/ServiceRecord;)Z 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;+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ActiveServices$ServiceMap;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/Intent;Landroid/content/Intent; -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;+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; -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;+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +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;+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; +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;+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; 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;+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ActiveServices$ServiceMap;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActiveServices;->stopServiceAndUpdateAllowlistManagerLocked(Lcom/android/server/am/ServiceRecord;)V+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; @@ -1240,11 +885,11 @@ HPLcom/android/server/am/ActiveServices;->traceInstant(Ljava/lang/String;Lcom/an 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+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Landroid/app/IServiceConnection;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/IServiceConnection$Stub$Proxy;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/am/ActiveServices;->updateForegroundApps(Lcom/android/server/am/ActiveServices$ServiceMap;)V HPLcom/android/server/am/ActiveServices;->updateNumForegroundServicesLocked()V+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; HSPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ConnectionRecord;Z)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessServiceRecord;)V HSPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessServiceRecord;Z)V+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HPLcom/android/server/am/ActiveServices;->updateServiceGroupLocked(Landroid/app/IServiceConnection;II)V HPLcom/android/server/am/ActiveServices;->verifyPackage(Ljava/lang/String;I)Z HPLcom/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 @@ -1257,38 +902,16 @@ HSPLcom/android/server/am/ActiveUids;->valueAt(I)Lcom/android/server/am/UidRecor HSPLcom/android/server/am/ActivityManagerConstants$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/am/ActivityManagerConstants$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/server/am/ActivityManagerConstants$1;-><init>(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants$1;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V HSPLcom/android/server/am/ActivityManagerConstants$2;-><init>(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants$2;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdateFGSPermissionEnforcementFlagsIfNecessary(Lcom/android/server/am/ActivityManagerConstants;Ljava/lang/String;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdateMaxCachedProcesses(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdateMaxEmptyTimeMillis(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdateNoKillCachedProcessesPostBootCompletedDurationMillis(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdateNoKillCachedProcessesUntilBootCompleted(Lcom/android/server/am/ActivityManagerConstants;)V -HSPLcom/android/server/am/ActivityManagerConstants;->-$$Nest$mupdatePushMessagingOverQuotaBehavior(Lcom/android/server/am/ActivityManagerConstants;)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 -HSPLcom/android/server/am/ActivityManagerConstants;->loadDeviceConfigConstants()V -HSPLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V -HSPLcom/android/server/am/ActivityManagerConstants;->updateActivityStartsLoggingEnabled()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateConstants()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateFGSPermissionEnforcementFlagsIfNecessary(Ljava/lang/String;)V -HSPLcom/android/server/am/ActivityManagerConstants;->updateForegroundServiceStartsLoggingEnabled()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateMaxCachedProcesses()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateMaxEmptyTimeMillis()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateNoKillCachedProcessesPostBootCompletedDurationMillis()V -HSPLcom/android/server/am/ActivityManagerConstants;->updateNoKillCachedProcessesUntilBootCompleted()V -HSPLcom/android/server/am/ActivityManagerConstants;->updatePushMessagingOverQuotaBehavior()V HSPLcom/android/server/am/ActivityManagerProcLock;-><init>()V HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;)V HSPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda22;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda22;->run()V -HPLcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/am/ActivityManagerService$14;-><init>(Lcom/android/server/am/ActivityManagerService;I)V HSPLcom/android/server/am/ActivityManagerService$15;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V HSPLcom/android/server/am/ActivityManagerService$15;->run()V -HSPLcom/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 HSPLcom/android/server/am/ActivityManagerService$16;->run()V HSPLcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V @@ -1303,16 +926,11 @@ HSPLcom/android/server/am/ActivityManagerService$3;->newArray(I)[Lcom/android/se HSPLcom/android/server/am/ActivityManagerService$3;->newArray(I)[Ljava/lang/Object; HSPLcom/android/server/am/ActivityManagerService$3;->newResult(Lcom/android/server/pm/Computer;Lcom/android/server/am/BroadcastFilter;IIJ)Lcom/android/server/am/BroadcastFilter; HSPLcom/android/server/am/ActivityManagerService$3;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;+]Lcom/android/server/am/ActivityManagerService$3;Lcom/android/server/am/ActivityManagerService$3; -HSPLcom/android/server/am/ActivityManagerService$4;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HSPLcom/android/server/am/ActivityManagerService$5;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V HSPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V -HSPLcom/android/server/am/ActivityManagerService$CacheBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HSPLcom/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 -HSPLcom/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 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 @@ -1330,59 +948,58 @@ 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 +HPLcom/android/server/am/ActivityManagerService$LocalService;->addPendingTopUid(IILandroid/app/IApplicationThread;)V HPLcom/android/server/am/ActivityManagerService$LocalService;->applyForegroundServiceNotification(Landroid/app/Notification;Ljava/lang/String;ILjava/lang/String;I)Landroid/app/ActivityManagerInternal$ServiceNotificationPolicy; -HSPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastGlobalConfigurationChanged(IZ)V HSPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntent(Landroid/content/Intent;Landroid/content/IIntentReceiver;[Ljava/lang/String;ZI[ILjava/util/function/BiFunction;Landroid/os/Bundle;)I HPLcom/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 HSPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; HSPLcom/android/server/am/ActivityManagerService$LocalService;->deletePendingTopUid(IJ)V +HPLcom/android/server/am/ActivityManagerService$LocalService;->enforceBroadcastOptionsPermissions(Landroid/os/Bundle;I)V HSPLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I HPLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryStateForProcesses()Ljava/util/List;+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; +HPLcom/android/server/am/ActivityManagerService$LocalService;->getPackageNameByPid(I)Ljava/lang/String; HSPLcom/android/server/am/ActivityManagerService$LocalService;->getRestrictionLevel(I)I+]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; HSPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; +HSPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/ActivityManagerService$LocalService;->hasForegroundServiceNotification(Ljava/lang/String;ILjava/lang/String;)Z +HPLcom/android/server/am/ActivityManagerService$LocalService;->hasStartedUserState(I)Z HPLcom/android/server/am/ActivityManagerService$LocalService;->isAppBad(Ljava/lang/String;I)Z HSPLcom/android/server/am/ActivityManagerService$LocalService;->isAppStartModeDisabled(ILjava/lang/String;)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/ActivityManagerService$LocalService;->isAssociatedCompanionApp(II)Z+]Ljava/util/Map;Landroid/util/ArrayMap; -HPLcom/android/server/am/ActivityManagerService$LocalService;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z+]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; +HPLcom/android/server/am/ActivityManagerService$LocalService;->isAssociatedCompanionApp(II)Z+]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z+]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; +HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z +HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z HPLcom/android/server/am/ActivityManagerService$LocalService;->isDeviceOwner(I)Z HSPLcom/android/server/am/ActivityManagerService$LocalService;->isPendingTopUid(I)Z+]Lcom/android/server/am/PendingStartActivityUids;Lcom/android/server/am/PendingStartActivityUids; HPLcom/android/server/am/ActivityManagerService$LocalService;->isProfileOwner(I)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/am/ActivityManagerService$LocalService;->isSplitConfigurationChange(I)Z HPLcom/android/server/am/ActivityManagerService$LocalService;->isTempAllowlistedForFgsWhileInUse(I)Z+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList; HSPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/android/server/am/ActivityManagerService$LocalService;->killAllBackgroundProcessesExcept(II)V HPLcom/android/server/am/ActivityManagerService$LocalService;->noteAlarmFinish(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V -HSPLcom/android/server/am/ActivityManagerService$LocalService;->noteAlarmStart(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V +HPLcom/android/server/am/ActivityManagerService$LocalService;->onForegroundServiceNotificationUpdate(ZLandroid/app/Notification;ILjava/lang/String;I)V HSPLcom/android/server/am/ActivityManagerService$LocalService;->onUidBlockedReasonsChanged(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; -HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V+]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController; -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; -HPLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempAllowlist([IIZJIILjava/lang/String;I)V -HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateOomLevelsForDisplay(I)V +HPLcom/android/server/am/ActivityManagerService$LocalService;->scheduleAppGcs()V +HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V +HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V +HPLcom/android/server/am/ActivityManagerService$LocalService;->shouldWaitForNetworkRulesUpdate(I)Z +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;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempAllowlist([IIZJIILjava/lang/String;I)V+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda1;-><init>(Landroid/os/Message;)V HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda2;-><init>(Landroid/os/Message;)V HSPLcom/android/server/am/ActivityManagerService$MainHandler$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V HSPLcom/android/server/am/ActivityManagerService$MainHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V -HSPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/AnrHelper;Lcom/android/server/am/AnrHelper;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/AnrHelper;Lcom/android/server/am/AnrHelper;]Ljava/lang/Thread;Lcom/android/server/am/ActivityManagerService$MainHandler$1;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; HSPLcom/android/server/am/ActivityManagerService$MainHandler;->lambda$handleMessage$1(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BroadcastEventListener;)V+]Landroid/app/ActivityManagerInternal$BroadcastEventListener;Lcom/android/server/am/AppBroadcastEventsTracker; -HSPLcom/android/server/am/ActivityManagerService$MainHandler;->lambda$handleMessage$2(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V -HSPLcom/android/server/am/ActivityManagerService$MemBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$MemBinder;)V -HSPLcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HPLcom/android/server/am/ActivityManagerService$PendingTempAllowlist;-><init>(IJILjava/lang/String;II)V -HSPLcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HSPLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z -HSPLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z +HSPLcom/android/server/am/ActivityManagerService$MainHandler;->lambda$handleMessage$2(Landroid/os/Message;Landroid/app/ActivityManagerInternal$BindServiceEventListener;)V+]Landroid/app/ActivityManagerInternal$BindServiceEventListener;Lcom/android/server/am/AppBindServiceEventsTracker; +HSPLcom/android/server/am/ActivityManagerService$PendingTempAllowlist;-><init>(IJILjava/lang/String;II)V +HSPLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String; HSPLcom/android/server/am/ActivityManagerService$PidMap;-><init>()V HSPLcom/android/server/am/ActivityManagerService$PidMap;->doAddInternal(ILcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ActivityManagerService$PidMap;->doRemoveInternal(ILcom/android/server/am/ProcessRecord;)Z HSPLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android/server/am/ProcessRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/am/ActivityManagerService$ProcessInfoService;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ActivityManagerService$StickyBroadcast;-><init>()V HSPLcom/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 @@ -1402,21 +1019,18 @@ HSPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/ HSPLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->addPidLocked(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;ZLjava/lang/String;)V -HPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLOSP(ILjava/lang/String;I)I +HSPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLOSP(ILjava/lang/String;I)I+]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;Ljava/lang/StringBuilder;)V HSPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V HSPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)V -HPLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V -HSPLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V HPLcom/android/server/am/ActivityManagerService;->bindBackupAgent(Ljava/lang/String;III)Z HSPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;ZILjava/lang/String;Landroid/app/IApplicationThread;Ljava/lang/String;I)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster; HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForProcLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster; HPLcom/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 -HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;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+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/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+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/IntentFilter;Lcom/android/server/am/BroadcastFilter;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/IIntentReceiver;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService; +HSPLcom/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+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/IntentFilter;Lcom/android/server/am/BroadcastFilter;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/String;Ljava/lang/String;]Landroid/content/IIntentReceiver;megamorphic_types]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForFlags(I)Lcom/android/server/am/BroadcastQueue; HSPLcom/android/server/am/ActivityManagerService;->broadcastQueueForFlags(ILjava/lang/Object;)Lcom/android/server/am/BroadcastQueue; @@ -1430,37 +1044,36 @@ HSPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/St HSPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V HPLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I HSPLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;IZZIZZ)Z -HSPLcom/android/server/am/ActivityManagerService;->clearProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I[I)Ljava/util/List;+]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution;]Lcom/android/server/am/ComponentAliasResolver;Lcom/android/server/am/ComponentAliasResolver;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; +HSPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I[I)Ljava/util/List;+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution;]Lcom/android/server/am/ComponentAliasResolver;Lcom/android/server/am/ComponentAliasResolver;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/util/HashSet;Ljava/util/HashSet; HSPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo; HSPLcom/android/server/am/ActivityManagerService;->enforceAllowedToStartOrBindServiceIfSdkSandbox(Landroid/content/Intent;)V+]Lcom/android/server/sdksandbox/SdkSandboxManagerLocal;Lcom/android/server/sdksandbox/SdkSandboxManagerService$LocalImpl; HSPLcom/android/server/am/ActivityManagerService;->enforceBroadcastOptionPermissionsInternal(Landroid/app/BroadcastOptions;I)V+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; HSPLcom/android/server/am/ActivityManagerService;->enforceBroadcastOptionPermissionsInternal(Landroid/os/Bundle;I)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/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 +HSPLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActivityManagerService;->enforceDumpPermissionForPackage(Ljava/lang/String;IILjava/lang/String;)I HSPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedOrSdkSandboxCaller(Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->enqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster; HSPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V+]Lcom/android/server/am/UidObserverController;Lcom/android/server/am/UidObserverController;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActivityManagerService;->ensureAllowedAssociations()V HSPLcom/android/server/am/ActivityManagerService;->filterNonExportedComponents(Landroid/content/Intent;IILjava/util/List;Lcom/android/server/compat/PlatformCompat;Ljava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ComponentInfo;Landroid/content/pm/ActivityInfo;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler; -HSPLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord; +HSPLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActivityManagerService;->finishAttachApplication(J)V HSPLcom/android/server/am/ActivityManagerService;->finishAttachApplicationInner(JII)V -HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;I)Z HSPLcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo; HPLcom/android/server/am/ActivityManagerService;->getAppOpsManager()Landroid/app/AppOpsManager; -HSPLcom/android/server/am/ActivityManagerService;->getAppStartModeLOSP(ILjava/lang/String;IIZZZ)I+]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActivityManagerService;->getAppStartModeLOSP(ILjava/lang/String;IIZZZ)I+]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; HSPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet; HSPLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap; HSPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; -HSPLcom/android/server/am/ActivityManagerService;->getContentProviderHelper()Lcom/android/server/am/ContentProviderHelper; HSPLcom/android/server/am/ActivityManagerService;->getCurrentUserId()I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; -HPLcom/android/server/am/ActivityManagerService;->getHistoricalProcessExitReasons(Ljava/lang/String;III)Landroid/content/pm/ParceledListSlice; +HSPLcom/android/server/am/ActivityManagerService;->getHistoricalProcessExitReasons(Ljava/lang/String;III)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/am/ActivityManagerService;->getInfoForIntentSender(Landroid/content/IIntentSender;)Landroid/app/ActivityManager$PendingIntentInfo;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/am/ActivityManagerService;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/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;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/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;+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/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;+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HPLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I HPLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V @@ -1468,29 +1081,29 @@ HSPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternal()La HPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I HPLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo; HSPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; +HPLcom/android/server/am/ActivityManagerService;->getProcessesInErrorState()Ljava/util/List;+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->getRealProcessStateLocked(Lcom/android/server/am/ProcessRecord;I)I+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ActivityManagerService;->getRecordForAppLOSP(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; -HSPLcom/android/server/am/ActivityManagerService;->getRecordForAppLOSP(Landroid/os/IBinder;)Lcom/android/server/am/ProcessRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; -HSPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List; -HSPLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I -HPLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List; +HSPLcom/android/server/am/ActivityManagerService;->getRecordForAppLOSP(Landroid/os/IBinder;)Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; +HSPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;+]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->getShortAction(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/ActivityManagerService;->getTopApp()Lcom/android/server/am/ProcessRecord;+]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService; HSPLcom/android/server/am/ActivityManagerService;->getUidProcessCapabilityLocked(I)I+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; +HSPLcom/android/server/am/ActivityManagerService;->getUidProcessState(ILjava/lang/String;)I HSPLcom/android/server/am/ActivityManagerService;->getUidState(I)I+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActivityManagerService;->getUidStateLocked(I)I+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActivityManagerService;->grantImplicitAccess(ILandroid/content/Intent;II)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActivityManagerService;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V HSPLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;IZZZ)V -HSPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V +HSPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V+]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/os/StrictMode$ViolationInfo;Landroid/os/StrictMode$ViolationInfo;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z HSPLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z HSPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;II)Z -HPLcom/android/server/am/ActivityManagerService;->idleUids()V HSPLcom/android/server/am/ActivityManagerService;->initPowerManagement()V HSPLcom/android/server/am/ActivityManagerService;->isAllowlistedForFgsStartLOSP(I)Lcom/android/server/am/ActivityManagerService$FgsTempAllowListItem;+]Lcom/android/server/am/FgsTempAllowList;Lcom/android/server/am/FgsTempAllowList; HPLcom/android/server/am/ActivityManagerService;->isAppBad(Ljava/lang/String;I)Z @@ -1503,49 +1116,47 @@ HSPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String HSPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z HSPLcom/android/server/am/ActivityManagerService;->isUidActiveLOSP(I)Z+]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HPLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z -HPLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z -HSPLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V +HSPLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z HPLcom/android/server/am/ActivityManagerService;->lambda$getPackageProcessState$0([ILjava/lang/String;Lcom/android/server/am/ProcessRecord;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; +HPLcom/android/server/am/ActivityManagerService;->logFgsApiBegin(III)V +HPLcom/android/server/am/ActivityManagerService;->logFgsApiEnd(III)V HSPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V HPLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V -HSPLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(III)V+]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HPLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->notifyBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/os/Message;Landroid/os/Message; HSPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V HSPLcom/android/server/am/ActivityManagerService;->onProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl; HSPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String; +HPLcom/android/server/am/ActivityManagerService;->onWakefulnessChanged(I)V HSPLcom/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+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/am/ActivityManagerService;->pushTempAllowlist()V -HPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; +HSPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/am/ActivityManagerService;->pushTempAllowlist()V+]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/am/PendingTempAllowlists;Lcom/android/server/am/PendingTempAllowlists; +HSPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; HPLcom/android/server/am/ActivityManagerService;->registerIntentSenderCancelListenerEx(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)Z -HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/am/ProcessReceiverRecord;Lcom/android/server/am/ProcessReceiverRecord;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;,Lcom/android/server/am/BroadcastFilter;]Lcom/android/server/am/ReceiverList;Lcom/android/server/am/ReceiverList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Lcom/android/server/am/ReceiverList;,Ljava/util/ArrayList;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; +HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/am/ProcessReceiverRecord;Lcom/android/server/am/ProcessReceiverRecord;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;,Lcom/android/server/am/BroadcastFilter;]Lcom/android/server/am/ReceiverList;Lcom/android/server/am/ReceiverList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Lcom/android/server/am/ReceiverList;,Ljava/util/ArrayList;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread;]Lcom/android/server/sdksandbox/SdkSandboxManagerLocal;Lcom/android/server/sdksandbox/SdkSandboxManagerService$LocalImpl; HSPLcom/android/server/am/ActivityManagerService;->registerStrictModeCallback(Landroid/os/IBinder;)V -HSPLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V HPLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper; -HSPLcom/android/server/am/ActivityManagerService;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ActivityManagerService;->removeOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;Z)V HSPLcom/android/server/am/ActivityManagerService;->removePidLocked(ILcom/android/server/am/ProcessRecord;)Z HPLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/content/IIntentReceiver;Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;,Landroid/content/IIntentReceiver$Stub$Proxy;]Ljava/util/ArrayList;Lcom/android/server/am/ReceiverList;]Lcom/android/server/IntentResolver;Lcom/android/server/am/ActivityManagerService$3; +HSPLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEvent(I)V HPLcom/android/server/am/ActivityManagerService;->reportUidFrozenStateChanged([I[I)V+]Landroid/app/IUidFrozenStateChangedCallback;Landroid/app/ActivityManager$1;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V HSPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster; HSPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterProcLockedSection()V+]Lcom/android/server/ThreadPriorityBooster;Lcom/android/server/ThreadPriorityBooster; +HPLcom/android/server/am/ActivityManagerService;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V HSPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V -HSPLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V HSPLcom/android/server/am/ActivityManagerService;->scheduleUpdateBinderHeavyHitterWatcherConfig()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;III)V+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +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+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; +HSPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;III)V+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +HPLcom/android/server/am/ActivityManagerService;->setActivityLocusContext(Landroid/content/ComponentName;Landroid/content/LocusId;Landroid/os/IBinder;)V +HSPLcom/android/server/am/ActivityManagerService;->setAppIdTempAllowlistStateLSP(IZ)V +HPLcom/android/server/am/ActivityManagerService;->setHasTopUi(Z)V HSPLcom/android/server/am/ActivityManagerService;->setInstaller(Lcom/android/server/pm/Installer;)V HSPLcom/android/server/am/ActivityManagerService;->setProcessTrackerStateLOSP(Lcom/android/server/am/ProcessRecord;I)V+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; -HSPLcom/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 -HSPLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V -HSPLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V +HSPLcom/android/server/am/ActivityManagerService;->setUidTempAllowlistStateLSP(IZ)V HSPLcom/android/server/am/ActivityManagerService;->shouldIgnoreDeliveryGroupPolicy(Ljava/lang/String;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/ActivityManagerService;->start()V HSPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association; @@ -1555,18 +1166,19 @@ HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApp HPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V HPLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)I HPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; -HPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V +HSPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V HSPLcom/android/server/am/ActivityManagerService;->traceBegin(JLjava/lang/String;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(ZI)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessReceiverRecord;Lcom/android/server/am/ProcessReceiverRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HPLcom/android/server/am/ActivityManagerService;->trimApplications(ZI)V +HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(ZI)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessReceiverRecord;Lcom/android/server/am/ProcessReceiverRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/ActivityManagerService;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V HPLcom/android/server/am/ActivityManagerService;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V HPLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z+]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HPLcom/android/server/am/ActivityManagerService;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V HPLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V -HPLcom/android/server/am/ActivityManagerService;->updateAppProcessCpuTimeLPr(JZJILcom/android/server/am/ProcessRecord;)V+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; -HSPLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLOSP(Ljava/util/List;ZI)V +HPLcom/android/server/am/ActivityManagerService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;Landroid/app/assist/ActivityId;)V +HPLcom/android/server/am/ActivityManagerService;->updateAppProcessCpuTimeLPr(JZJILcom/android/server/am/ProcessRecord;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; +HPLcom/android/server/am/ActivityManagerService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V HSPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V -HSPLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V HSPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(I)V HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;I)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster; @@ -1587,17 +1199,17 @@ HPLcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;->getBatter HPLcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;->getBatteryUsageSince(JJLjava/util/LinkedList;)Landroid/util/Pair;+]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;]Lcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;Lcom/android/server/am/AppBatteryExemptionTracker$UidStateEventWithBattery;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/am/AppBatteryExemptionTracker$UidStateEventWithBattery;Lcom/android/server/am/AppBatteryExemptionTracker$UidStateEventWithBattery;]Ljava/util/Iterator;Ljava/util/LinkedList$ListItr; 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 -HPLcom/android/server/am/AppBatteryExemptionTracker;->getUidBatteryExemptedUsageSince(IJJI)Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;,Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;]Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap; +HPLcom/android/server/am/AppBatteryExemptionTracker;->getUidBatteryExemptedUsageSince(IJJI)Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;,Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;]Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;]Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap; HPLcom/android/server/am/AppBatteryExemptionTracker;->onStateChange(ILjava/lang/String;ZJI)V HSPLcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/AppBatteryTracker;)V HSPLcom/android/server/am/AppBatteryTracker$$ExternalSyntheticLambda2;-><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 HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->calcPercentage(I[D[D)[D+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->getCurrentDrainThresholdIndex(IJJ)I HSPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->getFloatArray(Landroid/content/res/TypedArray;)[F HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->handleUidBatteryUsage(ILcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->hasLocation(IJJ)Z HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->hasMediaPlayback(IJJ)Z -HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->onUserInteractionStarted(Ljava/lang/String;I)V HPLcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;->sumPercentageOfTypes([DI)D HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><clinit>()V HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>()V @@ -1607,7 +1219,6 @@ HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>(Lcom/android/se HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->add(Lcom/android/server/am/AppBatteryTracker$BatteryUsage;)Lcom/android/server/am/AppBatteryTracker$BatteryUsage; HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->calcPercentage(ILcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;)Lcom/android/server/am/AppBatteryTracker$BatteryUsage;+]Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy; HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->getConsumedPowerNoThrow(Landroid/os/UidBatteryConsumer;Landroid/os/BatteryConsumer$Dimensions;)D+]Landroid/os/UidBatteryConsumer;Landroid/os/UidBatteryConsumer; -HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->getPercentage()[D HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->scale(D)Lcom/android/server/am/AppBatteryTracker$BatteryUsage; HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->scaleInternal(D)Lcom/android/server/am/AppBatteryTracker$BatteryUsage; HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;->setToInternal(Lcom/android/server/am/AppBatteryTracker$BatteryUsage;)Lcom/android/server/am/AppBatteryTracker$BatteryUsage; @@ -1622,17 +1233,12 @@ HSPLcom/android/server/am/AppBatteryTracker;-><init>(Landroid/content/Context;Lc HPLcom/android/server/am/AppBatteryTracker;->checkBatteryUsageStats()V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/AppBatteryTracker;Lcom/android/server/am/AppBatteryTracker;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;]Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; HPLcom/android/server/am/AppBatteryTracker;->copyUidBatteryUsage(Landroid/util/SparseArray;Landroid/util/SparseArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/am/AppBatteryTracker;->getUidBatteryUsage(I)Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage; -HSPLcom/android/server/am/AppBatteryTracker;->logAppBatteryTrackerIfNeeded()V -HSPLcom/android/server/am/AppBatteryTracker;->scheduleBatteryUsageStatsUpdateIfNecessary(J)V -HPLcom/android/server/am/AppBatteryTracker;->updateBatteryUsageStatsIfNecessary(JZ)Z HPLcom/android/server/am/AppBatteryTracker;->updateBatteryUsageStatsOnce(J)V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/AppBatteryTracker;Lcom/android/server/am/AppBatteryTracker;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/os/BatteryUsageStatsQuery$Builder;Landroid/os/BatteryUsageStatsQuery$Builder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/BatteryUsageStats;Landroid/os/BatteryUsageStats; HPLcom/android/server/am/AppBatteryTracker;->updateBatteryUsageStatsOnceInternal(JLandroid/util/SparseArray;Landroid/os/BatteryUsageStatsQuery$Builder;Landroid/util/ArraySet;Landroid/os/BatteryStatsInternal;)Landroid/os/BatteryUsageStats;+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;]Landroid/os/BatteryUsageStatsQuery$Builder;Landroid/os/BatteryUsageStatsQuery$Builder;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/BatteryUsageStats;Landroid/os/BatteryUsageStats;]Landroid/os/BatteryStatsInternal;Lcom/android/server/am/BatteryStatsService$LocalService;]Landroid/os/UidBatteryConsumer;Landroid/os/UidBatteryConsumer;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/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 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 -HPLcom/android/server/am/AppBindServiceEventsTracker;->createAppStateEvents(ILjava/lang/String;)Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents; -HPLcom/android/server/am/AppBindServiceEventsTracker;->getTrackerInfoForStatsd(I)[B HSPLcom/android/server/am/AppBindServiceEventsTracker;->onBindingService(Ljava/lang/String;I)V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;Lcom/android/server/am/AppBindServiceEventsTracker;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy; 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 @@ -1641,12 +1247,11 @@ HSPLcom/android/server/am/AppBroadcastEventsTracker;->onSendingBroadcast(Ljava/l HSPLcom/android/server/am/AppErrors;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/PackageWatchdog;)V HSPLcom/android/server/am/AppErrors;->isBadProcess(Ljava/lang/String;I)Z+]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap; HSPLcom/android/server/am/AppErrors;->resetProcessCrashTime(Ljava/lang/String;I)V -HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->addInfoLocked(Landroid/util/SparseArray;Landroid/app/ApplicationExitInfo;)V+]Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;]Ljava/io/File;Ljava/io/File;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getInfosLocked(Landroid/util/SparseArray;IILjava/util/ArrayList;)V -HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->lambda$getInfosLocked$0(Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;)I +HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->forEachRecordLocked(Ljava/util/function/BiFunction;)V +HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getInfosLocked(Landroid/util/SparseArray;IILjava/util/ArrayList;)V+]Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->readFromProto(Landroid/util/proto/ProtoInputStream;J)I -HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->toListLocked(Ljava/util/List;I)Ljava/util/List; +HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->toListLocked(Ljava/util/List;I)Ljava/util/List;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V+]Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;-><init>(Lcom/android/server/am/AppExitInfoTracker;Ljava/lang/String;Ljava/lang/Integer;)V HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->addLocked(IILjava/lang/Object;)V @@ -1654,14 +1259,14 @@ HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->onProcD HSPLcom/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 +HSPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->getUidByIsolatedUid(I)Ljava/lang/Integer; HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;-><init>(Lcom/android/server/am/AppExitInfoTracker;Landroid/os/Looper;)V HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/am/AppExitInfoTracker;-><clinit>()V HSPLcom/android/server/am/AppExitInfoTracker;-><init>()V HSPLcom/android/server/am/AppExitInfoTracker;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;Z)Landroid/app/ApplicationExitInfo; -HSPLcom/android/server/am/AppExitInfoTracker;->forEachPackageLocked(Ljava/util/function/BiFunction;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/BiFunction;Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda2;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda16;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda12;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda17;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda14;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap; -HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfo(Ljava/lang/String;IIILjava/util/ArrayList;)V -HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfoLocked(Ljava/lang/String;II)Landroid/app/ApplicationExitInfo; +HSPLcom/android/server/am/AppExitInfoTracker;->forEachPackageLocked(Ljava/util/function/BiFunction;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/BiFunction;Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda14;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda2;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda16;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda12;,Lcom/android/server/am/AppExitInfoTracker$$ExternalSyntheticLambda17;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap; +HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfo(Ljava/lang/String;IIILjava/util/ArrayList;)V+]Lcom/android/server/am/AppExitInfoTracker;Lcom/android/server/am/AppExitInfoTracker;]Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/AppExitInfoTracker;->handleNoteProcessDiedLocked(Landroid/app/ApplicationExitInfo;)V HSPLcom/android/server/am/AppExitInfoTracker;->init(Lcom/android/server/am/ActivityManagerService;)V HPLcom/android/server/am/AppExitInfoTracker;->lambda$getExitInfo$3(ILjava/util/ArrayList;ILjava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer; @@ -1672,18 +1277,15 @@ HSPLcom/android/server/am/AppExitInfoTracker;->performLogToStatsdLocked(Landroid HPLcom/android/server/am/AppExitInfoTracker;->scheduleNoteAppKill(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;)V HSPLcom/android/server/am/AppExitInfoTracker;->scheduleNoteProcessDied(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/AppExitInfoTracker;->updateExistingExitInfoRecordLocked(Landroid/app/ApplicationExitInfo;Ljava/lang/Integer;Ljava/lang/Integer;)V -HSPLcom/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 HSPLcom/android/server/am/AppFGSTracker$AppFGSPolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/AppFGSTracker;)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+]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs; +HPLcom/android/server/am/AppFGSTracker$MyHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/am/AppFGSTracker$NotificationListener;-><init>(Lcom/android/server/am/AppFGSTracker;)V HPLcom/android/server/am/AppFGSTracker$NotificationListener;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V HPLcom/android/server/am/AppFGSTracker$NotificationListener;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V -HPLcom/android/server/am/AppFGSTracker;->-$$Nest$fgetmHandler(Lcom/android/server/am/AppFGSTracker;)Lcom/android/server/am/AppFGSTracker$MyHandler; 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 -HPLcom/android/server/am/AppFGSTracker;->handleNotificationPosted(Ljava/lang/String;II)V HSPLcom/android/server/am/AppFGSTracker;->hasForegroundServices(Ljava/lang/String;I)Z HSPLcom/android/server/am/AppMediaSessionTracker$$ExternalSyntheticLambda0;-><init>(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 @@ -1701,15 +1303,13 @@ HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->equals HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->hashCode()I HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->updateAppOps()V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/internal/app/IAppOpsService;Lcom/android/server/appop/AppOpsService;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->updatePermissionState()V -HPLcom/android/server/am/AppPermissionTracker;->-$$Nest$fgetmHandler(Lcom/android/server/am/AppPermissionTracker;)Lcom/android/server/am/AppPermissionTracker$MyHandler; 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 HPLcom/android/server/am/AppPermissionTracker;->handleOpChanged(IILjava/lang/String;)V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/AppPermissionTracker;Lcom/android/server/am/AppPermissionTracker;]Lcom/android/server/am/AppPermissionTracker$AppPermissionPolicy;Lcom/android/server/am/AppPermissionTracker$AppPermissionPolicy; -HPLcom/android/server/am/AppPermissionTracker;->handlePermissionsChangedLocked(I[Lcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/BaseAppStateTracker;Lcom/android/server/am/AppPermissionTracker;]Lcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;Lcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState; +HPLcom/android/server/am/AppPermissionTracker;->handlePermissionsChangedLocked(I[Lcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;)V HPLcom/android/server/am/AppPermissionTracker;->handlePermissionsInit()V HSPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda6;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z 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 @@ -1717,8 +1317,6 @@ HSPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;-><init>(Lcom/andr HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->lambda$updateCachedAppsSnapshot$0(JLcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; HSPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->updateCachedAppsHighWatermarkIfNecessaryLocked(IJ)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/os/Message;Landroid/os/Message; HPLcom/android/server/am/AppProfiler$CachedAppsWatermarkData;->updateCachedAppsSnapshot(J)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/internal/util/MemInfoReader;Lcom/android/internal/util/MemInfoReader;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; -HSPLcom/android/server/am/AppProfiler$CpuBinder$1;-><init>(Lcom/android/server/am/AppProfiler$CpuBinder;)V -HSPLcom/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 @@ -1728,34 +1326,29 @@ HSPLcom/android/server/am/AppProfiler;->-$$Nest$fgetmLastWriteTime(Lcom/android/ 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; HPLcom/android/server/am/AppProfiler;->-$$Nest$mcollectPssInBackground(Lcom/android/server/am/AppProfiler;)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;->collectPssInBackground()V+]Lcom/android/internal/os/ProcessCpuTracker;Lcom/android/internal/os/ProcessCpuTracker;]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/internal/util/MemInfoReader;Lcom/android/internal/util/MemInfoReader;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; HSPLcom/android/server/am/AppProfiler;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V +HPLcom/android/server/am/AppProfiler;->getCpuDelayTimeForPid(I)J HPLcom/android/server/am/AppProfiler;->getLastMemoryLevelLocked()I HPLcom/android/server/am/AppProfiler;->isLastMemoryLevelNormal()Z -HPLcom/android/server/am/AppProfiler;->lambda$collectPssInBackground$0(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z HSPLcom/android/server/am/AppProfiler;->onActivityManagerInternalAdded()V HSPLcom/android/server/am/AppProfiler;->onAppDiedLocked(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/AppProfiler;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V HPLcom/android/server/am/AppProfiler;->recordPssSampleLPf(Lcom/android/server/am/ProcessProfileRecord;IJJJJIJJ)V HPLcom/android/server/am/AppProfiler;->requestPssLPf(Lcom/android/server/am/ProcessProfileRecord;I)Z+]Landroid/os/Handler;Lcom/android/server/am/AppProfiler$BgHandler;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; HSPLcom/android/server/am/AppProfiler;->scheduleAppGcsLPf()V -HSPLcom/android/server/am/AppProfiler;->setCpuInfoService()V HSPLcom/android/server/am/AppProfiler;->setupProfilerInfoLocked(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActiveInstrumentation;)Landroid/app/ProfilerInfo; HSPLcom/android/server/am/AppProfiler;->updateCpuStats()V HSPLcom/android/server/am/AppProfiler;->updateCpuStatsNow()V+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/internal/os/ProcessCpuTracker;Lcom/android/internal/os/ProcessCpuTracker;]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong;]Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; HSPLcom/android/server/am/AppProfiler;->updateLowMemStateLSP(IIIJ)Z+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;Lcom/android/server/am/AppProfiler$CachedAppsWatermarkData;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/LowMemDetector;Lcom/android/server/am/LowMemDetector; HSPLcom/android/server/am/AppProfiler;->updateNextPssTimeLPf(ILcom/android/server/am/ProcessProfileRecord;JZ)V+]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; HSPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/AppRestrictionController;)V -HSPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda2;-><init>(ILjava/lang/String;I)V -HSPLcom/android/server/am/AppRestrictionController$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)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 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 HSPLcom/android/server/am/AppRestrictionController$5;-><init>(Lcom/android/server/am/AppRestrictionController;)V HSPLcom/android/server/am/AppRestrictionController$5;->onUidActive(I)V HSPLcom/android/server/am/AppRestrictionController$5;->onUidStateChanged(IIJI)V @@ -1770,7 +1363,6 @@ HSPLcom/android/server/am/AppRestrictionController$Injector;->getAppFGSTracker() HPLcom/android/server/am/AppRestrictionController$Injector;->getAppOpsManager()Landroid/app/AppOpsManager; HSPLcom/android/server/am/AppRestrictionController$Injector;->getAppRestrictionController()Lcom/android/server/am/AppRestrictionController; HSPLcom/android/server/am/AppRestrictionController$Injector;->getAppStandbyInternal()Lcom/android/server/usage/AppStandbyInternal; -HSPLcom/android/server/am/AppRestrictionController$Injector;->getAppStateTracker()Lcom/android/server/AppStateTracker; HSPLcom/android/server/am/AppRestrictionController$Injector;->getContext()Landroid/content/Context; HSPLcom/android/server/am/AppRestrictionController$Injector;->getNotificationManager()Landroid/app/NotificationManager; HSPLcom/android/server/am/AppRestrictionController$Injector;->getPackageManager()Landroid/content/pm/PackageManager; @@ -1789,6 +1381,7 @@ HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRest HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionLevel(ILjava/lang/String;)I HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->getRestrictionSettingsLocked(ILjava/lang/String;)Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings; HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->loadOneFromXml(Lcom/android/modules/utils/TypedXmlPullParser;J[JZ)V +HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->toXmlByteArray(I)[B+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;Lcom/android/server/am/AppRestrictionController$RestrictionSettings$PkgSettings;]Ljava/io/ByteArrayOutputStream;Ljava/io/ByteArrayOutputStream; HSPLcom/android/server/am/AppRestrictionController$RestrictionSettings;->update(Ljava/lang/String;IIII)I HSPLcom/android/server/am/AppRestrictionController$TrackerInfo;-><init>(Lcom/android/server/am/AppRestrictionController;)V HSPLcom/android/server/am/AppRestrictionController;->-$$Nest$fgetmAppStateTrackers(Lcom/android/server/am/AppRestrictionController;)Ljava/util/ArrayList; @@ -1801,7 +1394,6 @@ HSPLcom/android/server/am/AppRestrictionController;-><init>(Landroid/content/Con HSPLcom/android/server/am/AppRestrictionController;-><init>(Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/AppRestrictionController;->applyRestrictionLevel(Ljava/lang/String;IILcom/android/server/am/AppRestrictionController$TrackerInfo;IZII)V HSPLcom/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; HSPLcom/android/server/am/AppRestrictionController;->getBackgroundHandler()Landroid/os/Handler; HSPLcom/android/server/am/AppRestrictionController;->getBackgroundRestrictionExemptionReason(I)I+]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; HSPLcom/android/server/am/AppRestrictionController;->getLock()Ljava/lang/Object; @@ -1815,7 +1407,7 @@ HSPLcom/android/server/am/AppRestrictionController;->handleUidActive(I)V HSPLcom/android/server/am/AppRestrictionController;->handleUidInactive(IZ)V HSPLcom/android/server/am/AppRestrictionController;->handleUidProcStateChanged(II)V+]Lcom/android/server/am/BaseAppStateTracker;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/AppRestrictionController;->hasForegroundServices(Ljava/lang/String;I)Z -HPLcom/android/server/am/AppRestrictionController;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z +HSPLcom/android/server/am/AppRestrictionController;->isBgAutoRestrictedBucketFeatureFlagEnabled()Z HPLcom/android/server/am/AppRestrictionController;->isCarrierApp(Ljava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet; HPLcom/android/server/am/AppRestrictionController;->isExemptedFromSysConfig(Ljava/lang/String;)Z HPLcom/android/server/am/AppRestrictionController;->isOnDeviceIdleAllowlist(I)Z @@ -1823,13 +1415,10 @@ HPLcom/android/server/am/AppRestrictionController;->isOnSystemDeviceIdleAllowlis HPLcom/android/server/am/AppRestrictionController;->isRoleHeldByUid(Ljava/lang/String;I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/AppRestrictionController;->isSystemModule(Ljava/lang/String;)Z+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/AppRestrictionController$Injector;Lcom/android/server/am/AppRestrictionController$Injector;]Ljava/io/File;Ljava/io/File;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/am/AppRestrictionController;->lambda$handleUidActive$9(ILcom/android/server/usage/AppStandbyInternal;ILjava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)V -HPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUid(IIIZ)V HSPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUser(III)V -HPLcom/android/server/am/BaseAppStateDurations;->addEvent(ZLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;I)V HPLcom/android/server/am/BaseAppStateDurations;->trimEvents(JLjava/util/LinkedList;)V HSPLcom/android/server/am/BaseAppStateDurationsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V HSPLcom/android/server/am/BaseAppStateDurationsTracker;->onUidProcStateChanged(II)V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/BaseAppStateDurationsTracker$SimplePackageDurations;Lcom/android/server/am/BaseAppStateDurationsTracker$UidStateDurations;]Lcom/android/server/am/BaseAppStateEventsTracker;Lcom/android/server/am/AppMediaSessionTracker;,Lcom/android/server/am/AppFGSTracker;,Lcom/android/server/am/AppBatteryExemptionTracker;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap; -HPLcom/android/server/am/BaseAppStateEvents;-><init>(ILjava/lang/String;ILjava/lang/String;Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;)V HPLcom/android/server/am/BaseAppStateEvents;->getEarliest(J)J+]Lcom/android/server/am/BaseAppStateEvents$MaxTrackingDurationConfig;megamorphic_types HPLcom/android/server/am/BaseAppStateEvents;->getTotalEvents(JI)I 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 @@ -1841,15 +1430,12 @@ HPLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChangedUnchec HSPLcom/android/server/am/BaseAppStatePolicy;-><init>(Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker;Ljava/lang/String;Z)V HSPLcom/android/server/am/BaseAppStatePolicy;->isEnabled()Z HSPLcom/android/server/am/BaseAppStatePolicy;->shouldExemptUid(I)I+]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; -HPLcom/android/server/am/BaseAppStateTimeEvents$BaseTimeEvent;->getTimestamp()J -HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->add(Lcom/android/server/am/BaseAppStateEvents;)V HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->addEvent(JI)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents; HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getSlotStartTime(J)J HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->getTotalEventsSince(JJI)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Ljava/util/Iterator;Ljava/util/LinkedList$DescendingIterator; HPLcom/android/server/am/BaseAppStateTimeSlotEvents;->trimEvents(JI)V+]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents; 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 -HPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->onUserInteractionStarted(Ljava/lang/String;I)V HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;->shouldExempt(Ljava/lang/String;I)I+]Lcom/android/server/am/BaseAppStateEventsTracker;Lcom/android/server/am/AppBroadcastEventsTracker;,Lcom/android/server/am/AppBindServiceEventsTracker;]Lcom/android/server/am/BaseAppStatePolicy;Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;,Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;]Lcom/android/server/am/AppRestrictionController;Lcom/android/server/am/AppRestrictionController; HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;-><init>(Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;)V HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker;Lcom/android/server/am/AppBroadcastEventsTracker;,Lcom/android/server/am/AppBindServiceEventsTracker; @@ -1868,23 +1454,32 @@ HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;->run( HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda102;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda102;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda12;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda25;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda30;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda31;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda32;->run()V -HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda41;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda40;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda42;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda46;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda47;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda4;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda51;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda54;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda55;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda57;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda59;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda60;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda61;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda64;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/am/BatteryStatsService;Ljava/lang/String;IJJ)V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda6;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda76;->run()V -HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda93;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda8;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda93;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda94;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda96;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda97;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda97;->run()V @@ -1902,6 +1497,7 @@ HPLcom/android/server/am/BatteryStatsService$LocalService;->noteCpuWakingNetwork 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;+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer;]Ljava/nio/ByteBuffer;Ljava/nio/DirectByteBuffer;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; +HPLcom/android/server/am/BatteryStatsService;->-$$Nest$fgetmHandler(Lcom/android/server/am/BatteryStatsService;)Landroid/os/Handler; HSPLcom/android/server/am/BatteryStatsService;->-$$Nest$fgetmLock(Lcom/android/server/am/BatteryStatsService;)Ljava/lang/Object; HSPLcom/android/server/am/BatteryStatsService;->-$$Nest$smnativeWaitWakeup(Ljava/nio/ByteBuffer;)I HSPLcom/android/server/am/BatteryStatsService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Handler;)V @@ -1910,42 +1506,54 @@ HSPLcom/android/server/am/BatteryStatsService;->create(Landroid/content/Context; HSPLcom/android/server/am/BatteryStatsService;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V+]Lcom/android/internal/os/RpmStats$PowerStateSubsystem;Lcom/android/internal/os/RpmStats$PowerStateSubsystem;]Lcom/android/internal/os/RpmStats;Lcom/android/internal/os/RpmStats;]Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;]Landroid/power/PowerStatsInternal;Lcom/android/server/powerstats/PowerStatsService$LocalService;]Ljava/util/Map;Ljava/util/HashMap; HSPLcom/android/server/am/BatteryStatsService;->fillRailDataStats(Lcom/android/internal/os/RailStats;)V HSPLcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/server/power/stats/BatteryStatsImpl; -HPLcom/android/server/am/BatteryStatsService;->getBatteryUsageStats(Ljava/util/List;)Ljava/util/List; HPLcom/android/server/am/BatteryStatsService;->getHealthStatsForUidLocked(I)Landroid/os/health/HealthStatsParceler; -HSPLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats; HSPLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;]Landroid/power/PowerStatsInternal;Lcom/android/server/powerstats/PowerStatsService$LocalService;]Ljava/util/Map;Ljava/util/HashMap; HSPLcom/android/server/am/BatteryStatsService;->initPowerManagement()V -HSPLcom/android/server/am/BatteryStatsService;->isCharging()Z +HSPLcom/android/server/am/BatteryStatsService;->isCharging()Z+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; HPLcom/android/server/am/BatteryStatsService;->lambda$noteAlarmFinish$22(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$noteAlarmStart$21(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V HPLcom/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 -HPLcom/android/server/am/BatteryStatsService;->lambda$noteEvent$14(ILjava/lang/String;IJJ)V +HPLcom/android/server/am/BatteryStatsService;->lambda$noteCpuWakingActivity$0(IJ[I)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteEvent$14(ILjava/lang/String;IJJ)V HPLcom/android/server/am/BatteryStatsService;->lambda$noteJobFinish$18(Ljava/lang/String;IIJJ)V HPLcom/android/server/am/BatteryStatsService;->lambda$noteJobStart$17(Ljava/lang/String;IJJ)V +HPLcom/android/server/am/BatteryStatsService;->lambda$notePhoneState$49(IJJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteScreenBrightness$39(IJJ)V HSPLcom/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 +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStartSensor$32(IIJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStartWakelock$23(IILjava/lang/String;Ljava/lang/String;IZJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStartWakelockFromSource$25(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopSensor$33(IIJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelock$24(IILjava/lang/String;Ljava/lang/String;IJJ)V -HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelockFromSource$27(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelockFromSource$27(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; HSPLcom/android/server/am/BatteryStatsService;->lambda$noteUidProcessState$13(IIJJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteUserActivity$40(IIJJ)V HPLcom/android/server/am/BatteryStatsService;->lambda$noteWifiRadioPowerState$64(IJIJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$scheduleWriteToDisk$3()V -HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$95(IIIIIIIIJJJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$96(IIIIIIIIJJJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$97(IIIIIIIIJJJJ)V HPLcom/android/server/am/BatteryStatsService;->monitor()V HPLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V HSPLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V +HPLcom/android/server/am/BatteryStatsService;->noteBleScanResults(Landroid/os/WorkSource;I)V +HPLcom/android/server/am/BatteryStatsService;->noteBleScanStarted(Landroid/os/WorkSource;Z)V +HPLcom/android/server/am/BatteryStatsService;->noteBleScanStopped(Landroid/os/WorkSource;Z)V HPLcom/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 -HPLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V +HPLcom/android/server/am/BatteryStatsService;->noteCpuWakingActivity(IJ[I)V +HSPLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V +HSPLcom/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 +HPLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V +HPLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V HSPLcom/android/server/am/BatteryStatsService;->noteProcessDied(II)V HSPLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V +HSPLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V HSPLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V +HSPLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V HSPLcom/android/server/am/BatteryStatsService;->noteServiceStartLaunch(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler; HPLcom/android/server/am/BatteryStatsService;->noteServiceStartRunning(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler; HPLcom/android/server/am/BatteryStatsService;->noteServiceStopLaunch(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler; @@ -1960,12 +1568,15 @@ HPLcom/android/server/am/BatteryStatsService;->noteSyncFinish(Ljava/lang/String; HPLcom/android/server/am/BatteryStatsService;->noteSyncStart(Ljava/lang/String;I)V HSPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/BatteryStatsService;->noteVibratorOff(I)V HPLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V HPLcom/android/server/am/BatteryStatsService;->noteWifiRadioPowerState(IJI)V HSPLcom/android/server/am/BatteryStatsService;->publish()V HSPLcom/android/server/am/BatteryStatsService;->scheduleWriteToDisk()V HSPLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIIIJ)V +HPLcom/android/server/am/BatteryStatsService;->shouldCollectExternalStats()Z HPLcom/android/server/am/BatteryStatsService;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler; +HPLcom/android/server/am/BatteryStatsService;->updateBatteryStatsOnActivityUsage(Ljava/lang/String;Ljava/lang/String;IIZ)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 @@ -1976,12 +1587,12 @@ HSPLcom/android/server/am/BroadcastConstants;->propertyFor(Ljava/lang/String;)Lj HSPLcom/android/server/am/BroadcastConstants;->propertyOverrideFor(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/am/BroadcastConstants;->updateDeviceConfigConstants()V HSPLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZZZ)V +HPLcom/android/server/am/BroadcastFilter;->toString()Ljava/lang/String; HSPLcom/android/server/am/BroadcastHistory;-><init>(Lcom/android/server/am/BroadcastConstants;)V HSPLcom/android/server/am/BroadcastHistory;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V+]Lcom/android/server/am/BroadcastHistory;Lcom/android/server/am/BroadcastHistory;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastHistory;->onBroadcastEnqueuedLocked(Lcom/android/server/am/BroadcastRecord;)V HSPLcom/android/server/am/BroadcastHistory;->onBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V+]Lcom/android/server/am/BroadcastHistory;Lcom/android/server/am/BroadcastHistory;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/BroadcastHistory;->ringAdvance(III)I -HSPLcom/android/server/am/BroadcastLoopers;-><clinit>()V HSPLcom/android/server/am/BroadcastLoopers;->addMyLooper()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Looper;Landroid/os/Looper;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/BroadcastProcessQueue;-><init>(Lcom/android/server/am/BroadcastConstants;Ljava/lang/String;I)V HSPLcom/android/server/am/BroadcastProcessQueue;->assertHealthLocked()V @@ -1997,7 +1608,7 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->getActiveViaColdStart()Z HSPLcom/android/server/am/BroadcastProcessQueue;->getActiveWasStopped()Z HPLcom/android/server/am/BroadcastProcessQueue;->getPreferredSchedulingGroupLocked()I HSPLcom/android/server/am/BroadcastProcessQueue;->getQueueForBroadcast(Lcom/android/server/am/BroadcastRecord;)Ljava/util/ArrayDeque;+]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; -HSPLcom/android/server/am/BroadcastProcessQueue;->getRunnableAt()J +HSPLcom/android/server/am/BroadcastProcessQueue;->getRunnableAt()J+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->insertIntoRunnableList(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;)Lcom/android/server/am/BroadcastProcessQueue;+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->invalidateRunnableAt()V HSPLcom/android/server/am/BroadcastProcessQueue;->isActive()Z @@ -2009,11 +1620,12 @@ HPLcom/android/server/am/BroadcastProcessQueue;->isPendingUrgent()Z HSPLcom/android/server/am/BroadcastProcessQueue;->isProcessWarm()Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/BroadcastProcessQueue;->isQueueEmpty(Ljava/util/ArrayDeque;)Z+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; HSPLcom/android/server/am/BroadcastProcessQueue;->isRunnable()Z+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; +HPLcom/android/server/am/BroadcastProcessQueue;->lambda$updateDeferredStates$0(Lcom/android/server/am/BroadcastRecord;I)Z HSPLcom/android/server/am/BroadcastProcessQueue;->makeActiveIdle()V HSPLcom/android/server/am/BroadcastProcessQueue;->makeActiveNextPending()V+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs; HSPLcom/android/server/am/BroadcastProcessQueue;->onBroadcastDequeued(Lcom/android/server/am/BroadcastRecord;I)V+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastProcessQueue;->onBroadcastEnqueued(Lcom/android/server/am/BroadcastRecord;I)V+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; -HSPLcom/android/server/am/BroadcastProcessQueue;->peekNextBroadcast()Lcom/android/internal/os/SomeArgs; +HSPLcom/android/server/am/BroadcastProcessQueue;->peekNextBroadcast()Lcom/android/internal/os/SomeArgs;+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HPLcom/android/server/am/BroadcastProcessQueue;->peekNextBroadcastRecord()Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastProcessQueue;->queueForNextBroadcast()Ljava/util/ArrayDeque;+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->queueForNextBroadcast(Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;II)Ljava/util/ArrayDeque;+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; @@ -2027,10 +1639,9 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->setProcessPersistent(Z)Z HSPLcom/android/server/am/BroadcastProcessQueue;->setUidForeground(Z)Z HSPLcom/android/server/am/BroadcastProcessQueue;->toShortString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/BroadcastProcessQueue;->traceActiveBegin()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Object;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; -HSPLcom/android/server/am/BroadcastProcessQueue;->traceActiveEnd()V HSPLcom/android/server/am/BroadcastProcessQueue;->traceProcessEnd()V+]Ljava/lang/Object;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->traceProcessRunningBegin()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Object;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; -HPLcom/android/server/am/BroadcastProcessQueue;->traceProcessStartingBegin()V +HSPLcom/android/server/am/BroadcastProcessQueue;->traceProcessStartingBegin()V HSPLcom/android/server/am/BroadcastProcessQueue;->updateDeferredStates(Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;)V+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->updateRunnableAt()V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; 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 @@ -2044,14 +1655,13 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;-><init>(Lcom/android/server/ HSPLcom/android/server/am/BroadcastQueueModernImpl;->applyDeliveryGroupPolicy(Lcom/android/server/am/BroadcastRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastQueueModernImpl;->assertHealthLocked()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl; HSPLcom/android/server/am/BroadcastQueueModernImpl;->checkAndRemoveWaitingFor()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/am/BroadcastQueueModernImpl;->checkHealthLocked()V+]Landroid/os/Handler;Landroid/os/Handler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastQueueModernImpl;->checkPendingColdStartValidity()V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl; HSPLcom/android/server/am/BroadcastQueueModernImpl;->demoteFromRunningLocked(Lcom/android/server/am/BroadcastProcessQueue;)V+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; -HSPLcom/android/server/am/BroadcastQueueModernImpl;->dispatchReceivers(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastRecord;I)Z+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Lcom/android/server/am/SameProcessApplicationThread;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/BroadcastQueueModernImpl;->dispatchReceivers(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastRecord;I)Z+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Lcom/android/server/am/SameProcessApplicationThread;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastQueueModernImpl;->enqueueBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;,Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/BroadcastHistory;Lcom/android/server/am/BroadcastHistory;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; HSPLcom/android/server/am/BroadcastQueueModernImpl;->enqueueUpdateRunningList()V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/am/BroadcastQueueModernImpl;->finishReceiverActiveLocked(Lcom/android/server/am/BroadcastProcessQueue;ILjava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/BroadcastQueueModernImpl;->finishReceiverLocked(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; +HPLcom/android/server/am/BroadcastQueueModernImpl;->finishReceiverLocked(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/am/BroadcastQueueModernImpl;->forEachMatchingBroadcast(Ljava/util/function/Predicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Ljava/util/function/Predicate;Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda16;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda14;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda15;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda13; HSPLcom/android/server/am/BroadcastQueueModernImpl;->getDeliveryState(Lcom/android/server/am/BroadcastRecord;I)I+]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastQueueModernImpl;->getOrCreateProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue;+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; @@ -2062,11 +1672,12 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;->getRecordsLookupCache()Land HSPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningIndexOf(Lcom/android/server/am/BroadcastProcessQueue;)I HSPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningSize()I HSPLcom/android/server/am/BroadcastQueueModernImpl;->getRunningUrgentCount()I+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; -HPLcom/android/server/am/BroadcastQueueModernImpl;->isPendingColdStartValid()Z +HSPLcom/android/server/am/BroadcastQueueModernImpl;->isPendingColdStartValid()Z HSPLcom/android/server/am/BroadcastQueueModernImpl;->isProcessFreezable(Lcom/android/server/am/ProcessRecord;)Z+]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; -HPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$applyDeliveryGroupPolicy$3(Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;Lcom/android/server/am/BroadcastRecord;I)Z+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; +HSPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$applyDeliveryGroupPolicy$3(Lcom/android/server/am/BroadcastRecord;Landroid/util/ArrayMap;Lcom/android/server/am/BroadcastRecord;I)Z+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$0(Landroid/os/Message;)Z+]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$new$12(Lcom/android/server/am/BroadcastRecord;I)V +HSPLcom/android/server/am/BroadcastQueueModernImpl;->lambda$static$8(Lcom/android/server/am/BroadcastProcessQueue;)Z HSPLcom/android/server/am/BroadcastQueueModernImpl;->logBroadcastDeliveryEventReported(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;ILjava/lang/Object;)V+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastQueueModernImpl;->notifyFinishBroadcast(Lcom/android/server/am/BroadcastRecord;)V+]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;,Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastHistory;Lcom/android/server/am/BroadcastHistory;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/BroadcastQueueModernImpl;->notifyFinishReceiver(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;ILjava/lang/Object;)V @@ -2082,11 +1693,11 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;->refreshProcessQueueLocked(L HSPLcom/android/server/am/BroadcastQueueModernImpl;->refreshProcessQueuesLocked(I)V HPLcom/android/server/am/BroadcastQueueModernImpl;->removeProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastQueueModernImpl;->reportUsageStatsBroadcastDispatched(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleReceiverColdLocked(Lcom/android/server/am/BroadcastProcessQueue;)Z +HSPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleReceiverColdLocked(Lcom/android/server/am/BroadcastProcessQueue;)Z HSPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleReceiverWarmLocked(Lcom/android/server/am/BroadcastProcessQueue;)Z+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastQueueModernImpl;->scheduleResultTo(Lcom/android/server/am/BroadcastRecord;)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Lcom/android/server/am/SameProcessApplicationThread; HSPLcom/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+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; -HSPLcom/android/server/am/BroadcastQueueModernImpl;->setQueueProcess(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;)V +HSPLcom/android/server/am/BroadcastQueueModernImpl;->setQueueProcess(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/ProcessRecord;)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastQueueModernImpl;->shouldRetire(Lcom/android/server/am/BroadcastProcessQueue;)Z+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastQueueModernImpl;->shouldSkipReceiver(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastRecord;I)Ljava/lang/String;+]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/BroadcastQueueModernImpl;->skipAndCancelReplacedBroadcasts(Landroid/util/ArraySet;)V+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda9; @@ -2097,16 +1708,16 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;->updateWarmProcess(Lcom/andr HSPLcom/android/server/am/BroadcastRecord;-><clinit>()V HSPLcom/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+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/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;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V+]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastRecord;->applySingletonPolicy(Lcom/android/server/am/ActivityManagerService;)V+]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;,Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/BroadcastRecord;->calculateBlockedUntilBeyondCount(Ljava/util/List;Z)[I+]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;,Ljava/util/ArrayList; HSPLcom/android/server/am/BroadcastRecord;->calculateDeferUntilActive(ILandroid/app/BroadcastOptions;Landroid/content/IIntentReceiver;ZZ)Z+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; HSPLcom/android/server/am/BroadcastRecord;->calculateTypeForLogging()I+]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastRecord;->calculateUrgent(Landroid/content/Intent;Landroid/app/BroadcastOptions;)Z+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/am/BroadcastRecord;->containsReceiver(Ljava/lang/Object;)Z+]Ljava/util/List;Ljava/util/ArrayList; -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;+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; -HPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingNamespaceFragment(Lcom/android/server/am/BroadcastRecord;)Ljava/lang/String;+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; +HSPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingFilter(Lcom/android/server/am/BroadcastRecord;)Landroid/content/IntentFilter; +HSPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingKeyFragment(Lcom/android/server/am/BroadcastRecord;)Ljava/lang/String;+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; +HSPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupMatchingNamespaceFragment(Lcom/android/server/am/BroadcastRecord;)Ljava/lang/String;+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; HSPLcom/android/server/am/BroadcastRecord;->getDeliveryGroupPolicy()I+]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions; HSPLcom/android/server/am/BroadcastRecord;->getDeliveryState(I)I HSPLcom/android/server/am/BroadcastRecord;->getReceiverIntent(Ljava/lang/Object;)Landroid/content/Intent;+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/function/BiFunction;Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda4; @@ -2118,24 +1729,25 @@ HSPLcom/android/server/am/BroadcastRecord;->isBlocked(I)Z HSPLcom/android/server/am/BroadcastRecord;->isCallerInstrumented(Lcom/android/server/am/ProcessRecord;I)Z+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/BroadcastRecord;->isDeliveryStateTerminal(I)Z HSPLcom/android/server/am/BroadcastRecord;->isForeground()Z+]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/am/BroadcastRecord;->isMatchingKeyNull(Lcom/android/server/am/BroadcastRecord;)Z +HSPLcom/android/server/am/BroadcastRecord;->isMatchingKeyNull(Lcom/android/server/am/BroadcastRecord;)Z HPLcom/android/server/am/BroadcastRecord;->isNoAbort()Z HSPLcom/android/server/am/BroadcastRecord;->isOffload()Z HSPLcom/android/server/am/BroadcastRecord;->isPrioritized([IZ)Z HPLcom/android/server/am/BroadcastRecord;->isReceiverEquals(Ljava/lang/Object;Ljava/lang/Object;)Z HSPLcom/android/server/am/BroadcastRecord;->isReplacePending()Z HSPLcom/android/server/am/BroadcastRecord;->isUrgent()Z -HPLcom/android/server/am/BroadcastRecord;->matchesDeliveryGroup(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;)Z+]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/am/BroadcastRecord;->matchesDeliveryGroup(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;)Z+]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastRecord;->maybeStripForHistory()Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastRecord;->setDeliveryState(IILjava/lang/String;)Z+]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastRecord;->toShortString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/BroadcastSkipPolicy;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HPLcom/android/server/am/BroadcastSkipPolicy;->disallowBackgroundStart(Lcom/android/server/am/BroadcastRecord;)Z+]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/am/BroadcastSkipPolicy;->disallowBackgroundStart(Lcom/android/server/am/BroadcastRecord;)Z+]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/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 HSPLcom/android/server/am/BroadcastSkipPolicy;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Landroid/content/pm/ResolveInfo;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy;]Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/firewall/IntentFirewall;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Landroid/app/BroadcastOptions;Landroid/app/BroadcastOptions;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl; HSPLcom/android/server/am/BroadcastSkipPolicy;->shouldSkipMessage(Lcom/android/server/am/BroadcastRecord;Ljava/lang/Object;)Ljava/lang/String;+]Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastSkipPolicy; -HSPLcom/android/server/am/BroadcastStats$ActionEntry;-><init>(Ljava/lang/String;)V HPLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/CacheOomRanker$1;-><init>(Lcom/android/server/am/CacheOomRanker;)V @@ -2147,8 +1759,6 @@ 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 -HSPLcom/android/server/am/CacheOomRanker$RankedProcessRecord;-><init>()V -HSPLcom/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 @@ -2156,22 +1766,12 @@ HSPLcom/android/server/am/CacheOomRanker$ScoreComparator;-><init>(Lcom/android/s 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 -HSPLcom/android/server/am/CacheOomRanker;->getNumberToReRank()I -HSPLcom/android/server/am/CacheOomRanker;->init(Ljava/util/concurrent/Executor;)V -HSPLcom/android/server/am/CacheOomRanker;->updateLruWeight()V -HSPLcom/android/server/am/CacheOomRanker;->updateNumberToReRank()V -HSPLcom/android/server/am/CacheOomRanker;->updateRssWeight()V -HSPLcom/android/server/am/CacheOomRanker;->updateUseOomReranking()V -HSPLcom/android/server/am/CacheOomRanker;->updateUsesWeight()V HSPLcom/android/server/am/CacheOomRanker;->useOomReranking()Z -HSPLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/CachedAppOptimizer;Z)V -HSPLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/am/CachedAppOptimizer;Z)V -HSPLcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda1;->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 HSPLcom/android/server/am/CachedAppOptimizer$4;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V +HPLcom/android/server/am/CachedAppOptimizer$AggregatedCompactionStats;->addMemStats(JJJJJ)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 @@ -2183,31 +1783,25 @@ HSPLcom/android/server/am/CachedAppOptimizer$CompactSource;->values()[Lcom/andro 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 -HSPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V -HSPLcom/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;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/internal/os/ProcLocksReader;Lcom/android/internal/os/ProcLocksReader;]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler; -HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->reportUnfreeze(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;I)V -HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V -HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler-IA;)V +HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->freezeProcess(Lcom/android/server/am/ProcessRecord;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Random;Ljava/util/Random;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler; +HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/internal/os/ProcLocksReader;Lcom/android/internal/os/ProcLocksReader;]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler; +HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->reportUnfreeze(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;I)V+]Ljava/util/Random;Ljava/util/Random;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/server/am/CachedAppOptimizer$AggregatedCompactionStats;Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;,Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/LinkedHashMap;Lcom/android/server/am/CachedAppOptimizer$3;]Lcom/android/server/am/CachedAppOptimizer$ProcessDependencies;Lcom/android/server/am/CachedAppOptimizer$DefaultProcessDependencies;]Ljava/util/LinkedList;Lcom/android/server/am/CachedAppOptimizer$4;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;]Ljava/lang/Enum;Lcom/android/server/am/CachedAppOptimizer$CompactProfile;,Lcom/android/server/am/CachedAppOptimizer$CompactSource;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;Lcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldOomAdjThrottleCompaction(Lcom/android/server/am/ProcessRecord;)Z+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; -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 +HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldRssThrottleCompaction(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;ILjava/lang/String;[J)Z+]Ljava/util/LinkedHashMap;Lcom/android/server/am/CachedAppOptimizer$3;]Lcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;Lcom/android/server/am/CachedAppOptimizer$SingleCompactionStats; +HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->shouldThrottleMiscCompaction(Lcom/android/server/am/ProcessRecord;I)Z+]Ljava/util/Set;Ljava/util/HashSet; +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+]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; HSPLcom/android/server/am/CachedAppOptimizer$SettingsContentObserver;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V +HPLcom/android/server/am/CachedAppOptimizer$SingleCompactionStats;-><init>([JLcom/android/server/am/CachedAppOptimizer$CompactSource;Ljava/lang/String;JJJJJIIII)V HSPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmAm(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/ActivityManagerService; -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; HPLcom/android/server/am/CachedAppOptimizer;->-$$Nest$fgetmRandom(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/Random; HPLcom/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;->cancelCompactionForProcess(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;)V+]Ljava/util/EnumMap;Ljava/util/EnumMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; +HPLcom/android/server/am/CachedAppOptimizer;->cancelCompactionForProcess(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/CachedAppOptimizer$CancelCompactReason;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Ljava/util/EnumMap;Ljava/util/EnumMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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+]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Ljava/lang/Enum;Lcom/android/server/am/CachedAppOptimizer$CompactProfile;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/am/CachedAppOptimizer;->enableFreezer(Z)Z HPLcom/android/server/am/CachedAppOptimizer;->freezeAppAsyncInternalLSP(Lcom/android/server/am/ProcessRecord;JZ)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy; 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 @@ -2215,14 +1809,8 @@ HSPLcom/android/server/am/CachedAppOptimizer;->freezerExemptInstPkg()Z HPLcom/android/server/am/CachedAppOptimizer;->getPerProcessAggregatedCompactStat(Ljava/lang/String;)Lcom/android/server/am/CachedAppOptimizer$AggregatedProcessCompactionStats;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap; HPLcom/android/server/am/CachedAppOptimizer;->getPerSourceAggregatedCompactStat(Lcom/android/server/am/CachedAppOptimizer$CompactSource;)Lcom/android/server/am/CachedAppOptimizer$AggregatedSourceCompactionStats;+]Ljava/util/EnumMap;Ljava/util/EnumMap; HSPLcom/android/server/am/CachedAppOptimizer;->getUnfreezeReasonCodeFromOomAdjReason(I)I -HSPLcom/android/server/am/CachedAppOptimizer;->init()V -HSPLcom/android/server/am/CachedAppOptimizer;->isFreezerSupported()Z -HSPLcom/android/server/am/CachedAppOptimizer;->lambda$enableFreezer$0(ZLcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/CachedAppOptimizer;->lambda$updateUseFreezer$1(Z)V HSPLcom/android/server/am/CachedAppOptimizer;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/CachedAppOptimizer;->onOomAdjustChanged(IILcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer; HPLcom/android/server/am/CachedAppOptimizer;->onProcessFrozen(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/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 HSPLcom/android/server/am/CachedAppOptimizer;->reportProcessFreezableChangedLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; @@ -2230,27 +1818,16 @@ HPLcom/android/server/am/CachedAppOptimizer;->resolveCompactionProfile(Lcom/andr HPLcom/android/server/am/CachedAppOptimizer;->traceAppFreeze(Ljava/lang/String;II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppInternalLSP(Lcom/android/server/am/ProcessRecord;IZ)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppLSP(Lcom/android/server/am/ProcessRecord;I)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer; +HPLcom/android/server/am/CachedAppOptimizer;->unfreezeProcess(II)V HPLcom/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 -HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactStatsdSampleRate()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactionThrottles()V -HPLcom/android/server/am/CachedAppOptimizer;->updateEarliestFreezableTime(Lcom/android/server/am/ProcessRecord;J)J -HSPLcom/android/server/am/CachedAppOptimizer;->updateFreezerDebounceTimeout()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateFreezerExemptInstPkg()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateFreezerStatsdSampleRate()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateFullDeltaRssThrottle()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateFullRssThrottle()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateMaxOomAdjThrottle()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateMinOomAdjThrottle()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateProcStateThrottle()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateUseCompaction()V -HSPLcom/android/server/am/CachedAppOptimizer;->updateUseFreezer()V +HPLcom/android/server/am/CachedAppOptimizer;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;IJ)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; +HPLcom/android/server/am/CachedAppOptimizer;->updateEarliestFreezableTime(Lcom/android/server/am/ProcessRecord;J)J+]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; HSPLcom/android/server/am/CachedAppOptimizer;->useCompaction()Z HSPLcom/android/server/am/CachedAppOptimizer;->useFreezer()Z HSPLcom/android/server/am/ComponentAliasResolver$1;-><init>(Lcom/android/server/am/ComponentAliasResolver;)V HSPLcom/android/server/am/ComponentAliasResolver$Resolution;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V HSPLcom/android/server/am/ComponentAliasResolver$Resolution;->getAlias()Ljava/lang/Object;+]Lcom/android/server/am/ComponentAliasResolver$Resolution;Lcom/android/server/am/ComponentAliasResolver$Resolution; -HPLcom/android/server/am/ComponentAliasResolver$Resolution;->getTarget()Ljava/lang/Object; +HSPLcom/android/server/am/ComponentAliasResolver$Resolution;->getTarget()Ljava/lang/Object; HSPLcom/android/server/am/ComponentAliasResolver$Resolution;->isAlias()Z HSPLcom/android/server/am/ComponentAliasResolver;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ComponentAliasResolver;->resolveComponentAlias(Ljava/util/function/Supplier;)Lcom/android/server/am/ComponentAliasResolver$Resolution; @@ -2264,109 +1841,88 @@ HSPLcom/android/server/am/ConnectionRecord;->startAssociationIfNeeded()V+]Lcom/a HPLcom/android/server/am/ConnectionRecord;->stopAssociation()V+]Lcom/android/internal/app/procstats/AssociationState$SourceState;Lcom/android/internal/app/procstats/AssociationState$SourceState; HPLcom/android/server/am/ConnectionRecord;->trackProcState(II)V+]Lcom/android/internal/app/procstats/AssociationState$SourceState;Lcom/android/internal/app/procstats/AssociationState$SourceState; HSPLcom/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+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/ContentProviderConnection;->adjustCounts(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/am/ContentProviderConnection;->decrementCount(Z)I HPLcom/android/server/am/ContentProviderConnection;->incrementCount(Z)I HSPLcom/android/server/am/ContentProviderConnection;->initializeCount(Z)V -HSPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V +HSPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V+]Lcom/android/internal/app/procstats/ProcessStats$PackageState;Lcom/android/internal/app/procstats/ProcessStats$PackageState;]Lcom/android/internal/app/procstats/AssociationState;Lcom/android/internal/app/procstats/AssociationState;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/ContentProviderConnection;->stopAssociation()V HPLcom/android/server/am/ContentProviderConnection;->totalRefCount()I HSPLcom/android/server/am/ContentProviderConnection;->trackProcState(II)V+]Lcom/android/internal/app/procstats/AssociationState$SourceState;Lcom/android/internal/app/procstats/AssociationState$SourceState; 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 -HSPLcom/android/server/am/ContentProviderHelper$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ContentProviderHelper;)V -HSPLcom/android/server/am/ContentProviderHelper$DevelopmentSettingsObserver;->onChange()V -HSPLcom/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 HSPLcom/android/server/am/ContentProviderHelper;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z HSPLcom/android/server/am/ContentProviderHelper;->checkAssociationAndPermissionLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;IIZLjava/lang/String;J)V+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ContentProviderHelper;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/am/ContentProviderHelper;->checkContentProviderAssociation(Lcom/android/server/am/ProcessRecord;ILandroid/content/pm/ProviderInfo;)Ljava/lang/String;+]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/android/server/am/ContentProviderHelper;->checkContentProviderPermission(Landroid/content/pm/ProviderInfo;IIIZLjava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService; +HSPLcom/android/server/am/ContentProviderHelper;->checkContentProviderPermission(Landroid/content/pm/ProviderInfo;IIIZLjava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Landroid/content/pm/PathPermission;Landroid/content/pm/PathPermission; HSPLcom/android/server/am/ContentProviderHelper;->checkTime(JLjava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLcom/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+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection; HSPLcom/android/server/am/ContentProviderHelper;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List; HSPLcom/android/server/am/ContentProviderHelper;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/am/ContentProviderHelper;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZI)Landroid/app/ContentProviderHolder;+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Landroid/content/pm/UserProperties;Landroid/content/pm/UserProperties;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy; -HPLcom/android/server/am/ContentProviderHelper;->getMimeTypeFilterAsync(Landroid/net/Uri;ILandroid/os/RemoteCallback;)V+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Landroid/os/RemoteCallback;Landroid/os/RemoteCallback;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/ContentProviderHelper;->handleProviderRemoval(Lcom/android/server/am/ContentProviderConnection;ZZ)V +HPLcom/android/server/am/ContentProviderHelper;->getMimeTypeFilterAsync(Landroid/net/Uri;ILandroid/os/RemoteCallback;)V +HPLcom/android/server/am/ContentProviderHelper;->handleProviderRemoval(Lcom/android/server/am/ContentProviderConnection;ZZ)V+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ContentProviderHelper;->hasProviderConnectionLocked(Lcom/android/server/am/ProcessRecord;)Z+]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/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;+]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; -HSPLcom/android/server/am/ContentProviderHelper;->installSystemProviders()V HSPLcom/android/server/am/ContentProviderHelper;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z HSPLcom/android/server/am/ContentProviderHelper;->lambda$checkContentProviderAssociation$4(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/am/ContentProviderHelper;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; -HSPLcom/android/server/am/ContentProviderHelper;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V -HPLcom/android/server/am/ContentProviderHelper;->refContentProvider(Landroid/os/IBinder;II)Z+]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection; +HSPLcom/android/server/am/ContentProviderHelper;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V+]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Ljava/lang/String;Ljava/lang/String;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/lang/Object;Lcom/android/server/am/ContentProviderRecord;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ContentProviderHelper;->refContentProvider(Landroid/os/IBinder;II)Z+]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection; HPLcom/android/server/am/ContentProviderHelper;->removeContentProvider(Landroid/os/IBinder;Z)V+]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HPLcom/android/server/am/ContentProviderHelper;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z +HPLcom/android/server/am/ContentProviderHelper;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Object;Lcom/android/server/am/ContentProviderRecord;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap;]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Ljava/lang/String;Ljava/lang/String;]Landroid/content/IContentProvider;Landroid/content/ContentProviderProxy;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V HSPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z HSPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z HSPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;Z)Landroid/app/ContentProviderHolder; -HSPLcom/android/server/am/ContentProviderRecord;->onProviderPublishStatusLocked(Z)V -HSPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/CoreSettingsObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/CoreSettingsObserver;)V -HSPLcom/android/server/am/CoreSettingsObserver$DeviceConfigEntry;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)V -HSPLcom/android/server/am/CoreSettingsObserver;-><clinit>()V -HSPLcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HSPLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V +HSPLcom/android/server/am/ContentProviderRecord;->onProviderPublishStatusLocked(Z)V+]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; +HSPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle; -HSPLcom/android/server/am/CoreSettingsObserver;->loadDeviceConfigContextEntries(Landroid/content/Context;)V -HSPLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V -HSPLcom/android/server/am/CoreSettingsObserver;->populateSettingsFromDeviceConfig()V -HSPLcom/android/server/am/CoreSettingsObserver;->sendCoreSettings()V +HPLcom/android/server/am/DataConnectionStats$PhoneStateListenerExecutor;->execute(Ljava/lang/Runnable;)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/DataConnectionStats;->notePhoneDataConnectionState()V HSPLcom/android/server/am/DropboxRateLimiter$DefaultClock;-><init>()V HSPLcom/android/server/am/DropboxRateLimiter$DefaultClock;-><init>(Lcom/android/server/am/DropboxRateLimiter$DefaultClock-IA;)V -HSPLcom/android/server/am/DropboxRateLimiter$ErrorRecord;->incrementCount()V -HSPLcom/android/server/am/DropboxRateLimiter$RateLimitResult;-><init>(Lcom/android/server/am/DropboxRateLimiter;ZI)V -HSPLcom/android/server/am/DropboxRateLimiter$RateLimitResult;->createHeader()Ljava/lang/String; -HSPLcom/android/server/am/DropboxRateLimiter$RateLimitResult;->shouldRateLimit()Z HSPLcom/android/server/am/DropboxRateLimiter;-><init>()V HSPLcom/android/server/am/DropboxRateLimiter;-><init>(Lcom/android/server/am/DropboxRateLimiter$Clock;)V -HSPLcom/android/server/am/DropboxRateLimiter;->errorKey(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/am/DropboxRateLimiter;->maybeRemoveExpiredRecords(J)V -HPLcom/android/server/am/DropboxRateLimiter;->recentlyDroppedCount(Lcom/android/server/am/DropboxRateLimiter$ErrorRecord;)I HSPLcom/android/server/am/DropboxRateLimiter;->shouldRateLimit(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/am/DropboxRateLimiter$RateLimitResult; HSPLcom/android/server/am/ErrorDialogController;-><init>(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ErrorDialogController;->clearAllErrorDialogs()V HSPLcom/android/server/am/EventLogTags;->writeAmProcBound(IILjava/lang/String;)V HSPLcom/android/server/am/EventLogTags;->writeAmProcDied(IILjava/lang/String;II)V HPLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V -HSPLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V -HSPLcom/android/server/am/EventLogTags;->writeAmUidRunning(I)V -HSPLcom/android/server/am/EventLogTags;->writeAmWtf(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/am/EventLogTags;->writeConfigurationChanged(I)V HSPLcom/android/server/am/FgsTempAllowList;-><init>()V -HPLcom/android/server/am/FgsTempAllowList;->add(IJLjava/lang/Object;)V +HSPLcom/android/server/am/FgsTempAllowList;->add(IJLjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long; HSPLcom/android/server/am/FgsTempAllowList;->get(I)Landroid/util/Pair;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long; HPLcom/android/server/am/FgsTempAllowList;->isAllowed(I)Z HSPLcom/android/server/am/FgsTempAllowList;->removeUid(I)V +HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule$FgsApiRecord;-><init>(IILjava/lang/String;IJ)V HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule;-><init>()V -HPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceApiEventBegin(IIILjava/lang/String;)J +HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->hasValidActiveFgs(II)Z +HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceApiEventBegin(IIILjava/lang/String;)J HPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->logForegroundServiceApiEventEnd(III)J +HPLcom/android/server/am/HealthStatsBatteryStatsWriter;-><init>()V +HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimer(Landroid/os/health/HealthStatsWriter;ILandroid/os/BatteryStats$Timer;)V HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimers(Landroid/os/health/HealthStatsWriter;ILjava/lang/String;Landroid/os/BatteryStats$Timer;)V+]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; +HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pid;)V HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePkg(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg;)V -HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeUid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats;Landroid/os/BatteryStats$Uid;)V+]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/HealthStatsBatteryStatsWriter;Lcom/android/server/am/HealthStatsBatteryStatsWriter;]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$1;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/os/BatteryStats$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet; +HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeProc(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Proc;)V +HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeUid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats;Landroid/os/BatteryStats$Uid;)V+]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/HealthStatsBatteryStatsWriter;Lcom/android/server/am/HealthStatsBatteryStatsWriter;]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/os/BatteryStats$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$1;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/os/BatteryStats$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator; HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;)V HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V+]Landroid/content/ComponentName;Landroid/content/ComponentName; 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 -HSPLcom/android/server/am/HostingRecord;->getDefiningProcessName()Ljava/lang/String; HSPLcom/android/server/am/HostingRecord;->getDefiningUid()I HSPLcom/android/server/am/HostingRecord;->getHostingTypeIdStatsd(Ljava/lang/String;)I -HSPLcom/android/server/am/HostingRecord;->getName()Ljava/lang/String; HSPLcom/android/server/am/HostingRecord;->getTriggerTypeForStatsd(Ljava/lang/String;)I HSPLcom/android/server/am/InstrumentationReporter;-><init>()V HSPLcom/android/server/am/IntentBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent$FilterComparison;)V -HSPLcom/android/server/am/LmkdConnection$1;-><init>(Lcom/android/server/am/LmkdConnection;)V +HPLcom/android/server/am/IntentBindRecord;->dumpInService(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLcom/android/server/am/LmkdConnection;-><init>(Landroid/os/MessageQueue;Lcom/android/server/am/LmkdConnection$LmkdConnectionListener;)V -HSPLcom/android/server/am/LmkdConnection;->connect()Z HSPLcom/android/server/am/LmkdConnection;->exchange(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z+]Lcom/android/server/am/LmkdConnection;Lcom/android/server/am/LmkdConnection;]Ljava/lang/Object;Ljava/lang/Object; HSPLcom/android/server/am/LmkdConnection;->isConnected()Z -HSPLcom/android/server/am/LmkdConnection;->openSocket()Landroid/net/LocalSocket; -HSPLcom/android/server/am/LmkdConnection;->waitForConnection(J)Z +HPLcom/android/server/am/LmkdConnection;->processIncomingData()V HSPLcom/android/server/am/LmkdConnection;->write(Ljava/nio/ByteBuffer;)Z+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/io/OutputStream;Landroid/net/LocalSocketImpl$SocketOutputStream; HSPLcom/android/server/am/LowMemDetector$LowMemThread;-><init>(Lcom/android/server/am/LowMemDetector;)V HSPLcom/android/server/am/LowMemDetector$LowMemThread;-><init>(Lcom/android/server/am/LowMemDetector;Lcom/android/server/am/LowMemDetector$LowMemThread-IA;)V @@ -2375,6 +1931,7 @@ HSPLcom/android/server/am/LowMemDetector;->-$$Nest$mwaitForPressure(Lcom/android 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 +HPLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat; 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 @@ -2392,11 +1949,12 @@ HSPLcom/android/server/am/OomAdjProfiler;->scheduleSystemServerCpuTimeUpdate()V HSPLcom/android/server/am/OomAdjProfiler;->updateSystemServerCpuTime(ZZZ)V HSPLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda3;-><init>()V HSPLcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda3;->handleMessage(Landroid/os/Message;)Z -HSPLcom/android/server/am/OomAdjuster$1;-><init>(Lcom/android/server/am/OomAdjuster;)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+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onPausedActivity()V +HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingActivity(Z)V +HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onVisibleActivity()V 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 HSPLcom/android/server/am/OomAdjuster;->applyOomAdjLSP(Lcom/android/server/am/ProcessRecord;ZJJI)Z+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Landroid/os/Handler;Landroid/os/Handler;,Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; @@ -2408,8 +1966,6 @@ HSPLcom/android/server/am/OomAdjuster;->enqueueOomAdjTargetLocked(Lcom/android/s HSPLcom/android/server/am/OomAdjuster;->getBfslCapabilityFromClient(Lcom/android/server/am/ProcessRecord;)I+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; HSPLcom/android/server/am/OomAdjuster;->getDefaultCapability(Lcom/android/server/am/ProcessRecord;I)I+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/OomAdjuster;->idleUidsLocked()V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; -HSPLcom/android/server/am/OomAdjuster;->initSettings()V -HSPLcom/android/server/am/OomAdjuster;->isChangeEnabled(ILandroid/content/pm/ApplicationInfo;Z)Z HPLcom/android/server/am/OomAdjuster;->isScreenOnOrAnimatingLocked(Lcom/android/server/am/ProcessStateRecord;)Z+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HSPLcom/android/server/am/OomAdjuster;->lambda$new$0(Landroid/os/Message;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/am/OomAdjuster;->maybeUpdateLastTopTime(Lcom/android/server/am/ProcessStateRecord;J)V+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; @@ -2420,99 +1976,91 @@ HSPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjLSP(Lcom/android/serv HSPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjLSP(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;JI)Z+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/OomAdjuster;->performUpdateOomAdjPendingTargetsLocked(I)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/OomAdjProfiler;Lcom/android/server/am/OomAdjProfiler;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/OomAdjuster;->removeOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;Z)V -HPLcom/android/server/am/OomAdjuster;->setAppIdTempAllowlistStateLSP(IZ)V+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord; -HSPLcom/android/server/am/OomAdjuster;->setAttachingProcessStatesLSP(Lcom/android/server/am/ProcessRecord;)V -HPLcom/android/server/am/OomAdjuster;->setUidTempAllowlistStateLSP(IZ)V +HSPLcom/android/server/am/OomAdjuster;->setAppIdTempAllowlistStateLSP(IZ)V+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord; +HSPLcom/android/server/am/OomAdjuster;->setAttachingProcessStatesLSP(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; +HSPLcom/android/server/am/OomAdjuster;->setUidTempAllowlistStateLSP(IZ)V HSPLcom/android/server/am/OomAdjuster;->shouldKillExcessiveProcesses(J)Z+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/OomAdjuster;->shouldSkipDueToCycle(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessStateRecord;IIZ)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; HSPLcom/android/server/am/OomAdjuster;->unfreezeTemporarily(Lcom/android/server/am/ProcessRecord;I)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/OomAdjuster;->updateAndTrimProcessLSP(JJJLcom/android/server/am/ActiveUids;I)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/OomAdjuster;->updateAppFreezeStateLSP(Lcom/android/server/am/ProcessRecord;I)V+]Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; -HSPLcom/android/server/am/OomAdjuster;->updateAppUidRecIfNecessaryLSP(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord; +HSPLcom/android/server/am/OomAdjuster;->updateAppUidRecIfNecessaryLSP(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/OomAdjuster;->updateAppUidRecLSP(Lcom/android/server/am/ProcessRecord;)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; -HSPLcom/android/server/am/OomAdjuster;->updateOomAdjInnerLSP(ILcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;ZZ)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/CacheOomRanker;Lcom/android/server/am/CacheOomRanker;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/OomAdjProfiler;Lcom/android/server/am/OomAdjProfiler;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler; +HSPLcom/android/server/am/OomAdjuster;->updateOomAdjInnerLSP(ILcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;ZZ)V+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/CacheOomRanker;Lcom/android/server/am/CacheOomRanker;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/OomAdjProfiler;Lcom/android/server/am/OomAdjProfiler;]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler; HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLSP(I)V HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLSP(Lcom/android/server/am/ProcessRecord;I)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster; HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(I)V HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;I)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster; HSPLcom/android/server/am/OomAdjuster;->updateOomAdjPendingTargetsLocked(I)V+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/am/OomAdjuster;->updateUidsLSP(Lcom/android/server/am/ActiveUids;J)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/OomAdjuster;->updateUidsLSP(Lcom/android/server/am/ActiveUids;J)V+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/PackageList;-><init>(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/PackageList;->containsKey(Ljava/lang/Object;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/PackageList;->forEachPackage(Ljava/util/function/BiConsumer;)V -HSPLcom/android/server/am/PackageList;->forEachPackage(Ljava/util/function/Consumer;)V HSPLcom/android/server/am/PackageList;->forEachPackageProcessStats(Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;megamorphic_types HSPLcom/android/server/am/PackageList;->get(Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/PackageList;->getPackageList()[Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/PackageList;->getPackageListLocked()Landroid/util/ArrayMap; HSPLcom/android/server/am/PackageList;->put(Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder; HSPLcom/android/server/am/PackageList;->searchEachPackage(Ljava/util/function/Function;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/am/ContentProviderHelper$$ExternalSyntheticLambda0; -HSPLcom/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+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController; HPLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;Z)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController; HPLcom/android/server/am/PendingIntentController;->decrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;Ljava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/PendingIntentController;->incrementUidStatLocked(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HPLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;)V+]Lcom/android/server/AlarmManagerInternal;Lcom/android/server/alarm/AlarmManagerService$LocalService;]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; +HPLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;)V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/AlarmManagerInternal;Lcom/android/server/alarm/AlarmManagerService$LocalService;]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; HSPLcom/android/server/am/PendingIntentController;->onActivityManagerInternalAdded()V -HPLcom/android/server/am/PendingIntentController;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)Z+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; -HPLcom/android/server/am/PendingIntentController;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; -HPLcom/android/server/am/PendingIntentController;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; +HPLcom/android/server/am/PendingIntentController;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)Z +HPLcom/android/server/am/PendingIntentController;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V +HPLcom/android/server/am/PendingIntentController;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V HSPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z+]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z+]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I HPLcom/android/server/am/PendingIntentRecord$TempAllowListDuration;-><init>(JIILjava/lang/String;)V HSPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V HPLcom/android/server/am/PendingIntentRecord;->completeFinalize()V+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController; HPLcom/android/server/am/PendingIntentRecord;->detachCancelListenersLocked()Landroid/os/RemoteCallbackList; -HPLcom/android/server/am/PendingIntentRecord;->finalize()V+]Landroid/os/Handler;Landroid/os/Handler; -HPLcom/android/server/am/PendingIntentRecord;->getBackgroundStartPrivilegesForActivitySender(Landroid/util/ArraySet;Landroid/os/IBinder;Landroid/os/Bundle;I)Landroid/app/BackgroundStartPrivileges; -HPLcom/android/server/am/PendingIntentRecord;->registerCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V+]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; -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 -HPLcom/android/server/am/PendingIntentRecord;->setAllowBgActivityStarts(Landroid/os/IBinder;I)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/am/PendingIntentRecord;->setAllowlistDurationLocked(Landroid/os/IBinder;JIILjava/lang/String;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HPLcom/android/server/am/PendingIntentRecord;->unregisterCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V+]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; +HPLcom/android/server/am/PendingIntentRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V +HPLcom/android/server/am/PendingIntentRecord;->getBackgroundStartPrivilegesForActivitySender(Landroid/util/ArraySet;Landroid/os/IBinder;Landroid/os/Bundle;I)Landroid/app/BackgroundStartPrivileges;+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService; +HPLcom/android/server/am/PendingIntentRecord;->registerCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V +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+]Lcom/android/server/wm/SafeActivityOptions;Lcom/android/server/wm/SafeActivityOptions;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/IIntentReceiver;Landroid/app/PendingIntent$FinishedDispatcher;,Landroid/content/IIntentReceiver$Stub$Proxy;]Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentController;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord;]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/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+]Lcom/android/server/am/PendingIntentRecord;Lcom/android/server/am/PendingIntentRecord; +HPLcom/android/server/am/PendingIntentRecord;->setAllowBgActivityStarts(Landroid/os/IBinder;I)V +HPLcom/android/server/am/PendingIntentRecord;->setAllowlistDurationLocked(Landroid/os/IBinder;JIILjava/lang/String;)V +HPLcom/android/server/am/PendingIntentRecord;->unregisterCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V HSPLcom/android/server/am/PendingStartActivityUids;-><init>()V +HPLcom/android/server/am/PendingStartActivityUids;->add(II)Z HSPLcom/android/server/am/PendingStartActivityUids;->delete(IJ)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long; HSPLcom/android/server/am/PendingStartActivityUids;->isPendingTopUid(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/PendingTempAllowlists;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/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;->valueAt(I)Lcom/android/server/am/ActivityManagerService$PendingTempAllowlist; +HSPLcom/android/server/am/PendingTempAllowlists;->put(ILcom/android/server/am/ActivityManagerService$PendingTempAllowlist;)V +HSPLcom/android/server/am/PendingTempAllowlists;->removeAt(I)V +HSPLcom/android/server/am/PendingTempAllowlists;->size()I +HSPLcom/android/server/am/PendingTempAllowlists;->valueAt(I)Lcom/android/server/am/ActivityManagerService$PendingTempAllowlist; HSPLcom/android/server/am/PhantomProcessList$Injector;-><init>()V HSPLcom/android/server/am/PhantomProcessList;-><clinit>()V HSPLcom/android/server/am/PhantomProcessList;-><init>(Lcom/android/server/am/ActivityManagerService;)V HPLcom/android/server/am/PhantomProcessList;->addChildPidLocked(Lcom/android/server/am/ProcessRecord;II)V+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/PhantomProcessList$Injector;Lcom/android/server/am/PhantomProcessList$Injector; HPLcom/android/server/am/PhantomProcessList;->forEachPhantomProcessOfApp(Lcom/android/server/am/ProcessRecord;Ljava/util/function/Function;)V+]Ljava/util/function/Function;Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda34;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/PhantomProcessList;->getCgroupFilePath(II)Ljava/lang/String; -HPLcom/android/server/am/PhantomProcessList;->getOrCreatePhantomProcessIfNeededLocked(Ljava/lang/String;IIZ)Lcom/android/server/am/PhantomProcessRecord;+]Landroid/os/Handler;Lcom/android/server/am/ProcessList$KillHandler;]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Lcom/android/server/am/PhantomProcessRecord;Lcom/android/server/am/PhantomProcessRecord;]Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; +HPLcom/android/server/am/PhantomProcessList;->getOrCreatePhantomProcessIfNeededLocked(Ljava/lang/String;IIZ)Lcom/android/server/am/PhantomProcessRecord;+]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/Handler;Lcom/android/server/am/ProcessList$KillHandler;]Lcom/android/server/am/PhantomProcessRecord;Lcom/android/server/am/PhantomProcessRecord;]Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/PhantomProcessList;->isAppProcess(I)Z+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap; HPLcom/android/server/am/PhantomProcessList;->lookForPhantomProcessesLocked()V+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/am/PhantomProcessList;->lookForPhantomProcessesLocked(Lcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Ljava/io/InputStream;Ljava/io/FileInputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/PhantomProcessList$Injector;Lcom/android/server/am/PhantomProcessList$Injector;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/PhantomProcessList;->onAppDied(I)V HSPLcom/android/server/am/PhantomProcessList;->probeCgroupVersion()V HPLcom/android/server/am/PhantomProcessList;->updateProcessCpuStatesLocked(Lcom/android/internal/os/ProcessCpuTracker;)V+]Lcom/android/internal/os/ProcessCpuTracker;Lcom/android/internal/os/ProcessCpuTracker;]Lcom/android/server/am/PhantomProcessList;Lcom/android/server/am/PhantomProcessList;]Lcom/android/server/am/PhantomProcessRecord;Lcom/android/server/am/PhantomProcessRecord; -HSPLcom/android/server/am/PlatformCompatCache$CacheItem;-><init>(Lcom/android/server/compat/PlatformCompat;J)V HSPLcom/android/server/am/PlatformCompatCache$CacheItem;->fetchLocked(Landroid/content/pm/ApplicationInfo;I)Z HSPLcom/android/server/am/PlatformCompatCache$CacheItem;->invalidate(Landroid/content/pm/ApplicationInfo;)V HSPLcom/android/server/am/PlatformCompatCache$CacheItem;->isChangeEnabled(Landroid/content/pm/ApplicationInfo;)Z -HSPLcom/android/server/am/PlatformCompatCache$CacheItem;->onApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V -HSPLcom/android/server/am/PlatformCompatCache;-><clinit>()V -HSPLcom/android/server/am/PlatformCompatCache;-><init>([J)V HSPLcom/android/server/am/PlatformCompatCache;->getInstance()Lcom/android/server/am/PlatformCompatCache; HSPLcom/android/server/am/PlatformCompatCache;->invalidate(Landroid/content/pm/ApplicationInfo;)V -HSPLcom/android/server/am/PlatformCompatCache;->isChangeEnabled(ILandroid/content/pm/ApplicationInfo;Z)Z HSPLcom/android/server/am/PlatformCompatCache;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;Z)Z -HSPLcom/android/server/am/PlatformCompatCache;->onApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V HSPLcom/android/server/am/ProcessCachedOptimizerRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getEarliestFreezableTime()J HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getFreezeUnfreezeTime()J HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastCompactProfile()Lcom/android/server/am/CachedAppOptimizer$CompactProfile; -HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getLastCompactTime()J -HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getReqCompactSource()Lcom/android/server/am/CachedAppOptimizer$CompactSource; -HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->hasFreezerOverride()Z -HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->init(J)V HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeExempt()Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeSticky()Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFrozen()Z @@ -2520,10 +2068,10 @@ HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isPendingFreeze()Z HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setEarliestFreezableTime(J)V HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setForceCompact(Z)V HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->setFreezerOverride(Z)V +HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setFrozen(Z)V HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setHasPendingCompact(Z)V HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->setLastOomAdjChangeReason(I)V HPLcom/android/server/am/ProcessCachedOptimizerRecord;->setPendingFreeze(Z)V -HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->setShouldNotFreeze(Z)V HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->shouldNotFreeze()Z HPLcom/android/server/am/ProcessCachedOptimizerRecord;->skipPSSCollectionBecauseFrozen()Z HSPLcom/android/server/am/ProcessErrorStateRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V @@ -2533,32 +2081,28 @@ HSPLcom/android/server/am/ProcessErrorStateRecord;->setCrashing(Z)V HSPLcom/android/server/am/ProcessErrorStateRecord;->setNotResponding(Z)V HSPLcom/android/server/am/ProcessList$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/am/ProcessList;)V HSPLcom/android/server/am/ProcessList$1;-><init>(Lcom/android/server/am/ProcessList;)V -HPLcom/android/server/am/ProcessList$1;->handleUnsolicitedMessage(Ljava/io/DataInputStream;I)Z -HSPLcom/android/server/am/ProcessList$1;->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 HSPLcom/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 -HSPLcom/android/server/am/ProcessList$KillHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/am/ProcessList$MyProcessMap;-><init>(Lcom/android/server/am/ProcessList;)V HSPLcom/android/server/am/ProcessList$MyProcessMap;->put(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord; HSPLcom/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 HSPLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V -HSPLcom/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 HSPLcom/android/server/am/ProcessList;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZ)Ljava/lang/String; HSPLcom/android/server/am/ProcessList;->checkSlow(JLjava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLcom/android/server/am/ProcessList;->computeGidsForProcess(II[IZ)[I -HSPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J +HPLcom/android/server/am/ProcessList;->clearAllDnsCacheLOSP()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; +HSPLcom/android/server/am/ProcessList;->computeGidsForProcess(II[IZ)[I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->createSystemServerSocketForZygote()Landroid/net/LocalSocket; HSPLcom/android/server/am/ProcessList;->dispatchProcessDied(II)V -HSPLcom/android/server/am/ProcessList;->dispatchProcessesChanged()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;]Landroid/app/IProcessObserver;Lcom/android/server/app/GameServiceProviderInstanceImpl$5;,Lcom/android/server/am/AppFGSTracker$1;,Lcom/android/server/media/projection/MediaProjectionManagerService$1; +HSPLcom/android/server/am/ProcessList;->dispatchProcessesChanged()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;]Landroid/app/IProcessObserver;Lcom/android/server/app/GameServiceProviderInstanceImpl$5;,Lcom/android/server/am/AppFGSTracker$1;,Lcom/android/server/media/projection/MediaProjectionManagerService$1;,Lcom/android/server/devicestate/DeviceStateManagerService$1; +HPLcom/android/server/am/ProcessList;->dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z HSPLcom/android/server/am/ProcessList;->enqueueProcessChangeItemLocked(II)Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$UiHandler;]Landroid/os/Message;Landroid/os/Message;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->fillInProcMemInfoLOSP(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ProcessList;->findAppProcessLOSP(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; @@ -2572,7 +2116,6 @@ HSPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManag HSPLcom/android/server/am/ProcessList;->getNextProcStateSeq()J HPLcom/android/server/am/ProcessList;->getNumForegroundServices()Landroid/util/Pair;+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->getPackageAppDataInfoMap(Landroid/content/pm/PackageManagerInternal;[Ljava/lang/String;I)Ljava/util/Map; -HSPLcom/android/server/am/ProcessList;->getProcessNamesLOSP()Lcom/android/server/am/ProcessList$MyProcessMap; HSPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap; HSPLcom/android/server/am/ProcessList;->getRunningAppProcessesLOSP(ZIZII)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->getSdkSandboxProcessesForAppLocked(I)Ljava/util/List; @@ -2584,90 +2127,74 @@ HSPLcom/android/server/am/ProcessList;->handlePrecedingAppDiedLocked(Lcom/androi HSPLcom/android/server/am/ProcessList;->handleProcessStart(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V HSPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z HSPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z -HSPLcom/android/server/am/ProcessList;->hasAppStorage(Landroid/content/pm/PackageManagerInternal;Ljava/lang/String;)Z HSPLcom/android/server/am/ProcessList;->haveBackgroundProcessLOSP()Z HSPLcom/android/server/am/ProcessList;->incrementProcStateSeqAndNotifyAppsLOSP(Lcom/android/server/am/ActiveUids;)V+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy; HSPLcom/android/server/am/ProcessList;->init(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActiveUids;Lcom/android/server/compat/PlatformCompat;)V HSPLcom/android/server/am/ProcessList;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String; -HSPLcom/android/server/am/ProcessList;->killAllBackgroundProcessesExceptLSP(II)V HSPLcom/android/server/am/ProcessList;->killAppIfBgRestrictedAndCachedIdleLocked(Lcom/android/server/am/ProcessRecord;J)J -HPLcom/android/server/am/ProcessList;->killPackageProcessesLSP(Ljava/lang/String;IIIZZZZZZIILjava/lang/String;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HPLcom/android/server/am/ProcessList;->killPackageProcessesLSP(Ljava/lang/String;IIIZZZZZZIILjava/lang/String;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/internal/app/ProcessMap;Lcom/android/server/am/ProcessList$MyProcessMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/am/ProcessList;->killProcessGroup(II)V HSPLcom/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 -HSPLcom/android/server/am/ProcessList;->lambda$killAppIfBgRestrictedAndCachedIdleLocked$4(JLcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ProcessList;->makeOomAdjString(IZ)Ljava/lang/String; HSPLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String; HSPLcom/android/server/am/ProcessList;->minTimeFromStateChange(Z)J HSPLcom/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; HPLcom/android/server/am/ProcessList;->noteAppKill(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;)V HSPLcom/android/server/am/ProcessList;->noteProcessDiedLocked(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/ProcessList;->onLmkdConnect(Ljava/io/OutputStream;)Z HSPLcom/android/server/am/ProcessList;->procStateToImportance(IILandroid/app/ActivityManager$RunningAppProcessInfo;I)I HSPLcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z HSPLcom/android/server/am/ProcessList;->remove(I)V HSPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessList;->scheduleDispatchProcessDiedLocked(II)V -HPLcom/android/server/am/ProcessList;->searchEachLruProcessesLOSP(ZLjava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/function/Function;Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda5;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda4;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda8;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda7;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda3;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/am/ProcessList;->searchEachLruProcessesLOSP(ZLjava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/function/Function;Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda5;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda4;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda1;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda8;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda3;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda7;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ProcessList;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/am/ProcessList;->setOomAdj(III)V+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLcom/android/server/am/ProcessList;->startProcess(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult; HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJ)Z HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;IZZLjava/lang/String;)Z HSPLcom/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; -HSPLcom/android/server/am/ProcessList;->updateApplicationInfoLOSP(Ljava/util/List;IZ)V HSPLcom/android/server/am/ProcessList;->updateClientActivitiesOrderingLSP(Lcom/android/server/am/ProcessRecord;III)V+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/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+]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->updateLruProcessLSP(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;ZZ)V+]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessList;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessList;->updateOomLevels(IIZ)V HSPLcom/android/server/am/ProcessList;->updateSeInfo(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String; HSPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z+]Lcom/android/server/am/LmkdConnection;Lcom/android/server/am/LmkdConnection; +HPLcom/android/server/am/ProcessList;->writeProcessOomListToProto(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/am/ActivityManagerService;Ljava/util/List;ZLjava/lang/String;)Z HSPLcom/android/server/am/ProcessProfileRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ProcessProfileRecord;->abortNextPssTime()V HSPLcom/android/server/am/ProcessProfileRecord;->abortNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V HSPLcom/android/server/am/ProcessProfileRecord;->addHostingComponentType(I)V+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HPLcom/android/server/am/ProcessProfileRecord;->addPss(JJJZIJ)V HSPLcom/android/server/am/ProcessProfileRecord;->clearHostingComponentType(I)V+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; -HPLcom/android/server/am/ProcessProfileRecord;->commitNextPssTime()V HPLcom/android/server/am/ProcessProfileRecord;->commitNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V -HSPLcom/android/server/am/ProcessProfileRecord;->computeNextPssTime(IZZJ)J +HPLcom/android/server/am/ProcessProfileRecord;->dumpPss(Ljava/io/PrintWriter;Ljava/lang/String;J)V HSPLcom/android/server/am/ProcessProfileRecord;->getBaseProcessTracker()Lcom/android/internal/app/procstats/ProcessState; HPLcom/android/server/am/ProcessProfileRecord;->getCurrentHostingComponentTypes()I+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HPLcom/android/server/am/ProcessProfileRecord;->getHistoricalHostingComponentTypes()I+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; -HPLcom/android/server/am/ProcessProfileRecord;->getInitialIdlePss()J HSPLcom/android/server/am/ProcessProfileRecord;->getLastPssTime()J HSPLcom/android/server/am/ProcessProfileRecord;->getLastStateTime()J HSPLcom/android/server/am/ProcessProfileRecord;->getNextPssTime()J HPLcom/android/server/am/ProcessProfileRecord;->getPid()I HPLcom/android/server/am/ProcessProfileRecord;->getPssProcState()I -HPLcom/android/server/am/ProcessProfileRecord;->getPssStatType()I HPLcom/android/server/am/ProcessProfileRecord;->getSetProcState()I HPLcom/android/server/am/ProcessProfileRecord;->getThread()Landroid/app/IApplicationThread; HSPLcom/android/server/am/ProcessProfileRecord;->getTrimMemoryLevel()I -HSPLcom/android/server/am/ProcessProfileRecord;->hasPendingUiClean()Z HSPLcom/android/server/am/ProcessProfileRecord;->init(J)V HSPLcom/android/server/am/ProcessProfileRecord;->lambda$onProcessActive$0(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/server/am/ProcessStatsService;Lcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V HSPLcom/android/server/am/ProcessProfileRecord;->lambda$onProcessInactive$1(Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)V HSPLcom/android/server/am/ProcessProfileRecord;->onProcessActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V HSPLcom/android/server/am/ProcessProfileRecord;->onProcessInactive(Lcom/android/server/am/ProcessStatsService;)V -HPLcom/android/server/am/ProcessProfileRecord;->onProcessUnfrozen()V +HPLcom/android/server/am/ProcessProfileRecord;->onProcessUnfrozen()V+]Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessState;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessProfileRecord;->setBaseProcessTracker(Lcom/android/internal/app/procstats/ProcessState;)V -HPLcom/android/server/am/ProcessProfileRecord;->setLastPss(J)V -HPLcom/android/server/am/ProcessProfileRecord;->setLastPssTime(J)V -HPLcom/android/server/am/ProcessProfileRecord;->setLastRss(J)V -HPLcom/android/server/am/ProcessProfileRecord;->setLastSwapPss(J)V -HSPLcom/android/server/am/ProcessProfileRecord;->setNextPssTime(J)V HPLcom/android/server/am/ProcessProfileRecord;->setPendingUiClean(Z)V -HSPLcom/android/server/am/ProcessProfileRecord;->setPid(I)V HSPLcom/android/server/am/ProcessProfileRecord;->setProcessTrackerState(II)V+]Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessState;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HPLcom/android/server/am/ProcessProfileRecord;->setPssProcState(I)V HPLcom/android/server/am/ProcessProfileRecord;->setPssStatType(I)V HSPLcom/android/server/am/ProcessProfileRecord;->updateProcState(Lcom/android/server/am/ProcessStateRecord;)V+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; HSPLcom/android/server/am/ProcessProviderRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V -HSPLcom/android/server/am/ProcessProviderRecord;->addProviderConnection(Lcom/android/server/am/ContentProviderConnection;)V +HSPLcom/android/server/am/ProcessProviderRecord;->addProviderConnection(Lcom/android/server/am/ContentProviderConnection;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessProviderRecord;->ensureProviderCapacity(I)V HSPLcom/android/server/am/ProcessProviderRecord;->getProvider(Ljava/lang/String;)Lcom/android/server/am/ContentProviderRecord; HSPLcom/android/server/am/ProcessProviderRecord;->getProviderAt(I)Lcom/android/server/am/ContentProviderRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; @@ -2682,13 +2209,15 @@ HSPLcom/android/server/am/ProcessReceiverRecord;->addReceiver(Lcom/android/serve HSPLcom/android/server/am/ProcessReceiverRecord;->decrementCurReceivers()V HSPLcom/android/server/am/ProcessReceiverRecord;->incrementCurReceivers()V HSPLcom/android/server/am/ProcessReceiverRecord;->numberOfReceivers()I+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/am/ProcessReceiverRecord;->onCleanupApplicationRecordLocked()V +HSPLcom/android/server/am/ProcessReceiverRecord;->onCleanupApplicationRecordLocked()V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ProcessReceiverRecord;->removeReceiver(Lcom/android/server/am/ReceiverList;)V HSPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;)V -HSPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z+]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessState;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; +HSPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z+]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord;]Lcom/android/server/am/ProcessStatsService;Lcom/android/server/am/ProcessStatsService;]Lcom/android/internal/app/procstats/ProcessState;Lcom/android/internal/app/procstats/ProcessState; +HPLcom/android/server/am/ProcessRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V+]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord;]Lcom/android/server/am/ProcessReceiverRecord;Lcom/android/server/am/ProcessReceiverRecord;]Lcom/android/server/am/PackageList;Lcom/android/server/am/PackageList;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; +HPLcom/android/server/am/ProcessRecord;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V HSPLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation; +HPLcom/android/server/am/ProcessRecord;->getCpuDelayTime()J+]Lcom/android/server/am/AppProfiler;Lcom/android/server/am/AppProfiler; HSPLcom/android/server/am/ProcessRecord;->getHostingRecord()Lcom/android/server/am/HostingRecord; -HSPLcom/android/server/am/ProcessRecord;->getIsolatedEntryPoint()Ljava/lang/String; HSPLcom/android/server/am/ProcessRecord;->getLastActivityTime()J HPLcom/android/server/am/ProcessRecord;->getLruSeq()I HSPLcom/android/server/am/ProcessRecord;->getOnewayThread()Landroid/app/IApplicationThread; @@ -2696,7 +2225,6 @@ HSPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String; HSPLcom/android/server/am/ProcessRecord;->getPid()I HSPLcom/android/server/am/ProcessRecord;->getPkgDeps()Landroid/util/ArraySet; HSPLcom/android/server/am/ProcessRecord;->getPkgList()Lcom/android/server/am/PackageList; -HPLcom/android/server/am/ProcessRecord;->getProcessClassEnum()I HSPLcom/android/server/am/ProcessRecord;->getSeInfo()Ljava/lang/String; HSPLcom/android/server/am/ProcessRecord;->getSetAdj()I HSPLcom/android/server/am/ProcessRecord;->getSetProcState()I @@ -2729,22 +2257,21 @@ HSPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/a HSPLcom/android/server/am/ProcessRecord;->setBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/ProcessRecord;->setDebugging(Z)V HSPLcom/android/server/am/ProcessRecord;->setKilled(Z)V -HSPLcom/android/server/am/ProcessRecord;->setKilledByAm(Z)V HSPLcom/android/server/am/ProcessRecord;->setLastActivityTime(J)V HSPLcom/android/server/am/ProcessRecord;->setLruSeq(I)V -HSPLcom/android/server/am/ProcessRecord;->setPendingFinishAttach(Z)V HSPLcom/android/server/am/ProcessRecord;->setPendingStart(Z)V HPLcom/android/server/am/ProcessRecord;->setPendingUiClean(Z)V+]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; -HSPLcom/android/server/am/ProcessRecord;->setPersistent(Z)V HSPLcom/android/server/am/ProcessRecord;->setPid(I)V -HSPLcom/android/server/am/ProcessRecord;->setRenderThreadTid(I)V HSPLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V +HPLcom/android/server/am/ProcessRecord;->setRunningRemoteAnimation(Z)V HSPLcom/android/server/am/ProcessRecord;->setStartParams(ILcom/android/server/am/HostingRecord;Ljava/lang/String;JJ)V HSPLcom/android/server/am/ProcessRecord;->setUidRecord(Lcom/android/server/am/UidRecord;)V HSPLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V +HPLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V HSPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V +HPLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZ)V HSPLcom/android/server/am/ProcessServiceRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V HPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUid(ILjava/lang/String;J)V HSPLcom/android/server/am/ProcessServiceRecord;->addBoundClientUidsOfNewService(Lcom/android/server/am/ServiceRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -2767,7 +2294,6 @@ HSPLcom/android/server/am/ProcessServiceRecord;->numberOfConnections()I+]Landroi HSPLcom/android/server/am/ProcessServiceRecord;->numberOfExecutingServices()I+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/ProcessServiceRecord;->numberOfRunningServices()I+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/ProcessServiceRecord;->onCleanupApplicationRecordLocked()V -HSPLcom/android/server/am/ProcessServiceRecord;->removeAllConnections()V HPLcom/android/server/am/ProcessServiceRecord;->removeConnection(Lcom/android/server/am/ConnectionRecord;)V HSPLcom/android/server/am/ProcessServiceRecord;->setExecServicesFg(Z)V HSPLcom/android/server/am/ProcessServiceRecord;->setHasClientActivities(Z)V @@ -2775,8 +2301,7 @@ HSPLcom/android/server/am/ProcessServiceRecord;->setHasReportedForegroundService HSPLcom/android/server/am/ProcessServiceRecord;->shouldExecServicesFg()Z HSPLcom/android/server/am/ProcessServiceRecord;->startExecutingService(Lcom/android/server/am/ServiceRecord;)V HSPLcom/android/server/am/ProcessServiceRecord;->startService(Lcom/android/server/am/ServiceRecord;)Z+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; -HSPLcom/android/server/am/ProcessServiceRecord;->stopAllExecutingServices()V -HPLcom/android/server/am/ProcessServiceRecord;->stopExecutingService(Lcom/android/server/am/ServiceRecord;)V +HSPLcom/android/server/am/ProcessServiceRecord;->stopExecutingService(Lcom/android/server/am/ServiceRecord;)V HPLcom/android/server/am/ProcessServiceRecord;->stopService(Lcom/android/server/am/ServiceRecord;)Z+]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/ProcessServiceRecord;->updateBoundClientUids()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ProcessServiceRecord;->updateHasTopStartedAlmostPerceptibleServices()V @@ -2784,6 +2309,7 @@ HSPLcom/android/server/am/ProcessServiceRecord;->updateHostingComonentTypeForBin HSPLcom/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+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback; HSPLcom/android/server/am/ProcessStateRecord;->containsCycle()Z +HPLcom/android/server/am/ProcessStateRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;J)V HPLcom/android/server/am/ProcessStateRecord;->forceProcessStateUpTo(I)V HSPLcom/android/server/am/ProcessStateRecord;->getAdjSeq()I HSPLcom/android/server/am/ProcessStateRecord;->getAdjTypeCode()I @@ -2800,11 +2326,9 @@ HSPLcom/android/server/am/ProcessStateRecord;->getCurAdj()I HSPLcom/android/server/am/ProcessStateRecord;->getCurCapability()I HSPLcom/android/server/am/ProcessStateRecord;->getCurProcState()I HSPLcom/android/server/am/ProcessStateRecord;->getCurRawAdj()I -HSPLcom/android/server/am/ProcessStateRecord;->getCurRawProcState()I HSPLcom/android/server/am/ProcessStateRecord;->getCurrentSchedulingGroup()I HSPLcom/android/server/am/ProcessStateRecord;->getFgInteractionTime()J HSPLcom/android/server/am/ProcessStateRecord;->getInteractionEventTime()J -HSPLcom/android/server/am/ProcessStateRecord;->getLastCanKillOnBgRestrictedAndIdleTime()J HSPLcom/android/server/am/ProcessStateRecord;->getLastStateTime()J HSPLcom/android/server/am/ProcessStateRecord;->getMaxAdj()I HSPLcom/android/server/am/ProcessStateRecord;->getReportedProcState()I @@ -2814,13 +2338,13 @@ HSPLcom/android/server/am/ProcessStateRecord;->getSetProcState()I HSPLcom/android/server/am/ProcessStateRecord;->getSetRawAdj()I HSPLcom/android/server/am/ProcessStateRecord;->getSetSchedGroup()I HSPLcom/android/server/am/ProcessStateRecord;->getVerifiedAdj()I +HPLcom/android/server/am/ProcessStateRecord;->getWhenUnimportant()J HSPLcom/android/server/am/ProcessStateRecord;->hasForegroundActivities()Z HSPLcom/android/server/am/ProcessStateRecord;->hasProcStateChanged()Z HSPLcom/android/server/am/ProcessStateRecord;->hasRepForegroundActivities()Z HSPLcom/android/server/am/ProcessStateRecord;->hasReportedInteraction()Z HSPLcom/android/server/am/ProcessStateRecord;->hasShownUi()Z HSPLcom/android/server/am/ProcessStateRecord;->hasTopUi()Z -HSPLcom/android/server/am/ProcessStateRecord;->init(J)V HSPLcom/android/server/am/ProcessStateRecord;->isCached()Z HSPLcom/android/server/am/ProcessStateRecord;->isCurBoundByNonBgRestrictedApp()Z HPLcom/android/server/am/ProcessStateRecord;->isReachable()Z @@ -2829,12 +2353,7 @@ HSPLcom/android/server/am/ProcessStateRecord;->isSetBoundByNonBgRestrictedApp()Z HSPLcom/android/server/am/ProcessStateRecord;->isSystemNoUi()Z HSPLcom/android/server/am/ProcessStateRecord;->onCleanupApplicationRecordLSP()V HSPLcom/android/server/am/ProcessStateRecord;->resetCachedInfo()V -HSPLcom/android/server/am/ProcessStateRecord;->setAdjSeq(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setAdjSource(Ljava/lang/Object;)V -HSPLcom/android/server/am/ProcessStateRecord;->setAdjSourceProcState(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setAdjTarget(Ljava/lang/Object;)V HSPLcom/android/server/am/ProcessStateRecord;->setAdjType(Ljava/lang/String;)V -HSPLcom/android/server/am/ProcessStateRecord;->setAdjTypeCode(I)V HSPLcom/android/server/am/ProcessStateRecord;->setCached(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setCompletedAdjSeq(I)V HSPLcom/android/server/am/ProcessStateRecord;->setContainsCycle(Z)V @@ -2852,21 +2371,13 @@ HSPLcom/android/server/am/ProcessStateRecord;->setHasForegroundActivities(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setHasShownUi(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setHasStartedServices(Z)V+]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; HSPLcom/android/server/am/ProcessStateRecord;->setInteractionEventTime(J)V -HSPLcom/android/server/am/ProcessStateRecord;->setLastStateTime(J)V -HSPLcom/android/server/am/ProcessStateRecord;->setMaxAdj(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setNoKillOnBgRestrictedAndIdle(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setProcStateChanged(Z)V -HSPLcom/android/server/am/ProcessStateRecord;->setReachable(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setReportedInteraction(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setReportedProcState(I)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; -HSPLcom/android/server/am/ProcessStateRecord;->setSetAdj(I)V +HPLcom/android/server/am/ProcessStateRecord;->setRunningRemoteAnimation(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setSetCached(Z)V -HSPLcom/android/server/am/ProcessStateRecord;->setSetCapability(I)V HSPLcom/android/server/am/ProcessStateRecord;->setSetNoKillOnBgRestrictedAndIdle(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setSetProcState(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setSetRawAdj(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setSetSchedGroup(I)V -HSPLcom/android/server/am/ProcessStateRecord;->setSystemNoUi(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setVerifiedAdj(I)V HPLcom/android/server/am/ProcessStateRecord;->setWhenUnimportant(J)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ProcessStateRecord;->shouldNotKillOnBgRestrictedAndIdle()Z @@ -2879,17 +2390,15 @@ HSPLcom/android/server/am/ProcessStatsService;-><init>(Lcom/android/server/am/Ac HSPLcom/android/server/am/ProcessStatsService;->getMemFactorLocked()I HSPLcom/android/server/am/ProcessStatsService;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState; HSPLcom/android/server/am/ProcessStatsService;->getServiceState(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState; -HPLcom/android/server/am/ProcessStatsService;->performWriteState(J)V HSPLcom/android/server/am/ProcessStatsService;->publish()V HSPLcom/android/server/am/ProcessStatsService;->setMemFactorLocked(IZJ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/internal/app/procstats/ServiceState;Lcom/android/internal/app/procstats/ServiceState;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap; HSPLcom/android/server/am/ProcessStatsService;->shouldWriteNowLocked(J)Z HSPLcom/android/server/am/ProcessStatsService;->updateFileLocked()V HSPLcom/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 -HPLcom/android/server/am/ProcessStatsService;->writeStateLocked(ZZ)V HSPLcom/android/server/am/ProviderMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V -HPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/Set;Landroid/util/ArraySet; -HSPLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord; +HPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap; HSPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap; HSPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -2899,15 +2408,15 @@ HPLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/Co HPLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V HSPLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V HSPLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z+]Ljava/util/ArrayList;Lcom/android/server/am/ReceiverList; +HPLcom/android/server/am/ReceiverList;->dumpLocal(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLcom/android/server/am/ReceiverList;->hashCode()I +HPLcom/android/server/am/ReceiverList;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/IIntentReceiver;Landroid/content/IIntentReceiver$Stub$Proxy; HSPLcom/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 HSPLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda1;->run()V -HSPLcom/android/server/am/SameProcessApplicationThread;-><init>(Landroid/app/IApplicationThread;Landroid/os/Handler;)V HSPLcom/android/server/am/SameProcessApplicationThread;->lambda$scheduleRegisteredReceiver$1(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V+]Landroid/app/IApplicationThread;Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/am/SameProcessApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIIILjava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/am/ServiceRecord$1;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;I)V HSPLcom/android/server/am/ServiceRecord$1;->run()V+]Lcom/android/server/notification/NotificationManagerInternal;Lcom/android/server/notification/NotificationManagerService$12;,Lcom/android/server/notification/NotificationManagerService$13; -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 HSPLcom/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+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/am/ServiceRecord;->addConnection(Landroid/os/IBinder;Lcom/android/server/am/ConnectionRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; @@ -2915,6 +2424,8 @@ HPLcom/android/server/am/ServiceRecord;->clearDeliveredStartsLocked()V+]Lcom/and 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 +HPLcom/android/server/am/ServiceRecord;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V HPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ServiceRecord;->getBackgroundStartPrivilegesWithExclusiveToken()Landroid/app/BackgroundStartPrivileges; HSPLcom/android/server/am/ServiceRecord;->getComponentName()Landroid/content/ComponentName; @@ -2930,46 +2441,28 @@ HSPLcom/android/server/am/ServiceRecord;->postNotification(Z)V+]Landroid/os/Hand HPLcom/android/server/am/ServiceRecord;->removeConnection(Landroid/os/IBinder;)V HPLcom/android/server/am/ServiceRecord;->resetRestartCounter()V HSPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;Landroid/app/IApplicationThread;ILcom/android/server/am/UidRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;Landroid/app/IApplicationThread;ILcom/android/server/am/UidRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String; HPLcom/android/server/am/ServiceRecord;->updateAllowUiJobScheduling(Z)V HSPLcom/android/server/am/ServiceRecord;->updateFgsHasNotificationPermission()V HSPLcom/android/server/am/ServiceRecord;->updateKeepWarmLocked()V+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/am/ServiceRecord;->updateProcessStateOnRequest()V+]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; -HSPLcom/android/server/am/SettingsToPropertiesMapper$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;)V -HSPLcom/android/server/am/SettingsToPropertiesMapper$1;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/am/SettingsToPropertiesMapper;-><clinit>()V -HSPLcom/android/server/am/SettingsToPropertiesMapper;->isNativeFlagsResetPerformed()Z -HSPLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/am/SettingsToPropertiesMapper;->start(Landroid/content/ContentResolver;)Lcom/android/server/am/SettingsToPropertiesMapper; -HSPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertiesFromSettings()V -HSPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/am/TraceErrorLogger;-><init>()V HSPLcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/UidObserverController;)V HSPLcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;->run()V+]Lcom/android/server/am/UidObserverController;Lcom/android/server/am/UidObserverController; -HSPLcom/android/server/am/UidObserverController$ChangeRecord;-><init>()V HSPLcom/android/server/am/UidObserverController$ChangeRecord;->copyTo(Lcom/android/server/am/UidObserverController$ChangeRecord;)V -HSPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmCutpoint(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I -HSPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmUid(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I HSPLcom/android/server/am/UidObserverController$UidObserverRegistration;->-$$Nest$fgetmWhich(Lcom/android/server/am/UidObserverController$UidObserverRegistration;)I -HSPLcom/android/server/am/UidObserverController$UidObserverRegistration;-><clinit>()V -HSPLcom/android/server/am/UidObserverController$UidObserverRegistration;->isWatchingUid(I)Z HSPLcom/android/server/am/UidObserverController;-><init>(Landroid/os/Handler;)V HSPLcom/android/server/am/UidObserverController;->dispatchUidsChanged()V+]Lcom/android/server/am/UidObserverController;Lcom/android/server/am/UidObserverController;]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Lcom/android/server/am/UidObserverController$ChangeRecord;Lcom/android/server/am/UidObserverController$ChangeRecord;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/am/UidObserverController;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/UidObserverController$UidObserverRegistration;I)V+]Landroid/app/IUidObserver;megamorphic_types]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/am/UidObserverController$UidObserverRegistration;Lcom/android/server/am/UidObserverController$UidObserverRegistration; HSPLcom/android/server/am/UidObserverController;->enqueueUidChange(Lcom/android/server/am/UidObserverController$ChangeRecord;IIIIJIZ)I+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$UiHandler;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/am/UidObserverController;->getOrCreateChangeRecordLocked()Lcom/android/server/am/UidObserverController$ChangeRecord; HSPLcom/android/server/am/UidProcessMap;-><init>()V HSPLcom/android/server/am/UidProcessMap;->get(ILjava/lang/String;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/UidProcessMap;->getMap()Landroid/util/SparseArray; -HSPLcom/android/server/am/UidRecord;-><clinit>()V HSPLcom/android/server/am/UidRecord;-><init>(ILcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/UidRecord;->addProcess(Lcom/android/server/am/ProcessRecord;)V -HPLcom/android/server/am/UidRecord;->areAllProcessesFrozen()Z HPLcom/android/server/am/UidRecord;->areAllProcessesFrozen(Lcom/android/server/am/ProcessRecord;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessCachedOptimizerRecord;Lcom/android/server/am/ProcessCachedOptimizerRecord; -HSPLcom/android/server/am/UidRecord;->clearProcAdjChanged()V -HSPLcom/android/server/am/UidRecord;->forEachProcess(Ljava/util/function/Consumer;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;Lcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda0;,Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda0; +HSPLcom/android/server/am/UidRecord;->forEachProcess(Ljava/util/function/Consumer;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;Lcom/android/server/am/OomAdjuster$$ExternalSyntheticLambda0;,Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda0;,Lcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor; HSPLcom/android/server/am/UidRecord;->getCurCapability()I HSPLcom/android/server/am/UidRecord;->getCurProcState()I HPLcom/android/server/am/UidRecord;->getLastBackgroundTime()J @@ -2979,25 +2472,18 @@ HSPLcom/android/server/am/UidRecord;->getProcAdjChanged()Z HSPLcom/android/server/am/UidRecord;->getSetCapability()I HSPLcom/android/server/am/UidRecord;->getSetProcState()I HSPLcom/android/server/am/UidRecord;->getUid()I -HSPLcom/android/server/am/UidRecord;->hasForegroundServices()Z HSPLcom/android/server/am/UidRecord;->isCurAllowListed()Z HSPLcom/android/server/am/UidRecord;->isEphemeral()Z HSPLcom/android/server/am/UidRecord;->isFrozen()Z HSPLcom/android/server/am/UidRecord;->isIdle()Z HSPLcom/android/server/am/UidRecord;->isSetAllowListed()Z HSPLcom/android/server/am/UidRecord;->isSetIdle()Z -HSPLcom/android/server/am/UidRecord;->noteProcAdjChanged()V -HSPLcom/android/server/am/UidRecord;->removeProcess(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/UidRecord;->reset()V HSPLcom/android/server/am/UidRecord;->setCurCapability(I)V HSPLcom/android/server/am/UidRecord;->setCurProcState(I)V HSPLcom/android/server/am/UidRecord;->setEphemeral(Z)V -HSPLcom/android/server/am/UidRecord;->setIdle(Z)V -HSPLcom/android/server/am/UidRecord;->setLastBackgroundTime(J)V HSPLcom/android/server/am/UidRecord;->setLastReportedChange(I)V -HSPLcom/android/server/am/UidRecord;->setSetAllowListed(Z)V HSPLcom/android/server/am/UidRecord;->setSetCapability(I)V -HSPLcom/android/server/am/UidRecord;->setSetIdle(Z)V HSPLcom/android/server/am/UidRecord;->setSetProcState(I)V HSPLcom/android/server/am/UidRecord;->updateHasInternetPermission()V HSPLcom/android/server/am/UserController$1;-><init>(Lcom/android/server/am/UserController;)V @@ -3014,24 +2500,23 @@ HSPLcom/android/server/am/UserController$UserProgressListener;-><init>(Lcom/andr 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 HSPLcom/android/server/am/UserController;->checkGetCurrentUserPermissions()V+]Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/UserController$Injector; -HSPLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V HPLcom/android/server/am/UserController;->exists(I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/UserController$Injector; HSPLcom/android/server/am/UserController;->getCurrentUserId()I HSPLcom/android/server/am/UserController;->getCurrentUserIdChecked()I+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/UserController;->getLastUserUnlockingUptime()J HSPLcom/android/server/am/UserController;->getStartedUserArray()[I HSPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/UserController$Injector;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/UserController$Injector;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/UserController;->hasStartedUserState(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/am/UserController;->isSameProfileGroup(II)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HSPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; +HSPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/am/UserController;->isUserRunning(II)Z+]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; HSPLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I HSPLcom/android/server/am/UserController;->updateStartedUserArrayLU()V HSPLcom/android/server/am/UserState;-><init>(Landroid/os/UserHandle;)V HSPLcom/android/server/app/GameManagerService$LocalService;->getResolutionScalingFactor(Ljava/lang/String;I)F -HSPLcom/android/server/app/GameManagerService$MyUidObserver;->disableGameMode(I)V+]Ljava/util/Set;Ljava/util/HashSet; -HSPLcom/android/server/app/GameManagerService$MyUidObserver;->onUidStateChanged(IIJI)V+]Lcom/android/server/app/GameManagerService$MyUidObserver;Lcom/android/server/app/GameManagerService$MyUidObserver;]Ljava/util/stream/Stream;Ljava/util/stream/ReferencePipeline$Head;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HSPLcom/android/server/app/GameManagerService$MyUidObserver;->disableGameMode(I)V+]Ljava/util/Set;Ljava/util/HashSet;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService; +HSPLcom/android/server/app/GameManagerService$MyUidObserver;->onUidStateChanged(IIJI)V+]Lcom/android/server/app/GameManagerService$MyUidObserver;Lcom/android/server/app/GameManagerService$MyUidObserver;]Ljava/util/stream/Stream;Ljava/util/stream/ReferencePipeline$Head;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Ljava/util/Set;Ljava/util/HashSet; HSPLcom/android/server/app/GameManagerService;->-$$Nest$fgetmForegroundGameUids(Lcom/android/server/app/GameManagerService;)Ljava/util/Set; HSPLcom/android/server/app/GameManagerService;->-$$Nest$fgetmUidObserverLock(Lcom/android/server/app/GameManagerService;)Ljava/lang/Object; HSPLcom/android/server/app/GameManagerService;->getConfig(Ljava/lang/String;I)Lcom/android/server/app/GameManagerService$GamePackageConfiguration; @@ -3040,42 +2525,18 @@ HSPLcom/android/server/app/GameManagerService;->getGameModeFromSettingsUnchecked HSPLcom/android/server/app/GameManagerService;->isPackageGame(Ljava/lang/String;I)Z 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 -HPLcom/android/server/app/GameServiceProviderInstanceImpl$5;->onProcessDied(II)V -HPLcom/android/server/app/GameServiceProviderInstanceImpl;->onProcessDiedLocked(I)V +HPLcom/android/server/app/GameServiceProviderInstanceImpl;->gameSessionExistsForPackageNameLocked(Ljava/lang/String;)Z +HPLcom/android/server/app/GameServiceProviderInstanceImpl;->onForegroundActivitiesChangedLocked(I)V HPLcom/android/server/appbinding/AppBindingService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HSPLcom/android/server/apphibernation/AppHibernationManagerInternal;-><init>()V -HSPLcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V -HSPLcom/android/server/apphibernation/AppHibernationService$1;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V -HSPLcom/android/server/apphibernation/AppHibernationService$AppHibernationServiceStub;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V -HPLcom/android/server/apphibernation/AppHibernationService$AppHibernationServiceStub;->isHibernatingGlobally(Ljava/lang/String;)Z -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getActivityManager()Landroid/app/IActivityManager; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getBackgroundExecutor()Ljava/util/concurrent/Executor; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getContext()Landroid/content/Context; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getGlobalLevelDiskStore()Lcom/android/server/apphibernation/HibernationStateDiskStore; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getPackageManager()Landroid/content/pm/IPackageManager; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getStorageStatsManager()Landroid/app/usage/StorageStatsManager; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->getUserManager()Landroid/os/UserManager; -HSPLcom/android/server/apphibernation/AppHibernationService$InjectorImpl;->isOatArtifactDeletionEnabled()Z -HSPLcom/android/server/apphibernation/AppHibernationService$LocalService;-><init>(Lcom/android/server/apphibernation/AppHibernationService;)V HSPLcom/android/server/apphibernation/AppHibernationService$LocalService;->isHibernatingForUser(Ljava/lang/String;I)Z+]Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService; -HSPLcom/android/server/apphibernation/AppHibernationService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/apphibernation/AppHibernationService;-><init>(Lcom/android/server/apphibernation/AppHibernationService$Injector;)V HSPLcom/android/server/apphibernation/AppHibernationService;->checkUserStatesExist(ILjava/lang/String;Z)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/UserManager;Landroid/os/UserManager; HSPLcom/android/server/apphibernation/AppHibernationService;->handleIncomingUser(ILjava/lang/String;)I+]Landroid/app/IActivityManager;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/apphibernation/AppHibernationService;->isAppHibernationEnabled()Z HSPLcom/android/server/apphibernation/AppHibernationService;->isHibernatingForUser(Ljava/lang/String;I)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/SystemService;Lcom/android/server/apphibernation/AppHibernationService;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Map;Landroid/util/ArrayMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HPLcom/android/server/apphibernation/AppHibernationService;->isHibernatingGlobally(Ljava/lang/String;)Z HPLcom/android/server/apphibernation/AppHibernationService;->lambda$new$6(ILandroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService; -HSPLcom/android/server/apphibernation/AppHibernationService;->onStart()V -HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingForUser(Ljava/lang/String;IZ)V -HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingGlobally(Ljava/lang/String;Z)V -HSPLcom/android/server/apphibernation/GlobalLevelHibernationProto;-><init>()V -HSPLcom/android/server/apphibernation/HibernationStateDiskStore;-><init>(Ljava/io/File;Lcom/android/server/apphibernation/ProtoReadWriter;Ljava/util/concurrent/ScheduledExecutorService;)V -HSPLcom/android/server/apphibernation/HibernationStateDiskStore;-><init>(Ljava/io/File;Lcom/android/server/apphibernation/ProtoReadWriter;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/String;)V -HSPLcom/android/server/apphibernation/UserLevelHibernationProto;-><init>()V +HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingForUser(Ljava/lang/String;IZ)V+]Lcom/android/server/SystemService;Lcom/android/server/apphibernation/AppHibernationService;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Map;Landroid/util/ArrayMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/apphibernation/AppHibernationService;->setHibernatingGlobally(Ljava/lang/String;Z)V+]Lcom/android/server/SystemService;Lcom/android/server/apphibernation/AppHibernationService;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Map;Landroid/util/ArrayMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/appop/AppOpsCheckingServiceImpl$1;-><init>(Lcom/android/server/appop/AppOpsCheckingServiceImpl;)V HSPLcom/android/server/appop/AppOpsCheckingServiceImpl;-><init>(Ljava/io/File;Ljava/lang/Object;Landroid/os/Handler;Landroid/content/Context;Landroid/util/SparseArray;)V HSPLcom/android/server/appop/AppOpsCheckingServiceImpl;->clearAllModes()V @@ -3091,12 +2552,10 @@ HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->getUidMode( HSPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->readState()V HPLcom/android/server/appop/AppOpsCheckingServiceTracingDecorator;->setUidMode(III)Z HPLcom/android/server/appop/AppOpsRestrictionsImpl;->getUserRestriction(Ljava/lang/Object;II)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/appop/AppOpsRestrictionsImpl;->getUserRestriction(Ljava/lang/Object;IILjava/lang/String;Ljava/lang/String;Z)Z+]Lcom/android/server/appop/AppOpsRestrictionsImpl;Lcom/android/server/appop/AppOpsRestrictionsImpl; -HSPLcom/android/server/appop/AppOpsRestrictionsImpl;->putUserRestriction(Ljava/lang/Object;IIZ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda9;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V +HPLcom/android/server/appop/AppOpsRestrictionsImpl;->getUserRestriction(Ljava/lang/Object;IILjava/lang/String;Ljava/lang/String;Z)Z+]Landroid/os/PackageTagsList;Landroid/os/PackageTagsList;]Lcom/android/server/appop/AppOpsRestrictionsImpl;Lcom/android/server/appop/AppOpsRestrictionsImpl; +HSPLcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda9;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V HSPLcom/android/server/appop/AppOpsService$1;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/android/server/appop/AppOpsService$2;-><init>(Lcom/android/server/appop/AppOpsService;)V -HSPLcom/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 HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/android/server/appop/AppOpsService;)V @@ -3104,10 +2563,9 @@ HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/ HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;->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/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean; HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/appop/AppOpsService;)V -HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda15;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda15;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/lang/Integer;Ljava/lang/Integer; HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda3;->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/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean; -HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/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/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean; HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;)V @@ -3118,32 +2576,31 @@ HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->noteOper HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->noteProxyOperation(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp; HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;+]Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Lcom/android/server/policy/AppOpsPolicy; HPLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->hasRestriction(ILjava/lang/String;Ljava/lang/String;IZ)Z -HSPLcom/android/server/appop/AppOpsService$ClientUserRestrictionState;->setRestriction(IZLandroid/os/PackageTagsList;I)Z+]Lcom/android/server/appop/AppOpsRestrictions;Lcom/android/server/appop/AppOpsRestrictionsImpl; HSPLcom/android/server/appop/AppOpsService$Constants;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/Handler;)V HSPLcom/android/server/appop/AppOpsService$Constants;->updateConstants()V HSPLcom/android/server/appop/AppOpsService$ModeCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIIII)V -HPLcom/android/server/appop/AppOpsService$ModeCallback;->onOpModeChanged(IILjava/lang/String;)V -HSPLcom/android/server/appop/AppOpsService$NotedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsNotedCallback;III)V +HSPLcom/android/server/appop/AppOpsService$ModeCallback;->onOpModeChanged(IILjava/lang/String;)V HSPLcom/android/server/appop/AppOpsService$Op;->-$$Nest$mgetOrCreateAttribution(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AttributedOp;+]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op; 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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp; +HSPLcom/android/server/appop/AppOpsService$Op;->createEntryLocked()Landroid/app/AppOpsManager$OpEntry;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp; HSPLcom/android/server/appop/AppOpsService$Op;->getMode()I+]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator; HSPLcom/android/server/appop/AppOpsService$Op;->getOrCreateAttribution(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AttributedOp;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/appop/AppOpsService$Op;->isRunning()Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp; HSPLcom/android/server/appop/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/appop/AppOpsService$UidState;)V HSPLcom/android/server/appop/AppOpsService$PackageVerificationResult;-><init>(Landroid/app/AppOpsManager$RestrictionBypass;Z)V -HSPLcom/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 HSPLcom/android/server/appop/AppOpsService$UidState;->evalMode(II)I+]Lcom/android/server/appop/AppOpsUidStateTracker;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService$UidState;->getState()I+]Lcom/android/server/appop/AppOpsUidStateTracker;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService$UidState;->getUidMode(I)I+]Lcom/android/server/appop/AppOpsCheckingServiceInterface;Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator; HPLcom/android/server/appop/AppOpsService$UidState;->setUidMode(II)Z HSPLcom/android/server/appop/AppOpsService;->-$$Nest$mcheckOperationImpl(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;Z)I -HSPLcom/android/server/appop/AppOpsService;->-$$Nest$mfinishOperationImpl(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V +HSPLcom/android/server/appop/AppOpsService;->-$$Nest$mfinishOperationImpl(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->-$$Nest$mnoteOperationImpl(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp; HSPLcom/android/server/appop/AppOpsService;->-$$Nest$mstartOperationImpl(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/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+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; +HPLcom/android/server/appop/AppOpsService;->checkAudioOperationImpl(IIILjava/lang/String;)I HSPLcom/android/server/appop/AppOpsService;->checkOperation(IILjava/lang/String;)I+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; HSPLcom/android/server/appop/AppOpsService;->checkOperationImpl(IILjava/lang/String;Ljava/lang/String;Z)I+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->checkOperationRaw(IILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; @@ -3151,11 +2608,12 @@ HSPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lan HSPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HPLcom/android/server/appop/AppOpsService;->collectAsyncNotedOp(ILjava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Lcom/android/server/appop/AppOpsService$8;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;+]Landroid/util/SparseArray;Lcom/android/server/appop/AppOpsService$Ops;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/appop/AppOpsService;->dumpStatesLocked(Ljava/io/PrintWriter;JLcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;JLjava/text/SimpleDateFormat;Ljava/util/Date;Ljava/lang/String;)V HSPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V HSPLcom/android/server/appop/AppOpsService;->filterAppAccessUnlocked(Ljava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; HSPLcom/android/server/appop/AppOpsService;->finishOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; -HSPLcom/android/server/appop/AppOpsService;->finishOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; +HSPLcom/android/server/appop/AppOpsService;->finishOperationUnchecked(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/appop/AppOpsService;->getAsyncNotedOpsKey(Ljava/lang/String;I)Landroid/util/Pair; HSPLcom/android/server/appop/AppOpsService;->getBypassforPackage(Lcom/android/server/pm/pkg/PackageState;)Landroid/app/AppOpsManager$RestrictionBypass;+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;Ljava/lang/String;ZLandroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Op;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; @@ -3179,8 +2637,7 @@ HSPLcom/android/server/appop/AppOpsService;->noteOperationImpl(IILjava/lang/Stri HSPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Lcom/android/server/appop/AppOpsService$UidState;Lcom/android/server/appop/AppOpsService$UidState;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HPLcom/android/server/appop/AppOpsService;->noteProxyOperationImpl(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZ)Landroid/app/SyncNotedAppOp; HPLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;II)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/internal/app/IAppOpsNotedCallback;Landroid/app/AppOpsManager$5;,Lcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy; -HSPLcom/android/server/appop/AppOpsService;->onUidStateChanged(IIZ)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Landroid/util/SparseArray;Lcom/android/server/appop/AppOpsService$Ops;]Lcom/android/server/appop/AppOpsService$UidState;Lcom/android/server/appop/AppOpsService$UidState;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; -HSPLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I +HSPLcom/android/server/appop/AppOpsService;->onUidStateChanged(IIZ)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Lcom/android/server/appop/AppOpsService$Ops;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Lcom/android/server/appop/AppOpsService$UidState;Lcom/android/server/appop/AppOpsService$UidState;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; 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 @@ -3198,8 +2655,6 @@ HSPLcom/android/server/appop/AppOpsService;->setCameraAudioRestriction(I)V HPLcom/android/server/appop/AppOpsService;->setUidMode(IIILcom/android/internal/app/IAppOpsCallback;)V HSPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; HSPLcom/android/server/appop/AppOpsService;->startOperationImpl(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZII)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; -HSPLcom/android/server/appop/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V -HSPLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V HSPLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V HSPLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V HSPLcom/android/server/appop/AppOpsService;->startWatchingStarted([ILcom/android/internal/app/IAppOpsStartedCallback;)V @@ -3211,20 +2666,18 @@ HSPLcom/android/server/appop/AppOpsService;->updateUidProcState(III)V+]Lcom/andr HSPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/android/server/appop/AppOpsService$PackageVerificationResult;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/internal/compat/IPlatformCompat;Lcom/android/server/compat/PlatformCompat;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; -HSPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V+]Landroid/content/Context;Landroid/app/ContextImpl; -HPLcom/android/server/appop/AppOpsService;->verifyIncomingProxyUid(Landroid/content/AttributionSource;)V +HSPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V HSPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V+]Landroid/content/Context;Landroid/app/ContextImpl; HPLcom/android/server/appop/AppOpsService;->writeRecentAccesses()V+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/appop/HistoricalRegistry;Lcom/android/server/appop/HistoricalRegistry;]Landroid/app/AppOpsManager$PackageOps;Landroid/app/AppOpsManager$PackageOps;]Landroid/app/AppOpsManager$OpEventProxyInfo;Landroid/app/AppOpsManager$OpEventProxyInfo;]Ljava/util/Map;Landroid/util/ArrayMap;]Landroid/app/AppOpsManager$OpEntry;Landroid/app/AppOpsManager$OpEntry;]Ljava/util/Set;Landroid/util/MapCollections$KeySet;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/lang/Long;Ljava/lang/Long;]Landroid/app/AppOpsManager$AttributedOpEntry;Landroid/app/AppOpsManager$AttributedOpEntry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsUidStateTracker;->processStateToUidState(I)I HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;-><init>()V -HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V +HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;-><init>()V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback;Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda11; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0;->run()V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda1;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda1;->run()V -HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;-><init>(Landroid/os/Handler;Ljava/util/concurrent/Executor;)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->execute(Ljava/lang/Runnable;)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->executeDelayed(Ljava/lang/Runnable;J)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$1;->lambda$execute$0(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V @@ -3234,28 +2687,23 @@ HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSynthet HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2;-><init>()V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;-><init>(Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Ljava/lang/Thread;)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logCommitUidState(IIIZZ)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logCommitUidStateAsync(JIIIZZ)V HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logEvalForegroundMode(IIIII)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$1; HPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logEvalForegroundModeAsync(JIIIII)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logUpdateUidProcState(III)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$1; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;->logUpdateUidProcStateAsync(JIII)V -HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;-><clinit>()V -HSPLcom/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 -HSPLcom/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 -HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->addUidStateChangedCallback(Ljava/util/concurrent/Executor;Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback;)V HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->commitUidPendingState(I)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Ljava/util/concurrent/Executor;Landroid/os/HandlerExecutor;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->evalMode(III)I HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->evalModeInternal(IIII)I+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; -HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getOpCapability(I)I -HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidAppWidgetVisible(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; -HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidState(I)I+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl; +HPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidAppWidgetVisible(I)Z +HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidState(I)I HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->getUidStateLocked(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidPendingStateIfNeeded(I)V+]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidPendingStateIfNeededLocked(I)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl; HSPLcom/android/server/appop/AppOpsUidStateTrackerImpl;->updateUidProcState(III)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$1;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;]Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog;Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog; HSPLcom/android/server/appop/AttributedOp$$ExternalSyntheticLambda0;-><init>()V +HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;-><init>(JJLandroid/os/IBinder;Ljava/lang/String;Ljava/lang/Runnable;ILandroid/app/AppOpsManager$OpEventProxyInfo;III)V HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->finish()V HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getAttributionChainId()I HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getAttributionFlags()I @@ -3286,45 +2734,42 @@ HSPLcom/android/server/appop/AttributedOp;->started(Landroid/os/IBinder;ILjava/l HSPLcom/android/server/appop/AttributedOp;->startedOrPaused(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;IIZZII)V+]Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;]Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;]Lcom/android/server/appop/AttributedOp;Lcom/android/server/appop/AttributedOp;]Lcom/android/server/appop/HistoricalRegistry;Lcom/android/server/appop/HistoricalRegistry;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AudioRestrictionManager;-><clinit>()V HSPLcom/android/server/appop/AudioRestrictionManager;-><init>()V +HPLcom/android/server/appop/AudioRestrictionManager;->checkZenModeRestrictionLocked(IIILjava/lang/String;)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V -HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->addDiscreteAccess(Ljava/lang/String;IIJJII)V +HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->addDiscreteAccess(Ljava/lang/String;IIJJII)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->deserialize(Lcom/android/modules/utils/TypedXmlPullParser;J)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser; HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->getOrCreateDiscreteOpEventsList(Ljava/lang/String;)Ljava/util/List;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->lambda$deserialize$0(Lcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;Lcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;)I -HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V +HPLcom/android/server/appop/DiscreteRegistry$DiscreteOp;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/List;Ljava/util/ArrayList; 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 +HPLcom/android/server/appop/DiscreteRegistry$DiscreteOpEvent;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer; HSPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;-><init>(Lcom/android/server/appop/DiscreteRegistry;I)V -HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->getOrCreateDiscreteUidOps(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps; +HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->addDiscreteAccess(IILjava/lang/String;Ljava/lang/String;IIJJII)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;]Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;Lcom/android/server/appop/DiscreteRegistry$DiscreteOps; +HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->getOrCreateDiscreteUidOps(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;->writeToStream(Ljava/io/FileOutputStream;)V -HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;-><init>(Lcom/android/server/appop/DiscreteRegistry;)V -HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->getOrCreateDiscreteOp(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteOp; -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 -HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->getOrCreateDiscretePackageOps(Ljava/lang/String;)Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps; +HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->addDiscreteAccess(ILjava/lang/String;IIJJII)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;]Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps; +HPLcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;->getOrCreateDiscreteOp(I)Lcom/android/server/appop/DiscreteRegistry$DiscreteOp;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->addDiscreteAccess(ILjava/lang/String;Ljava/lang/String;IIJJII)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;Lcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;]Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps; +HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->getOrCreateDiscretePackageOps(Ljava/lang/String;)Lcom/android/server/appop/DiscreteRegistry$DiscretePackageOps;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/appop/DiscreteRegistry$DiscreteUidOps;->serialize(Lcom/android/modules/utils/TypedXmlSerializer;)V +HPLcom/android/server/appop/DiscreteRegistry;->-$$Nest$smdiscretizeDuration(J)J +HPLcom/android/server/appop/DiscreteRegistry;->-$$Nest$smdiscretizeTimeStamp(J)J HSPLcom/android/server/appop/DiscreteRegistry;-><clinit>()V HSPLcom/android/server/appop/DiscreteRegistry;-><init>(Ljava/lang/Object;)V HPLcom/android/server/appop/DiscreteRegistry;->createAttributionChains(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;Ljava/util/Set;)Landroid/util/ArrayMap;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/appop/DiscreteRegistry;->createDiscreteAccessDirLocked()V -HPLcom/android/server/appop/DiscreteRegistry;->deleteOldDiscreteHistoryFilesLocked()V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/io/File;Ljava/io/File;]Ljava/time/Instant;Ljava/time/Instant;]Ljava/lang/Long;Ljava/lang/Long; +HPLcom/android/server/appop/DiscreteRegistry;->deleteOldDiscreteHistoryFilesLocked()V+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/File;Ljava/io/File;]Ljava/time/Instant;Ljava/time/Instant;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/appop/DiscreteRegistry;->discretizeTimeStamp(J)J HSPLcom/android/server/appop/DiscreteRegistry;->isDiscreteOp(II)Z -HPLcom/android/server/appop/DiscreteRegistry;->persistDiscreteOpsLocked(Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;)V HSPLcom/android/server/appop/DiscreteRegistry;->readLargestChainIdFromDiskLocked()I HSPLcom/android/server/appop/DiscreteRegistry;->recordDiscreteAccess(ILjava/lang/String;ILjava/lang/String;IIJJII)V+]Lcom/android/server/appop/DiscreteRegistry$DiscreteOps;Lcom/android/server/appop/DiscreteRegistry$DiscreteOps; HPLcom/android/server/appop/DiscreteRegistry;->stableListMerge(Ljava/util/List;Ljava/util/List;)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList; -HPLcom/android/server/appop/DiscreteRegistry;->writeAndClearAccessHistory()V -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; -HPLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V+]Landroid/app/AppOpsManager$HistoricalOps;Landroid/app/AppOpsManager$HistoricalOps;]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/LinkedList;,Ljava/util/ArrayList;]Lcom/android/server/appop/HistoricalRegistry$Persistence;Lcom/android/server/appop/HistoricalRegistry$Persistence;]Ljava/util/Set;Landroid/util/ArraySet; +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;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Lcom/android/server/appop/HistoricalRegistry$Persistence;Lcom/android/server/appop/HistoricalRegistry$Persistence; HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Lcom/android/server/appop/HistoricalRegistry$Persistence;Lcom/android/server/appop/HistoricalRegistry$Persistence; 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;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Lcom/android/server/appop/HistoricalRegistry$Persistence;Lcom/android/server/appop/HistoricalRegistry$Persistence; 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;+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Lcom/android/server/appop/HistoricalRegistry$Persistence;Lcom/android/server/appop/HistoricalRegistry$Persistence; 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;+]Landroid/app/AppOpsManager$HistoricalOps;Landroid/app/AppOpsManager$HistoricalOps;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser; @@ -3343,15 +2788,14 @@ HSPLcom/android/server/appop/HistoricalRegistry;->increaseOpAccessDuration(IILja HSPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILjava/lang/String;Ljava/lang/String;IIJII)V+]Landroid/app/AppOpsManager$HistoricalOps;Landroid/app/AppOpsManager$HistoricalOps;]Lcom/android/server/appop/DiscreteRegistry;Lcom/android/server/appop/DiscreteRegistry;]Lcom/android/server/appop/HistoricalRegistry;Lcom/android/server/appop/HistoricalRegistry; HSPLcom/android/server/appop/HistoricalRegistry;->incrementOpRejected(IILjava/lang/String;Ljava/lang/String;II)V+]Landroid/app/AppOpsManager$HistoricalOps;Landroid/app/AppOpsManager$HistoricalOps;]Lcom/android/server/appop/HistoricalRegistry;Lcom/android/server/appop/HistoricalRegistry; HSPLcom/android/server/appop/HistoricalRegistry;->isPersistenceInitializedMLocked()Z -HPLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory()V -HPLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V HSPLcom/android/server/appop/OnOpModeChangedListener;-><init>(IIIII)V +HSPLcom/android/server/appop/OnOpModeChangedListener;->getCallingUid()I HSPLcom/android/server/appop/OnOpModeChangedListener;->getFlags()I -HPLcom/android/server/appop/OnOpModeChangedListener;->getWatchedOpCode()I -HPLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->getInfoLocked(Landroid/content/Context;)Landroid/appwidget/AppWidgetProviderInfo; +HSPLcom/android/server/appop/OnOpModeChangedListener;->getWatchedOpCode()I +HPLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->runForUserLocked(Ljava/lang/String;Landroid/app/prediction/AppPredictionSessionId;Ljava/util/function/Consumer;)V +HPLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;->equals(Ljava/lang/Object;)Z HPLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->getUserId()I HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;)V -HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId-IA;)V HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->enforceCallFromPackage(Ljava/lang/String;)V HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getEnabledGroupProfileIds(I)[I @@ -3372,70 +2816,102 @@ HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isUserRunningAndUnlocked(I)Z HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupProviderLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;+]Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/appwidget/AppWidgetServiceImpl;->parseAppWidgetProviderInfo(Landroid/content/Context;Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/appwidget/AppWidgetProviderInfo; -HPLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyUpdateAppWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Landroid/widget/RemoteViews;)V -HPLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeAppWidget(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Z)V HPLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeHost(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V -HPLcom/android/server/appwidget/AppWidgetServiceImpl;->tagProvidersAndHosts()V +HPLcom/android/server/appwidget/AppWidgetServiceImpl;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice; +HPLcom/android/server/appwidget/AppWidgetServiceImpl;->tagProvidersAndHosts()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/appwidget/AppWidgetServiceImpl;->updateProvidersForPackageLocked(Ljava/lang/String;ILjava/util/Set;)Z+]Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;]Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/appwidget/AppWidgetServiceImpl;->writeProfileStateToFileLocked(Ljava/io/FileOutputStream;I)Z+]Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;]Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HPLcom/android/server/appwidget/AppWidgetXmlUtil;->writeAppWidgetProviderInfoLocked(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/appwidget/AppWidgetProviderInfo;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/ComponentName;Landroid/content/ComponentName; -HPLcom/android/server/audio/AudioDeviceBroker;->isDeviceOnForCommunication(I)Z HSPLcom/android/server/audio/AudioDeviceBroker;->preferredCommunicationDevice()Landroid/media/AudioDeviceAttributes; HSPLcom/android/server/audio/AudioDeviceBroker;->topCommunicationRouteClient()Lcom/android/server/audio/AudioDeviceBroker$CommunicationRouteClient; +HSPLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V +HPLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/audio/AudioService$VolumeGroupState;->getSettingNameForDevice(I)Ljava/lang/String; HSPLcom/android/server/audio/AudioService$VolumeGroupState;->readSettings()V HSPLcom/android/server/audio/AudioService$VolumeStreamState$1;->record(Ljava/lang/String;II)V HSPLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmIsMuted(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z +HSPLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(I)V HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I+]Landroid/util/SparseIntArray;Lcom/android/server/audio/AudioService$VolumeStreamState$1; HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I HSPLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)Ljava/util/Set;+]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;]Ljava/util/Set;Ljava/util/TreeSet;]Lcom/android/server/audio/SystemServerAdapter;Lcom/android/server/audio/SystemServerAdapter; HSPLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;Z)Z +HSPLcom/android/server/audio/AudioService;->-$$Nest$fgetmSystemServer(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SystemServerAdapter; HSPLcom/android/server/audio/AudioService;->-$$Nest$mgetDeviceSetForStreamDirect(Lcom/android/server/audio/AudioService;I)Ljava/util/Set; +HSPLcom/android/server/audio/AudioService;->callingHasAudioSettingsPermission()Z +HSPLcom/android/server/audio/AudioService;->enforceQueryStateOrModifyRoutingPermission()V +HSPLcom/android/server/audio/AudioService;->enforceVolumeController(Ljava/lang/String;)V HSPLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V -HPLcom/android/server/audio/AudioService;->getActiveRecordingConfigurations()Ljava/util/List; HSPLcom/android/server/audio/AudioService;->getAudioModeOwnerHandler()Lcom/android/server/audio/AudioService$SetModeDeathHandler; -HSPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I +HSPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I+]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; HSPLcom/android/server/audio/AudioService;->getDeviceSetForStream(I)Ljava/util/Set;+]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; HSPLcom/android/server/audio/AudioService;->getDeviceSetForStreamDirect(I)Ljava/util/Set; HSPLcom/android/server/audio/AudioService;->getDevicesForAttributesInt(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;+]Lcom/android/server/audio/AudioSystemAdapter;Lcom/android/server/audio/AudioSystemAdapter; -HPLcom/android/server/audio/AudioService;->getMode()I -HSPLcom/android/server/audio/AudioService;->getRingerModeInternal()I -HPLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I -HPLcom/android/server/audio/AudioService;->getStreamVolume(I)I -HPLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z +HSPLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I+]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; +HSPLcom/android/server/audio/AudioService;->getStreamMinVolume(I)I+]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; +HPLcom/android/server/audio/AudioService;->getStreamVolume(I)I+]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; +HSPLcom/android/server/audio/AudioService;->isA2dpAbsoluteVolumeDevice(I)Z HSPLcom/android/server/audio/AudioService;->isFixedVolumeDevice(I)Z -HPLcom/android/server/audio/AudioService;->isMusicActive(Z)Z HSPLcom/android/server/audio/AudioService;->isStreamMute(I)Z HSPLcom/android/server/audio/AudioService;->selectOneAudioDevice(Ljava/util/Set;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/Iterator;Ljava/util/TreeMap$KeyIterator;]Ljava/util/Set;Ljava/util/TreeSet; +HSPLcom/android/server/audio/AudioService;->sendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V +HSPLcom/android/server/audio/AudioSystemAdapter;->getDevicesForAttributes(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList; HSPLcom/android/server/audio/AudioSystemAdapter;->getDevicesForAttributesImpl(Landroid/media/AudioAttributes;Z)Ljava/util/ArrayList;+]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; -HSPLcom/android/server/audio/BtHelper;->isBluetoothScoOn()Z -HPLcom/android/server/audio/RecordingActivityMonitor;->getActiveRecordingConfigurations(Z)Ljava/util/List; +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 +HSPLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V +HPLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V+]Landroid/media/IPlaybackConfigDispatcher;Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;,Lcom/android/server/audio/AudioService$4;,Landroid/media/AudioManager$2; +HPLcom/android/server/audio/PlaybackActivityMonitor;->dispatchPlaybackChange(Z)V+]Ljava/util/concurrent/ConcurrentLinkedQueue;Ljava/util/concurrent/ConcurrentLinkedQueue;]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;Lcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;]Lcom/android/server/audio/PlaybackActivityMonitor;Lcom/android/server/audio/PlaybackActivityMonitor;]Ljava/util/Iterator;Ljava/util/concurrent/ConcurrentLinkedQueue$Itr; +HPLcom/android/server/audio/PlaybackActivityMonitor;->playerEvent(IIII)V +HPLcom/android/server/audio/PlaybackActivityMonitor;->releasePlayer(II)V +HSPLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I +HPLcom/android/server/audio/RecordingActivityMonitor$RecordingEvent;->eventToString()Ljava/lang/String; +HPLcom/android/server/audio/RecordingActivityMonitor;->createRecordingConfiguration(III[IIZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)Landroid/media/AudioRecordingConfiguration; +HSPLcom/android/server/audio/RotationHelper;->enable()V +HSPLcom/android/server/audio/RotationHelper;->updateOrientation()V +HSPLcom/android/server/audio/SystemServerAdapter;->isPrivileged()Z +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInput(Landroid/view/autofill/AutofillId;)V +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession;->maybeUpdateResponseToImeLocked()V +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession;->onInlineSuggestionsResponseLocked(Lcom/android/server/autofill/ui/InlineFillUi;)Z +HPLcom/android/server/autofill/AutofillManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;->injectAugmentedAutofillInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V -HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z +HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V +HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V HSPLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->getAppDisabledActivities(ILjava/lang/String;)Landroid/util/ArrayMap; HSPLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->getAppDisabledExpiration(ILjava/lang/String;)J HSPLcom/android/server/autofill/AutofillManagerService$LocalService;->getAutofillOptions(Ljava/lang/String;JI)Landroid/content/AutofillOptions; HSPLcom/android/server/autofill/AutofillManagerService$LocalService;->injectDisableAppInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V -HPLcom/android/server/autofill/AutofillManagerServiceImpl;->setAugmentedAutofillWhitelistLocked(Ljava/util/List;Ljava/util/List;I)Z +HPLcom/android/server/autofill/AutofillManagerService;->peekServiceForUserWithLocalBinderIdentityLocked(I)Lcom/android/server/autofill/AutofillManagerServiceImpl; +HPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateSessionLocked(IILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)Z +HPLcom/android/server/autofill/Helper;->addAutofillableIds(Landroid/app/assist/AssistStructure$ViewNode;Ljava/util/ArrayList;Z)V+]Landroid/app/assist/AssistStructure$ViewNode;Landroid/app/assist/AssistStructure$ViewNode;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;->onHandleAssistData(Landroid/os/Bundle;)V +HPLcom/android/server/autofill/Session$PccAssistDataReceiverImpl;->onHandleAssistData(Landroid/os/Bundle;)V+]Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;]Lcom/android/server/autofill/Session$PccAssistDataReceiverImpl;Lcom/android/server/autofill/Session$PccAssistDataReceiverImpl;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistStructure;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IIILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZILcom/android/server/inputmethod/InputMethodManagerInternal;)V +HPLcom/android/server/autofill/Session;->requestNewFillResponseLocked(Lcom/android/server/autofill/ViewState;II)V +HPLcom/android/server/autofill/Session;->updateFilteringStateOnValueChangedLocked(Ljava/lang/String;Lcom/android/server/autofill/ViewState;)V +HPLcom/android/server/autofill/Session;->updateLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V +HPLcom/android/server/autofill/Session;->updateViewStateAndUiOnValueChangedLocked(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Lcom/android/server/autofill/ViewState;I)V HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupIntervalMilliseconds()J HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequireCharging()Z HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequiredNetworkType()I +HPLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupIntervalMilliseconds()J HSPLcom/android/server/backup/BackupManagerService;->binderGetCallingUserId()I HPLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/String;)V HSPLcom/android/server/backup/BackupManagerService;->dataChanged(Ljava/lang/String;)V HSPLcom/android/server/backup/BackupManagerService;->dataChangedForUser(ILjava/lang/String;)V -HSPLcom/android/server/backup/BackupManagerService;->enforceCallingPermissionOnUserId(ILjava/lang/String;)V +HSPLcom/android/server/backup/BackupManagerService;->enforceCallingPermissionOnUserId(ILjava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle; HPLcom/android/server/backup/BackupManagerService;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService; HSPLcom/android/server/backup/BackupManagerService;->isUserReadyForBackup(I)Z -HPLcom/android/server/backup/BackupManagerService;->setBackupServiceActive(IZ)V +HPLcom/android/server/backup/FullBackupJob;->finishBackupPass(I)V HPLcom/android/server/backup/FullBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/UserBackupManagerService;)V -HPLcom/android/server/backup/PackageManagerBackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V+]Lcom/android/server/backup/PackageManagerBackupAgent;Lcom/android/server/backup/PackageManagerBackupAgent;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/io/DataOutputStream;Ljava/io/DataOutputStream;]Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;]Landroid/content/pm/SigningInfo;Landroid/content/pm/SigningInfo;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/io/ByteArrayOutputStream;Ljava/io/ByteArrayOutputStream;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;Lcom/android/server/backup/UserBackupManagerService;)V HPLcom/android/server/backup/TransportManager;->addUserIdToLogMessage(ILjava/lang/String;)Ljava/lang/String; +HPLcom/android/server/backup/TransportManager;->getCurrentTransportClient(Ljava/lang/String;)Lcom/android/server/backup/transport/TransportConnection; HPLcom/android/server/backup/TransportManager;->getRegisteredTransportEntryLocked(Ljava/lang/String;)Ljava/util/Map$Entry; HPLcom/android/server/backup/TransportManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V HPLcom/android/server/backup/UserBackupManagerService$1;->run()V+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Ljava/io/DataOutputStream;Ljava/io/DataOutputStream;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/io/ByteArrayOutputStream;Ljava/io/ByteArrayOutputStream;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream; HPLcom/android/server/backup/UserBackupManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/backup/UserBackupManagerService$4;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V +HPLcom/android/server/backup/UserBackupManagerService$4;->run()V +HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->acquire()V HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->release()V HPLcom/android/server/backup/UserBackupManagerService;->-$$Nest$fgetmFullBackupQueue(Lcom/android/server/backup/UserBackupManagerService;)Ljava/util/ArrayList; HPLcom/android/server/backup/UserBackupManagerService;->addUserIdToLogMessage(ILjava/lang/String;)Ljava/lang/String; @@ -3451,16 +2927,24 @@ HPLcom/android/server/backup/UserBackupManagerService;->getCurrentTransport()Lja HPLcom/android/server/backup/UserBackupManagerService;->isAppEligibleForBackup(Ljava/lang/String;)Z HPLcom/android/server/backup/UserBackupManagerService;->scheduleNextFullBackupJob(J)V HPLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V +HPLcom/android/server/backup/UserBackupManagerService;->writeFullBackupScheduleAsync()V HPLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/OperationStorage;Lcom/android/server/backup/transport/TransportConnection;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;ZLcom/android/server/backup/utils/BackupEligibilityRules;)V -HPLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->run()V +HPLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->run()V+]Lcom/android/server/backup/utils/BackupManagerMonitorEventSender;Lcom/android/server/backup/utils/BackupManagerMonitorEventSender;]Lcom/android/server/backup/transport/BackupTransportClient;Lcom/android/server/backup/transport/BackupTransportClient;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/io/FileInputStream;Ljava/io/FileInputStream;]Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;]Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;]Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/CountDownLatch;]Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/UserBackupManagerService;]Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream;]Lcom/android/server/backup/FullBackupJob;Lcom/android/server/backup/FullBackupJob;]Ljava/lang/Thread;Ljava/lang/Thread;]Lcom/android/server/backup/internal/OnTaskFinishedListener;Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$$ExternalSyntheticLambda0;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;]Landroid/app/IActivityManager;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/backup/transport/TransportConnection;Lcom/android/server/backup/transport/TransportConnection; HPLcom/android/server/backup/internal/LifecycleOperationStorage;->registerOperationForPackages(IILjava/util/Set;Lcom/android/server/backup/BackupRestoreTask;I)V HPLcom/android/server/backup/internal/LifecycleOperationStorage;->removeOperation(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$KeyIterator;]Ljava/util/Set;Ljava/util/HashMap$KeySet;,Ljava/util/HashSet; +HPLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgent(I)V HPLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractAgentData(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)V +HPLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;-><init>()V HPLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;->newFuture()Lcom/android/internal/infra/AndroidFuture; +HPLcom/android/server/backup/transport/BackupTransportClient$TransportFutures;->remove(Lcom/android/internal/infra/AndroidFuture;)V HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;-><init>()V -HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;->acquire()Lcom/android/server/backup/transport/TransportStatusCallback; -HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;->recycle(Lcom/android/server/backup/transport/TransportStatusCallback;)V +HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;->acquire()Lcom/android/server/backup/transport/TransportStatusCallback;+]Lcom/android/server/backup/transport/TransportStatusCallback;Lcom/android/server/backup/transport/TransportStatusCallback;]Ljava/util/Queue;Ljava/util/ArrayDeque;]Ljava/util/Set;Ljava/util/HashSet; +HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;->recycle(Lcom/android/server/backup/transport/TransportStatusCallback;)V+]Ljava/util/Queue;Ljava/util/ArrayDeque;]Ljava/util/Set;Ljava/util/HashSet; +HPLcom/android/server/backup/transport/BackupTransportClient;->getBackupManagerMonitor()Landroid/app/backup/IBackupManagerMonitor; HPLcom/android/server/backup/transport/BackupTransportClient;->getFutureResult(Lcom/android/internal/infra/AndroidFuture;)Ljava/lang/Object; +HPLcom/android/server/backup/transport/BackupTransportClient;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I +HPLcom/android/server/backup/transport/TransportConnection$TransportConnectionMonitor;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportConnection;)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;)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 HPLcom/android/server/backup/transport/TransportConnection;->checkStateIntegrityLocked()V HPLcom/android/server/backup/transport/TransportConnection;->connect(Ljava/lang/String;)Lcom/android/server/backup/transport/BackupTransportClient; @@ -3471,69 +2955,110 @@ HPLcom/android/server/backup/transport/TransportConnection;->markAsDisposed()V HPLcom/android/server/backup/transport/TransportConnection;->notifyListener(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/server/backup/transport/BackupTransportClient;Ljava/lang/String;)V HPLcom/android/server/backup/transport/TransportConnection;->notifyListenersAndClearLocked(Lcom/android/server/backup/transport/BackupTransportClient;)V HPLcom/android/server/backup/transport/TransportConnection;->onStateTransition(II)V -HPLcom/android/server/backup/transport/TransportConnection;->saveLogEntry(Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/List;Ljava/util/LinkedList; +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 +HPLcom/android/server/backup/transport/TransportConnection;->stateToString(I)Ljava/lang/String; HPLcom/android/server/backup/transport/TransportConnection;->toString()Ljava/lang/String; HPLcom/android/server/backup/transport/TransportConnection;->unbind(Ljava/lang/String;)V HPLcom/android/server/backup/transport/TransportConnectionManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportConnection;Ljava/lang/String;)V +HPLcom/android/server/backup/transport/TransportConnectionManager;->getTransportClient(Landroid/content/ComponentName;Landroid/os/Bundle;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportConnection; HPLcom/android/server/backup/transport/TransportConnectionManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)Lcom/android/server/backup/transport/TransportConnection; HPLcom/android/server/backup/transport/TransportStats$Stats;->register(J)V -HPLcom/android/server/backup/transport/TransportStatusCallback;->getOperationStatus()I +HPLcom/android/server/backup/transport/TransportStats;->registerConnectionTime(Landroid/content/ComponentName;J)V +HPLcom/android/server/backup/transport/TransportStatusCallback;->getOperationStatus()I+]Ljava/lang/Object;Lcom/android/server/backup/transport/TransportStatusCallback; HPLcom/android/server/backup/transport/TransportUtils;->formatMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HPLcom/android/server/backup/utils/BackupEligibilityRules;->appIsDisabled(Landroid/content/pm/ApplicationInfo;)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/backup/transport/TransportUtils;->log(ILjava/lang/String;Ljava/lang/String;)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+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/backup/utils/BackupEligibilityRules;Lcom/android/server/backup/utils/BackupEligibilityRules;]Ljava/util/Set;Ljava/util/HashSet; HPLcom/android/server/backup/utils/BackupEligibilityRules;->appIsRunningAndEligibleForBackupWithTransport(Lcom/android/server/backup/transport/TransportConnection;Ljava/lang/String;)Z +HPLcom/android/server/backup/utils/BackupManagerMonitorEventSender;->monitorEvent(ILandroid/content/pm/PackageInfo;ILandroid/os/Bundle;)V HPLcom/android/server/backup/utils/SparseArrayUtils;->union(Landroid/util/SparseArray;)Ljava/util/HashSet;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/HashSet;Ljava/util/HashSet; +HPLcom/android/server/biometrics/AuthService$AuthServiceImpl;->canAuthenticate(Ljava/lang/String;II)I +HSPLcom/android/server/biometrics/BiometricSensor;->toString()Ljava/lang/String; +HPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->getAuthenticatorIds(I)[J HPLcom/android/server/biometrics/PreAuthInfo;->create(Landroid/app/trust/ITrustManager;Landroid/app/admin/DevicePolicyManager;Lcom/android/server/biometrics/BiometricService$SettingObserver;Ljava/util/List;ILandroid/hardware/biometrics/PromptInfo;Ljava/lang/String;ZLandroid/content/Context;Lcom/android/server/biometrics/BiometricCameraManager;)Lcom/android/server/biometrics/PreAuthInfo; +HPLcom/android/server/biometrics/PreAuthInfo;->getInternalStatus()Landroid/util/Pair; HPLcom/android/server/biometrics/Utils;->isKeyguard(Landroid/content/Context;Ljava/lang/String;)Z +HPLcom/android/server/biometrics/log/ALSProbe;->disableLightSensorLoggingLocked(Z)V +HPLcom/android/server/biometrics/log/ALSProbe;->enableLightSensorLoggingLocked()V +HPLcom/android/server/biometrics/log/BiometricContextProvider;->getKeyguardEntrySessionInfo()Lcom/android/server/biometrics/log/BiometricContextSessionInfo; +HPLcom/android/server/biometrics/log/BiometricFrameworkStatsLogger;->acquired(Lcom/android/server/biometrics/log/OperationContextExt;IIIZIII)V +HPLcom/android/server/biometrics/log/BiometricLogger;->logOnAcquired(Landroid/content/Context;Lcom/android/server/biometrics/log/OperationContextExt;III)V +HPLcom/android/server/biometrics/log/OperationContextExt;->setFirstSessionId(Lcom/android/server/biometrics/log/BiometricContext;)V +HPLcom/android/server/biometrics/log/OperationContextExt;->update(Lcom/android/server/biometrics/log/BiometricContext;Z)Lcom/android/server/biometrics/log/OperationContextExt; +HPLcom/android/server/biometrics/sensors/AcquisitionClient;->onAcquiredInternal(IIZ)V +HPLcom/android/server/biometrics/sensors/AuthResultCoordinator;->updateState(ILjava/util/function/IntFunction;)V +HPLcom/android/server/biometrics/sensors/AuthSessionCoordinator;->endAuthSession()V +HPLcom/android/server/biometrics/sensors/AuthenticationClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)V HPLcom/android/server/biometrics/sensors/BaseClientMonitor;->toString()Ljava/lang/String; +HPLcom/android/server/biometrics/sensors/BiometricScheduler$1;->lambda$onClientFinished$0(Lcom/android/server/biometrics/sensors/BaseClientMonitor;Z)V +HPLcom/android/server/biometrics/sensors/BiometricScheduler;->scheduleClientMonitor(Lcom/android/server/biometrics/sensors/BaseClientMonitor;Lcom/android/server/biometrics/sensors/ClientMonitorCallback;)V +HPLcom/android/server/biometrics/sensors/BiometricScheduler;->startNextOperationIfIdle()V HPLcom/android/server/biometrics/sensors/BiometricServiceRegistry;->getProviderForSensor(I)Lcom/android/server/biometrics/sensors/BiometricServiceProvider; HPLcom/android/server/biometrics/sensors/BiometricServiceRegistry;->getSingleProvider()Landroid/util/Pair; +HSPLcom/android/server/biometrics/sensors/BiometricUserState;->getBiometrics()Ljava/util/List; +HPLcom/android/server/biometrics/sensors/SensorList;->contains(I)Z +HPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService$1;->authenticate(Landroid/os/IBinder;JLandroid/hardware/fingerprint/IFingerprintServiceReceiver;Landroid/hardware/fingerprint/FingerprintAuthenticateOptions;)J HPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService$1;->hasEnrolledFingerprintsDeprecated(ILjava/lang/String;Ljava/lang/String;)Z HPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService$1;->isHardwareDetectedDeprecated(Ljava/lang/String;Ljava/lang/String;)Z HPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService;->canUseFingerprint(Ljava/lang/String;Ljava/lang/String;ZIII)Z HPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService;->getEnrolledFingerprintsDeprecated(ILjava/lang/String;)Ljava/util/List; HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintUserState;->getCopy(Ljava/util/ArrayList;)Ljava/util/ArrayList; +HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintUtils;->getBiometricsForUser(Landroid/content/Context;I)Ljava/util/List; HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintUtils;->getInstance(ILjava/lang/String;)Lcom/android/server/biometrics/sensors/fingerprint/FingerprintUtils; +HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintUtils;->getStateForUser(Landroid/content/Context;I)Lcom/android/server/biometrics/sensors/fingerprint/FingerprintUserState; +HPLcom/android/server/biometrics/sensors/fingerprint/GestureAvailabilityDispatcher;->markSensorActive(IZ)V +HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->containsSensor(I)Z +HSPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->getEnrolledFingerprints(II)Ljava/util/List; HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->hasHalInstance()Z -HPLcom/android/server/blob/BlobMetadata;->getAccessor(Landroid/util/ArraySet;Ljava/lang/String;II)Lcom/android/server/blob/BlobMetadata$Accessor;+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/blob/BlobMetadata$Accessor;Lcom/android/server/blob/BlobMetadata$Committer;,Lcom/android/server/blob/BlobMetadata$Leasee; +HPLcom/android/server/blob/BlobMetadata$Committer;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V+]Lcom/android/server/blob/BlobAccessMode;Lcom/android/server/blob/BlobAccessMode;]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/FastXmlSerializer; +HPLcom/android/server/blob/BlobMetadata$Leasee;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V +HPLcom/android/server/blob/BlobMetadata;->getAccessor(Landroid/util/ArraySet;Ljava/lang/String;II)Lcom/android/server/blob/BlobMetadata$Accessor;+]Lcom/android/server/blob/BlobMetadata$Accessor;Lcom/android/server/blob/BlobMetadata$Committer;,Lcom/android/server/blob/BlobMetadata$Leasee;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HPLcom/android/server/blob/BlobMetadata;->isALeasee(Ljava/lang/String;I)Z+]Lcom/android/server/blob/BlobMetadata$Leasee;Lcom/android/server/blob/BlobMetadata$Leasee; HPLcom/android/server/blob/BlobMetadata;->isALeaseeInUser(Ljava/lang/String;II)Z+]Lcom/android/server/blob/BlobMetadata$Leasee;Lcom/android/server/blob/BlobMetadata$Leasee; HPLcom/android/server/blob/BlobMetadata;->shouldAttributeToLeasee(IZ)Z+]Lcom/android/server/blob/BlobMetadata;Lcom/android/server/blob/BlobMetadata; +HPLcom/android/server/blob/BlobMetadata;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V+]Landroid/app/blob/BlobHandle;Landroid/app/blob/BlobHandle;]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/FastXmlSerializer;]Lcom/android/server/blob/BlobMetadata$Committer;Lcom/android/server/blob/BlobMetadata$Committer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/blob/BlobMetadata$Leasee;Lcom/android/server/blob/BlobMetadata$Leasee; +HPLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->augmentStatsForPackageForUser(Landroid/content/pm/PackageStats;Ljava/lang/String;Landroid/os/UserHandle;Z)V HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->augmentStatsForUid(Landroid/content/pm/PackageStats;IZ)V HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->augmentStatsForUser(Landroid/content/pm/PackageStats;Landroid/os/UserHandle;)V -HPLcom/android/server/blob/BlobStoreManagerService;->-$$Nest$mforEachBlob(Lcom/android/server/blob/BlobStoreManagerService;Ljava/util/function/Consumer;)V +HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter;->lambda$augmentStatsForUid$3(IZLjava/util/concurrent/atomic/AtomicLong;Lcom/android/server/blob/BlobMetadata;)V +HPLcom/android/server/blob/BlobStoreManagerService$Stub;->acquireLease(Landroid/app/blob/BlobHandle;ILjava/lang/CharSequence;JLjava/lang/String;)V HPLcom/android/server/blob/BlobStoreManagerService;->forEachBlob(Ljava/util/function/Consumer;)V HPLcom/android/server/blob/BlobStoreManagerService;->forEachBlobLocked(Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;megamorphic_types HPLcom/android/server/blob/BlobStoreManagerService;->forEachSessionInUser(Ljava/util/function/Consumer;I)V HPLcom/android/server/blob/BlobStoreManagerService;->getUserSessionsLocked(I)Landroid/util/LongSparseArray; -HSPLcom/android/server/camera/CameraServiceProxy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V -HSPLcom/android/server/camera/CameraServiceProxy$1;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V -HSPLcom/android/server/camera/CameraServiceProxy$2;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V -HSPLcom/android/server/camera/CameraServiceProxy$DisplayWindowListener;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V -HSPLcom/android/server/camera/CameraServiceProxy$DisplayWindowListener;-><init>(Lcom/android/server/camera/CameraServiceProxy;Lcom/android/server/camera/CameraServiceProxy$DisplayWindowListener-IA;)V -HSPLcom/android/server/camera/CameraServiceProxy;-><clinit>()V -HSPLcom/android/server/camera/CameraServiceProxy;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/camera/CameraServiceProxy;->onBootPhase(I)V -HSPLcom/android/server/camera/CameraServiceProxy;->onStart()V +HPLcom/android/server/blob/BlobStoreManagerService;->onStateChangedInternal(Lcom/android/server/blob/BlobStoreSession;)V +HPLcom/android/server/blob/BlobStoreManagerService;->writeBlobSessionsLocked()V +HPLcom/android/server/blob/BlobStoreManagerService;->writeBlobsInfoLocked()V+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Lcom/android/server/blob/BlobMetadata;Lcom/android/server/blob/BlobMetadata;]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/FastXmlSerializer;]Lcom/android/server/blob/BlobStoreManagerService;Lcom/android/server/blob/BlobStoreManagerService; +HPLcom/android/server/blob/BlobStoreSession;-><init>(Landroid/content/Context;JLandroid/app/blob/BlobHandle;ILjava/lang/String;JLcom/android/server/blob/BlobStoreManagerService$SessionStateChangeListener;)V +HPLcom/android/server/blob/BlobStoreSession;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V +HPLcom/android/server/clipboard/ClipboardService;->clipboardAccessAllowed(ILjava/lang/String;Ljava/lang/String;IIIZ)Z +HPLcom/android/server/clipboard/ClipboardService;->getClipboardLocked(II)Lcom/android/server/clipboard/ClipboardService$Clipboard; +HPLcom/android/server/clipboard/ClipboardService;->getIntendingDeviceId(II)I +HPLcom/android/server/clipboard/ClipboardService;->getIntendingUid(Ljava/lang/String;I)I +HPLcom/android/server/clipboard/ClipboardService;->isDefaultIme(ILjava/lang/String;)Z +HPLcom/android/server/clipboard/ClipboardService;->isDeviceLocked(I)Z HPLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForPackage(ILjava/lang/String;)Ljava/util/List; +HPLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForUser(I)Ljava/util/List; HPLcom/android/server/companion/AssociationStoreImpl;->getAssociationsForUserLocked(I)Ljava/util/List; +HPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAllAssociationsForUser(I)Ljava/util/List; HPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List; -HPLcom/android/server/companion/CompanionDeviceManagerService;->-$$Nest$fgetmAssociationStore(Lcom/android/server/companion/CompanionDeviceManagerService;)Lcom/android/server/companion/AssociationStoreImpl; -HPLcom/android/server/companion/PermissionsUtils;->enforceCallerCanManageAssociationsForPackage(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getDeviceIdsForUid(I)Landroid/util/ArraySet; +HPLcom/android/server/companion/PermissionsUtils;->checkCallerIsSystemOr(ILjava/lang/String;)Z +HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getDeviceIdsForUid(I)Landroid/util/ArraySet;+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/companion/virtual/VirtualDeviceImpl;Lcom/android/server/companion/virtual/VirtualDeviceImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->getPreferredLocaleListForUid(I)Landroid/os/LocaleList; HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService;->isAppRunningOnAnyVirtualDevice(I)Z -HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$mgetVirtualDevicesSnapshot(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Ljava/util/ArrayList; -HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->getVirtualDevicesSnapshot()Ljava/util/ArrayList; +HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$mgetVirtualDevicesSnapshot(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Ljava/util/ArrayList;+]Lcom/android/server/companion/virtual/VirtualDeviceManagerService;Lcom/android/server/companion/virtual/VirtualDeviceManagerService; +HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->getVirtualDevicesSnapshot()Ljava/util/ArrayList;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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 HSPLcom/android/server/compat/CompatChange;->defaultValue()Z HSPLcom/android/server/compat/CompatChange;->isEnabled(Landroid/content/pm/ApplicationInfo;Lcom/android/internal/compat/AndroidBuildClassifier;)Z+]Lcom/android/internal/compat/AndroidBuildClassifier;Lcom/android/internal/compat/AndroidBuildClassifier;]Lcom/android/internal/compat/CompatibilityChangeInfo;Lcom/android/server/compat/CompatChange;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;]Ljava/lang/Boolean;Ljava/lang/Boolean; -HPLcom/android/server/compat/CompatChange;->recheckOverride(Ljava/lang/String;Lcom/android/internal/compat/OverrideAllowedState;Ljava/lang/Long;)Z+]Lcom/android/server/compat/CompatChange;Lcom/android/server/compat/CompatChange;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/app/compat/PackageOverride;Landroid/app/compat/PackageOverride;]Ljava/lang/Long;Ljava/lang/Long; -HSPLcom/android/server/compat/CompatChange;->registerListener(Lcom/android/server/compat/CompatChange$ChangeListener;)V -HPLcom/android/server/compat/CompatChange;->removePackageOverrideInternal(Ljava/lang/String;)V +HPLcom/android/server/compat/CompatChange;->recheckOverride(Ljava/lang/String;Lcom/android/internal/compat/OverrideAllowedState;Ljava/lang/Long;)Z+]Landroid/app/compat/PackageOverride;Landroid/app/compat/PackageOverride;]Lcom/android/server/compat/CompatChange;Lcom/android/server/compat/CompatChange;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; +HPLcom/android/server/compat/CompatChange;->removePackageOverrideInternal(Ljava/lang/String;)V+]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; HSPLcom/android/server/compat/CompatChange;->willBeEnabled(Ljava/lang/String;)Z 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; @@ -3544,33 +3069,24 @@ HSPLcom/android/server/compat/CompatConfig;->initOverrides(Ljava/io/File;Ljava/i HSPLcom/android/server/compat/CompatConfig;->invalidateCache()V HSPLcom/android/server/compat/CompatConfig;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z+]Lcom/android/server/compat/CompatChange;Lcom/android/server/compat/CompatChange;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; HPLcom/android/server/compat/CompatConfig;->isDisabled(J)Z -HPLcom/android/server/compat/CompatConfig;->isKnownChangeId(J)Z HPLcom/android/server/compat/CompatConfig;->isLoggingOnly(J)Z+]Lcom/android/internal/compat/CompatibilityChangeInfo;Lcom/android/server/compat/CompatChange;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; -HPLcom/android/server/compat/CompatConfig;->isOverridable(J)Z HSPLcom/android/server/compat/CompatConfig;->loadOverrides(Ljava/io/File;)V HSPLcom/android/server/compat/CompatConfig;->makeBackupFile(Ljava/io/File;)Ljava/io/File; HPLcom/android/server/compat/CompatConfig;->maxTargetSdkForChangeIdOptIn(J)I HSPLcom/android/server/compat/CompatConfig;->readConfig(Ljava/io/File;)V HPLcom/android/server/compat/CompatConfig;->recheckOverrides(Ljava/lang/String;)V+]Ljava/util/Collection;Ljava/util/concurrent/ConcurrentHashMap$ValuesView;]Lcom/android/server/compat/CompatConfig;Lcom/android/server/compat/CompatConfig;]Lcom/android/internal/compat/CompatibilityChangeInfo;Lcom/android/server/compat/CompatChange;]Lcom/android/server/compat/CompatChange;Lcom/android/server/compat/CompatChange;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;]Lcom/android/server/compat/OverrideValidatorImpl;Lcom/android/server/compat/OverrideValidatorImpl;]Ljava/util/Iterator;Ljava/util/concurrent/ConcurrentHashMap$ValueIterator; -HSPLcom/android/server/compat/CompatConfig;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z -HPLcom/android/server/compat/CompatConfig;->removePackageOverridesWithoutSaving(Lcom/android/internal/compat/CompatibilityOverridesToRemoveConfig;Ljava/lang/String;)Z HSPLcom/android/server/compat/CompatConfig;->willChangeBeEnabled(JLjava/lang/String;)Z HSPLcom/android/server/compat/OverrideValidatorImpl;-><init>(Lcom/android/internal/compat/AndroidBuildClassifier;Landroid/content/Context;Lcom/android/server/compat/CompatConfig;)V HPLcom/android/server/compat/OverrideValidatorImpl;->getOverrideAllowedStateForRecheck(JLjava/lang/String;)Lcom/android/internal/compat/OverrideAllowedState; HPLcom/android/server/compat/OverrideValidatorImpl;->getOverrideAllowedStateInternal(JLjava/lang/String;Z)Lcom/android/internal/compat/OverrideAllowedState;+]Lcom/android/internal/compat/AndroidBuildClassifier;Lcom/android/internal/compat/AndroidBuildClassifier;]Lcom/android/server/compat/CompatConfig;Lcom/android/server/compat/CompatConfig; -HSPLcom/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;->checkAllCompatOverridesAreOverridable(Ljava/util/Collection;)V HSPLcom/android/server/compat/PlatformCompat;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/compat/PlatformCompat;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByPackageName(JLjava/lang/String;I)Z+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;]Lcom/android/server/compat/CompatConfig;Lcom/android/server/compat/CompatConfig; HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledByUid(JI)Z+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat;]Lcom/android/server/compat/CompatConfig;Lcom/android/server/compat/CompatConfig;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternal(JLandroid/content/pm/ApplicationInfo;)Z+]Lcom/android/server/compat/PlatformCompat;Lcom/android/server/compat/PlatformCompat; HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternal(JLjava/lang/String;I)Z HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabledInternalNoLogging(JLandroid/content/pm/ApplicationInfo;)Z+]Lcom/android/server/compat/CompatConfig;Lcom/android/server/compat/CompatConfig; -HSPLcom/android/server/compat/PlatformCompat;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z -HSPLcom/android/server/compat/PlatformCompat;->registerPackageReceiver(Landroid/content/Context;)V HSPLcom/android/server/compat/PlatformCompat;->reportChangeInternal(JII)V+]Lcom/android/internal/compat/ChangeReporter;Lcom/android/internal/compat/ChangeReporter; HSPLcom/android/server/compat/PlatformCompat;->resetReporting(Landroid/content/pm/ApplicationInfo;)V HSPLcom/android/server/compat/PlatformCompatNative;-><init>(Lcom/android/server/compat/PlatformCompat;)V @@ -3598,46 +3114,30 @@ 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; -HPLcom/android/server/compat/overrides/AppCompatOverridesService;->addAllPackageOverrides(Ljava/lang/String;)V -HPLcom/android/server/compat/overrides/XmlWriter;->print(Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/compat/overrides/XmlWriter;Lcom/android/server/compat/overrides/XmlWriter; -HSPLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V -HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLandroid/net/Network;IZLandroid/net/LinkProperties;Landroid/net/NetworkCapabilities;)V -HSPLcom/android/server/connectivity/IpConnectivityMetrics$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/connectivity/IpConnectivityMetrics$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V HPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I -HSPLcom/android/server/connectivity/IpConnectivityMetrics;-><clinit>()V -HSPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V HPLcom/android/server/connectivity/IpConnectivityMetrics;->append(Landroid/net/ConnectivityMetricsEvent;)I -HSPLcom/android/server/connectivity/IpConnectivityMetrics;->bufferCapacity()I -HSPLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V HPLcom/android/server/connectivity/IpConnectivityMetrics;->isRateLimited(Landroid/net/ConnectivityMetricsEvent;)Z -HSPLcom/android/server/connectivity/IpConnectivityMetrics;->lambda$static$1(Landroid/content/Context;)I -HSPLcom/android/server/connectivity/IpConnectivityMetrics;->makeRateLimitingBuckets()Landroid/util/ArrayMap; -HSPLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V -HPLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;-><init>()V +HPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getTemplateMatchingNetworkIdentity(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkIdentity; +HPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getUserPolicyOpportunisticQuotaBytes()J +HPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->updateMultipathBudget()V +HPLcom/android/server/connectivity/MultipathPolicyTracker;->getDefaultDailyMultipathQuotaBytes()J +HSPLcom/android/server/connectivity/MultipathPolicyTracker;->updateAllMultipathBudgets()V HPLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; HPLcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;->getNetworkCapabilities(I)Landroid/net/NetworkCapabilities;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/connectivity/NetdEventListenerService;->addWakeupEvent(Landroid/net/metrics/WakeupEvent;)V HPLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(JZ)V+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/internal/util/RingBuffer;Lcom/android/internal/util/RingBuffer; HPLcom/android/server/connectivity/NetdEventListenerService;->getMetricsForNetwork(JI)Landroid/net/metrics/NetworkMetrics;+]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Lcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;Lcom/android/server/connectivity/NetdEventListenerService$TransportForNetIdNetworkCallback;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities; -HPLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V+]Landroid/net/INetdEventCallback;Lcom/android/server/net/watchlist/NetworkWatchlistService$1;]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; -HPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V+]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/net/INetdEventCallback;Lcom/android/server/net/watchlist/NetworkWatchlistService$1;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; -HPLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V+]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; +HPLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V+]Landroid/net/INetdEventCallback;Lcom/android/server/net/watchlist/NetworkWatchlistService$1;,Lcom/android/server/devicepolicy/NetworkLogger$1;]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; +HPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V+]Lcom/android/server/connectivity/NetdEventListenerService;Lcom/android/server/connectivity/NetdEventListenerService;]Landroid/net/INetdEventCallback;Lcom/android/server/net/watchlist/NetworkWatchlistService$1;,Lcom/android/server/devicepolicy/NetworkLogger$1;]Landroid/net/metrics/NetworkMetrics;Landroid/net/metrics/NetworkMetrics; +HPLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V HPLcom/android/server/connectivity/NetdEventListenerService;->onWakeupEvent(Ljava/lang/String;III[BLjava/lang/String;Ljava/lang/String;IIJ)V -HSPLcom/android/server/content/ContentService$1;-><init>(Lcom/android/server/content/ContentService;)V -HPLcom/android/server/content/ContentService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HSPLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V -HSPLcom/android/server/content/ContentService$Lifecycle;->onStart()V HPLcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/content/ContentService$ObserverCollector$Key;Ljava/util/List;)V HPLcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0;->run()V HPLcom/android/server/content/ContentService$ObserverCollector$Key;-><init>(Landroid/database/IContentObserver;IZII)V -HPLcom/android/server/content/ContentService$ObserverCollector$Key;->equals(Ljava/lang/Object;)Z HPLcom/android/server/content/ContentService$ObserverCollector$Key;->hashCode()I -HPLcom/android/server/content/ContentService$ObserverCollector;-><init>()V +HSPLcom/android/server/content/ContentService$ObserverCollector;-><init>()V HPLcom/android/server/content/ContentService$ObserverCollector;->collect(Landroid/database/IContentObserver;IZLandroid/net/Uri;II)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/ArrayList; -HPLcom/android/server/content/ContentService$ObserverCollector;->dispatch()V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/lang/Runnable;Lcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0; +HSPLcom/android/server/content/ContentService$ObserverCollector;->dispatch()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/lang/Runnable;Lcom/android/server/content/ContentService$ObserverCollector$$ExternalSyntheticLambda0; HPLcom/android/server/content/ContentService$ObserverCollector;->lambda$dispatch$0(Lcom/android/server/content/ContentService$ObserverCollector$Key;Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;,Landroid/database/IContentObserver$Stub$Proxy; HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->-$$Nest$fgetuserHandle(Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;)I HSPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;IIILandroid/net/Uri;)V+]Lcom/android/internal/os/BinderDeathDispatcher;Lcom/android/internal/os/BinderDeathDispatcher; @@ -3645,33 +3145,28 @@ HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->binder HSPLcom/android/server/content/ContentService$ObserverNode;-><init>(Ljava/lang/String;)V HSPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V -HPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(Landroid/net/Uri;ZLandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V+]Lcom/android/server/content/ContentService$ObserverCollector;Lcom/android/server/content/ContentService$ObserverCollector;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;,Landroid/database/IContentObserver$Stub$Proxy; -HPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;IILandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(Landroid/net/Uri;ZLandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V+]Lcom/android/server/content/ContentService$ObserverCollector;Lcom/android/server/content/ContentService$ObserverCollector;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;,Landroid/database/IContentObserver$Stub$Proxy; +HSPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;IILandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/content/ContentService$ObserverNode;->countUriSegments(Landroid/net/Uri;)I+]Ljava/util/List;Landroid/net/Uri$PathSegments;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HSPLcom/android/server/content/ContentService$ObserverNode;->getUriSegment(Landroid/net/Uri;I)Ljava/lang/String; HPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Lcom/android/internal/os/BinderDeathDispatcher;Lcom/android/internal/os/BinderDeathDispatcher;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;,Landroid/database/IContentObserver$Stub$Proxy; HSPLcom/android/server/content/ContentService;->-$$Nest$sfgetsObserverDeathDispatcher()Lcom/android/internal/os/BinderDeathDispatcher; -HSPLcom/android/server/content/ContentService;-><clinit>()V -HSPLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V HPLcom/android/server/content/ContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V -HPLcom/android/server/content/ContentService;->enforceCrossUserPermission(ILjava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl; +HSPLcom/android/server/content/ContentService;->enforceCrossUserPermission(ILjava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl; HPLcom/android/server/content/ContentService;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I -HPLcom/android/server/content/ContentService;->getMasterSyncAutomatically()Z HPLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser(I)Z -HPLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;I)Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; +HSPLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;I)Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HPLcom/android/server/content/ContentService;->getSyncAdapterPackageAsUser(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String; -HPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String; -HPLcom/android/server/content/ContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z +HSPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String; HPLcom/android/server/content/ContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z -HPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService; -HPLcom/android/server/content/ContentService;->getSyncExemptionForCaller(I)I+]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService; +HSPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService; +HSPLcom/android/server/content/ContentService;->getSyncExemptionForCaller(I)I+]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService; HSPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager; HSPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService; HPLcom/android/server/content/ContentService;->hasAccountAccess(ZLandroid/accounts/Account;I)Z HPLcom/android/server/content/ContentService;->hasAuthorityAccess(Ljava/lang/String;II)Z -HPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/String;Ljava/lang/String;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; -HPLcom/android/server/content/ContentService;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/content/ContentService$ObserverCollector;Lcom/android/server/content/ContentService$ObserverCollector;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; -HSPLcom/android/server/content/ContentService;->onBootPhase(I)V +HSPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/String;Ljava/lang/String;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; +HSPLcom/android/server/content/ContentService;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/content/ContentService$ObserverCollector;Lcom/android/server/content/ContentService$ObserverCollector;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HSPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V+]Lcom/android/server/content/ContentService$ObserverNode;Lcom/android/server/content/ContentService$ObserverNode;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/content/ContentService;Lcom/android/server/content/ContentService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HPLcom/android/server/content/ContentService;->setIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;II)V HPLcom/android/server/content/ContentService;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V @@ -3682,17 +3177,15 @@ HPLcom/android/server/content/SyncJobService;->jobParametersToString(Landroid/ap HPLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z HSPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->log(J[Ljava/lang/Object;)V -HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->closeCurrentLogLocked()V HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->logInner(J[Ljava/lang/Object;)V+]Ljava/util/Date;Ljava/util/Date;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/text/SimpleDateFormat;Ljava/text/SimpleDateFormat;]Lcom/android/server/content/SyncLogger$RotatingFileLogger;Lcom/android/server/content/SyncLogger$RotatingFileLogger;]Ljava/io/Writer;Ljava/io/FileWriter; -HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V +HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V+]Ljava/util/Date;Ljava/util/Date;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/io/File;Ljava/io/File;]Ljava/text/SimpleDateFormat;Ljava/text/SimpleDateFormat;]Lcom/android/server/content/SyncLogger$RotatingFileLogger;Lcom/android/server/content/SyncLogger$RotatingFileLogger; HPLcom/android/server/content/SyncManager$ActiveSyncContext;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;JI)V HPLcom/android/server/content/SyncManager$ActiveSyncContext;->bindToSyncAdapter(Landroid/content/ComponentName;I)Z HPLcom/android/server/content/SyncManager$ActiveSyncContext;->close()V HPLcom/android/server/content/SyncManager$ActiveSyncContext;->onFinished(Landroid/content/SyncResult;)V HPLcom/android/server/content/SyncManager$ActiveSyncContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V HPLcom/android/server/content/SyncManager$ActiveSyncContext;->toString(Ljava/lang/StringBuilder;Z)V -HPLcom/android/server/content/SyncManager$ScheduleSyncMessagePayload;-><init>(Lcom/android/server/content/SyncOperation;J)V HPLcom/android/server/content/SyncManager$SyncHandler;->closeActiveSyncContext(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V HPLcom/android/server/content/SyncManager$SyncHandler;->computeSyncOpState(Lcom/android/server/content/SyncOperation;)I HPLcom/android/server/content/SyncManager$SyncHandler;->dispatchSyncOperation(Lcom/android/server/content/SyncOperation;)Z @@ -3700,9 +3193,9 @@ HPLcom/android/server/content/SyncManager$SyncHandler;->handleMessage(Landroid/o HPLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V HPLcom/android/server/content/SyncManager$SyncHandler;->runBoundToAdapterH(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/os/IBinder;)V HPLcom/android/server/content/SyncManager$SyncHandler;->runSyncFinishedOrCanceledH(Landroid/content/SyncResult;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V -HPLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V +HPLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/content/SyncManager$SyncHandler;Lcom/android/server/content/SyncManager$SyncHandler; HPLcom/android/server/content/SyncManager$SyncHandler;->stopSyncEvent(JLcom/android/server/content/SyncOperation;Ljava/lang/String;IIJ)V -HPLcom/android/server/content/SyncManager$SyncHandler;->updateOrAddPeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V +HPLcom/android/server/content/SyncManager$SyncHandler;->updateOrAddPeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V+]Lcom/android/server/content/SyncStorageEngine$EndPoint;Lcom/android/server/content/SyncStorageEngine$EndPoint;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/content/SyncManager$SyncHandler;Lcom/android/server/content/SyncManager$SyncHandler;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/content/SyncManager$SyncTimeTracker;->update()V HPLcom/android/server/content/SyncManager;->-$$Nest$fgetmSyncManagerWakeLock(Lcom/android/server/content/SyncManager;)Landroid/os/PowerManager$WakeLock; HPLcom/android/server/content/SyncManager;->-$$Nest$fputmDataConnectionIsConnected(Lcom/android/server/content/SyncManager;Z)V @@ -3714,25 +3207,20 @@ HPLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List; HPLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net/ConnectivityManager; HPLcom/android/server/content/SyncManager;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I HPLcom/android/server/content/SyncManager;->getSyncAdapterPackageAsUser(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String; -HPLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;II)[Ljava/lang/String;+]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HPLcom/android/server/content/SyncManager;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine; +HSPLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;II)[Ljava/lang/String;+]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HPLcom/android/server/content/SyncManager;->isContactSharingAllowedForCloneProfile()Z HPLcom/android/server/content/SyncManager;->isJobIdInUseLockedH(ILjava/util/List;)Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/content/SyncManager;->isSyncStillActiveH(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Z HPLcom/android/server/content/SyncManager;->postMonitorSyncProgressMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V HPLcom/android/server/content/SyncManager;->postScheduleSyncMessage(Lcom/android/server/content/SyncOperation;J)V -HPLcom/android/server/content/SyncManager;->printTwoDigitNumber(Ljava/lang/StringBuilder;JCZ)Z HPLcom/android/server/content/SyncManager;->readDataConnectionState()Z -HPLcom/android/server/content/SyncManager;->readyToSync(I)Z HPLcom/android/server/content/SyncManager;->rescheduleSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V+]Lcom/android/server/content/SyncStorageEngine$EndPoint;Lcom/android/server/content/SyncStorageEngine$EndPoint;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger$RotatingFileLogger;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager; -HPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V+]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;]Landroid/content/SyncAdapterType;Landroid/content/SyncAdapterType;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger$RotatingFileLogger;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/Iterator;Ljava/util/HashMap$KeyIterator;,Ljava/util/Collections$UnmodifiableCollection$1; -HPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V+]Landroid/app/job/JobScheduler;Landroid/app/JobSchedulerImpl;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo$Builder;]Lcom/android/server/content/SyncManagerConstants;Lcom/android/server/content/SyncManagerConstants;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager; +HSPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V+]Landroid/content/SyncAdaptersCache;Landroid/content/SyncAdaptersCache;]Landroid/content/SyncAdapterType;Landroid/content/SyncAdapterType;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Lcom/android/server/content/SyncLogger;Lcom/android/server/content/SyncLogger$RotatingFileLogger;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/Iterator;Ljava/util/HashMap$KeyIterator;,Ljava/util/Collections$UnmodifiableCollection$1; +HPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V+]Landroid/app/job/JobScheduler;Landroid/app/JobSchedulerImpl;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo$Builder;]Lcom/android/server/content/SyncManagerConstants;Lcom/android/server/content/SyncManagerConstants;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HPLcom/android/server/content/SyncManager;->sendSyncFinishedOrCanceledMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V HPLcom/android/server/content/SyncManager;->setAuthorityPendingState(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V+]Lcom/android/server/content/SyncStorageEngine$EndPoint;Lcom/android/server/content/SyncStorageEngine$EndPoint;]Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/content/SyncManager;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V -HPLcom/android/server/content/SyncManager;->shouldDisableSyncForUser(Landroid/content/pm/UserInfo;Ljava/lang/String;)Z -HPLcom/android/server/content/SyncOperation;-><init>(Landroid/accounts/Account;IILjava/lang/String;IILjava/lang/String;Landroid/os/Bundle;ZI)V HPLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZZIJJI)V+]Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation; HPLcom/android/server/content/SyncOperation;->dump(Landroid/content/pm/PackageManager;ZLcom/android/server/content/SyncAdapterStateFetcher;Z)Ljava/lang/String; HPLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; @@ -3740,16 +3228,15 @@ HPLcom/android/server/content/SyncOperation;->getClonedExtras()Landroid/os/Bundl HPLcom/android/server/content/SyncOperation;->isConflict(Lcom/android/server/content/SyncOperation;)Z HPLcom/android/server/content/SyncOperation;->isInitialization()Z HPLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;+]Ljava/lang/String;Ljava/lang/String;]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; -HPLcom/android/server/content/SyncOperation;->reasonToString(Landroid/content/pm/PackageManager;I)Ljava/lang/String; HPLcom/android/server/content/SyncOperation;->toEventLog(I)[Ljava/lang/Object; HPLcom/android/server/content/SyncOperation;->toJobInfoExtras()Landroid/os/PersistableBundle; HPLcom/android/server/content/SyncOperation;->toKey()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/content/SyncOperation;->wakeLockName()Ljava/lang/String; HSPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V -HPLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z +HPLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z+]Landroid/accounts/Account;Landroid/accounts/Account; HSPLcom/android/server/content/SyncStorageEngine$EndPoint;->toString()Ljava/lang/String; HPLcom/android/server/content/SyncStorageEngine;->addActiveSync(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Landroid/content/SyncInfo; -HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo; +HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;+]Ljava/util/HashMap;Ljava/util/HashMap; HPLcom/android/server/content/SyncStorageEngine;->getBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair; HPLcom/android/server/content/SyncStorageEngine;->getCurrentDayLocked()I HPLcom/android/server/content/SyncStorageEngine;->getCurrentSyncsLocked(I)Ljava/util/List; @@ -3762,36 +3249,33 @@ HPLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/andr HPLcom/android/server/content/SyncStorageEngine;->markPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;Z)V HPLcom/android/server/content/SyncStorageEngine;->removeActiveSync(Landroid/content/SyncInfo;I)V HPLcom/android/server/content/SyncStorageEngine;->reportChange(ILcom/android/server/content/SyncStorageEngine$EndPoint;)V -HPLcom/android/server/content/SyncStorageEngine;->reportChange(ILjava/lang/String;I)V +HPLcom/android/server/content/SyncStorageEngine;->reportChange(ILjava/lang/String;I)V+]Landroid/content/ISyncStatusObserver;Landroid/content/ISyncStatusObserver$Stub$Proxy;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HPLcom/android/server/content/SyncStorageEngine;->setSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;ZIII)V -HPLcom/android/server/content/SyncStorageEngine;->setSyncableStateForEndPoint(Lcom/android/server/content/SyncStorageEngine$EndPoint;III)V HPLcom/android/server/content/SyncStorageEngine;->stopSyncEvent(JJLjava/lang/String;JJLjava/lang/String;I)V+]Landroid/content/SyncStatusInfo;Landroid/content/SyncStatusInfo;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Handler;Lcom/android/server/content/SyncStorageEngine$MyHandler;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/content/SyncStorageEngine;->writeStatusInfoLocked(Ljava/io/OutputStream;)V+]Landroid/content/SyncStatusInfo;Landroid/content/SyncStatusInfo;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Lcom/android/server/content/SyncStorageEngine;Lcom/android/server/content/SyncStorageEngine;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/content/SyncStorageEngine;->writeStatusStatsLocked(Landroid/util/proto/ProtoOutputStream;Landroid/content/SyncStatusInfo$Stats;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; HSPLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->registerContentCaptureOptionsCallback(Ljava/lang/String;Landroid/view/contentcapture/IContentCaptureOptionsCallback;)V HPLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->shareData(Landroid/view/contentcapture/DataShareRequest;Landroid/view/contentcapture/IDataShareWriteAdapter;)V -HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/service/contentcapture/IDataShareReadAdapter;)V -HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/service/contentcapture/IDataShareReadAdapter;)V -HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate$$ExternalSyntheticLambda1;->run()V -HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;-><init>(Landroid/view/contentcapture/DataShareRequest;Landroid/view/contentcapture/IDataShareWriteAdapter;Lcom/android/server/contentcapture/ContentCaptureManagerService;)V HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->accept(Landroid/service/contentcapture/IDataShareReadAdapter;)V -HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->createPipe()Landroid/util/Pair; HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->enforceDataSharingTtl(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/service/contentcapture/IDataShareReadAdapter;)V HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->lambda$accept$0(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/service/contentcapture/IDataShareReadAdapter;)V HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->logServiceEvent(I)V HSPLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->getOptions(ILjava/lang/String;)Landroid/content/ContentCaptureOptions; HSPLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->isContentProtectionReceiverEnabled(ILjava/lang/String;)Z HSPLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->getOptionsForPackage(ILjava/lang/String;)Landroid/content/ContentCaptureOptions; +HPLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->notifyActivityEvent(ILandroid/content/ComponentName;ILandroid/app/assist/ActivityId;)V HPLcom/android/server/contentcapture/ContentCaptureMetricsLogger;->writeSessionFlush(ILandroid/content/ComponentName;Landroid/service/contentcapture/FlushMetrics;Landroid/content/ContentCaptureOptions;I)V HPLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;->setContentCaptureWhitelist(Ljava/util/List;Ljava/util/List;)V HPLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;->updateContentCaptureOptions(Landroid/util/ArraySet;)V -HPLcom/android/server/contentcapture/ContentCapturePerUserService;->assertCallerLocked(Ljava/lang/String;)V +HPLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;->writeSessionFlush(ILandroid/content/ComponentName;Landroid/service/contentcapture/FlushMetrics;Landroid/content/ContentCaptureOptions;I)V+]Lcom/android/server/infra/AbstractPerUserSystemService;Lcom/android/server/contentcapture/ContentCapturePerUserService; HPLcom/android/server/contentcapture/ContentCapturePerUserService;->onActivityEventLocked(Landroid/app/assist/ActivityId;Landroid/content/ComponentName;I)V -HPLcom/android/server/contentcapture/ContentCapturePerUserService;->onDataSharedLocked(Landroid/view/contentcapture/DataShareRequest;Landroid/service/contentcapture/IDataShareCallback$Stub;)V -HPLcom/android/server/contentcapture/RemoteContentCaptureService;->onDataShareRequest(Landroid/view/contentcapture/DataShareRequest;Landroid/service/contentcapture/IDataShareCallback$Stub;)V +HPLcom/android/server/contentcapture/ContentCapturePerUserService;->startSessionLocked(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/content/pm/ActivityPresentationInfo;IIILcom/android/internal/os/IResultReceiver;)V +HPLcom/android/server/contentcapture/RemoteContentCaptureService$$ExternalSyntheticLambda5;->run(Landroid/os/IInterface;)V +HPLcom/android/server/contentcapture/RemoteContentCaptureService;->onActivityLifecycleEvent(Landroid/service/contentcapture/ActivityEvent;)V +HSPLcom/android/server/contentprotection/ContentProtectionConsentManager;->isConsentGranted(I)Z HSPLcom/android/server/cpu/CpuAvailabilityInfo;-><init>(IJIIJ)V HSPLcom/android/server/cpu/CpuInfoReader$CpuInfo;-><init>(IIZJJJJLcom/android/server/cpu/CpuInfoReader$CpuUsageStats;)V -HSPLcom/android/server/cpu/CpuInfoReader$CpuInfo;->computeNormalizedAvailableCpuFreqKHz()J+]Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats;Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats; +HSPLcom/android/server/cpu/CpuInfoReader$CpuInfo;->computeNormalizedAvailableCpuFreqKHz()J HSPLcom/android/server/cpu/CpuInfoReader$CpuInfo;->getNormalizedAvailableCpuFreqKHz()J HSPLcom/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; @@ -3801,21 +3285,16 @@ HSPLcom/android/server/cpu/CpuInfoReader$DynamicPolicyInfo;-><init>(JJJLandroid/ HSPLcom/android/server/cpu/CpuInfoReader;->calculateAvgCpuFreq(Landroid/util/LongSparseLongArray;)J+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HPLcom/android/server/cpu/CpuInfoReader;->calculateDeltaTimeInState(Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;)Landroid/util/LongSparseLongArray;+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLcom/android/server/cpu/CpuInfoReader;->clockTickStrToMillis(Ljava/lang/String;)J -HSPLcom/android/server/cpu/CpuInfoReader;->readAvgTimeInStateCpuFrequency(ILjava/io/File;)J+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/cpu/CpuInfoReader;Lcom/android/server/cpu/CpuInfoReader;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; +HSPLcom/android/server/cpu/CpuInfoReader;->readAvgTimeInStateCpuFrequency(ILjava/io/File;)J HSPLcom/android/server/cpu/CpuInfoReader;->readCpuCores(Ljava/io/File;)Landroid/util/IntArray;+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/File;Ljava/io/File;]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/List;Ljava/util/ArrayList; -HSPLcom/android/server/cpu/CpuInfoReader;->readCpuFreqKHz(Ljava/io/File;)J+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/cpu/CpuInfoReader;->readCpuInfos()Landroid/util/SparseArray;+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/cpu/CpuInfoReader;Lcom/android/server/cpu/CpuInfoReader; HSPLcom/android/server/cpu/CpuInfoReader;->readCumulativeCpuUsageStats()Landroid/util/SparseArray;+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/File;Ljava/io/File;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern; -HSPLcom/android/server/cpu/CpuInfoReader;->readDynamicPolicyInfo()Landroid/util/SparseArray;+]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/cpu/CpuInfoReader;Lcom/android/server/cpu/CpuInfoReader; +HSPLcom/android/server/cpu/CpuInfoReader;->readDynamicPolicyInfo()Landroid/util/SparseArray; HSPLcom/android/server/cpu/CpuInfoReader;->readLatestCpuUsageStats()Landroid/util/SparseArray;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/cpu/CpuInfoReader;Lcom/android/server/cpu/CpuInfoReader;]Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats;Lcom/android/server/cpu/CpuInfoReader$CpuUsageStats; HSPLcom/android/server/cpu/CpuInfoReader;->readTimeInState(Ljava/io/File;)Landroid/util/LongSparseLongArray;+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/File;Ljava/io/File;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern;]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;->appendCpuInfo(Lcom/android/server/cpu/CpuInfoReader$CpuInfo;)V+]Lcom/android/server/cpu/CpuInfoReader$CpuInfo;Lcom/android/server/cpu/CpuInfoReader$CpuInfo; -HSPLcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;->getAverageAvailableCpuFreqPercent()I HSPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->appendCpuInfo(JLcom/android/server/cpu/CpuInfoReader$CpuInfo;)V+]Lcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;Lcom/android/server/cpu/CpuMonitorService$CpusetInfo$Snapshot;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->getCumulativeAvgAvailabilityPercent(J)I+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLcom/android/server/cpu/CpuMonitorService$CpusetInfo;->getPrevCpuAvailabilityPercent()I HSPLcom/android/server/cpu/CpuMonitorService;->-$$Nest$smcontainsCpuset(II)Z -HSPLcom/android/server/cpu/CpuMonitorService;->checkClientThresholdsAndNotifyLocked(Lcom/android/server/cpu/CpuMonitorService$CpusetInfo;)V HSPLcom/android/server/cpu/CpuMonitorService;->containsCpuset(II)Z HSPLcom/android/server/cpu/CpuMonitorService;->monitorCpuStats()V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/cpu/CpuMonitorService;Lcom/android/server/cpu/CpuMonitorService;]Lcom/android/server/cpu/CpuMonitorService$CpusetInfo;Lcom/android/server/cpu/CpuMonitorService$CpusetInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/cpu/CpuInfoReader;Lcom/android/server/cpu/CpuInfoReader; HSPLcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/criticalevents/CriticalEventLog;)V @@ -3835,13 +3314,10 @@ HSPLcom/android/server/criticalevents/CriticalEventLog;->lambda$new$0(Lcom/andro HSPLcom/android/server/devicepolicy/ActiveAdmin;->getParentActiveAdmin()Lcom/android/server/devicepolicy/ActiveAdmin; HPLcom/android/server/devicepolicy/ActiveAdmin;->getUid()I HSPLcom/android/server/devicepolicy/ActiveAdmin;->getUserHandle()Landroid/os/UserHandle; -HPLcom/android/server/devicepolicy/ActiveAdmin;->writeAttributeValueToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;I)V -HSPLcom/android/server/devicepolicy/ActiveAdmin;->writeAttributeValueToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;J)V -HSPLcom/android/server/devicepolicy/ActiveAdmin;->writeAttributeValueToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Z)V -HSPLcom/android/server/devicepolicy/ActiveAdmin;->writeAttributeValuesToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Collection;Landroid/util/ArraySet;,Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;,Ljava/util/Collections$EmptyIterator; -HSPLcom/android/server/devicepolicy/ActiveAdmin;->writePackagePolicy(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/app/admin/PackagePolicy;)V -HSPLcom/android/server/devicepolicy/ActiveAdmin;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V +HPLcom/android/server/devicepolicy/ActiveAdmin;->writeAttributeValuesToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Collection;Landroid/util/ArraySet;,Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;,Ljava/util/Collections$EmptyIterator; +HPLcom/android/server/devicepolicy/ActiveAdmin;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V HPLcom/android/server/devicepolicy/BooleanPolicySerializer;->saveToXml(Landroid/app/admin/PolicyKey;Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/Boolean;)V +HPLcom/android/server/devicepolicy/BooleanPolicySerializer;->saveToXml(Landroid/app/admin/PolicyKey;Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/Object;)V HSPLcom/android/server/devicepolicy/CallerIdentity;-><init>(ILjava/lang/String;Landroid/content/ComponentName;)V HPLcom/android/server/devicepolicy/CallerIdentity;->getComponentName()Landroid/content/ComponentName; HPLcom/android/server/devicepolicy/CallerIdentity;->getPackageName()Ljava/lang/String; @@ -3849,35 +3325,25 @@ HSPLcom/android/server/devicepolicy/CallerIdentity;->getUid()I HSPLcom/android/server/devicepolicy/CallerIdentity;->getUserId()I HPLcom/android/server/devicepolicy/CallerIdentity;->hasAdminComponent()Z HPLcom/android/server/devicepolicy/CallerIdentity;->toString()Ljava/lang/String; -HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;+]Ljava/util/Map;Ljava/util/HashMap;]Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider;Lcom/android/server/devicepolicy/DeviceManagementResourcesProvider; -HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawableForSourceLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;+]Ljava/util/Map;Ljava/util/HashMap; +HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource; +HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getDrawableForSourceLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource; HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getString(Ljava/lang/String;)Landroid/app/admin/ParcelableResource; -HSPLcom/android/server/devicepolicy/DevicePolicyData;->store(Lcom/android/server/devicepolicy/DevicePolicyData;Lcom/android/internal/util/JournaledFile;)Z -HPLcom/android/server/devicepolicy/DevicePolicyEngine$$ExternalSyntheticLambda0;->runOrThrow()V +HPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->isScreenCaptureAllowed(I)Z +HPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->isScreenCaptureAllowedInPolicyEngine(I)Z +HPLcom/android/server/devicepolicy/DevicePolicyData;->store(Lcom/android/server/devicepolicy/DevicePolicyData;Lcom/android/internal/util/JournaledFile;)Z HSPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;-><init>(Lcom/android/server/devicepolicy/DevicePolicyEngine;)V HPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeEnforcingAdminsInner(Lcom/android/modules/utils/TypedXmlSerializer;)V HPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeGlobalPoliciesInner(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeLocalPoliciesInner(Lcom/android/modules/utils/TypedXmlSerializer;)V +HPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeLocalPoliciesInner(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/app/admin/PolicyKey;Landroid/app/admin/PackagePolicyKey;,Landroid/app/admin/UserRestrictionPolicyKey;,Landroid/app/admin/NoArgsPolicyKey;]Lcom/android/server/devicepolicy/PolicyState;Lcom/android/server/devicepolicy/PolicyState;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; HPLcom/android/server/devicepolicy/DevicePolicyEngine$DevicePoliciesReaderWriter;->writeToFileLocked()V HPLcom/android/server/devicepolicy/DevicePolicyEngine;->getLocalPolicyKeysSetByAllAdmins(Lcom/android/server/devicepolicy/PolicyDefinition;I)Ljava/util/Set; -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->getLocalPolicyStateLocked(Lcom/android/server/devicepolicy/PolicyDefinition;I)Lcom/android/server/devicepolicy/PolicyState; -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->getPolicyStateLocked(Ljava/util/Map;Lcom/android/server/devicepolicy/PolicyDefinition;)Lcom/android/server/devicepolicy/PolicyState; -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->getUserRestrictionPolicyKeysForAdminLocked(Ljava/util/Map;Lcom/android/server/devicepolicy/EnforcingAdmin;)Ljava/util/Set; HPLcom/android/server/devicepolicy/DevicePolicyEngine;->hasLocalPolicyLocked(Lcom/android/server/devicepolicy/PolicyDefinition;I)Z -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->lambda$applyToInheritableProfiles$0(ILandroid/app/admin/PolicyValue;Lcom/android/server/devicepolicy/PolicyDefinition;Lcom/android/server/devicepolicy/EnforcingAdmin;)V HPLcom/android/server/devicepolicy/DevicePolicyEngine;->lambda$sendPolicyResultToAdmin$2(Landroid/content/Intent;Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/PolicyDefinition;II)V HPLcom/android/server/devicepolicy/DevicePolicyEngine;->maybeSendIntentToAdminReceivers(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/util/List;)V HPLcom/android/server/devicepolicy/DevicePolicyEngine;->removeLocalPolicy(Lcom/android/server/devicepolicy/PolicyDefinition;Lcom/android/server/devicepolicy/EnforcingAdmin;I)V HPLcom/android/server/devicepolicy/DevicePolicyEngine;->sendPolicyResultToAdmin(Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/PolicyDefinition;II)V -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->setGlobalPolicy(Lcom/android/server/devicepolicy/PolicyDefinition;Lcom/android/server/devicepolicy/EnforcingAdmin;Landroid/app/admin/PolicyValue;Z)V -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->setLocalPolicy(Lcom/android/server/devicepolicy/PolicyDefinition;Lcom/android/server/devicepolicy/EnforcingAdmin;Landroid/app/admin/PolicyValue;IZ)V -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->updateDeviceAdminServiceOnPolicyAddLocked(Lcom/android/server/devicepolicy/EnforcingAdmin;)V -HPLcom/android/server/devicepolicy/DevicePolicyEngine;->write()V -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda160;->runOrThrow()V -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda161;->getOrThrow()Ljava/lang/Object; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda161;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda171;->getOrThrow()Ljava/lang/Object; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda172;->getOrThrow()Ljava/lang/Object; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda192;->runOrThrow()V HPLcom/android/server/devicepolicy/DevicePolicyManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I @@ -3888,85 +3354,67 @@ HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getAppO HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;+]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal; HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerLocal()Lcom/android/server/pm/PackageManagerLocal; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache; HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveDeviceOwner(I)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveProfileOwner(I)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->addCrossProfileIntentFilter(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/IntentFilter;I)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->canManageUsers(Lcom/android/server/devicepolicy/CallerIdentity;)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUserBindToDeviceOwnerLocked(I)Z +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->canQueryAdminPolicy(Lcom/android/server/devicepolicy/CallerIdentity;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkAdminCanSetRestriction(Lcom/android/server/devicepolicy/CallerIdentity;ZLjava/lang/String;)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkPackagesInPermittedListOrSystem(Ljava/util/List;Ljava/util/List;I)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;Ljava/lang/String;)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceMaxPackageNameLength(Ljava/lang/String;)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionsForCallerLocked(Landroid/content/ComponentName;ILjava/util/Set;)Lcom/android/server/devicepolicy/ActiveAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionsForCallerLocked(Landroid/content/ComponentName;IZLjava/util/Set;)Lcom/android/server/devicepolicy/ActiveAdmin; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/ActiveAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;IZ)Lcom/android/server/devicepolicy/ActiveAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminWithPolicyForUidLocked(Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/ActiveAdmin; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdmins(I)Ljava/util/List; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(I)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForUserAndItsManagedProfilesLocked(ILjava/util/function/Predicate;)Ljava/util/List;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity()Lcom/android/server/devicepolicy/CallerIdentity;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Landroid/content/ComponentName;)Lcom/android/server/devicepolicy/CallerIdentity; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/devicepolicy/CallerIdentity;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdentity(Ljava/lang/String;)Lcom/android/server/devicepolicy/CallerIdentity; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin;+]Landroid/app/admin/DeviceAdminInfo;Landroid/app/admin/DeviceAdminInfo;]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceLocked()Lcom/android/server/devicepolicy/ActiveAdmin;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceOrSystemPermissionBasedAdminLocked()Lcom/android/server/devicepolicy/ActiveAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDpcType(Lcom/android/server/devicepolicy/CallerIdentity;)I -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDrawable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/admin/ParcelableResource; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getEnforcingAdminForCaller(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/devicepolicy/EnforcingAdmin; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject()Ljava/lang/Object;+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMainUserId()I +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMinimumRequiredWifiSecurityLevel()I+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationOwnedProfileUserId()I HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPackageInfoWithNullCheck(Ljava/lang/String;Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordQuality(Landroid/content/ComponentName;IZ)I HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionGrantStateForUser(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/devicepolicy/CallerIdentity;I)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionGrantStateForUser(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/devicepolicy/CallerIdentity;I)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin;+]Landroid/app/admin/DeviceAdminInfo;Landroid/app/admin/DeviceAdminInfo;]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOfOrganizationOwnedDeviceLocked()Lcom/android/server/devicepolicy/ActiveAdmin;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOrDeviceOwnerLocked(I)Lcom/android/server/devicepolicy/ActiveAdmin; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerOrDeviceOwnerSupervisionComponent(Landroid/os/UserHandle;)Landroid/content/ComponentName; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRequiredPasswordComplexity(Ljava/lang/String;Z)I -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getStorageEncryptionStatus(Ljava/lang/String;I)I HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getString(Ljava/lang/String;)Landroid/app/admin/ParcelableResource; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getTargetSdk(Ljava/lang/String;I)I -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUnsafeOperationReason(I)I HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyData;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyData; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getWifiSsidPolicy(Ljava/lang/String;)Landroid/app/admin/WifiSsidPolicy;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasCallingOrSelfPermission(Ljava/lang/String;)Z+]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFullCrossUsersPermission(Lcom/android/server/devicepolicy/CallerIdentity;I)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasPermission(Ljava/lang/String;Ljava/lang/String;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActiveAdminWithPolicyForUserLocked(Lcom/android/server/devicepolicy/ActiveAdmin;II)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdminActive(Landroid/content/ComponentName;I)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDelegate(Lcom/android/server/devicepolicy/CallerIdentity;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallingFromPackage(Ljava/lang/String;I)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/PackageManagerLocal$UnfilteredSnapshot;Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageManagerLocal;Lcom/android/server/pm/local/PackageManagerLocalImpl;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDefaultDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Landroid/content/ComponentName;I)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerLocked(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isFinancedDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isHeadlessFlagEnabled()Z HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(I)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(Landroid/content/ComponentName;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPermissionCheckFlagEnabled()Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Landroid/content/ComponentName;I)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Landroid/content/ComponentName;Landroid/content/ComponentName; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerOfOrganizationOwnedDevice(I)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerOfOrganizationOwnedDevice(Lcom/android/server/devicepolicy/CallerIdentity;)Z HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z+]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector; @@ -3975,113 +3423,39 @@ HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUidProfileOwne HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUnicornFlagEnabled()Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallBlocked(Ljava/lang/String;)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getActiveAdminsForLockscreenPoliciesLocked$16(Landroid/content/pm/UserInfo;)Z -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getActiveAdminsForUserAndItsManagedProfilesLocked$19(ILjava/util/ArrayList;Ljava/util/function/Predicate;)V+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Landroid/os/UserManager;Landroid/os/UserManager;]Ljava/util/function/Predicate;Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda157;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda152;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda3;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda166;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getActiveAdminsForUserAndItsManagedProfilesLocked$19(ILjava/util/ArrayList;Ljava/util/function/Predicate;)V+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/UserManager;Landroid/os/UserManager;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/devicepolicy/ActiveAdmin;Lcom/android/server/devicepolicy/ActiveAdmin;]Ljava/util/function/Predicate;Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda152;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda157;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda3;,Lcom/android/server/devicepolicy/DevicePolicyManagerService$$ExternalSyntheticLambda166; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileOwnerOfOrganizationOwnedDeviceLocked$80()Lcom/android/server/devicepolicy/ActiveAdmin;+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileParentId$83(I)Ljava/lang/Integer; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getProfileParentId$83(I)Ljava/lang/Integer;+]Landroid/os/UserManager;Landroid/os/UserManager; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getUserDataUnchecked$2(I)Lcom/android/server/devicepolicy/DevicePolicyData; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getUserInfo$35(I)Landroid/content/pm/UserInfo;+]Landroid/os/UserManager;Landroid/os/UserManager; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getUserInfo$35(I)Landroid/content/pm/UserInfo; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isProfileOwner$70(Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/ComponentName; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isSeparateProfileChallengeEnabled$21(I)Ljava/lang/Boolean; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$sendChangedNotification$5(Landroid/content/Intent;ILandroid/os/Bundle;)V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->logUserRestrictionCall(Ljava/lang/String;ZZLcom/android/server/devicepolicy/CallerIdentity;)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(ILjava/lang/String;)Lcom/android/internal/util/JournaledFile; HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->packageHasActiveAdmins(Ljava/lang/String;I)Z -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveSettingsLocked(I)V -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotification(I)V +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotification(I)V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setApplicationExemptions(Ljava/lang/String;Ljava/lang/String;[I)V+]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/CallerIdentity;]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;]Landroid/app/admin/DevicePolicyEventLogger;Landroid/app/admin/DevicePolicyEventLogger; HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setBackwardCompatibleUserRestriction(Lcom/android/server/devicepolicy/CallerIdentity;Lcom/android/server/devicepolicy/EnforcingAdmin;Ljava/lang/String;ZZ)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setKeyGrantForApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;Ljava/lang/String;IZ)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setLocalUserRestrictionInternal(Lcom/android/server/devicepolicy/EnforcingAdmin;Ljava/lang/String;ZI)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;Ljava/lang/String;IZ)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordQuality(Landroid/content/ComponentName;IZ)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;Z)Z -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRequiredPasswordComplexity(Ljava/lang/String;IZ)V -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setStorageEncryption(Landroid/content/ComponentName;Z)I -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserControlDisabledPackages(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ZZ)V -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateNetworkPreferenceForUser(ILjava/util/List;)V +HSPLcom/android/server/devicepolicy/DeviceStateCacheImpl;->isUserOrganizationManaged(I)Z HSPLcom/android/server/devicepolicy/EnforcingAdmin;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Ljava/util/Set;ILcom/android/server/devicepolicy/ActiveAdmin;)V HSPLcom/android/server/devicepolicy/EnforcingAdmin;->createEnterpriseEnforcingAdmin(Landroid/content/ComponentName;ILcom/android/server/devicepolicy/ActiveAdmin;)Lcom/android/server/devicepolicy/EnforcingAdmin; HPLcom/android/server/devicepolicy/EnforcingAdmin;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/devicepolicy/EnforcingAdmin;->getAuthorities()Ljava/util/Set; -HPLcom/android/server/devicepolicy/EnforcingAdmin;->hasMatchingAuthorities(Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/EnforcingAdmin;)Z HSPLcom/android/server/devicepolicy/EnforcingAdmin;->hashCode()I+]Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/EnforcingAdmin; -HPLcom/android/server/devicepolicy/EnforcingAdmin;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/devicepolicy/MostRestrictive;->resolve(Ljava/util/LinkedHashMap;)Landroid/app/admin/PolicyValue; +HPLcom/android/server/devicepolicy/EnforcingAdmin;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/EnforcingAdmin;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName; HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z HSPLcom/android/server/devicepolicy/Owners;->isProfileOwnerOfOrganizationOwnedDevice(I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/devicepolicy/PolicyDefinition;->getPolicyDefinitionForUserRestriction(Ljava/lang/String;)Lcom/android/server/devicepolicy/PolicyDefinition; -HPLcom/android/server/devicepolicy/PolicyDefinition;->getPolicyKey()Landroid/app/admin/PolicyKey; HPLcom/android/server/devicepolicy/PolicyDefinition;->savePolicyValueToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/Object;)V -HPLcom/android/server/devicepolicy/PolicyState;->addPolicy(Lcom/android/server/devicepolicy/EnforcingAdmin;Landroid/app/admin/PolicyValue;)Z -HPLcom/android/server/devicepolicy/PolicyState;->resolvePolicy()Z HPLcom/android/server/devicepolicy/PolicyState;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/server/devicepolicy/EnforcingAdmin;Lcom/android/server/devicepolicy/EnforcingAdmin;]Lcom/android/server/devicepolicy/PolicyDefinition;Lcom/android/server/devicepolicy/PolicyDefinition;]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/app/admin/PolicyValue;Landroid/app/admin/LockTaskPolicy;,Landroid/app/admin/StringSetPolicyValue;,Landroid/app/admin/BooleanPolicyValue;]Ljava/util/Iterator;Ljava/util/LinkedHashMap$LinkedKeyIterator;]Ljava/util/Set;Ljava/util/LinkedHashMap$LinkedKeySet; -HPLcom/android/server/devicepolicy/StringSetPolicySerializer;->saveToXml(Landroid/app/admin/PolicyKey;Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/Set;)V -HSPLcom/android/server/devicestate/DeviceState;-><init>(ILjava/lang/String;I)V -HSPLcom/android/server/devicestate/DeviceState;->equals(Ljava/lang/Object;)Z -HSPLcom/android/server/devicestate/DeviceState;->getIdentifier()I -HSPLcom/android/server/devicestate/DeviceState;->getName()Ljava/lang/String; -HSPLcom/android/server/devicestate/DeviceState;->hasFlag(I)Z -HSPLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda3;->run()V -HSPLcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$BinderService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$BinderService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$BinderService-IA;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$BinderService;->registerCallback(Landroid/hardware/devicestate/IDeviceStateManagerCallback;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener-IA;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;->onStateChanged(I)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener;->onSupportedDeviceStatesChanged([Lcom/android/server/devicestate/DeviceState;I)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$LocalService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$LocalService;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$LocalService-IA;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver;-><init>(Lcom/android/server/devicestate/DeviceStateManagerService;Lcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver-IA;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$$ExternalSyntheticLambda1;->run()V -HSPLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;-><init>(Landroid/hardware/devicestate/IDeviceStateManagerCallback;ILcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$DeathListener;Landroid/os/Handler;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;->lambda$notifyDeviceStateInfoAsync$0(Landroid/hardware/devicestate/DeviceStateInfo;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord;->notifyDeviceStateInfoAsync(Landroid/hardware/devicestate/DeviceStateInfo;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$mregisterProcess(Lcom/android/server/devicestate/DeviceStateManagerService;ILandroid/hardware/devicestate/IDeviceStateManagerCallback;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$msetBaseState(Lcom/android/server/devicestate/DeviceStateManagerService;I)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->-$$Nest$mupdateSupportedStates(Lcom/android/server/devicestate/DeviceStateManagerService;[Lcom/android/server/devicestate/DeviceState;I)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;Lcom/android/server/devicestate/DeviceStatePolicy;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;-><init>(Landroid/content/Context;Lcom/android/server/devicestate/DeviceStatePolicy;Lcom/android/server/devicestate/DeviceStateManagerService$SystemPropertySetter;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->commitPendingState()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->getDeviceStateInfoLocked()Landroid/hardware/devicestate/DeviceStateInfo; -HSPLcom/android/server/devicestate/DeviceStateManagerService;->getStateLocked(I)Ljava/util/Optional; -HSPLcom/android/server/devicestate/DeviceStateManagerService;->getSupportedStateIdentifiersLocked()[I -HSPLcom/android/server/devicestate/DeviceStateManagerService;->isSupportedStateLocked(I)Z -HSPLcom/android/server/devicestate/DeviceStateManagerService;->lambda$new$0(Ljava/lang/String;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->notifyDeviceStateInfoChangedAsync()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->notifyPolicyIfNeeded()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->onStart()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->readFoldedStates()Ljava/util/Set; -HSPLcom/android/server/devicestate/DeviceStateManagerService;->readStatesAvailableForRequestFromApps()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->registerProcess(ILandroid/hardware/devicestate/IDeviceStateManagerCallback;)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->setBaseState(I)V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->setRearDisplayStateLocked()V -HSPLcom/android/server/devicestate/DeviceStateManagerService;->updatePendingStateLocked()Z -HSPLcom/android/server/devicestate/DeviceStateManagerService;->updateSupportedStates([Lcom/android/server/devicestate/DeviceState;I)V -HSPLcom/android/server/devicestate/DeviceStateNotificationController;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V -HSPLcom/android/server/devicestate/DeviceStatePolicy$DefaultProvider;-><init>()V -HSPLcom/android/server/devicestate/DeviceStatePolicy$DefaultProvider;->instantiate(Landroid/content/Context;)Lcom/android/server/devicestate/DeviceStatePolicy; -HSPLcom/android/server/devicestate/DeviceStatePolicy$Provider;->fromResources(Landroid/content/res/Resources;)Lcom/android/server/devicestate/DeviceStatePolicy$Provider; -HSPLcom/android/server/devicestate/DeviceStatePolicy;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/devicestate/OverrideRequestController;-><init>(Lcom/android/server/devicestate/OverrideRequestController$StatusChangeListener;)V -HSPLcom/android/server/devicestate/OverrideRequestController;->cancelStickyRequest()V -HSPLcom/android/server/devicestate/OverrideRequestController;->handleBaseStateChanged(I)V -HSPLcom/android/server/devicestate/OverrideRequestController;->handleNewSupportedStates([II)V -HSPLcom/android/server/devicestate/OverrideRequestController;->setStickyRequestsAllowed(Z)V HSPLcom/android/server/display/AmbientBrightnessStatsTracker$$ExternalSyntheticLambda0;->elapsedTimeMillis()J HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateDayStats(Ljava/util/Deque;Ljava/time/LocalDate;)Landroid/hardware/display/AmbientBrightnessDayStats;+]Ljava/util/Deque;Ljava/util/ArrayDeque;]Ljava/time/LocalDate;Ljava/time/LocalDate;]Landroid/hardware/display/AmbientBrightnessDayStats;Landroid/hardware/display/AmbientBrightnessDayStats; HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateUserStats(Ljava/util/Map;I)Ljava/util/Deque;+]Ljava/util/Map;Ljava/util/HashMap; -HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V +HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V+]Landroid/hardware/display/AmbientBrightnessDayStats;Landroid/hardware/display/AmbientBrightnessDayStats;]Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats; HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->elapsedRealtimeMillis()J HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocalDate()Ljava/time/LocalDate; HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z @@ -4090,9 +3464,12 @@ HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->start()V HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->totalDurationSec()F+]Lcom/android/server/display/AmbientBrightnessStatsTracker$Clock;Lcom/android/server/display/AmbientBrightnessStatsTracker$$ExternalSyntheticLambda0; HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->add(IF)V+]Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;]Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;]Lcom/android/server/display/AmbientBrightnessStatsTracker$Timer;Lcom/android/server/display/AmbientBrightnessStatsTracker$Timer; HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0()J+]Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector; +HPLcom/android/server/display/AutomaticBrightnessController$1;->run()V HPLcom/android/server/display/AutomaticBrightnessController$2;->onSensorChanged(Landroid/hardware/SensorEvent;)V+]Lcom/android/server/display/AutomaticBrightnessController$Clock;Lcom/android/server/display/AutomaticBrightnessController$Injector$$ExternalSyntheticLambda0; +HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getAllLuxValues()[F +HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getAllTimestamps()[J HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getLux(I)F+]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; -HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getTime(I)J +HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getTime(I)J+]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->offsetOf(I)I HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->prune(J)V HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->push(JF)V @@ -4105,17 +3482,23 @@ HPLcom/android/server/display/AutomaticBrightnessController;->-$$Nest$mhandleLig HPLcom/android/server/display/AutomaticBrightnessController;->-$$Nest$mupdateAmbientLux(Lcom/android/server/display/AutomaticBrightnessController;)V HPLcom/android/server/display/AutomaticBrightnessController;->applyLightSensorMeasurement(JF)V+]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; HPLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; +HPLcom/android/server/display/AutomaticBrightnessController;->calculateWeight(JJ)F HPLcom/android/server/display/AutomaticBrightnessController;->clampScreenBrightness(F)F HSPLcom/android/server/display/AutomaticBrightnessController;->configure(ILandroid/hardware/display/BrightnessConfiguration;FZFZIZ)V HSPLcom/android/server/display/AutomaticBrightnessController;->convertToAdjustedNits(F)F HPLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightness(Lcom/android/server/display/brightness/BrightnessEvent;)F HPLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightnessAdjustment()F +HPLcom/android/server/display/AutomaticBrightnessController;->getLastSensorTimestamps()[J HPLcom/android/server/display/AutomaticBrightnessController;->handleLightSensorEvent(JF)V+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Landroid/os/Handler;Lcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; HSPLcom/android/server/display/AutomaticBrightnessController;->hasUserDataPoints()Z +HPLcom/android/server/display/AutomaticBrightnessController;->isDefaultConfig()Z +HSPLcom/android/server/display/AutomaticBrightnessController;->isInIdleMode()Z HPLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightBrighteningTransition(J)J+]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; HPLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightDarkeningTransition(J)J+]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer; HPLcom/android/server/display/AutomaticBrightnessController;->setAmbientLux(F)V HSPLcom/android/server/display/AutomaticBrightnessController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;Z)Z +HSPLcom/android/server/display/AutomaticBrightnessController;->setDisplayPolicy(I)Z +HSPLcom/android/server/display/AutomaticBrightnessController;->setLightSensorEnabled(Z)Z HPLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux()V+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;]Lcom/android/server/display/AutomaticBrightnessController$Clock;Lcom/android/server/display/AutomaticBrightnessController$Injector$$ExternalSyntheticLambda0; HPLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux(J)V+]Lcom/android/server/display/AutomaticBrightnessController;Lcom/android/server/display/AutomaticBrightnessController;]Landroid/os/Handler;Lcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler; HSPLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(ZZ)V @@ -4123,30 +3506,39 @@ HPLcom/android/server/display/AutomaticBrightnessController;->weightIntegral(J)F HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->convertToAdjustedNits(F)F HPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getBrightness(FLjava/lang/String;I)F HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->hasUserDataPoints()Z +HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isForIdleMode()Z +HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z HSPLcom/android/server/display/BrightnessRangeController$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/display/BrightnessRangeController;I)V HSPLcom/android/server/display/BrightnessRangeController;->applyChanges(Ljava/util/function/BooleanSupplier;Ljava/lang/Runnable;)V -HSPLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMax()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController; +HSPLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMax()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;]Lcom/android/server/display/NormalBrightnessModeController;Lcom/android/server/display/NormalBrightnessModeController; HSPLcom/android/server/display/BrightnessRangeController;->getCurrentBrightnessMin()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController; -HSPLcom/android/server/display/BrightnessRangeController;->getHighBrightnessMode()I +HSPLcom/android/server/display/BrightnessRangeController;->getHighBrightnessMode()I+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController; HSPLcom/android/server/display/BrightnessRangeController;->getTransitionPoint()F HSPLcom/android/server/display/BrightnessRangeController;->lambda$setAutoBrightnessEnabled$5(I)V HSPLcom/android/server/display/BrightnessRangeController;->onBrightnessChanged(FFI)V HSPLcom/android/server/display/BrightnessRangeController;->setAutoBrightnessEnabled(I)V HSPLcom/android/server/display/BrightnessSetting;->getBrightness()F -HPLcom/android/server/display/BrightnessSetting;->setBrightness(F)V +HSPLcom/android/server/display/BrightnessThrottler;->getBrightnessCap()F HSPLcom/android/server/display/BrightnessThrottler;->getBrightnessMaxReason()I HSPLcom/android/server/display/BrightnessThrottler;->isThrottled()Z HPLcom/android/server/display/BrightnessTracker$BrightnessChangeValues;-><init>(FFZZJLjava/lang/String;[F[J)V HPLcom/android/server/display/BrightnessTracker$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/display/BrightnessTracker$SensorListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V -HPLcom/android/server/display/BrightnessTracker;->-$$Nest$mbatteryLevelChanged(Lcom/android/server/display/BrightnessTracker;II)V +HSPLcom/android/server/display/BrightnessTracker$TrackerHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/display/BrightnessTracker;->-$$Nest$mrecordAmbientBrightnessStats(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V+]Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessTracker; HPLcom/android/server/display/BrightnessTracker;->batteryLevelChanged(II)V +HSPLcom/android/server/display/BrightnessTracker;->enableColorSampling()V +HPLcom/android/server/display/BrightnessTracker;->notifyBrightnessChanged(FZFZZLjava/lang/String;[F[J)V HSPLcom/android/server/display/BrightnessTracker;->recordAmbientBrightnessStats(Landroid/hardware/SensorEvent;)V+]Lcom/android/server/display/AmbientBrightnessStatsTracker;Lcom/android/server/display/AmbientBrightnessStatsTracker; -HSPLcom/android/server/display/BrightnessUtils;->convertGammaToLinear(F)F -HSPLcom/android/server/display/BrightnessUtils;->convertLinearToGamma(F)F +HSPLcom/android/server/display/BrightnessTracker;->startSensorListener()V +HPLcom/android/server/display/BrightnessUtils;->convertGammaToLinear(F)F +HPLcom/android/server/display/ColorFade;->createSurfaceControl(Z)Z +HPLcom/android/server/display/ColorFade;->detachEglContext()V HPLcom/android/server/display/ColorFade;->draw(F)Z HPLcom/android/server/display/ColorFade;->drawFaded(FF)V +HPLcom/android/server/display/ColorFade;->initGLShaders(Landroid/content/Context;)Z +HPLcom/android/server/display/ColorFade;->setScreenshotTextureAndSetViewport(Landroid/window/ScreenCapture$ScreenshotHardwareBuffer;I)Z +HSPLcom/android/server/display/DensityMapping;->getDensityForResolution(II)I HSPLcom/android/server/display/DeviceStateToLayoutMap;-><clinit>()V HSPLcom/android/server/display/DeviceStateToLayoutMap;-><init>(Lcom/android/server/display/layout/DisplayIdProducer;)V HSPLcom/android/server/display/DeviceStateToLayoutMap;-><init>(Lcom/android/server/display/layout/DisplayIdProducer;Ljava/io/File;)V @@ -4176,14 +3568,19 @@ HSPLcom/android/server/display/DisplayBrightnessState$Builder;->getBrightnessRea HSPLcom/android/server/display/DisplayBrightnessState$Builder;->getDisplayBrightnessStrategyName()Ljava/lang/String; HSPLcom/android/server/display/DisplayBrightnessState$Builder;->getSdrBrightness()F HSPLcom/android/server/display/DisplayBrightnessState$Builder;->getShouldUseAutoBrightness()Z +HSPLcom/android/server/display/DisplayBrightnessState$Builder;->isSlowChange()Z HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder; HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setBrightnessReason(Lcom/android/server/display/brightness/BrightnessReason;)Lcom/android/server/display/DisplayBrightnessState$Builder; HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setDisplayBrightnessStrategyName(Ljava/lang/String;)Lcom/android/server/display/DisplayBrightnessState$Builder; HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setIsSlowChange(Z)Lcom/android/server/display/DisplayBrightnessState$Builder; -HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setSdrBrightness(F)Lcom/android/server/display/DisplayBrightnessState$Builder; -HSPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;)V +HSPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;)V+]Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState$Builder; +HSPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState-IA;)V HSPLcom/android/server/display/DisplayBrightnessState;->builder()Lcom/android/server/display/DisplayBrightnessState$Builder; +HSPLcom/android/server/display/DisplayBrightnessState;->getBrightness()F HSPLcom/android/server/display/DisplayBrightnessState;->getBrightnessReason()Lcom/android/server/display/brightness/BrightnessReason; +HSPLcom/android/server/display/DisplayBrightnessState;->getDisplayBrightnessStrategyName()Ljava/lang/String; +HSPLcom/android/server/display/DisplayBrightnessState;->getSdrBrightness()F +HSPLcom/android/server/display/DisplayBrightnessState;->getShouldUseAutoBrightness()Z HSPLcom/android/server/display/DisplayBrightnessState;->isSlowChange()Z HSPLcom/android/server/display/DisplayControl;->getPhysicalDisplayIds()[J HSPLcom/android/server/display/DisplayControl;->getPhysicalDisplayToken(J)Landroid/os/IBinder; @@ -4193,20 +3590,15 @@ HSPLcom/android/server/display/DisplayDevice;->getDisplayIdToMirrorLocked()I HSPLcom/android/server/display/DisplayDevice;->getDisplayTokenLocked()Landroid/os/IBinder; HSPLcom/android/server/display/DisplayDevice;->getUniqueId()Ljava/lang/String; HSPLcom/android/server/display/DisplayDevice;->isWindowManagerMirroringLocked()Z -HSPLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V -HSPLcom/android/server/display/DisplayDevice;->setDisplayFlagsLocked(Landroid/view/SurfaceControl$Transaction;I)V HSPLcom/android/server/display/DisplayDevice;->setLayerStackLocked(Landroid/view/SurfaceControl$Transaction;II)V HSPLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V -HSPLcom/android/server/display/DisplayDeviceConfig$1;-><clinit>()V -HSPLcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;-><init>()V +HSPLcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;->copyTo(Lcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData;)V HSPLcom/android/server/display/DisplayDeviceConfig$SensorData;-><init>()V HSPLcom/android/server/display/DisplayDeviceConfig;-><clinit>()V HSPLcom/android/server/display/DisplayDeviceConfig;-><init>(Landroid/content/Context;)V HSPLcom/android/server/display/DisplayDeviceConfig;->constrainNitsAndBacklightArrays()V HSPLcom/android/server/display/DisplayDeviceConfig;->constraintInRangeIfNeeded([F)[F -HSPLcom/android/server/display/DisplayDeviceConfig;->convertInterpolationType(Ljava/lang/String;)I -HSPLcom/android/server/display/DisplayDeviceConfig;->convertThermalStatus(Lcom/android/server/display/config/ThermalStatus;)I HSPLcom/android/server/display/DisplayDeviceConfig;->copyUninitializedValuesFromSecondaryConfig(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->create(Landroid/content/Context;JZ)Lcom/android/server/display/DisplayDeviceConfig; HSPLcom/android/server/display/DisplayDeviceConfig;->createBacklightConversionSplines()V @@ -4226,6 +3618,13 @@ HSPLcom/android/server/display/DisplayDeviceConfig;->getDefaultRefreshRateInHbmS 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 +HSPLcom/android/server/display/DisplayDeviceConfig;->getHighAmbientBrightnessThresholds()[F +HSPLcom/android/server/display/DisplayDeviceConfig;->getHighBlockingZoneThermalMap()Landroid/util/SparseArray; +HSPLcom/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 HSPLcom/android/server/display/DisplayDeviceConfig;->getName()Ljava/lang/String; HSPLcom/android/server/display/DisplayDeviceConfig;->getNitsFromBacklight(F)F+]Landroid/util/Spline;Landroid/util/Spline$MonotoneCubicSpline; @@ -4237,50 +3636,30 @@ HSPLcom/android/server/display/DisplayDeviceConfig;->initFromFile(Ljava/io/File; HSPLcom/android/server/display/DisplayDeviceConfig;->isAllInRange([FFF)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;->loadAmbientHorizonFromDdc(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadAmbientLightSensorFromConfigXml()V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadAmbientLightSensorFromDdc(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessBrighteningLightDebounce(Lcom/android/server/display/config/AutoBrightness;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessConfigValues(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessDarkeningLightDebounce(Lcom/android/server/display/config/AutoBrightness;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadAutoBrightnessDisplayBrightnessMapping(Lcom/android/server/display/config/AutoBrightness;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessChangeThresholds(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessConstraintsFromConfigXml()V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessDefaultFromConfigXml()V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessDefaultFromDdcXml(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessMap(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadBrightnessRamps(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadConfigFromDirectory(Landroid/content/Context;Ljava/io/File;J)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;->loadDensityMapping(Lcom/android/server/display/config/DisplayConfiguration;)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;->loadEnableAutoBrightness(Lcom/android/server/display/config/AutoBrightness;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadHighBrightnessModeData(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;->loadName(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->loadPeakDefaultRefreshRate(Lcom/android/server/display/config/RefreshRateConfigs;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadProxSensorFromDdc(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadQuirks(Lcom/android/server/display/config/DisplayConfiguration;)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;->loadScreenOffBrightnessSensorFromDdc(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadScreenOffBrightnessSensorValueToLuxFromDdc(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadSdrHdrRatioMap(Lcom/android/server/display/config/HighBrightnessMode;)Landroid/util/Spline; -HSPLcom/android/server/display/DisplayDeviceConfig;->loadThermalThrottlingConfig(Lcom/android/server/display/config/DisplayConfiguration;)V -HSPLcom/android/server/display/DisplayDeviceConfig;->loadUsiVersion(Lcom/android/server/display/config/DisplayConfiguration;)V HSPLcom/android/server/display/DisplayDeviceConfig;->rawBacklightToNits(IF)F HSPLcom/android/server/display/DisplayDeviceConfig;->setProxSensorUnspecified()V -HSPLcom/android/server/display/DisplayDeviceConfig;->thermalStatusIsValid(Lcom/android/server/display/config/ThermalStatus;)Z HSPLcom/android/server/display/DisplayDeviceInfo;-><init>()V HSPLcom/android/server/display/DisplayDeviceInfo;->diff(Lcom/android/server/display/DisplayDeviceInfo;)I +HSPLcom/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; @@ -4293,6 +3672,7 @@ HSPLcom/android/server/display/DisplayDeviceRepository;->handleDisplayDeviceAdde HSPLcom/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 +HSPLcom/android/server/display/DisplayDeviceRepository;->sendChangedEventLocked(Lcom/android/server/display/DisplayDevice;I)V+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/display/DisplayDeviceRepository$Listener;Lcom/android/server/display/LogicalDisplayMapper; 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 @@ -4304,42 +3684,37 @@ 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 -HSPLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V +HSPLcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda14;->run()V HSPLcom/android/server/display/DisplayManagerService$1;-><init>(Lcom/android/server/display/DisplayManagerService;)V HSPLcom/android/server/display/DisplayManagerService$1;->requestDisplayState(IIFF)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Lcom/android/server/power/PowerManagerService$1; HSPLcom/android/server/display/DisplayManagerService$2;-><init>(Lcom/android/server/display/DisplayManagerService;)V +HPLcom/android/server/display/DisplayManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/display/DisplayManagerService$BinderService;-><init>(Lcom/android/server/display/DisplayManagerService;)V HSPLcom/android/server/display/DisplayManagerService$BinderService;->getBrightness(I)F -HSPLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo; -HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds(Z)[I +HSPLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo;+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/display/DisplayPowerControllerInterface;Lcom/android/server/display/DisplayPowerController2; +HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds(Z)[I+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayInfo(I)Landroid/view/DisplayInfo; HSPLcom/android/server/display/DisplayManagerService$BinderService;->getOverlaySupport()Landroid/hardware/OverlayProperties; HSPLcom/android/server/display/DisplayManagerService$BinderService;->getPreferredWideGamutColorSpaceId()I HSPLcom/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 -HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;-><init>(Lcom/android/server/display/DisplayManagerService;IILandroid/hardware/display/IDisplayManagerCallback;J)V HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)Z+]Lcom/android/server/display/DisplayManagerService$CallbackRecord;Lcom/android/server/display/DisplayManagerService$CallbackRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/hardware/display/IDisplayManagerCallback;Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;,Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy; HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->shouldSendEvent(I)Z+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; +HSPLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V HSPLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->lambda$new$0(Lcom/android/server/display/LogicalDisplay;)V -HSPLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->onDesiredDisplayModeSpecsChanged()V -HSPLcom/android/server/display/DisplayManagerService$DeviceStateListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V -HSPLcom/android/server/display/DisplayManagerService$DeviceStateListener;->onBaseStateChanged(I)V -HSPLcom/android/server/display/DisplayManagerService$DeviceStateListener;->onStateChanged(I)V +HSPLcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;->onDesiredDisplayModeSpecsChanged()V+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; 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+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/input/InputManagerInternal;Lcom/android/server/input/InputManagerService$LocalService;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/wm/WindowManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/server/display/DisplayManagerService$Injector;-><init>()V HSPLcom/android/server/display/DisplayManagerService$Injector;->getDefaultDisplayDelayTimeout()J 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/VirtualDisplayAdapter; HSPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;)V -HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayIdToMirror(I)I+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; +HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayIdToMirror(I)I+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;,Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo; -HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayWindowPolicyController(I)Landroid/window/DisplayWindowPolicyController; HSPLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V HPLcom/android/server/display/DisplayManagerService$LocalService;->getRefreshRateSwitchingType()I+]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; HSPLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; HSPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(ILandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/DisplayPowerControllerInterface;Lcom/android/server/display/DisplayPowerController2;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup; -HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V -HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIFFZZZ)V+]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; 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 @@ -4347,14 +3722,15 @@ HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->on HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->onLogicalDisplayEventLocked(Lcom/android/server/display/LogicalDisplay;I)V HSPLcom/android/server/display/DisplayManagerService$LogicalDisplayListener;->onTraversalRequested()V HPLcom/android/server/display/DisplayManagerService$PendingCallback;->addDisplayEvent(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/display/DisplayManagerService$PendingCallback;->sendPendingDisplayEvent()V+]Lcom/android/server/display/DisplayManagerService$CallbackRecord;Lcom/android/server/display/DisplayManagerService$CallbackRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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 HSPLcom/android/server/display/DisplayManagerService$UidImportanceListener;->onUidImportance(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/DisplayManagerService$PendingCallback;Lcom/android/server/display/DisplayManagerService$PendingCallback; HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmContext(Lcom/android/server/display/DisplayManagerService;)Landroid/content/Context; +HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayModeDirector(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/mode/DisplayModeDirector; HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayPowerControllers(Lcom/android/server/display/DisplayManagerService;)Landroid/util/SparseArray; HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmDisplayStates(Lcom/android/server/display/DisplayManagerService;)Landroid/util/SparseIntArray; -HSPLcom/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; HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$fgetmTempViewports(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList; @@ -4365,22 +3741,19 @@ HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mdeliverDisplayGr HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetDisplayInfoInternal(Lcom/android/server/display/DisplayManagerService;II)Landroid/view/DisplayInfo;+]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mgetNonOverrideDisplayInfoInternal(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$mhandleLogicalDisplayAddedLocked(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/LogicalDisplay;)V -HSPLcom/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 HSPLcom/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 -HSPLcom/android/server/display/DisplayManagerService;->-$$Nest$msetDisplayAccessUIDsInternal(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V 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; HSPLcom/android/server/display/DisplayManagerService;->clampBrightness(IF)F -HSPLcom/android/server/display/DisplayManagerService;->clearViewportsLocked()V HSPLcom/android/server/display/DisplayManagerService;->configureColorModeLocked(Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayDevice;)V HSPLcom/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+]Lcom/android/server/display/DisplayManagerService$CallbackRecord;Lcom/android/server/display/DisplayManagerService$CallbackRecord;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/DisplayManagerService$PendingCallback;Lcom/android/server/display/DisplayManagerService$PendingCallback;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayEvent(ILandroid/util/ArraySet;I)V+]Lcom/android/server/display/DisplayManagerService$CallbackRecord;Lcom/android/server/display/DisplayManagerService$CallbackRecord;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/display/DisplayManagerService$PendingCallback;Lcom/android/server/display/DisplayManagerService$PendingCallback;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayGroupEvent(II)V HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoForFrameRateOverride([Landroid/view/DisplayEventReceiver$FrameRateOverride;Landroid/view/DisplayInfo;I)Landroid/view/DisplayInfo;+]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoInternal(II)Landroid/view/DisplayInfo;+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; @@ -4407,18 +3780,17 @@ HSPLcom/android/server/display/DisplayManagerService;->recordTopInsetLocked(Lcom HSPLcom/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 -HSPLcom/android/server/display/DisplayManagerService;->requestDisplayStateInternal(IIFF)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Ljava/lang/Runnable;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; +HSPLcom/android/server/display/DisplayManagerService;->requestDisplayStateInternal(IIFF)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Ljava/lang/Runnable;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; HSPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(Lcom/android/server/display/LogicalDisplay;I)V HSPLcom/android/server/display/DisplayManagerService;->sendDisplayGroupEvent(II)V HSPLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V -HSPLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V HSPLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIFFZZZ)V+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService; -HSPLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V HSPLcom/android/server/display/DisplayManagerService;->updateDisplayStateLocked(Lcom/android/server/display/DisplayDevice;)Ljava/lang/Runnable;+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/display/DisplayManagerService;->updateViewportPowerStateLocked(Lcom/android/server/display/LogicalDisplay;)V -HSPLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V +HSPLcom/android/server/display/DisplayPowerController2$$ExternalSyntheticLambda6;->run()V HSPLcom/android/server/display/DisplayPowerController2$CachedBrightnessInfo;->checkAndSetFloat(Landroid/util/MutableFloat;F)Z +HSPLcom/android/server/display/DisplayPowerController2$CachedBrightnessInfo;->checkAndSetInt(Landroid/util/MutableInt;I)Z HSPLcom/android/server/display/DisplayPowerController2$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/display/DisplayPowerController2$Injector$$ExternalSyntheticLambda0;->uptimeMillis()J HSPLcom/android/server/display/DisplayPowerController2;->-$$Nest$mupdatePowerState(Lcom/android/server/display/DisplayPowerController2;)V @@ -4429,42 +3801,57 @@ HSPLcom/android/server/display/DisplayPowerController2;->getBrightnessInfo()Land HSPLcom/android/server/display/DisplayPowerController2;->getScreenBrightnessSetting()F HSPLcom/android/server/display/DisplayPowerController2;->logBrightnessEvent(Lcom/android/server/display/brightness/BrightnessEvent;F)V HSPLcom/android/server/display/DisplayPowerController2;->nitsToRangeIndex(F)I +HSPLcom/android/server/display/DisplayPowerController2;->noteScreenBrightness(F)V +HSPLcom/android/server/display/DisplayPowerController2;->noteScreenState(I)V HSPLcom/android/server/display/DisplayPowerController2;->notifyBrightnessTrackerChanged(FZZZZZ)V HSPLcom/android/server/display/DisplayPowerController2;->onDisplayChanged(Lcom/android/server/display/HighBrightnessModeMetadata;I)V HSPLcom/android/server/display/DisplayPowerController2;->postBrightnessChangeRunnable()V HSPLcom/android/server/display/DisplayPowerController2;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z+]Lcom/android/server/display/DisplayPowerController2;Lcom/android/server/display/DisplayPowerController2;]Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;]Lcom/android/server/display/DisplayPowerProximityStateController;Lcom/android/server/display/DisplayPowerProximityStateController; +HSPLcom/android/server/display/DisplayPowerController2;->sendOnStateChangedWithWakelock()V HSPLcom/android/server/display/DisplayPowerController2;->sendUpdatePowerState()V HSPLcom/android/server/display/DisplayPowerController2;->sendUpdatePowerStateLocked()V +HPLcom/android/server/display/DisplayPowerController2;->setAutomaticScreenBrightnessMode(Z)V +HSPLcom/android/server/display/DisplayPowerController2;->setScreenState(I)Z HSPLcom/android/server/display/DisplayPowerController2;->setScreenState(IZ)Z +HPLcom/android/server/display/DisplayPowerController2;->unblockScreenOff()V +HSPLcom/android/server/display/DisplayPowerController2;->unblockScreenOn()V HSPLcom/android/server/display/DisplayPowerController2;->updatePowerState()V HSPLcom/android/server/display/DisplayPowerController2;->updatePowerStateInternal()V +HSPLcom/android/server/display/DisplayPowerProximityStateController;->isScreenOffBecauseOfProximity()Z HSPLcom/android/server/display/DisplayPowerProximityStateController;->setPendingWaitForNegativeProximityLocked(Z)Z HSPLcom/android/server/display/DisplayPowerProximityStateController;->shouldSkipRampBecauseOfProximityChangeToNegative()Z +HSPLcom/android/server/display/DisplayPowerProximityStateController;->updatePendingProximityRequestsLocked()V HSPLcom/android/server/display/DisplayPowerProximityStateController;->updateProximityState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)V +HSPLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;F)V +HSPLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;F)V +HSPLcom/android/server/display/DisplayPowerState$3;->setValue(Lcom/android/server/display/DisplayPowerState;F)V HSPLcom/android/server/display/DisplayPowerState$3;->setValue(Ljava/lang/Object;F)V HSPLcom/android/server/display/DisplayPowerState$4;->run()V+]Lcom/android/server/display/DisplayPowerState$PhotonicModulator;Lcom/android/server/display/DisplayPowerState$PhotonicModulator; +HPLcom/android/server/display/DisplayPowerState$5;->run()V HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(IFF)Z+]Ljava/lang/Object;Ljava/lang/Object; -HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmBlanker(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayBlanker; HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmColorFadeLevel(Lcom/android/server/display/DisplayPowerState;)F -HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmDisplayId(Lcom/android/server/display/DisplayPowerState;)I HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmPhotonicModulator(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayPowerState$PhotonicModulator; HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmScreenBrightness(Lcom/android/server/display/DisplayPowerState;)F HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmScreenState(Lcom/android/server/display/DisplayPowerState;)I HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmSdrScreenBrightness(Lcom/android/server/display/DisplayPowerState;)F HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fputmScreenReady(Lcom/android/server/display/DisplayPowerState;Z)V HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fputmScreenUpdatePending(Lcom/android/server/display/DisplayPowerState;Z)V -HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$minvokeCleanListenerIfNeeded(Lcom/android/server/display/DisplayPowerState;)V +HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$minvokeCleanListenerIfNeeded(Lcom/android/server/display/DisplayPowerState;)V+]Lcom/android/server/display/DisplayPowerState;Lcom/android/server/display/DisplayPowerState; HSPLcom/android/server/display/DisplayPowerState;->dismissColorFade()V +HSPLcom/android/server/display/DisplayPowerState;->getColorFadeLevel()F +HSPLcom/android/server/display/DisplayPowerState;->getScreenBrightness()F +HSPLcom/android/server/display/DisplayPowerState;->getScreenState()I HSPLcom/android/server/display/DisplayPowerState;->getSdrScreenBrightness()F -HSPLcom/android/server/display/DisplayPowerState;->invokeCleanListenerIfNeeded()V +HSPLcom/android/server/display/DisplayPowerState;->invokeCleanListenerIfNeeded()V+]Ljava/lang/Runnable;Lcom/android/server/display/DisplayPowerController2$$ExternalSyntheticLambda0; HSPLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/display/DisplayPowerState;->scheduleScreenUpdate()V+]Lcom/android/server/display/DisplayPowerState;Lcom/android/server/display/DisplayPowerState; -HSPLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V +HSPLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V+]Lcom/android/server/display/DisplayPowerState;Lcom/android/server/display/DisplayPowerState; HSPLcom/android/server/display/DisplayPowerState;->setScreenBrightness(F)V HSPLcom/android/server/display/DisplayPowerState;->setSdrScreenBrightness(F)V HSPLcom/android/server/display/DisplayPowerState;->waitUntilClean(Ljava/lang/Runnable;)Z -HSPLcom/android/server/display/HighBrightnessModeController;->calculateRemainingTime(J)J +HSPLcom/android/server/display/HighBrightnessModeController;->calculateHighBrightnessMode()I +HSPLcom/android/server/display/HighBrightnessModeController;->calculateRemainingTime(J)J+]Lcom/android/server/display/HighBrightnessModeMetadata;Lcom/android/server/display/HighBrightnessModeMetadata;]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/display/HbmEvent;Lcom/android/server/display/HbmEvent;]Ljava/util/Iterator;Ljava/util/ArrayDeque$DeqIterator; HSPLcom/android/server/display/HighBrightnessModeController;->deviceSupportsHbm()Z HSPLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightnessMax()F+]Lcom/android/server/display/HighBrightnessModeController;Lcom/android/server/display/HighBrightnessModeController; HSPLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightnessMin()F @@ -4474,27 +3861,33 @@ HSPLcom/android/server/display/HighBrightnessModeController;->isCurrentlyAllowed HSPLcom/android/server/display/HighBrightnessModeController;->onBrightnessChanged(FFI)V HSPLcom/android/server/display/HighBrightnessModeController;->recalculateTimeAllowance()V HSPLcom/android/server/display/HighBrightnessModeController;->setAutoBrightnessEnabled(I)V +HSPLcom/android/server/display/HighBrightnessModeController;->updateHbmMode()V +HSPLcom/android/server/display/HighBrightnessModeController;->updateHbmStats(I)V +HSPLcom/android/server/display/HighBrightnessModeMetadata;->getHbmEventQueue()Ljava/util/ArrayDeque; HSPLcom/android/server/display/HighBrightnessModeMetadataMapper;-><init>()V -HPLcom/android/server/display/HysteresisLevels;->getBrighteningThreshold(F)F -HPLcom/android/server/display/HysteresisLevels;->getReferenceLevel(F[F[F)F +HSPLcom/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 HSPLcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;->setBacklight(FFFF)V+]Lcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;Lcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy; 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;JZ)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 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->backlightToNits(F)F+]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->brightnessToBacklight(F)F+]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->run()V+]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayBrightness(FF)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter;]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig;]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1; +HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayState(I)V +HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fgetmBacklightAdapter(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fputmBrightnessState(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;F)V +HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->-$$Nest$fputmSdrBrightnessState(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;F)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 +HSPLcom/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 -HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findMode(I)Landroid/view/Display$Mode; HSPLcom/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;+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Lcom/android/server/display/LocalDisplayAdapter;Lcom/android/server/display/LocalDisplayAdapter;]Lcom/android/server/display/DisplayDeviceConfig;Lcom/android/server/display/DisplayDeviceConfig;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -4502,14 +3895,10 @@ HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDispl 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;->getSystemPreferredDisplayModeLocked()Landroid/view/Display$Mode; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->loadDisplayDeviceConfig()V -HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)V -HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setAutoLowLatencyModeLocked(Z)V HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setDesiredDisplayModeSpecsLocked(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V -HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setGameContentTypeLocked(Z)V -HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setRequestedColorModeLocked(I)V +HSPLcom/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 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDisplayModesLocked([Landroid/view/SurfaceControl$DisplayMode;IIFLandroid/view/SurfaceControl$DesiredDisplayModeSpecs;)Z @@ -4519,6 +3908,7 @@ HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateHd 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 +HSPLcom/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 HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;-><init>()V HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getBootDisplayModeSupport()Z @@ -4528,6 +3918,8 @@ HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->getDyna 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; +HSPLcom/android/server/display/LocalDisplayAdapter$SurfaceControlProxy;->setDisplayBrightness(Landroid/os/IBinder;FFFF)Z +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;->getOverlayContext()Landroid/content/Context; HSPLcom/android/server/display/LocalDisplayAdapter;->registerLocked()V @@ -4535,10 +3927,12 @@ 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 HSPLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V +HSPLcom/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;+]Lcom/android/server/display/DisplayInfoProxy;Lcom/android/server/display/DisplayInfoProxy;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLcom/android/server/display/LogicalDisplay;->getFrameRateOverrides()[Landroid/view/DisplayEventReceiver$FrameRateOverride; +HSPLcom/android/server/display/LogicalDisplay;->getInsets()Landroid/graphics/Rect; HSPLcom/android/server/display/LogicalDisplay;->getMaskingInsets(Lcom/android/server/display/DisplayDeviceInfo;)Landroid/graphics/Rect; HSPLcom/android/server/display/LogicalDisplay;->getNonOverrideDisplayInfoLocked(Landroid/view/DisplayInfo;)V HSPLcom/android/server/display/LogicalDisplay;->getPrimaryDisplayDeviceLocked()Lcom/android/server/display/DisplayDevice; @@ -4549,7 +3943,6 @@ HSPLcom/android/server/display/LogicalDisplay;->isEnabledLocked()Z HSPLcom/android/server/display/LogicalDisplay;->isValidLocked()Z HSPLcom/android/server/display/LogicalDisplay;->setDevicePositionLocked(I)V HSPLcom/android/server/display/LogicalDisplay;->setDisplayGroupNameLocked(Ljava/lang/String;)V -HSPLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z HSPLcom/android/server/display/LogicalDisplay;->setLeadDisplayLocked(I)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 @@ -4570,7 +3963,7 @@ HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupIdLocked HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupLocked(Lcom/android/server/display/LogicalDisplay;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Lcom/android/server/display/DisplayDevice;Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup; 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; -HSPLcom/android/server/display/LogicalDisplayMapper;->forEachLocked(Ljava/util/function/Consumer;)V +HSPLcom/android/server/display/LogicalDisplayMapper;->finishStateTransitionLocked(Z)V HSPLcom/android/server/display/LogicalDisplayMapper;->forEachLocked(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/function/Consumer;megamorphic_types HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupIdFromDisplayIdLocked(I)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup; HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupLocked(I)Lcom/android/server/display/DisplayGroup;+]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -4582,23 +3975,25 @@ HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/andr 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 +HSPLcom/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 HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForDisplaysLocked(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener; HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForGroupsLocked(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener; -HSPLcom/android/server/display/LogicalDisplayMapper;->setDeviceStateLocked(IZ)V HSPLcom/android/server/display/LogicalDisplayMapper;->setEnabledLocked(Lcom/android/server/display/LogicalDisplay;Z)V HSPLcom/android/server/display/LogicalDisplayMapper;->toSparseBooleanArray([I)Landroid/util/SparseBooleanArray; HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked()V HSPLcom/android/server/display/LogicalDisplayMapper;->updateLogicalDisplaysLocked(I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/display/DisplayGroup;Lcom/android/server/display/DisplayGroup;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;-><init>()V HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V +HPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/display/PersistentDataStore$DisplayState;-><init>()V HSPLcom/android/server/display/PersistentDataStore$DisplayState;-><init>(Lcom/android/server/display/PersistentDataStore$DisplayState-IA;)V HSPLcom/android/server/display/PersistentDataStore$DisplayState;->getBrightness(I)F HSPLcom/android/server/display/PersistentDataStore$DisplayState;->getColorMode()I HSPLcom/android/server/display/PersistentDataStore$DisplayState;->getRefreshRate()F HSPLcom/android/server/display/PersistentDataStore$DisplayState;->getResolution()Landroid/graphics/Point; +HSPLcom/android/server/display/PersistentDataStore$DisplayState;->loadBrightnessFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/display/PersistentDataStore$DisplayState;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V HPLcom/android/server/display/PersistentDataStore$DisplayState;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/display/PersistentDataStore$Injector;-><init>()V @@ -4631,32 +4026,46 @@ HPLcom/android/server/display/RampAnimator$DualRampAnimator;->postAnimationCallb HSPLcom/android/server/display/RampAnimator;->isAnimating()Z HPLcom/android/server/display/RampAnimator;->performNextAnimationStep(J)V+]Lcom/android/server/display/RampAnimator;Lcom/android/server/display/RampAnimator; HSPLcom/android/server/display/RampAnimator;->setPropertyValue(F)V -HPLcom/android/server/display/ScreenOffBrightnessSensorController;->setLightSensorEnabled(Z)V +HPLcom/android/server/display/ScreenOffBrightnessSensorController;->getAutomaticScreenBrightness()F +HSPLcom/android/server/display/ScreenOffBrightnessSensorController;->setLightSensorEnabled(Z)V HSPLcom/android/server/display/VirtualDisplayAdapter$1;-><init>()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;)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;)V HSPLcom/android/server/display/VirtualDisplayAdapter;->registerLocked()V +HSPLcom/android/server/display/WakelockController;->acquireStateChangedSuspendBlocker()Z HSPLcom/android/server/display/WakelockController;->acquireUnfinishedBusinessSuspendBlocker()Z +HSPLcom/android/server/display/WakelockController;->acquireWakelock(I)Z +HSPLcom/android/server/display/WakelockController;->acquireWakelockInternal(I)Z +HSPLcom/android/server/display/WakelockController;->lambda$getOnStateChangedRunnable$1()V +HSPLcom/android/server/display/WakelockController;->releaseUnfinishedBusinessSuspendBlocker()Z HSPLcom/android/server/display/brightness/BrightnessEvent;-><init>(Lcom/android/server/display/brightness/BrightnessEvent;)V HSPLcom/android/server/display/brightness/BrightnessEvent;->copyFrom(Lcom/android/server/display/brightness/BrightnessEvent;)V HSPLcom/android/server/display/brightness/BrightnessEvent;->equalsMainData(Lcom/android/server/display/brightness/BrightnessEvent;)Z HSPLcom/android/server/display/brightness/BrightnessEvent;->flagsToString()Ljava/lang/String; HSPLcom/android/server/display/brightness/BrightnessEvent;->getFlags()I +HSPLcom/android/server/display/brightness/BrightnessEvent;->getHbmMode()I +HSPLcom/android/server/display/brightness/BrightnessEvent;->getPowerFactor()F HSPLcom/android/server/display/brightness/BrightnessEvent;->getReason()Lcom/android/server/display/brightness/BrightnessReason; +HSPLcom/android/server/display/brightness/BrightnessEvent;->getTime()J +HSPLcom/android/server/display/brightness/BrightnessEvent;->isRbcEnabled()Z HSPLcom/android/server/display/brightness/BrightnessEvent;->reset()V HSPLcom/android/server/display/brightness/BrightnessEvent;->setAutomaticBrightnessEnabled(Z)V -HSPLcom/android/server/display/brightness/BrightnessEvent;->setBrightness(F)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setHbmMode(I)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setPhysicalDisplayId(Ljava/lang/String;)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setRbcStrength(I)V HSPLcom/android/server/display/brightness/BrightnessEvent;->setReason(Lcom/android/server/display/brightness/BrightnessReason;)V -HSPLcom/android/server/display/brightness/BrightnessEvent;->setWasShortTermModelActive(Z)Z +HSPLcom/android/server/display/brightness/BrightnessEvent;->setTime(J)V HSPLcom/android/server/display/brightness/BrightnessEvent;->toString(Z)Ljava/lang/String; HSPLcom/android/server/display/brightness/BrightnessReason;-><init>()V HSPLcom/android/server/display/brightness/BrightnessReason;->addModifier(I)V HSPLcom/android/server/display/brightness/BrightnessReason;->equals(Ljava/lang/Object;)Z -HSPLcom/android/server/display/brightness/BrightnessReason;->getModifier()I HSPLcom/android/server/display/brightness/BrightnessReason;->getReason()I +HSPLcom/android/server/display/brightness/BrightnessReason;->reasonToString(I)Ljava/lang/String; HSPLcom/android/server/display/brightness/BrightnessReason;->set(Lcom/android/server/display/brightness/BrightnessReason;)V+]Lcom/android/server/display/brightness/BrightnessReason;Lcom/android/server/display/brightness/BrightnessReason; HSPLcom/android/server/display/brightness/BrightnessReason;->setModifier(I)V +HSPLcom/android/server/display/brightness/BrightnessReason;->setReason(I)V HSPLcom/android/server/display/brightness/BrightnessReason;->toString(I)Ljava/lang/String; +HSPLcom/android/server/display/brightness/BrightnessUtils;->clampAbsoluteBrightness(F)F HSPLcom/android/server/display/brightness/BrightnessUtils;->constructDisplayBrightnessState(IFFLjava/lang/String;)Lcom/android/server/display/DisplayBrightnessState; HSPLcom/android/server/display/brightness/BrightnessUtils;->constructDisplayBrightnessState(IFFLjava/lang/String;Z)Lcom/android/server/display/DisplayBrightnessState; HSPLcom/android/server/display/brightness/BrightnessUtils;->isValidBrightnessValue(F)Z @@ -4670,144 +4079,39 @@ HSPLcom/android/server/display/brightness/DisplayBrightnessController;->isAllowA HSPLcom/android/server/display/brightness/DisplayBrightnessController;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)Lcom/android/server/display/DisplayBrightnessState; HSPLcom/android/server/display/brightness/DisplayBrightnessController;->updateUserSetScreenBrightness()Z HSPLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->getAutomaticBrightnessStrategy()Lcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy; +HSPLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->isAllowAutoBrightnessWhileDozingConfig()Z HSPLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->selectStrategy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)Lcom/android/server/display/brightness/strategy/DisplayBrightnessStrategy; HSPLcom/android/server/display/brightness/DisplayBrightnessStrategySelector;->shouldUseDozeBrightnessStrategy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z HSPLcom/android/server/display/brightness/clamper/BrightnessClamperController;->clamp(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;FZ)Lcom/android/server/display/DisplayBrightnessState; +HSPLcom/android/server/display/brightness/clamper/BrightnessClamperController;->onDisplayChanged(Lcom/android/server/display/brightness/clamper/BrightnessClamperController$DisplayDeviceData;)V HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->accommodateUserBrightnessChanges(ZFILandroid/hardware/display/BrightnessConfiguration;I)V HPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->adjustAutomaticBrightnessStateIfValid(F)V HPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->getAutomaticScreenBrightness(Lcom/android/server/display/brightness/BrightnessEvent;)F HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isAutoBrightnessEnabled()Z HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->isShortTermModelActive()Z HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->processPendingAutoBrightnessAdjustments()Z -HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->setAutoBrightnessApplied(Z)V HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->setAutoBrightnessState(IZIIFZ)V HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->shouldUseAutoBrightness()Z HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->updateTemporaryAutoBrightnessAdjustments()F -HPLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Lcom/android/server/display/DisplayBrightnessState; -HPLcom/android/server/display/color/CctEvaluator;->evaluate(FLjava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;+]Ljava/lang/Integer;Ljava/lang/Integer; -HPLcom/android/server/display/color/CctEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Lcom/android/server/display/color/CctEvaluator;Lcom/android/server/display/color/CctEvaluator; -HPLcom/android/server/display/color/ColorDisplayService$$ExternalSyntheticLambda0;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V -HPLcom/android/server/display/color/ColorDisplayService$4;->onAnimationEnd(Landroid/animation/Animator;)V +HSPLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->getName()Ljava/lang/String; +HPLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I HSPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->getReduceBrightColorsStrength()I -HPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->setDisplayWhiteBalanceColorTemperature(I)Z +HPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F HPLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;->updateMinMaxComponents()V+]Landroid/animation/ValueAnimator;Lcom/android/server/display/color/ColorDisplayService$TintValueAnimator; -HPLcom/android/server/display/color/ColorDisplayService;->applyTintByCct(Lcom/android/server/display/color/ColorTemperatureTintController;Z)V -HPLcom/android/server/display/color/ColorDisplayService;->lambda$applyTintByCct$1(Lcom/android/server/display/color/ColorTemperatureTintController;Lcom/android/server/display/color/DisplayTransformManager;Landroid/animation/ValueAnimator;)V+]Lcom/android/server/display/color/ColorTemperatureTintController;Lcom/android/server/display/color/DisplayWhiteBalanceTintController;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/display/color/TintController;Lcom/android/server/display/color/DisplayWhiteBalanceTintController;]Lcom/android/server/display/color/DisplayTransformManager;Lcom/android/server/display/color/DisplayTransformManager;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; -HPLcom/android/server/display/color/DisplayTransformManager;->applyColorMatrix([F)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; -HPLcom/android/server/display/color/DisplayTransformManager;->computeColorMatrixLocked()[F+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/display/color/ColorDisplayService;->lambda$applyTint$0(Lcom/android/server/display/color/DisplayTransformManager;Lcom/android/server/display/color/TintController;Landroid/animation/ValueAnimator;)V HPLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V -HPLcom/android/server/display/color/DisplayWhiteBalanceTintController;->computeMatrixForCct(I)[F -HPLcom/android/server/display/color/DisplayWhiteBalanceTintController;->computeMatrixForCctLocked(I)V+]Lcom/android/server/display/color/DisplayWhiteBalanceTintController;Lcom/android/server/display/color/DisplayWhiteBalanceTintController;]Landroid/graphics/ColorSpace$Rgb;Landroid/graphics/ColorSpace$Rgb; -HPLcom/android/server/display/color/DisplayWhiteBalanceTintController;->getAppliedCct()I -HSPLcom/android/server/display/color/TintController;->isActivated()Z -HPLcom/android/server/display/color/TintController;->matrixToString([FI)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLcom/android/server/display/config/BrightnessThresholds;-><init>()V -HSPLcom/android/server/display/config/BrightnessThresholds;->getBrightnessThresholdPoints()Lcom/android/server/display/config/ThresholdPoints; -HSPLcom/android/server/display/config/BrightnessThresholds;->getMinimum()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/BrightnessThresholds;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/BrightnessThresholds; -HSPLcom/android/server/display/config/BrightnessThresholds;->setMinimum(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/BrightnessThrottlingMap;-><init>()V -HSPLcom/android/server/display/config/BrightnessThrottlingMap;->getBrightnessThrottlingPoint()Ljava/util/List; -HSPLcom/android/server/display/config/BrightnessThrottlingMap;->getId()Ljava/lang/String; -HSPLcom/android/server/display/config/BrightnessThrottlingMap;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/BrightnessThrottlingMap; -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;-><init>()V -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;->getBrightness()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;->getThermalStatus()Lcom/android/server/display/config/ThermalStatus; -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/BrightnessThrottlingPoint; -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;->setBrightness(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/BrightnessThrottlingPoint;->setThermalStatus(Lcom/android/server/display/config/ThermalStatus;)V -HSPLcom/android/server/display/config/DisplayConfiguration;-><init>()V -HSPLcom/android/server/display/config/DisplayConfiguration;->getAmbientBrightnessChangeThresholds()Lcom/android/server/display/config/Thresholds; -HSPLcom/android/server/display/config/DisplayConfiguration;->getAmbientBrightnessChangeThresholdsIdle()Lcom/android/server/display/config/Thresholds; -HSPLcom/android/server/display/config/DisplayConfiguration;->getAmbientLightHorizonLong()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/DisplayConfiguration;->getAmbientLightHorizonShort()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/DisplayConfiguration;->getAutoBrightness()Lcom/android/server/display/config/AutoBrightness; -HSPLcom/android/server/display/config/DisplayConfiguration;->getDensityMapping()Lcom/android/server/display/config/DensityMapping; -HSPLcom/android/server/display/config/DisplayConfiguration;->getDisplayBrightnessChangeThresholds()Lcom/android/server/display/config/Thresholds; -HSPLcom/android/server/display/config/DisplayConfiguration;->getDisplayBrightnessChangeThresholdsIdle()Lcom/android/server/display/config/Thresholds; -HSPLcom/android/server/display/config/DisplayConfiguration;->getHighBrightnessMode()Lcom/android/server/display/config/HighBrightnessMode; -HSPLcom/android/server/display/config/DisplayConfiguration;->getLightSensor()Lcom/android/server/display/config/SensorDetails; -HSPLcom/android/server/display/config/DisplayConfiguration;->getName()Ljava/lang/String; -HSPLcom/android/server/display/config/DisplayConfiguration;->getProxSensor()Lcom/android/server/display/config/SensorDetails; -HSPLcom/android/server/display/config/DisplayConfiguration;->getQuirks()Lcom/android/server/display/config/DisplayQuirks; -HSPLcom/android/server/display/config/DisplayConfiguration;->getRefreshRate()Lcom/android/server/display/config/RefreshRateConfigs; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessDefault()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessMap()Lcom/android/server/display/config/NitsMap; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampDecreaseMaxMillis()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampFastDecrease()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampFastIncrease()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampIncreaseMaxMillis()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampSlowDecrease()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenBrightnessRampSlowIncrease()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenOffBrightnessSensor()Lcom/android/server/display/config/SensorDetails; -HSPLcom/android/server/display/config/DisplayConfiguration;->getScreenOffBrightnessSensorValueToLux()Lcom/android/server/display/config/IntegerArray; -HSPLcom/android/server/display/config/DisplayConfiguration;->getThermalThrottling()Lcom/android/server/display/config/ThermalThrottling; -HSPLcom/android/server/display/config/DisplayConfiguration;->getUsiVersion()Lcom/android/server/display/config/UsiVersion; -HSPLcom/android/server/display/config/DisplayConfiguration;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/DisplayConfiguration; -HSPLcom/android/server/display/config/DisplayConfiguration;->setAmbientBrightnessChangeThresholds(Lcom/android/server/display/config/Thresholds;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setAmbientLightHorizonLong(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setAmbientLightHorizonShort(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setHighBrightnessMode(Lcom/android/server/display/config/HighBrightnessMode;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessMap(Lcom/android/server/display/config/NitsMap;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessRampFastDecrease(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessRampFastIncrease(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessRampIncreaseMaxMillis(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessRampSlowDecrease(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setScreenBrightnessRampSlowIncrease(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/DisplayConfiguration;->setThermalThrottling(Lcom/android/server/display/config/ThermalThrottling;)V -HSPLcom/android/server/display/config/HbmTiming;-><init>()V -HSPLcom/android/server/display/config/HbmTiming;->getTimeMaxSecs_all()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/HbmTiming;->getTimeMinSecs_all()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/HbmTiming;->getTimeWindowSecs_all()Ljava/math/BigInteger; -HSPLcom/android/server/display/config/HbmTiming;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/HbmTiming; -HSPLcom/android/server/display/config/HbmTiming;->setTimeMaxSecs_all(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/HbmTiming;->setTimeMinSecs_all(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/HbmTiming;->setTimeWindowSecs_all(Ljava/math/BigInteger;)V -HSPLcom/android/server/display/config/HighBrightnessMode;-><init>()V -HSPLcom/android/server/display/config/HighBrightnessMode;->getAllowInLowPowerMode_all()Z -HSPLcom/android/server/display/config/HighBrightnessMode;->getEnabled()Z -HSPLcom/android/server/display/config/HighBrightnessMode;->getMinimumHdrPercentOfScreen_all()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/HighBrightnessMode;->getMinimumLux_all()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/HighBrightnessMode;->getRefreshRate_all()Lcom/android/server/display/config/RefreshRateRange; -HSPLcom/android/server/display/config/HighBrightnessMode;->getSdrHdrRatioMap_all()Lcom/android/server/display/config/SdrHdrRatioMap; -HSPLcom/android/server/display/config/HighBrightnessMode;->getTiming_all()Lcom/android/server/display/config/HbmTiming; -HSPLcom/android/server/display/config/HighBrightnessMode;->getTransitionPoint_all()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/HighBrightnessMode;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/HighBrightnessMode; -HSPLcom/android/server/display/config/HighBrightnessMode;->setAllowInLowPowerMode_all(Z)V -HSPLcom/android/server/display/config/HighBrightnessMode;->setEnabled(Z)V -HSPLcom/android/server/display/config/HighBrightnessMode;->setMinimumLux_all(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/HighBrightnessMode;->setTiming_all(Lcom/android/server/display/config/HbmTiming;)V -HSPLcom/android/server/display/config/HighBrightnessMode;->setTransitionPoint_all(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/NitsMap;-><init>()V -HSPLcom/android/server/display/config/NitsMap;->getInterpolation()Ljava/lang/String; -HSPLcom/android/server/display/config/NitsMap;->getPoint()Ljava/util/List; -HSPLcom/android/server/display/config/NitsMap;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/NitsMap; -HSPLcom/android/server/display/config/Point;-><init>()V -HSPLcom/android/server/display/config/Point;->getNits()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/Point;->getValue()Ljava/math/BigDecimal; -HSPLcom/android/server/display/config/Point;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/Point; -HSPLcom/android/server/display/config/Point;->setNits(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/Point;->setValue(Ljava/math/BigDecimal;)V -HSPLcom/android/server/display/config/SdrHdrRatioPoint;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/SdrHdrRatioPoint; -HSPLcom/android/server/display/config/ThermalStatus;->$values()[Lcom/android/server/display/config/ThermalStatus; -HSPLcom/android/server/display/config/ThermalStatus;-><clinit>()V -HSPLcom/android/server/display/config/ThermalStatus;-><init>(Ljava/lang/String;ILjava/lang/String;)V -HSPLcom/android/server/display/config/ThermalStatus;->fromString(Ljava/lang/String;)Lcom/android/server/display/config/ThermalStatus; -HSPLcom/android/server/display/config/ThermalStatus;->getRawName()Ljava/lang/String; -HSPLcom/android/server/display/config/ThermalStatus;->values()[Lcom/android/server/display/config/ThermalStatus; -HSPLcom/android/server/display/config/ThermalThrottling;-><init>()V -HSPLcom/android/server/display/config/ThermalThrottling;->getBrightnessThrottlingMap()Ljava/util/List; -HSPLcom/android/server/display/config/ThermalThrottling;->getRefreshRateThrottlingMap()Ljava/util/List; -HSPLcom/android/server/display/config/ThermalThrottling;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/ThermalThrottling; -HSPLcom/android/server/display/config/Thresholds;-><init>()V -HSPLcom/android/server/display/config/Thresholds;->getBrighteningThresholds()Lcom/android/server/display/config/BrightnessThresholds; -HSPLcom/android/server/display/config/Thresholds;->getDarkeningThresholds()Lcom/android/server/display/config/BrightnessThresholds; -HSPLcom/android/server/display/config/Thresholds;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/display/config/Thresholds; -HSPLcom/android/server/display/config/Thresholds;->setBrighteningThresholds(Lcom/android/server/display/config/BrightnessThresholds;)V -HSPLcom/android/server/display/config/Thresholds;->setDarkeningThresholds(Lcom/android/server/display/config/BrightnessThresholds;)V -HSPLcom/android/server/display/config/XmlParser;->read(Ljava/io/InputStream;)Lcom/android/server/display/config/DisplayConfiguration; -HSPLcom/android/server/display/config/XmlParser;->readText(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String; +HSPLcom/android/server/display/color/ReduceBrightColorsTintController;->getStrength()I HSPLcom/android/server/display/feature/DeviceConfigParameterProvider;-><init>(Landroid/provider/DeviceConfigInterface;)V +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 +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 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 @@ -4826,6 +4130,7 @@ HSPLcom/android/server/display/layout/Layout;->getById(I)Lcom/android/server/dis 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 +HSPLcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0;->onChanged()V HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;)V HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->findModeByIdLocked(II)Landroid/view/Display$Mode;+]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppPreferredRefreshRateRangeLocked(IFF)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage; @@ -4835,69 +4140,134 @@ HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$Exte HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda14;->call()Ljava/lang/Object; HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda15;->call()Ljava/lang/Object; -HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda4;->call()Ljava/lang/Object; +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda16;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda16;->call()Ljava/lang/Object; +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda17;-><init>(Lcom/android/server/display/DisplayDeviceConfig;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda17;->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 -HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->isDifferentZone(FF[F)Z +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V+]Landroid/os/Handler;Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;]Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener; +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->processSensorData(J)V+]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter; +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fgetmAmbientFilter(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)Lcom/android/server/display/utils/AmbientFilter; +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fgetmAmbientLux(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)F +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fgetmHandler(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)Landroid/os/Handler; +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$monBrightnessChangedLocked(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)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;)V -HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->getLightSensor()Landroid/hardware/Sensor; +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->getBrightness(I)F +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->hasValidHighZone()Z +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->hasValidLowZone()Z +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->isInsideLowZone(FF)Z +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 -HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onBrightnessChangedLocked()V +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onBrightnessChangedLocked()V+]Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage; HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onDisplayChanged(I)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 HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->updateBlockingZoneThresholds(Lcom/android/server/display/DisplayDeviceConfig;Z)V +HSPLcom/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 HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;-><init>(IZLandroid/view/SurfaceControl$RefreshRateRanges;Landroid/view/SurfaceControl$RefreshRateRanges;)V -HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->equals(Ljava/lang/Object;)Z +HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->copyFrom(Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;->equals(Ljava/lang/Object;)Z+]Landroid/view/SurfaceControl$RefreshRateRanges;Landroid/view/SurfaceControl$RefreshRateRanges; +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;->-$$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 HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/os/Looper;)V -HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;->handleMessage(Landroid/os/Message;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayModeDirectorHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecsListener;Lcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver;]Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;]Lcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;Lcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;]Lcom/android/server/display/mode/DisplayModeDirector$HbmObserver;Lcom/android/server/display/mode/DisplayModeDirector$HbmObserver; 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 +HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->getDisplayInfo(I)Landroid/view/DisplayInfo; +HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->onDisplayChanged(I)V HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->updateDisplayModes(ILandroid/view/DisplayInfo;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->updateLayoutLimitedFrameRate(ILandroid/view/DisplayInfo;)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 +HPLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;->onDisplayChanged(I)V HSPLcom/android/server/display/mode/DisplayModeDirector$HbmObserver;->setupHdrRefreshRates(Lcom/android/server/display/DisplayDeviceConfig;)V HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;-><init>(Landroid/content/Context;)V +HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getBrightnessInfo(I)Landroid/hardware/display/BrightnessInfo; HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDeviceConfig()Landroid/provider/DeviceConfigInterface; +HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplay(I)Landroid/view/Display; +HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplayInfo(ILandroid/view/DisplayInfo;)Z +HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplayManager()Landroid/hardware/display/DisplayManager; 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 +HSPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->onDisplayChanged(I)V HSPLcom/android/server/display/mode/DisplayModeDirector$SettingsObserver;-><init>(Lcom/android/server/display/mode/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;)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 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 +HSPLcom/android/server/display/mode/DisplayModeDirector$VoteSummary;-><init>()V+]Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary; HSPLcom/android/server/display/mode/DisplayModeDirector$VoteSummary;->reset()V -HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmDeviceConfigDisplaySettings(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySettings; +HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmConfigParameterProvider(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/feature/DeviceConfigParameterProvider; HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmLock(Lcom/android/server/display/mode/DisplayModeDirector;)Ljava/lang/Object; HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmSupportedModesByDisplay(Lcom/android/server/display/mode/DisplayModeDirector;)Landroid/util/SparseArray; +HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmVotesStorage(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/mode/VotesStorage; HSPLcom/android/server/display/mode/DisplayModeDirector;->defaultDisplayDeviceUpdated(Lcom/android/server/display/DisplayDeviceConfig;)V -HSPLcom/android/server/display/mode/DisplayModeDirector;->filterModes([Landroid/view/Display$Mode;Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;)Ljava/util/ArrayList; +HPLcom/android/server/display/mode/DisplayModeDirector;->disableModeSwitching(Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;F)V +HSPLcom/android/server/display/mode/DisplayModeDirector;->equalsWithinFloatTolerance(FF)Z +HSPLcom/android/server/display/mode/DisplayModeDirector;->filterModes([Landroid/view/Display$Mode;Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;)Ljava/util/ArrayList;+]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/display/mode/DisplayModeDirector;->getAppRequestObserver()Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver; -HSPLcom/android/server/display/mode/DisplayModeDirector;->getDesiredDisplayModeSpecs(I)Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs; +HSPLcom/android/server/display/mode/DisplayModeDirector;->getDesiredDisplayModeSpecs(I)Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage;]Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/display/mode/DisplayModeDirector;->getModeSwitchingType()I HSPLcom/android/server/display/mode/DisplayModeDirector;->isRenderRateAchievable(FLcom/android/server/display/mode/DisplayModeDirector$VoteSummary;)Z HSPLcom/android/server/display/mode/DisplayModeDirector;->notifyDesiredDisplayModeSpecsChangedLocked()V -HSPLcom/android/server/display/mode/DisplayModeDirector;->selectBaseMode(Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;Ljava/util/ArrayList;Landroid/view/Display$Mode;)Landroid/view/Display$Mode; +HSPLcom/android/server/display/mode/DisplayModeDirector;->selectBaseMode(Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;Ljava/util/ArrayList;Landroid/view/Display$Mode;)Landroid/view/Display$Mode;+]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/server/display/mode/DisplayModeDirector;->summarizeVotes(Landroid/util/SparseArray;IILcom/android/server/display/mode/DisplayModeDirector$VoteSummary;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary;Lcom/android/server/display/mode/DisplayModeDirector$VoteSummary; 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 +HSPLcom/android/server/display/mode/SkinThermalStatusObserver;->updateThermalRefreshRateThrottling(I)V +HSPLcom/android/server/display/mode/SkinThermalStatusObserver;->updateVoteForDisplay(I)V +HSPLcom/android/server/display/mode/Vote;->priorityToString(I)Ljava/lang/String; HSPLcom/android/server/display/mode/VotesStorage;-><init>(Lcom/android/server/display/mode/VotesStorage$Listener;)V +HSPLcom/android/server/display/mode/VotesStorage;->getMaxPhysicalRefreshRate(Lcom/android/server/display/mode/Vote;)I HSPLcom/android/server/display/mode/VotesStorage;->getVotes(I)Landroid/util/SparseArray;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/display/mode/VotesStorage;->updateVote(IILcom/android/server/display/mode/Vote;)V +HSPLcom/android/server/display/mode/VotesStorage;->updateGlobalVote(ILcom/android/server/display/mode/Vote;)V+]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage; +HSPLcom/android/server/display/mode/VotesStorage;->updateVote(IILcom/android/server/display/mode/Vote;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage;]Lcom/android/server/display/mode/VotesStorage$Listener;Lcom/android/server/display/mode/DisplayModeDirector$$ExternalSyntheticLambda0; HSPLcom/android/server/display/state/DisplayStateController;->shouldPerformScreenOffTransition()Z HSPLcom/android/server/display/state/DisplayStateController;->updateDisplayState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;ZZ)I HPLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;->antiderivative(F)F @@ -4907,8 +4277,9 @@ HPLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFi HPLcom/android/server/display/utils/AmbientFilter;->addValue(JF)Z+]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; HPLcom/android/server/display/utils/AmbientFilter;->getEstimate(J)F+]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter; HPLcom/android/server/display/utils/AmbientFilter;->truncateOldValues(J)V+]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; -HPLcom/android/server/display/utils/History;->add(F)V+]Ljava/time/Clock;Ljava/time/Clock$SystemClock; -HPLcom/android/server/display/utils/RollingBuffer;->add(JF)V +HSPLcom/android/server/display/utils/DeviceConfigParsingUtils;->ambientBrightnessThresholdsIntToFloat([I)[F +HSPLcom/android/server/display/utils/DeviceConfigParsingUtils;->displayBrightnessThresholdsIntToFloat([I)[F +HPLcom/android/server/display/utils/RollingBuffer;->add(JF)V+]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; HPLcom/android/server/display/utils/RollingBuffer;->getLatestIndexBefore(J)I+]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; HPLcom/android/server/display/utils/RollingBuffer;->getTime(I)J+]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; HPLcom/android/server/display/utils/RollingBuffer;->getValue(I)F @@ -4917,20 +4288,16 @@ HPLcom/android/server/display/utils/RollingBuffer;->offsetOf(I)I HPLcom/android/server/display/utils/RollingBuffer;->size()I HPLcom/android/server/display/utils/RollingBuffer;->truncate(J)V+]Lcom/android/server/display/utils/RollingBuffer;Lcom/android/server/display/utils/RollingBuffer; HSPLcom/android/server/display/utils/SensorUtils;->findSensor(Landroid/hardware/SensorManager;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/Sensor; -HPLcom/android/server/display/whitebalance/AmbientSensor$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V -HPLcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;->update(F)V+]Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor$Callbacks;Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController; -HPLcom/android/server/display/whitebalance/AmbientSensor;->-$$Nest$mhandleNewEvent(Lcom/android/server/display/whitebalance/AmbientSensor;F)V -HPLcom/android/server/display/whitebalance/AmbientSensor;->handleNewEvent(F)V+]Lcom/android/server/display/utils/History;Lcom/android/server/display/utils/History;]Lcom/android/server/display/whitebalance/AmbientSensor;Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;,Lcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor; -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceController;->onAmbientColorTemperatureChanged(F)V+]Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter; -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceController;->updateAmbientColorTemperature()V+]Landroid/util/Spline$LinearSpline;Landroid/util/Spline$LinearSpline;]Lcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;Lcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;]Lcom/android/server/display/utils/AmbientFilter;Lcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;]Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController$Callbacks;Lcom/android/server/display/DisplayPowerController2; -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceController;->updateDisplayColorTemperature()V -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;->throttle(F)Z+]Lcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;Lcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler; -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;->tooClose(F)Z -HPLcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;->tooSoon(F)Z +HPLcom/android/server/dreams/DreamController$DreamRecord;-><init>(Lcom/android/server/dreams/DreamController;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V +HPLcom/android/server/dreams/DreamController;->attach(Landroid/service/dreams/IDreamService;)V +HPLcom/android/server/dreams/DreamController;->startDream(Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;Landroid/content/ComponentName;Ljava/lang/String;)V HPLcom/android/server/dreams/DreamController;->stopDreamInstance(ZLjava/lang/String;Lcom/android/server/dreams/DreamController$DreamRecord;)V HSPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z HSPLcom/android/server/dreams/DreamManagerService;->-$$Nest$misDreamingInternal(Lcom/android/server/dreams/DreamManagerService;)Z+]Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService; HSPLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z +HPLcom/android/server/dreams/DreamManagerService;->startDozingInternal(Landroid/os/IBinder;II)V +HPLcom/android/server/dreams/DreamManagerService;->startDreamLocked(Landroid/content/ComponentName;ZZILjava/lang/String;)V +HPLcom/android/server/dreams/DreamManagerService;->stopDreamLocked(ZLjava/lang/String;)V 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 @@ -4979,50 +4346,35 @@ 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/gpu/GpuService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/gpu/GpuService;->onBootPhase(I)V -HSPLcom/android/server/gpu/GpuService;->onStart()V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionBackupHelper;-><clinit>()V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionBackupHelper;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Landroid/content/pm/PackageManager;)V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionManagerInternal;-><init>()V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;)V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl;-><init>(Lcom/android/server/grammaticalinflection/GrammaticalInflectionService;Lcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl-IA;)V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/grammaticalinflection/GrammaticalInflectionService;->onStart()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;-><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 HSPLcom/android/server/graphics/fonts/FontManagerService$Lifecycle$1;->getSerializedSystemFontMap()Landroid/os/SharedMemory; HSPLcom/android/server/graphics/fonts/FontManagerService;->getCurrentFontMap()Landroid/os/SharedMemory; -HSPLcom/android/server/health/HealthHalCallbackHidl;-><clinit>()V -HSPLcom/android/server/health/HealthHalCallbackHidl;-><init>(Lcom/android/server/health/HealthInfoCallback;)V -HSPLcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;)V -HSPLcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;Lcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback-IA;)V HSPLcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback;->healthInfoChanged(Landroid/hardware/health/HealthInfo;)V HSPLcom/android/server/health/HealthRegCallbackAidl;->-$$Nest$fgetmServiceInfoCallback(Lcom/android/server/health/HealthRegCallbackAidl;)Lcom/android/server/health/HealthInfoCallback; -HSPLcom/android/server/health/HealthRegCallbackAidl;-><init>(Lcom/android/server/health/HealthInfoCallback;)V -HSPLcom/android/server/health/HealthRegCallbackAidl;->onRegistration(Landroid/hardware/health/IHealth;Landroid/hardware/health/IHealth;)V -HSPLcom/android/server/health/HealthRegCallbackAidl;->registerCallback(Landroid/hardware/health/IHealth;Landroid/hardware/health/IHealthInfoCallback;)V -HSPLcom/android/server/health/HealthRegCallbackAidl;->unregisterCallback(Landroid/hardware/health/IHealth;Landroid/hardware/health/IHealthInfoCallback;)V -HSPLcom/android/server/health/HealthServiceWrapper$1;-><init>()V -HSPLcom/android/server/health/HealthServiceWrapper$2;-><init>()V -HSPLcom/android/server/health/HealthServiceWrapper$3;-><init>()V -HSPLcom/android/server/health/HealthServiceWrapper;-><init>()V -HSPLcom/android/server/health/HealthServiceWrapper;->create(Lcom/android/server/health/HealthInfoCallback;)Lcom/android/server/health/HealthServiceWrapper; -HSPLcom/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; -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;Landroid/os/IBinder;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;-><init>(Lcom/android/server/health/HealthServiceWrapperAidl;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;-><init>(Lcom/android/server/health/HealthServiceWrapperAidl;Lcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback-IA;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;->lambda$onRegistration$0(Landroid/os/IBinder;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback;->onRegistration(Ljava/lang/String;Landroid/os/IBinder;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;->registerForNotifications(Ljava/lang/String;Landroid/os/IServiceCallback;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;->waitForDeclaredService(Ljava/lang/String;)Landroid/hardware/health/IHealth; -HSPLcom/android/server/health/HealthServiceWrapperAidl;->-$$Nest$fgetmLastService(Lcom/android/server/health/HealthServiceWrapperAidl;)Ljava/util/concurrent/atomic/AtomicReference; -HSPLcom/android/server/health/HealthServiceWrapperAidl;-><clinit>()V -HSPLcom/android/server/health/HealthServiceWrapperAidl;-><init>(Lcom/android/server/health/HealthRegCallbackAidl;Lcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub;)V -HSPLcom/android/server/health/HealthServiceWrapperAidl;->getHandlerThread()Landroid/os/HandlerThread; +HPLcom/android/server/health/HealthServiceWrapperAidl;->getHealthInfo()Landroid/hardware/health/HealthInfo; HPLcom/android/server/health/HealthServiceWrapperAidl;->getProperty(ILandroid/os/BatteryProperty;)I+]Lcom/android/server/health/HealthServiceWrapperAidl;Lcom/android/server/health/HealthServiceWrapperAidl; HPLcom/android/server/health/HealthServiceWrapperAidl;->getPropertyInternal(ILandroid/os/BatteryProperty;)I+]Landroid/hardware/health/IHealth;Landroid/hardware/health/IHealth$Stub$Proxy;]Landroid/os/BatteryProperty;Landroid/os/BatteryProperty;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; HSPLcom/android/server/health/HealthServiceWrapperAidl;->traceBegin(Ljava/lang/String;)V HSPLcom/android/server/health/HealthServiceWrapperAidl;->traceEnd()V +HPLcom/android/server/health/HealthServiceWrapperHidl;->getProperty(ILandroid/os/BatteryProperty;)I HPLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageModified(Ljava/lang/String;)V HSPLcom/android/server/infra/AbstractMasterSystemService;->assertCalledByPackageOwner(Ljava/lang/String;)V HSPLcom/android/server/infra/AbstractMasterSystemService;->getServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService; @@ -5030,237 +4382,135 @@ HSPLcom/android/server/infra/AbstractMasterSystemService;->getServiceListForUser HPLcom/android/server/infra/AbstractMasterSystemService;->peekServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService; HPLcom/android/server/infra/AbstractMasterSystemService;->peekServiceListForUserLocked(I)Ljava/util/List; HPLcom/android/server/infra/AbstractMasterSystemService;->visitServicesLocked(Lcom/android/server/infra/AbstractMasterSystemService$Visitor;)V +HSPLcom/android/server/infra/AbstractPerUserSystemService;->getComponentNameLocked()Ljava/lang/String; HPLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponentName()Landroid/content/ComponentName;+]Landroid/content/pm/ServiceInfo;Landroid/content/pm/ServiceInfo; HSPLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->readServiceName(I)Ljava/lang/String; -HPLcom/android/server/infra/SecureSettingsServiceNameResolver;->parseColonDelimitedServiceNames(Ljava/lang/String;)[Ljava/lang/String; HSPLcom/android/server/infra/ServiceNameBaseResolver;->getDefaultServiceNameList(I)[Ljava/lang/String; HSPLcom/android/server/infra/ServiceNameBaseResolver;->getServiceNameList(I)[Ljava/lang/String; -HSPLcom/android/server/input/BatteryController$LocalBluetoothBatteryManager$1;-><init>(Lcom/android/server/input/BatteryController$LocalBluetoothBatteryManager;)V -HSPLcom/android/server/input/BatteryController$LocalBluetoothBatteryManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V -HSPLcom/android/server/input/BatteryController;-><clinit>()V +HSPLcom/android/server/infra/ServiceNameBaseResolver;->isTemporary(I)Z +HSPLcom/android/server/input/AmbientKeyboardBacklightController;->handleDisplayChange()V +HSPLcom/android/server/input/BatteryController$1;->onInputDeviceChanged(I)V HPLcom/android/server/input/BatteryController;->monitor()V -HSPLcom/android/server/input/InputManagerInternal;-><init>()V HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;-><init>()V HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;->reset()V -HSPLcom/android/server/input/InputManagerService$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/input/InputManagerService$Injector;->getLooper()Landroid/os/Looper; -HSPLcom/android/server/input/InputManagerService$Injector;->getNativeService(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/NativeInputManagerService; -HSPLcom/android/server/input/InputManagerService$Injector;->registerLocalService(Lcom/android/server/input/InputManagerInternal;)V -HSPLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;-><init>(Lcom/android/server/input/InputManagerService;ILandroid/hardware/input/IInputDevicesChangedListener;)V HSPLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->notifyInputDevicesChanged([I)V -HSPLcom/android/server/input/InputManagerService$InputManagerHandler;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Looper;)V HSPLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;)V -HSPLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService$LocalService-IA;)V -HSPLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V -HSPLcom/android/server/input/InputManagerService$LocalService;->setStylusButtonMotionEventsEnabled(Z)V -HSPLcom/android/server/input/InputManagerService;->-$$Nest$fgetmNative(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/NativeInputManagerService; -HSPLcom/android/server/input/InputManagerService;->-$$Nest$mdeliverInputDevicesChanged(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V -HSPLcom/android/server/input/InputManagerService;->-$$Nest$msetDisplayViewportsInternal(Lcom/android/server/input/InputManagerService;Ljava/util/List;)V +HPLcom/android/server/input/InputManagerService$LocalService;->notifyUserActivity()V +HPLcom/android/server/input/InputManagerService$LocalService;->setInteractive(Z)V +HPLcom/android/server/input/InputManagerService;->-$$Nest$fgetmKeyboardBacklightController(Lcom/android/server/input/InputManagerService;)Lcom/android/server/input/InputManagerService$KeyboardBacklightControllerInterface; HSPLcom/android/server/input/InputManagerService;-><clinit>()V -HSPLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/input/InputManagerService;-><init>(Lcom/android/server/input/InputManagerService$Injector;)V -HSPLcom/android/server/input/InputManagerService;->applyAdditionalDisplayInputProperties()V -HSPLcom/android/server/input/InputManagerService;->applyAdditionalDisplayInputPropertiesLocked(Lcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;)V -HSPLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z HSPLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V+]Landroid/view/InputDevice;Landroid/view/InputDevice;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;Lcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/input/InputManagerService;->flatten(Ljava/util/Map;)[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getDeviceTypeAssociations()[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I HSPLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getHoverTapSlop()I -HSPLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I -HSPLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice; -HSPLcom/android/server/input/InputManagerService;->getInputDeviceIds()[I -HSPLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice; -HSPLcom/android/server/input/InputManagerService;->getInputPortAssociations()[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getInputUniqueIdAssociations()[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I +HSPLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice;+]Landroid/view/InputDevice;Landroid/view/InputDevice; HSPLcom/android/server/input/InputManagerService;->getKeyboardLayoutAssociations()[Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getLongPressTimeout()I -HSPLcom/android/server/input/InputManagerService;->getScanCodeState(III)I -HSPLcom/android/server/input/InputManagerService;->getSwitchState(III)I HSPLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration; -HSPLcom/android/server/input/InputManagerService;->getVelocityTrackerStrategy()Ljava/lang/String; -HSPLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I HPLcom/android/server/input/InputManagerService;->hasKeys(II[I[Z)Z -HSPLcom/android/server/input/InputManagerService;->isInputDeviceEnabled(I)Z -HSPLcom/android/server/input/InputManagerService;->loadStaticInputPortAssociations()Ljava/util/Map; -HPLcom/android/server/input/InputManagerService;->monitor()V+]Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/NativeInputManagerService$NativeImpl;]Lcom/android/server/input/BatteryController;Lcom/android/server/input/BatteryController; -HSPLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;I)Landroid/view/InputChannel; -HSPLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V +HPLcom/android/server/input/InputManagerService;->monitor()V HSPLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V -HSPLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V -HSPLcom/android/server/input/InputManagerService;->registerLidSwitchCallbackInternal(Lcom/android/server/input/InputManagerInternal$LidSwitchCallback;)V +HPLcom/android/server/input/InputManagerService;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V+]Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;Lcom/android/server/wm/InputManagerCallback; HSPLcom/android/server/input/InputManagerService;->setDisplayViewportsInternal(Ljava/util/List;)V -HSPLcom/android/server/input/InputManagerService;->setFocusedDisplay(I)V -HSPLcom/android/server/input/InputManagerService;->setInTouchMode(ZIIZI)Z -HSPLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V -HSPLcom/android/server/input/InputManagerService;->start()V -HSPLcom/android/server/input/InputManagerService;->updatePointerDisplayIdLocked(I)Z -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/input/InputSettingsObserver;)V -HSPLcom/android/server/input/KeyRemapper;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;)V -HSPLcom/android/server/input/KeyboardBacklightController;-><clinit>()V +HSPLcom/android/server/input/KeyboardBacklightController$$ExternalSyntheticLambda2;->handleMessage(Landroid/os/Message;)Z +HSPLcom/android/server/input/KeyboardBacklightController;->getInputDevice(I)Landroid/view/InputDevice; +HSPLcom/android/server/input/KeyboardBacklightController;->getKeyboardBacklight(Landroid/view/InputDevice;)Landroid/hardware/lights/Light; +HSPLcom/android/server/input/KeyboardBacklightController;->handleMessage(Landroid/os/Message;)Z+]Lcom/android/server/input/KeyboardBacklightController;Lcom/android/server/input/KeyboardBacklightController;]Ljava/lang/Boolean;Ljava/lang/Boolean; HPLcom/android/server/input/KeyboardBacklightController;->handleUserActivity()V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/input/KeyboardLayoutManager;-><clinit>()V -HSPLcom/android/server/input/KeyboardLayoutManager;-><init>(Landroid/content/Context;Lcom/android/server/input/NativeInputManagerService;Lcom/android/server/input/PersistentDataStore;Landroid/os/Looper;)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 -HSPLcom/android/server/input/NativeInputManagerService$NativeImpl;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/MessageQueue;)V -HSPLcom/android/server/input/PersistentDataStore$Injector;-><init>()V -HSPLcom/android/server/input/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream; -HSPLcom/android/server/input/PersistentDataStore;-><init>()V -HSPLcom/android/server/input/PersistentDataStore;-><init>(Lcom/android/server/input/PersistentDataStore$Injector;)V -HSPLcom/android/server/input/PersistentDataStore;->clearState()V -HSPLcom/android/server/input/PersistentDataStore;->getInputDeviceState(Ljava/lang/String;)Lcom/android/server/input/PersistentDataStore$InputDeviceState; -HSPLcom/android/server/input/PersistentDataStore;->getTouchCalibration(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration; -HSPLcom/android/server/input/PersistentDataStore;->load()V -HSPLcom/android/server/input/PersistentDataStore;->loadIfNeeded()V +HPLcom/android/server/input/KeyboardBacklightController;->notifyUserActivity()V +HSPLcom/android/server/input/KeyboardBacklightController;->onInputDeviceChanged(I)V +HSPLcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLcom/android/server/input/KeyboardLayoutManager;->getInputDevice(I)Landroid/view/InputDevice; +HSPLcom/android/server/input/KeyboardLayoutManager;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;)V+]Lcom/android/server/input/KeyboardLayoutManager$KeyboardLayoutVisitor;Lcom/android/server/input/KeyboardLayoutManager$$ExternalSyntheticLambda4;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getAdditionalSubtypeFile(Ljava/io/File;)Landroid/util/AtomicFile; -HSPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getInputMethodDir(I)Ljava/io/File; -HSPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->load(Landroid/util/ArrayMap;I)V -HPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->loadFromFile(Landroid/util/ArrayMap;Landroid/util/AtomicFile;)V -HSPLcom/android/server/inputmethod/AutofillSuggestionsController;-><clinit>()V -HSPLcom/android/server/inputmethod/AutofillSuggestionsController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/DefaultImeVisibilityApplier;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/HandwritingModeController;-><clinit>()V -HSPLcom/android/server/inputmethod/HandwritingModeController;-><init>(Landroid/os/Looper;Ljava/lang/Runnable;)V -HSPLcom/android/server/inputmethod/ImePlatformCompatUtils;-><init>()V +HSPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->loadFromFile(Landroid/util/ArrayMap;Landroid/util/AtomicFile;)V +HPLcom/android/server/inputmethod/DefaultImeVisibilityApplier;->applyImeVisibility(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;II)V +HPLcom/android/server/inputmethod/IInputMethodInvoker;->startInput(Landroid/os/IBinder;Lcom/android/internal/inputmethod/IRemoteInputConnection;Landroid/view/inputmethod/EditorInfo;ZILandroid/window/ImeOnBackInvokedDispatcher;)V +HPLcom/android/server/inputmethod/ImeTrackerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/inputmethod/ImeTrackerService;Landroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fputmPhase(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;I)V HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;-><init>(Ljava/lang/String;IIIII)V -HSPLcom/android/server/inputmethod/ImeTrackerService$History;-><clinit>()V -HSPLcom/android/server/inputmethod/ImeTrackerService$History;-><init>()V -HSPLcom/android/server/inputmethod/ImeTrackerService$History;-><init>(Lcom/android/server/inputmethod/ImeTrackerService$History-IA;)V +HPLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$mgetEntry(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeTrackerService$History$Entry; +HPLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$msetFinished(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/view/inputmethod/ImeTracker$Token;II)V +HPLcom/android/server/inputmethod/ImeTrackerService$History;->addEntry(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)V +HPLcom/android/server/inputmethod/ImeTrackerService$History;->getEntry(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;+]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap; HPLcom/android/server/inputmethod/ImeTrackerService$History;->setFinished(Landroid/view/inputmethod/ImeTracker$Token;II)V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Landroid/view/inputmethod/ImeTracker$Token;Landroid/view/inputmethod/ImeTracker$Token; -HSPLcom/android/server/inputmethod/ImeTrackerService;-><init>(Landroid/os/Looper;)V +HPLcom/android/server/inputmethod/ImeTrackerService;->onProgress(Landroid/os/IBinder;I)V HPLcom/android/server/inputmethod/ImeTrackerService;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; -HSPLcom/android/server/inputmethod/ImeVisibilityStateComputer$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerInternal;)V -HSPLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy;-><init>()V -HSPLcom/android/server/inputmethod/ImeVisibilityStateComputer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/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 -HSPLcom/android/server/inputmethod/InputMethodBindingController$1;-><init>(Lcom/android/server/inputmethod/InputMethodBindingController;)V -HSPLcom/android/server/inputmethod/InputMethodBindingController$2;-><init>(Lcom/android/server/inputmethod/InputMethodBindingController;)V -HSPLcom/android/server/inputmethod/InputMethodBindingController;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodBindingController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodBindingController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;ILjava/util/concurrent/CountDownLatch;)V -HSPLcom/android/server/inputmethod/InputMethodDeviceConfigs$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/inputmethod/InputMethodDeviceConfigs;)V -HSPLcom/android/server/inputmethod/InputMethodDeviceConfigs;-><init>()V -HSPLcom/android/server/inputmethod/InputMethodManagerInternal$1;-><init>()V -HSPLcom/android/server/inputmethod/InputMethodManagerInternal;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodManagerInternal;-><init>()V -HSPLcom/android/server/inputmethod/InputMethodManagerService$2;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/hardware/input/InputManager;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$2;->onInputDeviceChanged(I)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$2;->remove(I)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$3;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer-IA;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onStart()V -HSPLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl-IA;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/Handler;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><init>()V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer$1;->onImeInputTargetVisibilityChanged(Landroid/os/IBinder;ZZ)V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;-><init>(IIZZZI)V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->computeImeDisplayId(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;I)I +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->computeState(Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;Z)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult; +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getOrCreateWindowState(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState; +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getWindowStateOrNull(Landroid/os/IBinder;)Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState; +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->getWindowTokenFrom(Landroid/os/IBinder;)Landroid/os/IBinder;+]Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/Iterator;Ljava/util/WeakHashMap$KeyIterator;]Ljava/util/Set;Ljava/util/WeakHashMap$KeySet; +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->requestImeVisibility(Landroid/os/IBinder;Z)V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->setWindowState(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;)V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->setWindowStateInner(Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeTargetWindowState;)V +HSPLcom/android/server/inputmethod/InputMethodBindingController;->getCurToken()Landroid/os/IBinder; +HSPLcom/android/server/inputmethod/InputMethodBindingController;->getSelectedMethodId()Ljava/lang/String; +HPLcom/android/server/inputmethod/InputMethodManagerInternal;->get()Lcom/android/server/inputmethod/InputMethodManagerInternal; +HPLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V +HPLcom/android/server/inputmethod/InputMethodManagerService$$ExternalSyntheticLambda7;->runOrThrow()V +HPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Landroid/view/inputmethod/EditorInfo;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>()V -HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory-IA;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->getEntrySize()I -HSPLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mpublishLocalService(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$mremoveStylusDeviceIdLocked(Lcom/android/server/inputmethod/InputMethodManagerService;I)V -HSPLcom/android/server/inputmethod/InputMethodManagerService;->-$$Nest$smisStylusDevice(Landroid/view/InputDevice;)Z -HSPLcom/android/server/inputmethod/InputMethodManagerService;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;Lcom/android/server/ServiceThread;Lcom/android/server/inputmethod/InputMethodBindingController;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->addEntry(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(ILandroid/os/IBinder;ILjava/lang/String;IZIILandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V +HSPLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/inputmethod/IInputMethodClient;Lcom/android/internal/inputmethod/IRemoteInputConnection;I)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->applyImeVisibility(Landroid/os/IBinder;Landroid/os/IBinder;ZLandroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->attachNewAccessibilityLocked(IZ)V HPLcom/android/server/inputmethod/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/inputmethod/InputBindResult; +HSPLcom/android/server/inputmethod/InputMethodManagerService;->buildInputMethodListLocked(Z)V HPLcom/android/server/inputmethod/InputMethodManagerService;->canCallerAccessInputMethod(Ljava/lang/String;IILcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->canInteractWithImeLocked(ILcom/android/internal/inputmethod/IInputMethodClient;Ljava/lang/String;Landroid/view/inputmethod/ImeTracker$Token;)Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->createStatsTokenForFocusedClient(ZII)Landroid/view/inputmethod/ImeTracker$Token; HSPLcom/android/server/inputmethod/InputMethodManagerService;->filterInputMethodServices(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;Ljava/util/List;Landroid/content/Context;Ljava/util/List;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->getCurIdLocked()Ljava/lang/String; +HSPLcom/android/server/inputmethod/InputMethodManagerService;->getCurMethodLocked()Lcom/android/server/inputmethod/IInputMethodInvoker; +HSPLcom/android/server/inputmethod/InputMethodManagerService;->getCurTokenLocked()Landroid/os/IBinder;+]Lcom/android/server/inputmethod/InputMethodBindingController;Lcom/android/server/inputmethod/InputMethodBindingController; HPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List; HPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(II)Ljava/util/List; -HSPLcom/android/server/inputmethod/InputMethodManagerService;->getStylusInputDeviceIds(Landroid/hardware/input/InputManager;)Landroid/util/IntArray; +HPLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodList(II)Ljava/util/List; +HPLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodListLocked(III)Ljava/util/List; +HPLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodNavButtonFlagsLocked()I +HSPLcom/android/server/inputmethod/InputMethodManagerService;->getSelectedMethodIdLocked()Ljava/lang/String; +HSPLcom/android/server/inputmethod/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z HPLcom/android/server/inputmethod/InputMethodManagerService;->hideCurrentInputLocked(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;ILandroid/os/ResultReceiver;I)Z -HSPLcom/android/server/inputmethod/InputMethodManagerService;->isStylusDevice(Landroid/view/InputDevice;)Z -HSPLcom/android/server/inputmethod/InputMethodManagerService;->publishLocalService()V +HPLcom/android/server/inputmethod/InputMethodManagerService;->hideSoftInput(Lcom/android/internal/inputmethod/IInputMethodClient;Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;ILandroid/os/ResultReceiver;I)Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->isSelectedMethodBoundLocked()Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->isShowRequestedForCurrentWindow()Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->lambda$reportPerceptibleAsync$5(Landroid/os/IBinder;Z)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->onShowHideSoftInputRequested(ZLandroid/os/IBinder;ILandroid/view/inputmethod/ImeTracker$Token;)V HSPLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodServicesInternal(Landroid/content/Context;ILandroid/util/ArrayMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;ILjava/util/List;)V HPLcom/android/server/inputmethod/InputMethodManagerService;->queryMethodMapForUser(I)Landroid/util/ArrayMap; -HSPLcom/android/server/inputmethod/InputMethodManagerService;->registerDeviceListenerAndCheckStylusSupport()V -HSPLcom/android/server/inputmethod/InputMethodManagerService;->removeStylusDeviceIdLocked(I)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->reportStartInput(Landroid/os/IBinder;Landroid/os/IBinder;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionForAccessibilityLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionForAccessibilityLocked(Landroid/util/SparseArray;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->setImeWindowStatus(Landroid/os/IBinder;II)V HPLcom/android/server/inputmethod/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z+]Landroid/view/inputmethod/InputMethodSubtype;Landroid/view/inputmethod/InputMethodSubtype;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/wm/WindowManagerService$LocalService;]Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;]Lcom/android/server/inputmethod/InputMethodMenuController;Lcom/android/server/inputmethod/InputMethodMenuController; +HPLcom/android/server/inputmethod/InputMethodManagerService;->showCurrentInputLocked(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;IILandroid/os/ResultReceiver;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/internal/inputmethod/InputBindResult; HPLcom/android/server/inputmethod/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Lcom/android/internal/inputmethod/IRemoteInputConnection;Lcom/android/internal/inputmethod/IRemoteAccessibilityInputConnection;Landroid/view/inputmethod/EditorInfo;IIILandroid/window/ImeOnBackInvokedDispatcher;)Lcom/android/internal/inputmethod/InputBindResult; -HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateCurrentProfileIds()V +HSPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V -HSPLcom/android/server/inputmethod/InputMethodMenuController;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodMenuController;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;-><init>(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl; -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List; -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList-IA;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)V HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;->getSortedInputMethodAndSubtypeList(ZZZ)Ljava/util/List;+]Landroid/view/inputmethod/InputMethodSubtype;Landroid/view/inputmethod/InputMethodSubtype;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;]Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodInfo;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;-><init>(Ljava/util/List;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><clinit>()V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><init>(Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Landroid/content/Context;)V -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->createInstanceLocked(Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Landroid/content/Context;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController; -HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->resetCircularListLocked(Landroid/content/Context;)V -HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><clinit>()V HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/Context;Landroid/util/ArrayMap;IZ)V HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;Ljava/util/function/Predicate;)Ljava/util/ArrayList; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getCurrentUserId()I -HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListLocked()Ljava/util/ArrayList; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListWithFilterLocked(Ljava/util/function/Predicate;)Ljava/util/ArrayList; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodNames()Ljava/util/List; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/view/inputmethod/InputMethodSubtype;Landroid/view/inputmethod/InputMethodSubtype;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;]Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodInfo;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsAndSubtypeListLocked()Ljava/util/List; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getStringForUser(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String; HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->initContentWithUserContext(Landroid/content/Context;I)V -HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->setCurrentProfileIds([I)V HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->switchCurrentUser(IZ)V HPLcom/android/server/inputmethod/InputMethodUtils;->resolveUserId(IILjava/io/PrintWriter;)[I HSPLcom/android/server/inputmethod/SubtypeUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList; -HSPLcom/android/server/inputmethod/SubtypeUtils;->getImplicitlyApplicableSubtypesLockedImpl(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList; -HSPLcom/android/server/integrity/AppIntegrityManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/integrity/AppIntegrityManagerService;->onStart()V -HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl$1;-><init>(Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;)V -HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><clinit>()V -HSPLcom/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 -HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->create(Landroid/content/Context;)Lcom/android/server/integrity/AppIntegrityManagerServiceImpl; -HSPLcom/android/server/integrity/IntegrityFileManager;-><clinit>()V -HSPLcom/android/server/integrity/IntegrityFileManager;-><init>()V -HSPLcom/android/server/integrity/IntegrityFileManager;-><init>(Lcom/android/server/integrity/parser/RuleParser;Lcom/android/server/integrity/serializer/RuleSerializer;Ljava/io/File;)V -HSPLcom/android/server/integrity/IntegrityFileManager;->getInstance()Lcom/android/server/integrity/IntegrityFileManager; -HSPLcom/android/server/integrity/IntegrityFileManager;->updateRuleIndexingController()V -HSPLcom/android/server/integrity/engine/RuleEvaluationEngine;-><init>(Lcom/android/server/integrity/IntegrityFileManager;)V -HSPLcom/android/server/integrity/engine/RuleEvaluationEngine;->getRuleEvaluationEngine()Lcom/android/server/integrity/engine/RuleEvaluationEngine; -HSPLcom/android/server/integrity/model/BitInputStream;-><init>(Ljava/io/InputStream;)V HSPLcom/android/server/integrity/model/BitInputStream;->getNext(I)I+]Lcom/android/server/integrity/model/BitInputStream;Lcom/android/server/integrity/model/BitInputStream; -HSPLcom/android/server/integrity/model/BitInputStream;->getNextByte()B -HSPLcom/android/server/integrity/model/BitInputStream;->hasNext()Z -HSPLcom/android/server/integrity/model/RuleMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/integrity/parser/BinaryFileOperations;->getIntValue(Lcom/android/server/integrity/model/BitInputStream;)I -HSPLcom/android/server/integrity/parser/BinaryFileOperations;->getStringValue(Lcom/android/server/integrity/model/BitInputStream;)Ljava/lang/String; -HSPLcom/android/server/integrity/parser/BinaryFileOperations;->getStringValue(Lcom/android/server/integrity/model/BitInputStream;IZ)Ljava/lang/String; -HSPLcom/android/server/integrity/parser/RuleBinaryParser;-><init>()V -HSPLcom/android/server/integrity/parser/RuleIndexingController;-><init>(Ljava/io/InputStream;)V -HSPLcom/android/server/integrity/parser/RuleIndexingController;->getNextIndexGroup(Lcom/android/server/integrity/model/BitInputStream;)Ljava/util/LinkedHashMap; -HSPLcom/android/server/integrity/parser/RuleMetadataParser;->parse(Ljava/io/InputStream;)Lcom/android/server/integrity/model/RuleMetadata; -HSPLcom/android/server/integrity/serializer/RuleBinarySerializer;-><init>()V HPLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V HPLcom/android/server/job/JobConcurrencyManager$$ExternalSyntheticLambda2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HPLcom/android/server/job/JobConcurrencyManager$AssignmentInfo;->clear()V @@ -5291,35 +4541,34 @@ HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->stageJob(II)V HPLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMax(I)I HPLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMaxTotal()I HPLcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;->getMinReserved(I)I -HPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalLocked()V+]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; -HPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsLocked()V+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalLocked()V+]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsLocked()V+]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/android/server/job/JobConcurrencyManager;->carryOutAssignmentChangesLocked(Landroid/util/ArraySet;)V+]Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; 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+]Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; 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+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; HPLcom/android/server/job/JobConcurrencyManager;->getJobWorkTypes(Lcom/android/server/job/controllers/JobStatus;)I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/android/server/job/JobConcurrencyManager;->getPkgStatsLocked(ILjava/lang/String;)Lcom/android/server/job/JobConcurrencyManager$PackageStats;+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool; -HPLcom/android/server/job/JobConcurrencyManager;->getRunningJobsLocked()Landroid/util/ArraySet; +HSPLcom/android/server/job/JobConcurrencyManager;->getRunningJobsLocked()Landroid/util/ArraySet; HPLcom/android/server/job/JobConcurrencyManager;->hasImmediacyPrivilegeLocked(Lcom/android/server/job/controllers/JobStatus;Landroid/util/SparseIntArray;)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; -HPLcom/android/server/job/JobConcurrencyManager;->isJobRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/JobConcurrencyManager;->isJobRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/JobConcurrencyManager;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z -HPLcom/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+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/JobConcurrencyManager;->lambda$static$0(Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;Lcom/android/server/job/JobConcurrencyManager$ContextAssignment;)I+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobConcurrencyManager;->noteConcurrency(Z)V+]Lcom/android/modules/expresslog/Histogram;Lcom/android/modules/expresslog/Histogram;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; +HSPLcom/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+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; -HPLcom/android/server/job/JobConcurrencyManager;->prepareForAssignmentDeterminationLocked(Landroid/util/ArraySet;Ljava/util/List;Ljava/util/List;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; +HPLcom/android/server/job/JobConcurrencyManager;->prepareForAssignmentDeterminationLocked(Landroid/util/ArraySet;Ljava/util/List;Ljava/util/List;Lcom/android/server/job/JobConcurrencyManager$AssignmentInfo;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/job/JobConcurrencyManager;->refreshSystemStateLocked()Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/internal/util/jobs/StatLogger;Lcom/android/internal/util/jobs/StatLogger;]Landroid/app/IActivityManager;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/job/JobConcurrencyManager;->shouldRunAsFgUserJob(Lcom/android/server/job/controllers/JobStatus;)Z -HPLcom/android/server/job/JobConcurrencyManager;->shouldStopRunningJobLocked(Lcom/android/server/job/JobServiceContext;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; -HPLcom/android/server/job/JobConcurrencyManager;->startJobLocked(Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/controllers/JobStatus;I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; -HPLcom/android/server/job/JobConcurrencyManager;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;IILjava/lang/String;)Z +HPLcom/android/server/job/JobConcurrencyManager;->shouldStopRunningJobLocked(Lcom/android/server/job/JobServiceContext;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; +HPLcom/android/server/job/JobConcurrencyManager;->startJobLocked(Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/controllers/JobStatus;I)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/job/JobConcurrencyManager;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;IILjava/lang/String;)Z+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobConcurrencyManager;->updateCounterConfigLocked()V+]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/android/server/job/JobConcurrencyManager;->updateNonRunningPrioritiesLocked(Lcom/android/server/job/PendingJobQueue;Z)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; HPLcom/android/server/job/JobNotificationCoordinator;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z -HPLcom/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 -HSPLcom/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;->decActiveTop(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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/job/JobPackageTracker$DataSet;->getOrCreateEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -5341,91 +4590,92 @@ HSPLcom/android/server/job/JobSchedulerService$2;->millis()J HPLcom/android/server/job/JobSchedulerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/job/JobSchedulerService$4;->onUidActive(I)V HSPLcom/android/server/job/JobSchedulerService$4;->onUidStateChanged(IIJI)V+]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Landroid/os/Message;Landroid/os/Message; -HPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isBatteryNotLow()Z -HPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isCharging()Z +HSPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isBatteryNotLow()Z +HSPLcom/android/server/job/JobSchedulerService$BatteryStateTracker;->isCharging()Z HSPLcom/android/server/job/JobSchedulerService$JobHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs; HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->canPersistJobs(II)Z HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancel(Ljava/lang/String;I)V -HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(IILandroid/app/job/JobInfo;)V +HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(IILandroid/app/job/JobInfo;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/SystemService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; 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;->getAllPendingJobsInNamespace(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;Lcom/android/server/job/JobSchedulerService$JobSchedulerStub; HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getPendingJob(Ljava/lang/String;I)Landroid/app/job/JobInfo; -HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Ljava/lang/String;Landroid/app/job/JobInfo;)I +HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Ljava/lang/String;Landroid/app/job/JobInfo;)I+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;Lcom/android/server/job/JobSchedulerService$JobSchedulerStub; HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->scheduleAsPackage(Ljava/lang/String;Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I -HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJob(Landroid/app/job/JobInfo;IIILjava/lang/String;Landroid/app/job/JobWorkItem;)I +HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJob(Landroid/app/job/JobInfo;IIILjava/lang/String;Landroid/app/job/JobWorkItem;)I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/app/job/JobWorkItem;Landroid/app/job/JobWorkItem; HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateNamespace(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; -HPLcom/android/server/job/JobSchedulerService$LocalService;->isAppConsideredBuggy(ILjava/lang/String;ILjava/lang/String;)Z+]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; +HSPLcom/android/server/job/JobSchedulerService$LocalService;->isAppConsideredBuggy(ILjava/lang/String;ILjava/lang/String;)Z+]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; HPLcom/android/server/job/JobSchedulerService$LocalService;->isNotificationAssociatedWithAnyUserInitiatedJobs(IILjava/lang/String;)Z -HPLcom/android/server/job/JobSchedulerService$LocalService;->isNotificationChannelAssociatedWithAnyUserInitiatedJobs(Ljava/lang/String;ILjava/lang/String;)Z -HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Ljava/time/Clock$SystemClock;,Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/PrefetchController;Lcom/android/server/job/controllers/PrefetchController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; -HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor; -HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcessLocked()V +HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Ljava/time/Clock$SystemClock;,Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/PrefetchController;Lcom/android/server/job/controllers/PrefetchController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor; +HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcessLocked()V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->reset()V HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;Lcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor; -HPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onUserInteractionStarted(Ljava/lang/String;I)V -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; +HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->postProcessLocked()V +HSPLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmPendingJobQueue(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/PendingJobQueue; +HSPLcom/android/server/job/JobSchedulerService;->-$$Nest$fgetmQuotaTracker(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/utils/quota/CountQuotaTracker; HPLcom/android/server/job/JobSchedulerService;->-$$Nest$mcancelJob(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;III)Z HSPLcom/android/server/job/JobSchedulerService;->-$$Nest$mgetPendingJob(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;I)Landroid/app/job/JobInfo; HPLcom/android/server/job/JobSchedulerService;->-$$Nest$mgetPendingJobsInNamespace(Lcom/android/server/job/JobSchedulerService;ILjava/lang/String;)Ljava/util/List; HPLcom/android/server/job/JobSchedulerService;->-$$Nest$mhasPermission(Lcom/android/server/job/JobSchedulerService;IILjava/lang/String;)Z HPLcom/android/server/job/JobSchedulerService;->adjustJobBias(ILcom/android/server/job/controllers/JobStatus;)I+]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker; -HPLcom/android/server/job/JobSchedulerService;->areComponentsInPlaceLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; -HPLcom/android/server/job/JobSchedulerService;->areUsersStartedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/JobSchedulerService;->areComponentsInPlaceLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; +HSPLcom/android/server/job/JobSchedulerService;->areUsersStartedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; 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 -HPLcom/android/server/job/JobSchedulerService;->checkChangedJobListLocked()V +HPLcom/android/server/job/JobSchedulerService;->checkChangedJobListLocked()V+]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/JobSchedulerService;->checkIfRestricted(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/restrictions/JobRestriction;+]Lcom/android/server/job/restrictions/JobRestriction;Lcom/android/server/job/restrictions/ThermalStatusRestriction;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/JobSchedulerService;->clearPendingJobQueue()V -HPLcom/android/server/job/JobSchedulerService;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;+]Lcom/android/server/SystemService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/JobSchedulerService;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;+]Lcom/android/server/SystemService;Lcom/android/server/job/JobSchedulerService; +HPLcom/android/server/job/JobSchedulerService;->dumpInternalProto(Ljava/io/FileDescriptor;I)V HSPLcom/android/server/job/JobSchedulerService;->evaluateControllerStatesLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/job/JobSchedulerService;->evaluateJobBiasLocked(Lcom/android/server/job/controllers/JobStatus;)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HSPLcom/android/server/job/JobSchedulerService;->getJobStore()Lcom/android/server/job/JobStore; HPLcom/android/server/job/JobSchedulerService;->getMaxJobExecutionTimeMs(Lcom/android/server/job/controllers/JobStatus;)J+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; HPLcom/android/server/job/JobSchedulerService;->getMinJobExecutionGuaranteeMs(Lcom/android/server/job/controllers/JobStatus;)J+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/JobSchedulerService;->getPackagesForUidLocked(I)Landroid/util/ArraySet; +HSPLcom/android/server/job/JobSchedulerService;->getPackagesForUidLocked(I)Landroid/util/ArraySet;+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; HSPLcom/android/server/job/JobSchedulerService;->getPendingJob(ILjava/lang/String;I)Landroid/app/job/JobInfo;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; -HPLcom/android/server/job/JobSchedulerService;->getPendingJobQueue()Lcom/android/server/job/PendingJobQueue; +HSPLcom/android/server/job/JobSchedulerService;->getPendingJobQueue()Lcom/android/server/job/PendingJobQueue; HPLcom/android/server/job/JobSchedulerService;->getPendingJobsInNamespace(ILjava/lang/String;)Ljava/util/List;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/job/JobSchedulerService;->getRescheduleJobForFailureLocked(Lcom/android/server/job/controllers/JobStatus;II)Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/JobSchedulerService;->getRescheduleJobForPeriodic(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/JobSchedulerService;->getUidBias(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HSPLcom/android/server/job/JobSchedulerService;->getUidBias(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HPLcom/android/server/job/JobSchedulerService;->getUidCapabilities(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/job/JobSchedulerService;->getUidProcState(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/job/JobSchedulerService;->hasPermission(IILjava/lang/String;)Z -HPLcom/android/server/job/JobSchedulerService;->isBatteryCharging()Z+]Lcom/android/server/job/JobSchedulerService$BatteryStateTracker;Lcom/android/server/job/JobSchedulerService$BatteryStateTracker; -HPLcom/android/server/job/JobSchedulerService;->isBatteryNotLow()Z +HSPLcom/android/server/job/JobSchedulerService;->isBatteryCharging()Z+]Lcom/android/server/job/JobSchedulerService$BatteryStateTracker;Lcom/android/server/job/JobSchedulerService$BatteryStateTracker; +HSPLcom/android/server/job/JobSchedulerService;->isBatteryNotLow()Z+]Lcom/android/server/job/JobSchedulerService$BatteryStateTracker;Lcom/android/server/job/JobSchedulerService$BatteryStateTracker; HPLcom/android/server/job/JobSchedulerService;->isComponentUsable(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; -HPLcom/android/server/job/JobSchedulerService;->isCurrentlyRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobSchedulerService;->isCurrentlyRunningLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;Z)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/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 +HSPLcom/android/server/job/JobSchedulerService;->lambda$new$2(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/Category; +HSPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$4(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/JobSchedulerService;->maybeProcessBuggyJob(Lcom/android/server/job/controllers/JobStatus;I)V -HPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/android/server/job/JobSchedulerService;->noteJobPending(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/JobSchedulerService;->noteJobsPending(Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged(Landroid/util/ArraySet;)V+]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Landroid/os/Message;Landroid/os/Message;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged(Landroid/util/ArraySet;)V+]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Landroid/os/Message;Landroid/os/Message;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/JobSchedulerService;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;IIZ)V -HPLcom/android/server/job/JobSchedulerService;->onRestrictedBucketChanged(Ljava/util/List;)V+]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/job/controllers/RestrictingController;Lcom/android/server/job/controllers/IdleController;,Lcom/android/server/job/controllers/BatteryController;,Lcom/android/server/job/controllers/ConnectivityController;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/job/JobSchedulerService;->queueReadyJobsForExecutionLocked()V -HPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HSPLcom/android/server/job/JobSchedulerService;->resetPendingJobReasonCache(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; -HSPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I +HSPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/modules/expresslog/Histogram;Lcom/android/modules/expresslog/Histogram;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/app/job/JobWorkItem;Landroid/app/job/JobWorkItem;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; HSPLcom/android/server/job/JobSchedulerService;->standbyBucketForPackage(Ljava/lang/String;IJ)I+]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HSPLcom/android/server/job/JobSchedulerService;->standbyBucketToBucketIndex(I)I HSPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; HPLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; -HPLcom/android/server/job/JobSchedulerService;->updateUidState(III)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; +HSPLcom/android/server/job/JobSchedulerService;->updateUidState(III)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/controllers/StateController;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; HPLcom/android/server/job/JobServiceContext$JobCallback;-><init>(Lcom/android/server/job/JobServiceContext;)V HPLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStartMessage(IZ)V +HPLcom/android/server/job/JobServiceContext$JobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem; HPLcom/android/server/job/JobServiceContext$JobCallback;->jobFinished(IZ)V -HPLcom/android/server/job/JobServiceContext;->applyStoppedReasonLocked(Ljava/lang/String;)V -HPLcom/android/server/job/JobServiceContext;->canGetNetworkInformation(Lcom/android/server/job/controllers/JobStatus;)Z +HPLcom/android/server/job/JobServiceContext;->applyStoppedReasonLocked(Ljava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; +HPLcom/android/server/job/JobServiceContext;->canGetNetworkInformation(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; +HPLcom/android/server/job/JobServiceContext;->clearPreferredUid()V HPLcom/android/server/job/JobServiceContext;->closeAndCleanupJobLocked(ZLjava/lang/String;)V HPLcom/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;->doCallback(Lcom/android/server/job/JobServiceContext$JobCallback;ZLjava/lang/String;)V+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->doCallbackLocked(ZLjava/lang/String;)V+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->doCancelLocked(IILjava/lang/String;)V HPLcom/android/server/job/JobServiceContext;->doCompleteWork(Lcom/android/server/job/JobServiceContext$JobCallback;II)Z @@ -5451,11 +4701,10 @@ HPLcom/android/server/job/JobServiceContext;->removeOpTimeOutLocked()V+]Landroid HPLcom/android/server/job/JobServiceContext;->scheduleOpTimeOutLocked()V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/os/Handler;Lcom/android/server/job/JobServiceContext$JobServiceHandler;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->sendStopMessageLocked(Ljava/lang/String;)V HPLcom/android/server/job/JobServiceContext;->verifyCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)Z -HSPLcom/android/server/job/JobStore$1;->run()V HPLcom/android/server/job/JobStore$2$CopyConsumer;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/job/JobStore$2$CopyConsumer;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/JobStore$2$CopyConsumer;Lcom/android/server/job/JobStore$2$CopyConsumer; HPLcom/android/server/job/JobStore$2$CopyConsumer;->prepare()V -HPLcom/android/server/job/JobStore$2;->addAttributesToJobTag(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/content/ComponentName;Landroid/content/ComponentName; +HPLcom/android/server/job/JobStore$2;->addAttributesToJobTag(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/job/JobStore$2;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;+]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;]Lcom/android/server/job/JobStore$2;Lcom/android/server/job/JobStore$2;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; HPLcom/android/server/job/JobStore$2;->run()V HPLcom/android/server/job/JobStore$2;->writeBundleToXml(Landroid/os/PersistableBundle;Lorg/xmlpull/v1/XmlSerializer;)V @@ -5464,27 +4713,25 @@ HPLcom/android/server/job/JobStore$2;->writeExecutionCriteriaToXml(Lorg/xmlpull/ HPLcom/android/server/job/JobStore$2;->writeJobWorkItemListToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/List;)V HPLcom/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+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobStore$2;Lcom/android/server/job/JobStore$2;]Landroid/util/SystemConfigFileCommitEventLogger;Landroid/util/SystemConfigFileCommitEventLogger;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream; -HSPLcom/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+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/JobStore$JobSet;->add(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/JobStore$JobSet;->contains(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/job/JobStore$JobSet;->countJobsForUid(I)I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/function/Predicate;Lcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda1;,Lcom/android/server/job/controllers/DeviceIdleJobsController$$ExternalSyntheticLambda2;,Lcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda0;,Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda6;,Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda5; +HSPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/function/Predicate;Lcom/android/server/job/controllers/DeviceIdleJobsController$$ExternalSyntheticLambda2;,Lcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda0;,Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda6;,Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda5;,Lcom/android/server/job/controllers/ComponentController$$ExternalSyntheticLambda1; HSPLcom/android/server/job/JobStore$JobSet;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;Lcom/android/server/job/JobSchedulerService$DeferredJobCounter;,Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;,Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;,Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor; HSPLcom/android/server/job/JobStore$JobSet;->get(ILjava/lang/String;I)Lcom/android/server/job/controllers/JobStatus;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/job/JobStore$JobSet;->getJobsByUid(I)Landroid/util/ArraySet; HSPLcom/android/server/job/JobStore$JobSet;->getJobsByUid(ILjava/util/Set;)V HPLcom/android/server/job/JobStore$JobSet;->remove(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/job/JobStore$JobSet;->size()I -HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildBuilderFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/app/job/JobInfo$Builder; HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildConstraintsFromXml(Landroid/app/job/JobInfo$Builder;Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->restoreJobFromXml(ZLcom/android/modules/utils/TypedXmlPullParser;IJ)Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/JobStore;->-$$Nest$fgetmPendingJobWriteUids(Lcom/android/server/job/JobStore;)Landroid/util/SparseBooleanArray; HSPLcom/android/server/job/JobStore;->-$$Nest$fgetmUseSplitFiles(Lcom/android/server/job/JobStore;)Z HSPLcom/android/server/job/JobStore;->-$$Nest$sfgetDEBUG()Z -HSPLcom/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+]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet; +HSPLcom/android/server/job/JobStore;->add(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; +HSPLcom/android/server/job/JobStore;->containsJob(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet; HSPLcom/android/server/job/JobStore;->convertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair; -HSPLcom/android/server/job/JobStore;->countJobsForUid(I)I -HPLcom/android/server/job/JobStore;->forEachJob(Ljava/util/function/Consumer;)V +HSPLcom/android/server/job/JobStore;->countJobsForUid(I)I+]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet; +HSPLcom/android/server/job/JobStore;->forEachJob(Ljava/util/function/Consumer;)V HSPLcom/android/server/job/JobStore;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V+]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet; HSPLcom/android/server/job/JobStore;->getJobByUidAndJobId(ILjava/lang/String;I)Lcom/android/server/job/controllers/JobStatus;+]Lcom/android/server/job/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet; HSPLcom/android/server/job/JobStore;->getJobsByUid(I)Landroid/util/ArraySet; @@ -5509,65 +4756,63 @@ HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->resetIterator(J)V HPLcom/android/server/job/PendingJobQueue$AppJobQueue;->size()I HPLcom/android/server/job/PendingJobQueue;->add(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/PendingJobQueue;->addAll(Ljava/util/List;)V+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; -HPLcom/android/server/job/PendingJobQueue;->clear()V +HSPLcom/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;+]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/job/PendingJobQueue;->getAppJobQueue(IZ)Lcom/android/server/job/PendingJobQueue$AppJobQueue;+]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/job/PendingJobQueue;->lambda$new$0(Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;)I+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue; -HPLcom/android/server/job/PendingJobQueue;->next()Lcom/android/server/job/controllers/JobStatus;+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; -HPLcom/android/server/job/PendingJobQueue;->remove(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; -HPLcom/android/server/job/PendingJobQueue;->size()I -HPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateAllJobs()V +HSPLcom/android/server/job/PendingJobQueue;->next()Lcom/android/server/job/controllers/JobStatus;+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HSPLcom/android/server/job/PendingJobQueue;->remove(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/PendingJobQueue$AppJobQueue;Lcom/android/server/job/PendingJobQueue$AppJobQueue;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool;]Lcom/android/server/job/PendingJobQueue;Lcom/android/server/job/PendingJobQueue;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HSPLcom/android/server/job/PendingJobQueue;->size()I +HSPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateAllJobs()V HSPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateJobsForUid(IZ)V -HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; -HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor; +HSPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; +HSPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor; HSPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->prepare(I)V -HSPLcom/android/server/job/controllers/BackgroundJobsController;->-$$Nest$mupdateJobRestrictionsForUidLocked(Lcom/android/server/job/controllers/BackgroundJobsController;IZ)V HSPLcom/android/server/job/controllers/BackgroundJobsController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; -HPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; HSPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V -HPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;JI)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; -HPLcom/android/server/job/controllers/BatteryController;->hasTopExemptionLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;JI)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/AppStateTrackerImpl;Lcom/android/server/AppStateTrackerImpl;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; +HSPLcom/android/server/job/controllers/BatteryController;->hasTopExemptionLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/BatteryController;->maybeReportNewChargingStateLocked()V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/BatteryController;Lcom/android/server/job/controllers/BatteryController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/BatteryController;]Lcom/android/server/job/controllers/FlexibilityController;Lcom/android/server/job/controllers/FlexibilityController;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/BatteryController$PowerTracker;Lcom/android/server/job/controllers/BatteryController$PowerTracker; -HPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/BatteryController;Lcom/android/server/job/controllers/BatteryController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/BatteryController$PowerTracker;Lcom/android/server/job/controllers/BatteryController$PowerTracker; +HSPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/BatteryController;Lcom/android/server/job/controllers/BatteryController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/BatteryController$PowerTracker;Lcom/android/server/job/controllers/BatteryController$PowerTracker; HPLcom/android/server/job/controllers/BatteryController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/BatteryController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/controllers/ComponentController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HPLcom/android/server/job/controllers/ComponentController;->clearComponentsForPackageLocked(ILjava/lang/String;)V -HPLcom/android/server/job/controllers/ComponentController;->getServiceProcessLocked(Lcom/android/server/job/controllers/JobStatus;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; -HPLcom/android/server/job/controllers/ComponentController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/controllers/ComponentController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/controllers/ComponentController;->updateComponentEnabledStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/ComponentController;Lcom/android/server/job/controllers/ComponentController; +HPLcom/android/server/job/controllers/ComponentController;->clearComponentsForPackageLocked(ILjava/lang/String;)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/ComponentName;Landroid/content/ComponentName; +HSPLcom/android/server/job/controllers/ComponentController;->getServiceProcessLocked(Lcom/android/server/job/controllers/JobStatus;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HSPLcom/android/server/job/controllers/ComponentController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/ComponentController;Lcom/android/server/job/controllers/ComponentController; +HSPLcom/android/server/job/controllers/ComponentController;->updateComponentEnabledStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/ComponentController;Lcom/android/server/job/controllers/ComponentController; +HPLcom/android/server/job/controllers/ConnectivityController$2;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V HPLcom/android/server/job/controllers/ConnectivityController$CcHandler;->handleMessage(Landroid/os/Message;)V -HPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmBlockedReasons(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)I -HPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmDefaultNetwork(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)Landroid/net/Network; +HPLcom/android/server/job/controllers/ConnectivityController$CellSignalStrengthCallback;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V +HSPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmBlockedReasons(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)I +HSPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->-$$Nest$fgetmDefaultNetwork(Lcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;)Landroid/net/Network; HPLcom/android/server/job/controllers/ConnectivityController$UidDefaultNetworkCallback;->onBlockedStatusChanged(Landroid/net/Network;I)V -HPLcom/android/server/job/controllers/ConnectivityController;->-$$Nest$mmaybeAdjustRegisteredCallbacksLocked(Lcom/android/server/job/controllers/ConnectivityController;)V HSPLcom/android/server/job/controllers/ConnectivityController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/ConnectivityController;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; -HPLcom/android/server/job/controllers/ConnectivityController;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HPLcom/android/server/job/controllers/ConnectivityController;->getNetworkLocked(Lcom/android/server/job/controllers/JobStatus;)Landroid/net/Network;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/job/controllers/ConnectivityController;->getUidStats(ILjava/lang/String;Z)Lcom/android/server/job/controllers/ConnectivityController$UidStats;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/job/controllers/ConnectivityController;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/job/controllers/ConnectivityController;->getNetworkLocked(Lcom/android/server/job/controllers/JobStatus;)Landroid/net/Network;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/job/controllers/ConnectivityController;->getUidStats(ILjava/lang/String;Z)Lcom/android/server/job/controllers/ConnectivityController$UidStats;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/job/controllers/ConnectivityController;->isCongestionDelayed(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;->isInsane(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/ConnectivityController;->isMeteredAllowed(Lcom/android/server/job/controllers/JobStatus;Landroid/net/NetworkCapabilities;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Landroid/net/NetworkPolicyManager;Landroid/net/NetworkPolicyManager; HPLcom/android/server/job/controllers/ConnectivityController;->isNetworkAvailable(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; HPLcom/android/server/job/controllers/ConnectivityController;->isRelaxedSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; -HPLcom/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+]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; -HPLcom/android/server/job/controllers/ConnectivityController;->isStandbyExceptionRequestedLocked(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/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+]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; +HSPLcom/android/server/job/controllers/ConnectivityController;->isStandbyExceptionRequestedLocked(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/ConnectivityController;->isStrictSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z+]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/net/NetworkCapabilities$Builder;Landroid/net/NetworkCapabilities$Builder;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities; -HPLcom/android/server/job/controllers/ConnectivityController;->isStrongEnough(Lcom/android/server/job/controllers/JobStatus;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/ArraySet;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; +HPLcom/android/server/job/controllers/ConnectivityController;->isStrongEnough(Lcom/android/server/job/controllers/JobStatus;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/ConnectivityController;->isUsable(Landroid/net/NetworkCapabilities;)Z HPLcom/android/server/job/controllers/ConnectivityController;->maybeAdjustRegisteredCallbacksLocked()V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/os/Handler;Lcom/android/server/job/controllers/ConnectivityController$CcHandler;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/ConnectivityController;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; -HPLcom/android/server/job/controllers/ConnectivityController;->maybeRevokeStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; -HPLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/ConnectivityController;->maybeRevokeStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; HPLcom/android/server/job/controllers/ConnectivityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; -HPLcom/android/server/job/controllers/ConnectivityController;->onUidBiasChangedLocked(III)V -HPLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks()V -HPLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks(J)V +HSPLcom/android/server/job/controllers/ConnectivityController;->onUidBiasChangedLocked(III)V +HPLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks()V+]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; +HPLcom/android/server/job/controllers/ConnectivityController;->postAdjustCallbacks(J)V+]Landroid/os/Handler;Lcom/android/server/job/controllers/ConnectivityController$CcHandler; HPLcom/android/server/job/controllers/ConnectivityController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/controllers/ConnectivityController;->requestStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)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;Landroid/net/NetworkCapabilities;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; +HPLcom/android/server/job/controllers/ConnectivityController;->updateAllTrackedJobsLocked(Z)V +HSPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;)Z +HSPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;JLandroid/net/Network;Landroid/net/NetworkCapabilities;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobsLocked(ILandroid/net/Network;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobsLocked(Landroid/util/ArraySet;Landroid/net/Network;)Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/lang/Object;Landroid/net/Network;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Lcom/android/server/job/controllers/JobStatus;)V @@ -5576,7 +4821,7 @@ HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;->sc HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;->trigger()V HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;->unscheduleLocked()V HPLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;->onChange(ZLandroid/net/Uri;)V -HPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ContentObserverController$JobInstance;Lcom/android/server/job/controllers/ContentObserverController$JobInstance;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HPLcom/android/server/job/controllers/ContentObserverController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ContentObserverController$JobInstance;Lcom/android/server/job/controllers/ContentObserverController$JobInstance;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/ContentObserverController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Landroid/content/Intent;Landroid/content/Intent; @@ -5585,36 +4830,39 @@ HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateF HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->prepare()V HPLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$fgetmAllowInIdleJobs(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Landroid/util/ArraySet; HPLcom/android/server/job/controllers/DeviceIdleJobsController;->-$$Nest$mupdateTaskStateLocked(Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/JobStatus;J)Z+]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController; -HPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V -HPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;J)Z+]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; -HPLcom/android/server/job/controllers/FlexibilityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;J)Z+]Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/DeviceIdleJobsController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HSPLcom/android/server/job/controllers/FlexibilityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/FlexibilityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/idle/IdlenessTracker;Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/FlexibilityController;->onUidBiasChangedLocked(III)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; +HSPLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/idle/IdlenessTracker;Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/IdleController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IILjava/lang/String;Ljava/lang/String;IIJJJJJII)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo$TriggerContentUri;Landroid/app/job/JobInfo$TriggerContentUri;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/net/NetworkRequest$Builder;Landroid/net/NetworkRequest$Builder;]Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo$Builder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;JJIIJJJ)V HSPLcom/android/server/job/controllers/JobStatus;->addDynamicConstraints(I)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/JobStatus;->addInternalFlags(I)V -HPLcom/android/server/job/controllers/JobStatus;->canRunInBatterySaver()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->canRunInBatterySaver()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->canRunInDoze()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/JobStatus;->clearPersistedUtcTimes()V -HPLcom/android/server/job/controllers/JobStatus;->clearTrackingController(I)Z +HSPLcom/android/server/job/controllers/JobStatus;->clearTrackingController(I)Z HPLcom/android/server/job/controllers/JobStatus;->completeWorkLocked(I)Z -HSPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/job/controllers/JobStatus;+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/job/controllers/JobStatus;->dequeueWorkLocked()Landroid/app/job/JobWorkItem; +HPLcom/android/server/job/controllers/JobStatus;->dump(Landroid/util/proto/ProtoOutputStream;JZJ)V +HPLcom/android/server/job/controllers/JobStatus;->dumpConstraints(Ljava/io/PrintWriter;I)V HPLcom/android/server/job/controllers/JobStatus;->enqueueWorkLocked(Landroid/app/job/JobWorkItem;)V HSPLcom/android/server/job/controllers/JobStatus;->generateLoggingId(Ljava/lang/String;I)J+]Ljava/lang/String;Ljava/lang/String; -HSPLcom/android/server/job/controllers/JobStatus;->generateNamespaceHash(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/job/controllers/JobStatus;->generateNamespaceHash(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; HSPLcom/android/server/job/controllers/JobStatus;->getBatteryName()Ljava/lang/String; HPLcom/android/server/job/controllers/JobStatus;->getBias()I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; HPLcom/android/server/job/controllers/JobStatus;->getCumulativeExecutionTimeMs()J HSPLcom/android/server/job/controllers/JobStatus;->getEarliestRunTime()J HSPLcom/android/server/job/controllers/JobStatus;->getEffectivePriority()I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; -HPLcom/android/server/job/controllers/JobStatus;->getEffectiveStandbyBucket()I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;]Landroid/content/ComponentName;Landroid/content/ComponentName; +HSPLcom/android/server/job/controllers/JobStatus;->getEffectiveStandbyBucket()I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/job/controllers/JobStatus;->getEstimatedNetworkDownloadBytes()J HSPLcom/android/server/job/controllers/JobStatus;->getEstimatedNetworkUploadBytes()J HSPLcom/android/server/job/controllers/JobStatus;->getFlags()I+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; @@ -5631,9 +4879,8 @@ HSPLcom/android/server/job/controllers/JobStatus;->getNamespaceHash()Ljava/lang/ HPLcom/android/server/job/controllers/JobStatus;->getNumFailures()I HSPLcom/android/server/job/controllers/JobStatus;->getNumPreviousAttempts()I HPLcom/android/server/job/controllers/JobStatus;->getNumSystemStops()I -HPLcom/android/server/job/controllers/JobStatus;->getOriginalLatestRunTimeElapsed()J HPLcom/android/server/job/controllers/JobStatus;->getPersistedUtcTimes()Landroid/util/Pair; -HPLcom/android/server/job/controllers/JobStatus;->getPreferUnmetered()Z +HSPLcom/android/server/job/controllers/JobStatus;->getPreferUnmetered()Z HSPLcom/android/server/job/controllers/JobStatus;->getServiceComponent()Landroid/content/ComponentName;+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; HSPLcom/android/server/job/controllers/JobStatus;->getSourcePackageName()Ljava/lang/String; HPLcom/android/server/job/controllers/JobStatus;->getSourceTag()Ljava/lang/String; @@ -5641,8 +4888,8 @@ HSPLcom/android/server/job/controllers/JobStatus;->getSourceUid()I HSPLcom/android/server/job/controllers/JobStatus;->getSourceUserId()I HSPLcom/android/server/job/controllers/JobStatus;->getStandbyBucket()I HPLcom/android/server/job/controllers/JobStatus;->getTag()Ljava/lang/String; -HPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlamePackageName()Ljava/lang/String;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/content/ComponentName;Landroid/content/ComponentName; -HPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlameUserId()I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlamePackageName()Ljava/lang/String;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/content/ComponentName;Landroid/content/ComponentName; +HSPLcom/android/server/job/controllers/JobStatus;->getTimeoutBlameUserId()I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->getUid()I HSPLcom/android/server/job/controllers/JobStatus;->getUserId()I HPLcom/android/server/job/controllers/JobStatus;->getWhenStandbyDeferred()J @@ -5653,63 +4900,59 @@ HSPLcom/android/server/job/controllers/JobStatus;->hasConnectivityConstraint()Z HSPLcom/android/server/job/controllers/JobStatus;->hasConstraint(I)Z HSPLcom/android/server/job/controllers/JobStatus;->hasContentTriggerConstraint()Z HSPLcom/android/server/job/controllers/JobStatus;->hasDeadlineConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->hasFlexibilityConstraint()Z +HSPLcom/android/server/job/controllers/JobStatus;->hasFlexibilityConstraint()Z HSPLcom/android/server/job/controllers/JobStatus;->hasIdleConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->hasPowerConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->hasPowerConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->hasStorageNotLowConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->hasTimingDelayConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/JobStatus;->incrementCumulativeExecutionTime(J)V HSPLcom/android/server/job/controllers/JobStatus;->isConstraintSatisfied(I)Z -HPLcom/android/server/job/controllers/JobStatus;->isConstraintsSatisfied(I)Z +HSPLcom/android/server/job/controllers/JobStatus;->isConstraintsSatisfied(I)Z HSPLcom/android/server/job/controllers/JobStatus;->isPersisted()Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; HSPLcom/android/server/job/controllers/JobStatus;->isPreparedLocked()Z HSPLcom/android/server/job/controllers/JobStatus;->isReady()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->isReady(I)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->isRequestedExpeditedJob()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/JobStatus;->isUserVisibleJob()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HSPLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V +HSPLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/util/function/Predicate;Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda0; HPLcom/android/server/job/controllers/JobStatus;->maybeLogBucketMismatch()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HSPLcom/android/server/job/controllers/JobStatus;->prepareLocked()V +HSPLcom/android/server/job/controllers/JobStatus;->prepareLocked()V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; +HPLcom/android/server/job/controllers/JobStatus;->printUniqueId(Ljava/io/PrintWriter;)V HSPLcom/android/server/job/controllers/JobStatus;->readinessStatusWithConstraint(IZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->setBackgroundNotRestrictedConstraintSatisfied(JZZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setBatteryNotLowConstraintSatisfied(JZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setChargingConstraintSatisfied(JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->setConnectivityConstraintSatisfied(JZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setBackgroundNotRestrictedConstraintSatisfied(JZZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setBatteryNotLowConstraintSatisfied(JZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setChargingConstraintSatisfied(JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->setConnectivityConstraintSatisfied(JZ)Z HSPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IJZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->setDeviceNotDozingConstraintSatisfied(JZZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobQuotaApproved(JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -HPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobTareApproved(JZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setHasAccessToUnmetered(Z)V -HPLcom/android/server/job/controllers/JobStatus;->setIdleConstraintSatisfied(JZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setQuotaConstraintSatisfied(JZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setTareWealthConstraintSatisfied(JZ)Z -HPLcom/android/server/job/controllers/JobStatus;->setTrackingController(I)V -HPLcom/android/server/job/controllers/JobStatus;->setUidActive(Z)Z -HPLcom/android/server/job/controllers/JobStatus;->shouldBlameSourceForTimeout()Z +HSPLcom/android/server/job/controllers/JobStatus;->setDeviceNotDozingConstraintSatisfied(JZZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobQuotaApproved(JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->setExpeditedJobTareApproved(JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HSPLcom/android/server/job/controllers/JobStatus;->setHasAccessToUnmetered(Z)V +HSPLcom/android/server/job/controllers/JobStatus;->setQuotaConstraintSatisfied(JZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setTareWealthConstraintSatisfied(JZ)Z +HSPLcom/android/server/job/controllers/JobStatus;->setTrackingController(I)V +HSPLcom/android/server/job/controllers/JobStatus;->setUidActive(Z)Z +HSPLcom/android/server/job/controllers/JobStatus;->shouldBlameSourceForTimeout()Z HSPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsExpeditedJob()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HSPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsUserInitiatedJob()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; -HPLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; +HPLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/job/controllers/JobStatus;->toShortString()Ljava/lang/String; -HPLcom/android/server/job/controllers/JobStatus;->ungrantWorkList(Ljava/util/ArrayList;)V -HPLcom/android/server/job/controllers/JobStatus;->unprepareLocked()V +HPLcom/android/server/job/controllers/JobStatus;->unprepareLocked()V+]Ljava/lang/Throwable;Ljava/lang/Throwable; HSPLcom/android/server/job/controllers/JobStatus;->updateMediaBackupExemptionStatus()Z+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo; HSPLcom/android/server/job/controllers/JobStatus;->updateNetworkBytesLocked()V+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/job/JobWorkItem;Landroid/app/job/JobWorkItem; HSPLcom/android/server/job/controllers/JobStatus;->wouldBeReadyWithConstraint(I)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; -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/JobStatus;->writeToShortProto(Landroid/util/proto/ProtoOutputStream;J)V +HSPLcom/android/server/job/controllers/PrefetchController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Ljava/time/Clock$SystemClock;,Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/PrefetchController;Lcom/android/server/job/controllers/PrefetchController;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/PrefetchController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener; -HPLcom/android/server/job/controllers/QuotaController$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V -HPLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;Lcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor; -HPLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;->accept(Ljava/util/List;)V+]Lcom/android/server/job/controllers/QuotaController$TimedEvent;Lcom/android/server/job/controllers/QuotaController$TimingSession;]Ljava/util/List;Ljava/util/ArrayList; +HPLcom/android/server/job/controllers/PrefetchController;->maybeUpdateConstraintForUid(I)V HSPLcom/android/server/job/controllers/QuotaController$QcHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/os/Handler;Lcom/android/server/job/controllers/QuotaController$QcHandler;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/QuotaController$TopAppTimer;Lcom/android/server/job/controllers/QuotaController$TopAppTimer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; HSPLcom/android/server/job/controllers/QuotaController$QcUidObserver;->onUidStateChanged(IIJI)V HPLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->getStandbyBucketLocked()I HPLcom/android/server/job/controllers/QuotaController$ShrinkableDebits;->getTallyLocked()J HPLcom/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 -HPLcom/android/server/job/controllers/QuotaController$StandbyTracker$$ExternalSyntheticLambda0;->run()V -HPLcom/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 -HPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppAdded(I)V +HSPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppAdded(I)V HPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppRemoved(I)V HPLcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate;->test(Lcom/android/server/job/controllers/QuotaController$TimedEvent;)Z+]Lcom/android/server/job/controllers/QuotaController$TimedEvent;Lcom/android/server/job/controllers/QuotaController$TimingSession; HPLcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate;->test(Ljava/lang/Object;)Z+]Lcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate;Lcom/android/server/job/controllers/QuotaController$TimedEventTooOldPredicate; @@ -5720,14 +4963,15 @@ HPLcom/android/server/job/controllers/QuotaController$Timer;->getCurrentDuration HPLcom/android/server/job/controllers/QuotaController$Timer;->isActive()Z HPLcom/android/server/job/controllers/QuotaController$Timer;->onStateChangedLocked(JZ)V HPLcom/android/server/job/controllers/QuotaController$Timer;->scheduleCutoff()V -HPLcom/android/server/job/controllers/QuotaController$Timer;->shouldTrackLocked()Z +HPLcom/android/server/job/controllers/QuotaController$Timer;->shouldTrackLocked()Z+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; 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 +HPLcom/android/server/job/controllers/QuotaController$Timer;->stopTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/QuotaController$TimingSession;-><init>(JJI)V HPLcom/android/server/job/controllers/QuotaController$TimingSession;->getEndTimeElapsed()J HPLcom/android/server/job/controllers/QuotaController$TopAppTimer;->isActive()Z -HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue; -HPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Ljava/lang/Object;)V +HPLcom/android/server/job/controllers/QuotaController$TopAppTimer;->processEventLocked(Landroid/app/usage/UsageEvents$Event;)V +HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue; +HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Ljava/lang/Object;)V HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->postProcess()V+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->prepare()V HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->reset()V @@ -5737,16 +4981,15 @@ HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmForeground HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmHandler(Lcom/android/server/job/controllers/QuotaController;)Lcom/android/server/job/controllers/QuotaController$QcHandler; HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmPkgTimers(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseArrayMap; HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmTopAppGraceCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseLongArray; -HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$mincrementTimingSessionCountLocked(Lcom/android/server/job/controllers/QuotaController;ILjava/lang/String;)V HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$misQuotaFreeLocked(Lcom/android/server/job/controllers/QuotaController;I)Z+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$misTopStartedJobLocked(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;)Z +HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$mmaybeUpdateConstraintForUidLocked(Lcom/android/server/job/controllers/QuotaController;I)Landroid/util/ArraySet; HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$msaveTimingSession(Lcom/android/server/job/controllers/QuotaController;ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$TimingSession;ZJ)V -HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetConstraintSatisfied(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZZ)Z -HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetExpeditedQuotaApproved(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZ)Z +HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetConstraintSatisfied(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZZ)Z +HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$msetExpeditedQuotaApproved(Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/JobStatus;JZ)Z HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$sfgetDEBUG()Z HPLcom/android/server/job/controllers/QuotaController;->-$$Nest$smhashLong(J)I HPLcom/android/server/job/controllers/QuotaController;->calculateTimeUntilQuotaConsumedLocked(Ljava/util/List;JJZ)J+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/util/List;Ljava/util/ArrayList; -HPLcom/android/server/job/controllers/QuotaController;->deleteObsoleteSessionsLocked()V HPLcom/android/server/job/controllers/QuotaController;->getEJDebitsLocked(ILjava/lang/String;)Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits;+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; HPLcom/android/server/job/controllers/QuotaController;->getEJLimitMsLocked(ILjava/lang/String;I)J HPLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;I)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; @@ -5756,71 +4999,67 @@ HPLcom/android/server/job/controllers/QuotaController;->getRemainingEJExecutionT HPLcom/android/server/job/controllers/QuotaController;->getRemainingExecutionTimeLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;)J HPLcom/android/server/job/controllers/QuotaController;->getTimeUntilEJQuotaConsumedLocked(ILjava/lang/String;)J HPLcom/android/server/job/controllers/QuotaController;->getTimeUntilQuotaConsumedLocked(ILjava/lang/String;)J+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/List;Ljava/util/ArrayList; -HPLcom/android/server/job/controllers/QuotaController;->grantRewardForInstantEvent(ILjava/lang/String;J)V HPLcom/android/server/job/controllers/QuotaController;->incrementJobCountLocked(ILjava/lang/String;I)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; HPLcom/android/server/job/controllers/QuotaController;->incrementTimingSessionCountLocked(ILjava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; HPLcom/android/server/job/controllers/QuotaController;->invalidateAllExecutionStatsLocked(ILjava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; -HPLcom/android/server/job/controllers/QuotaController;->isQuotaFreeLocked(I)Z+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/controllers/QuotaController;->isTopStartedJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/job/controllers/QuotaController;->isUidInForeground(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HSPLcom/android/server/job/controllers/QuotaController;->isQuotaFreeLocked(I)Z+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/controllers/QuotaController;->isTopStartedJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/QuotaController;->isUidInForeground(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/job/controllers/QuotaController;->isUnderJobCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; HPLcom/android/server/job/controllers/QuotaController;->isUnderSessionCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; HPLcom/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+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; -HPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; -HPLcom/android/server/job/controllers/QuotaController;->lambda$new$2(Ljava/util/List;)V +HSPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(ILjava/lang/String;I)Z+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; +HSPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; HPLcom/android/server/job/controllers/QuotaController;->maybeScheduleCleanupAlarmLocked()V -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 +HSPLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V +HSPLcom/android/server/job/controllers/QuotaController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/QuotaController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue; HPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForPkgLocked(JILjava/lang/String;)Landroid/util/ArraySet;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue; -HSPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForUidLocked(I)Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForUidLocked(I)Landroid/util/ArraySet;+]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore;]Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater; HPLcom/android/server/job/controllers/QuotaController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/controllers/QuotaController;->saveTimingSession(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$TimingSession;ZJ)V -HPLcom/android/server/job/controllers/QuotaController;->setConstraintSatisfied(Lcom/android/server/job/controllers/JobStatus;JZZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/controllers/QuotaController;->setExpeditedQuotaApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; +HSPLcom/android/server/job/controllers/QuotaController;->setConstraintSatisfied(Lcom/android/server/job/controllers/JobStatus;JZZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/controllers/QuotaController;->setExpeditedQuotaApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; HPLcom/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;->unprepareFromExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/QuotaController;->updateExecutionStatsLocked(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$ExecutionStats;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/QuotaController$TimedEvent;Lcom/android/server/job/controllers/QuotaController$TimingSession;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/job/controllers/QuotaController;->updateStandbyBucket(ILjava/lang/String;I)V HSPLcom/android/server/job/controllers/StateController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/controllers/StateController;->onUidBiasChangedLocked(III)V +HSPLcom/android/server/job/controllers/StateController;->onUidBiasChangedLocked(III)V HPLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V HSPLcom/android/server/job/controllers/StateController;->wouldBeReadyWithConstraintLocked(Lcom/android/server/job/controllers/JobStatus;I)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V +HSPLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/StorageController$StorageTracker;Lcom/android/server/job/controllers/StorageController$StorageTracker; HPLcom/android/server/job/controllers/StorageController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/job/controllers/TareController;->addJobToBillList(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/job/controllers/TareController;->getPossibleStartBills(Lcom/android/server/job/controllers/JobStatus;)Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/TareController;->addJobToBillList(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/TareController;->getPossibleStartBills(Lcom/android/server/job/controllers/JobStatus;)Landroid/util/ArraySet;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/TareController;->getRunningActionId(Lcom/android/server/job/controllers/JobStatus;)I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; 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+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/TareController;Lcom/android/server/job/controllers/TareController;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/job/controllers/TareController;->hasEnoughWealthLocked(Lcom/android/server/job/controllers/JobStatus;)Z +HSPLcom/android/server/job/controllers/TareController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/TareController;Lcom/android/server/job/controllers/TareController;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/TareController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/TareController;Lcom/android/server/job/controllers/TareController;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/TareController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/job/controllers/TareController;Lcom/android/server/job/controllers/TareController;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/TareController;->removeJobFromBillList(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/job/controllers/TareController;->setExpeditedTareApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z +HSPLcom/android/server/job/controllers/TareController;->setExpeditedTareApproved(Lcom/android/server/job/controllers/JobStatus;JZ)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/BackgroundJobsController;Lcom/android/server/job/controllers/BackgroundJobsController; HPLcom/android/server/job/controllers/TimeController$2;->onAlarm()V HSPLcom/android/server/job/controllers/TimeController;->canStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/controllers/TimeController;->checkExpiredDeadlinesAndResetAlarm()V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/ListIterator;Ljava/util/LinkedList$ListItr;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/List;Ljava/util/LinkedList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; HPLcom/android/server/job/controllers/TimeController;->checkExpiredDelaysAndResetAlarm()V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/TimeController;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/List;Ljava/util/LinkedList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Ljava/util/Iterator;Ljava/util/LinkedList$ListItr; -HPLcom/android/server/job/controllers/TimeController;->ensureAlarmServiceLocked()V HSPLcom/android/server/job/controllers/TimeController;->evaluateDeadlineConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z HSPLcom/android/server/job/controllers/TimeController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/TimeController;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/List;Ljava/util/LinkedList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService; HSPLcom/android/server/job/controllers/TimeController;->evaluateTimingDelayConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z -HPLcom/android/server/job/controllers/TimeController;->maybeAdjustAlarmTime(J)J+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; -HPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/TimeController;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/ListIterator;Ljava/util/LinkedList$ListItr;]Ljava/util/List;Ljava/util/LinkedList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/controllers/TimeController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/List;Ljava/util/LinkedList; +HPLcom/android/server/job/controllers/TimeController;->maybeAdjustAlarmTime(J)J +HSPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/TimeController;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/ListIterator;Ljava/util/LinkedList$ListItr;]Ljava/util/List;Ljava/util/LinkedList;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HSPLcom/android/server/job/controllers/TimeController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController;]Ljava/util/List;Ljava/util/LinkedList; 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 -HPLcom/android/server/job/restrictions/ThermalStatusRestriction;->isJobRestricted(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; +HPLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/job/restrictions/ThermalStatusRestriction;->isJobRestricted(Lcom/android/server/job/controllers/JobStatus;)Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; 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;-><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 HSPLcom/android/server/lights/LightsService$LightImpl;->setLightLocked(IIIII)V -HSPLcom/android/server/lights/LightsService$LightImpl;->setLightUnchecked(IIIII)V HSPLcom/android/server/lights/LightsService$LightImpl;->shouldBeInLowPersistenceMode()Z HSPLcom/android/server/lights/LightsService$LightImpl;->turnOff()V HSPLcom/android/server/lights/LightsService$LightsManagerBinderService;-><init>(Lcom/android/server/lights/LightsService;)V @@ -5828,8 +5067,6 @@ 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; -HSPLcom/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 @@ -5837,50 +5074,52 @@ HSPLcom/android/server/lights/LightsService;->onStart()V HSPLcom/android/server/lights/LightsService;->populateAvailableLights(Landroid/content/Context;)V HSPLcom/android/server/lights/LightsService;->populateAvailableLightsFromHidl(Landroid/content/Context;)V HSPLcom/android/server/lights/LogicalLight;-><init>()V -HSPLcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;)V -HSPLcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;Lcom/android/server/locales/LocaleManagerBackupHelper$UserMonitor-IA;)V -HSPLcom/android/server/locales/LocaleManagerBackupHelper;-><clinit>()V -HSPLcom/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 -HSPLcom/android/server/locales/LocaleManagerBackupHelper;-><init>(Lcom/android/server/locales/LocaleManagerService;Landroid/content/pm/PackageManager;Landroid/os/HandlerThread;)V -HSPLcom/android/server/locales/LocaleManagerBackupHelper;->createPersistedInfo()Landroid/content/SharedPreferences; -HSPLcom/android/server/locales/LocaleManagerInternal;-><init>()V -HSPLcom/android/server/locales/LocaleManagerService$1;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/SystemAppUpdateTracker;)V -HSPLcom/android/server/locales/LocaleManagerService$1;->run()V -HSPLcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService;-><init>(Lcom/android/server/locales/LocaleManagerService;)V -HSPLcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService-IA;)V -HSPLcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl;-><init>(Lcom/android/server/locales/LocaleManagerService;)V -HSPLcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl;-><init>(Lcom/android/server/locales/LocaleManagerService;Lcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl-IA;)V -HSPLcom/android/server/locales/LocaleManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/locales/LocaleManagerService;->onStart()V -HSPLcom/android/server/locales/LocaleManagerServicePackageMonitor;-><init>(Lcom/android/server/locales/LocaleManagerBackupHelper;Lcom/android/server/locales/SystemAppUpdateTracker;Lcom/android/server/locales/LocaleManagerService;)V -HSPLcom/android/server/locales/SystemAppUpdateTracker;-><init>(Landroid/content/Context;Lcom/android/server/locales/LocaleManagerService;Landroid/util/AtomicFile;)V -HSPLcom/android/server/locales/SystemAppUpdateTracker;-><init>(Lcom/android/server/locales/LocaleManagerService;)V -HSPLcom/android/server/locales/SystemAppUpdateTracker;->init()V -HSPLcom/android/server/locales/SystemAppUpdateTracker;->loadUpdatedSystemApps()V -HSPLcom/android/server/locales/SystemAppUpdateTracker;->readFromXml(Ljava/io/InputStream;)V -HPLcom/android/server/location/LocationManagerService$LocalService;->isProviderEnabledForUser(Ljava/lang/String;I)Z +HPLcom/android/server/locales/LocaleManagerService;->getApplicationLocales(Ljava/lang/String;I)Landroid/os/LocaleList; +HPLcom/android/server/locales/LocaleManagerService;->getPackageUid(Ljava/lang/String;I)I +HPLcom/android/server/locales/LocaleManagerService;->isCallerFromCurrentInputMethod(I)Z +HSPLcom/android/server/location/LocationManagerService$LocalService;->isProvider(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Z +HSPLcom/android/server/location/LocationManagerService$LocalService;->isProviderEnabledForUser(Ljava/lang/String;I)Z HSPLcom/android/server/location/LocationManagerService$SystemInjector;->getSettingsHelper()Lcom/android/server/location/injector/SettingsHelper; -HSPLcom/android/server/location/LocationManagerService;->getLocationProviderManager(Ljava/lang/String;)Lcom/android/server/location/provider/LocationProviderManager;+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator; +HPLcom/android/server/location/LocationManagerService;->getLastLocation(Ljava/lang/String;Landroid/location/LastLocationRequest;Ljava/lang/String;Ljava/lang/String;)Landroid/location/Location; +HSPLcom/android/server/location/LocationManagerService;->getLocationProviderManager(Ljava/lang/String;)Lcom/android/server/location/provider/LocationProviderManager;+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; HSPLcom/android/server/location/LocationManagerService;->isLocationEnabledForUser(I)Z+]Lcom/android/server/location/injector/SettingsHelper;Lcom/android/server/location/injector/SystemSettingsHelper;]Lcom/android/server/location/injector/Injector;Lcom/android/server/location/LocationManagerService$SystemInjector; -HSPLcom/android/server/location/contexthub/ConcurrentLinkedEvictingDeque;->add(Ljava/lang/Object;)Z +HSPLcom/android/server/location/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z +HPLcom/android/server/location/LocationManagerService;->isProviderPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z +HPLcom/android/server/location/LocationManagerService;->lambda$onSystemReady$5(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;II)V+]Lcom/android/server/location/LocationManagerService;Lcom/android/server/location/LocationManagerService; +HPLcom/android/server/location/LocationManagerService;->validateLastLocationRequest(Ljava/lang/String;Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LastLocationRequest; +HSPLcom/android/server/location/contexthub/ConcurrentLinkedEvictingDeque;->add(Ljava/lang/Object;)Z+]Ljava/util/concurrent/ConcurrentLinkedDeque;Lcom/android/server/location/contexthub/ConcurrentLinkedEvictingDeque; +HSPLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda1;->runOrThrow()V +HSPLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/location/contexthub/ContextHubClientBroker;)V +HSPLcom/android/server/location/contexthub/ContextHubClientBroker$$ExternalSyntheticLambda2;->runOrThrow()V HSPLcom/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 +HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->hasPermissions(Ljava/util/List;)Z +HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->lambda$releaseWakeLock$12()V +HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->releaseWakeLock()V HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V HPLcom/android/server/location/contexthub/ContextHubClientBroker;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I -HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->sendPendingIntent(Ljava/util/function/Supplier;J)V HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->toString()Ljava/lang/String; HSPLcom/android/server/location/contexthub/ContextHubClientBroker;->updateNanoAppAuthState(JLjava/util/List;ZZ)I HSPLcom/android/server/location/contexthub/ContextHubClientManager;->onMessageFromNanoApp(ISLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V +HSPLcom/android/server/location/contexthub/ContextHubEventLogger$ContextHubEventBase;-><init>(JI)V +HSPLcom/android/server/location/contexthub/ContextHubEventLogger$NanoappEventBase;-><init>(JIJZ)V +HSPLcom/android/server/location/contexthub/ContextHubEventLogger$NanoappMessageEvent;-><init>(JILandroid/hardware/location/NanoAppMessage;Z)V HSPLcom/android/server/location/contexthub/ContextHubEventLogger;->getInstance()Lcom/android/server/location/contexthub/ContextHubEventLogger; HSPLcom/android/server/location/contexthub/ContextHubEventLogger;->logMessageFromNanoapp(ILandroid/hardware/location/NanoAppMessage;Z)V +HPLcom/android/server/location/contexthub/ContextHubEventLogger;->logMessageToNanoapp(ILandroid/hardware/location/NanoAppMessage;Z)V +HSPLcom/android/server/location/contexthub/ContextHubService$ContextHubServiceCallback;->handleNanoappInfo(Ljava/util/List;)V HPLcom/android/server/location/contexthub/ContextHubService;->checkHalProxyAndContextHubId(ILandroid/hardware/location/IContextHubTransactionCallback;I)Z HSPLcom/android/server/location/contexthub/ContextHubService;->getCallingPackageName()Ljava/lang/String; HSPLcom/android/server/location/contexthub/ContextHubService;->handleQueryAppsCallback(ILjava/util/List;)V +HPLcom/android/server/location/contexthub/ContextHubService;->isValidContextHubId(I)Z HPLcom/android/server/location/contexthub/ContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V HSPLcom/android/server/location/contexthub/ContextHubServiceTransaction;-><init>(IILjava/lang/String;)V +HSPLcom/android/server/location/contexthub/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J HSPLcom/android/server/location/contexthub/ContextHubServiceTransaction;->toString()Ljava/lang/String; +HPLcom/android/server/location/contexthub/ContextHubServiceUtil;->checkPermissions(Landroid/content/Context;)V HPLcom/android/server/location/contexthub/ContextHubServiceUtil;->createAidlContextHubMessage(SLandroid/hardware/location/NanoAppMessage;)Landroid/hardware/contexthub/ContextHubMessage; HSPLcom/android/server/location/contexthub/ContextHubServiceUtil;->createNanoAppMessage(Landroid/hardware/contexthub/ContextHubMessage;)Landroid/hardware/location/NanoAppMessage; HSPLcom/android/server/location/contexthub/ContextHubServiceUtil;->createNanoAppStateList([Landroid/hardware/contexthub/NanoappInfo;)Ljava/util/List;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/location/contexthub/ContextHubTransactionManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;Lcom/android/server/location/contexthub/ContextHubServiceTransaction;)V HSPLcom/android/server/location/contexthub/ContextHubTransactionManager$5;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;IILjava/lang/String;ILandroid/hardware/location/IContextHubTransactionCallback;)V HSPLcom/android/server/location/contexthub/ContextHubTransactionManager$5;->onTransact()I HSPLcom/android/server/location/contexthub/ContextHubTransactionManager$TransactionRecord;-><init>(Lcom/android/server/location/contexthub/ContextHubTransactionManager;Ljava/lang/String;)V @@ -5890,91 +5129,139 @@ HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->startN HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->handleContextHubMessage(Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->handleNanoappInfo([Landroid/hardware/contexthub/NanoappInfo;)V HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl$ContextHubAidlCallback;->lambda$handleContextHubMessage$1(Landroid/hardware/contexthub/ContextHubMessage;[Ljava/lang/String;)V +HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->-$$Nest$fgetmHandler(Lcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;)Landroid/os/Handler; +HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->getHub()Landroid/hardware/contexthub/IContextHub; +HSPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->queryNanoapps(I)I +HPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAidl;->sendMessageToContextHub(SILandroid/hardware/location/NanoAppMessage;)I HSPLcom/android/server/location/contexthub/NanoAppStateManager;->getNanoAppHandle(IJ)I+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator;]Landroid/hardware/location/NanoAppInstanceInfo;Landroid/hardware/location/NanoAppInstanceInfo; +HSPLcom/android/server/location/contexthub/NanoAppStateManager;->handleQueryAppEntry(IJI)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/location/contexthub/NanoAppStateManager;Lcom/android/server/location/contexthub/NanoAppStateManager;]Landroid/hardware/location/NanoAppInstanceInfo;Landroid/hardware/location/NanoAppInstanceInfo; HSPLcom/android/server/location/contexthub/NanoAppStateManager;->updateCache(ILjava/util/List;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/location/contexthub/NanoAppStateManager;Lcom/android/server/location/contexthub/NanoAppStateManager;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/hardware/location/NanoAppState;Landroid/hardware/location/NanoAppState;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;,Ljava/util/HashMap$ValueIterator;]Landroid/hardware/location/NanoAppInstanceInfo;Landroid/hardware/location/NanoAppInstanceInfo; -HSPLcom/android/server/location/eventlog/LocalEventLog;->addLog(JLjava/lang/Object;)V -HSPLcom/android/server/location/eventlog/LocalEventLog;->addLogEventInternal(ZILjava/lang/Object;)V +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$4;->onServiceStateChanged(Landroid/telephony/ServiceState;)V +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->detectCountry(ZZ)Landroid/location/Country; +HSPLcom/android/server/location/eventlog/LocalEventLog;->addLog(JLjava/lang/Object;)V+]Lcom/android/server/location/eventlog/LocalEventLog;Lcom/android/server/location/eventlog/LocationEventLog;,Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog; +HSPLcom/android/server/location/eventlog/LocalEventLog;->addLogEventInternal(ZILjava/lang/Object;)V+]Lcom/android/server/location/eventlog/LocalEventLog;Lcom/android/server/location/eventlog/LocationEventLog;,Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog; HSPLcom/android/server/location/eventlog/LocalEventLog;->createEntry(ZI)I +HPLcom/android/server/location/eventlog/LocalEventLog;->getTimeDelta(I)I +HSPLcom/android/server/location/eventlog/LocalEventLog;->incrementIndex(I)I HSPLcom/android/server/location/eventlog/LocalEventLog;->isEmpty()Z HPLcom/android/server/location/eventlog/LocalEventLog;->startIndex()I +HSPLcom/android/server/location/eventlog/LocalEventLog;->wrapIndex(I)I +HPLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->markLocationDelivered()V HPLcom/android/server/location/eventlog/LocationEventLog$AggregateStats;->updateTotals()V -HPLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;->logProviderDeliveredLocations(Ljava/lang/String;ILandroid/location/util/identity/CallerIdentity;)V -HPLcom/android/server/location/eventlog/LocationEventLog;->getAggregateStats(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats; -HPLcom/android/server/location/eventlog/LocationEventLog;->logProviderDeliveredLocations(Ljava/lang/String;ILandroid/location/util/identity/CallerIdentity;)V +HPLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;->addLog(Ljava/lang/Object;)V+]Lcom/android/server/location/eventlog/LocalEventLog;Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog; +HPLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;->logProviderDeliveredLocations(Ljava/lang/String;ILandroid/location/util/identity/CallerIdentity;)V+]Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog; +HPLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;->logProviderReceivedLocations(Ljava/lang/String;I)V +HPLcom/android/server/location/eventlog/LocationEventLog$ProviderDeliverLocationEvent;-><init>(Ljava/lang/String;ILandroid/location/util/identity/CallerIdentity;)V +HSPLcom/android/server/location/eventlog/LocationEventLog$ProviderEvent;-><init>(Ljava/lang/String;)V +HSPLcom/android/server/location/eventlog/LocationEventLog;->getAggregateStats(Ljava/lang/String;Landroid/location/util/identity/CallerIdentity;)Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/location/eventlog/LocationEventLog;->logProviderDeliveredLocations(Ljava/lang/String;ILandroid/location/util/identity/CallerIdentity;)V+]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats;Lcom/android/server/location/eventlog/LocationEventLog$AggregateStats;]Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;Lcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog; +HPLcom/android/server/location/eventlog/LocationEventLog;->logProviderReceivedLocations(Ljava/lang/String;I)V +HPLcom/android/server/location/fudger/LocationFudger;->createCoarse(Landroid/location/Location;)Landroid/location/Location; +HPLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda9;-><init>(IZ)V +HPLcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda9;->test(Ljava/lang/Object;)Z +HPLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;->onForegroundChanged(IZ)Z +HPLcom/android/server/location/gnss/GnssListenerMultiplexer;->lambda$onAppForegroundChanged$6(IZLcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Z +HPLcom/android/server/location/gnss/GnssListenerMultiplexer;->onAppForegroundChanged(IZ)V +HPLcom/android/server/location/gnss/GnssLocationProvider$$ExternalSyntheticLambda11;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/location/GnssStatus;)V +HPLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;->setBundle(Landroid/os/Bundle;)V +HPLcom/android/server/location/gnss/GnssLocationProvider;->handleReportLocation(ZLandroid/location/Location;)V HPLcom/android/server/location/gnss/GnssLocationProvider;->handleReportSvStatus(Landroid/location/GnssStatus;)V+]Lcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;Lcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;]Landroid/location/GnssStatus;Landroid/location/GnssStatus;]Ljava/util/Set;Ljava/util/HashSet;]Lcom/android/server/location/gnss/GnssMetrics;Lcom/android/server/location/gnss/GnssMetrics; +HPLcom/android/server/location/gnss/GnssLocationProvider;->onReportSvStatus(Landroid/location/GnssStatus;)V +HPLcom/android/server/location/gnss/GnssLocationProvider;->postWithWakeLockHeld(Ljava/lang/Runnable;)V +HPLcom/android/server/location/gnss/GnssMetrics$Statistics;->addItem(D)V +HPLcom/android/server/location/gnss/GnssMetrics;->isL5Sv(F)Z +HPLcom/android/server/location/gnss/GnssMetrics;->logCn0(Landroid/location/GnssStatus;)V+]Lcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;Lcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;]Lcom/android/server/location/gnss/GnssMetrics$Statistics;Lcom/android/server/location/gnss/GnssMetrics$Statistics;]Landroid/location/GnssStatus;Landroid/location/GnssStatus;]Lcom/android/server/location/gnss/GnssMetrics;Lcom/android/server/location/gnss/GnssMetrics; +HPLcom/android/server/location/gnss/GnssMetrics;->logCn0L5(Landroid/location/GnssStatus;)V+]Lcom/android/server/location/gnss/GnssMetrics$Statistics;Lcom/android/server/location/gnss/GnssMetrics$Statistics;]Landroid/location/GnssStatus;Landroid/location/GnssStatus;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Float;Ljava/lang/Float; +HPLcom/android/server/location/gnss/GnssMetrics;->logSvStatus(Landroid/location/GnssStatus;)V+]Landroid/location/GnssStatus;Landroid/location/GnssStatus; +HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$2;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V +HPLcom/android/server/location/gnss/GnssStatusProvider$$ExternalSyntheticLambda4;-><init>(Landroid/location/GnssStatus;)V +HPLcom/android/server/location/gnss/GnssStatusProvider$$ExternalSyntheticLambda4;->operate(Ljava/lang/Object;)V +HPLcom/android/server/location/gnss/GnssStatusProvider;->lambda$onReportSvStatus$2(Landroid/location/GnssStatus;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation; +HPLcom/android/server/location/gnss/GnssStatusProvider;->onReportSvStatus(Landroid/location/GnssStatus;)V +HPLcom/android/server/location/gnss/hal/GnssNative$$ExternalSyntheticLambda19;->runOrThrow()V +HPLcom/android/server/location/gnss/hal/GnssNative;->lambda$reportLocation$0(ZLandroid/location/Location;)V +HPLcom/android/server/location/gnss/hal/GnssNative;->lambda$reportSvStatus$2(I[I[F[F[F[F[F)V+]Lcom/android/server/location/gnss/hal/GnssNative$SvStatusCallbacks;Lcom/android/server/location/gnss/GnssLocationProvider;,Lcom/android/server/location/gnss/GnssStatusProvider; +HPLcom/android/server/location/gnss/hal/GnssNative;->reportSvStatus(I[I[F[F[F[F[F)V HSPLcom/android/server/location/injector/AppForegroundHelper;->notifyAppForeground(IZ)V+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Lcom/android/server/location/injector/AppForegroundHelper$AppForegroundListener;Lcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda12;,Lcom/android/server/location/gnss/GnssListenerMultiplexer$$ExternalSyntheticLambda4; +HSPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda0;->onUidImportance(II)V HSPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/injector/SystemAppForegroundHelper;IZ)V HSPLcom/android/server/location/injector/SystemAppForegroundHelper$$ExternalSyntheticLambda1;->run()V HSPLcom/android/server/location/injector/SystemAppForegroundHelper;->onAppForegroundChanged(II)V -HPLcom/android/server/location/injector/SystemAppOpsHelper;->noteOpNoThrow(ILandroid/location/util/identity/CallerIdentity;)Z +HPLcom/android/server/location/injector/SystemAppOpsHelper;->noteOpNoThrow(ILandroid/location/util/identity/CallerIdentity;)Z+]Landroid/location/util/identity/CallerIdentity;Landroid/location/util/identity/CallerIdentity;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HSPLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;->getValueForUser(II)I+]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/location/injector/SystemSettingsHelper;->isLocationEnabled(I)Z -HSPLcom/android/server/location/injector/SystemUserInfoHelper;->getRunningUserIds()[I +HSPLcom/android/server/location/injector/SystemUserInfoHelper;->getActivityManager()Landroid/app/IActivityManager; +HSPLcom/android/server/location/injector/SystemUserInfoHelper;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal; +HSPLcom/android/server/location/injector/SystemUserInfoHelper;->getCurrentUserId()I +HSPLcom/android/server/location/injector/SystemUserInfoHelper;->getRunningUserIds()[I+]Lcom/android/server/location/injector/SystemUserInfoHelper;Lcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;]Landroid/app/IActivityManager;Lcom/android/server/am/ActivityManagerService; +HPLcom/android/server/location/injector/SystemUserInfoHelper;->isVisibleUserId(I)Z HSPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard; -HSPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->close()V -HSPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->close()V+]Lcom/android/server/location/listeners/ListenerMultiplexer;Lcom/android/server/location/gnss/GnssStatusProvider;,Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; -HPLcom/android/server/location/listeners/ListenerMultiplexer;->deliverToListeners(Ljava/util/function/Function;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda19;,Lcom/android/server/location/gnss/GnssStatusProvider$$ExternalSyntheticLambda3;]Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;]Lcom/android/server/location/listeners/ListenerRegistration;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;,Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration; +HSPLcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;->close()V+]Ljava/util/Map$Entry;Ljava/util/AbstractMap$SimpleImmutableEntry;]Lcom/android/server/location/listeners/ListenerMultiplexer;Lcom/android/server/location/gnss/GnssStatusProvider;,Lcom/android/server/location/provider/LocationProviderManager;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer; +HSPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->acquire()Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer; +HSPLcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;->close()V+]Lcom/android/server/location/listeners/ListenerMultiplexer;megamorphic_types +HPLcom/android/server/location/listeners/ListenerMultiplexer;->deliverToListeners(Ljava/util/function/Function;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/location/gnss/GnssMeasurementsProvider$$ExternalSyntheticLambda0;,Lcom/android/server/location/gnss/GnssStatusProvider$$ExternalSyntheticLambda3;,Lcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda19;,Lcom/android/server/location/gnss/GnssNmeaProvider$1;]Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;]Lcom/android/server/location/listeners/ListenerRegistration;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;,Lcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementListenerRegistration;,Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration; HSPLcom/android/server/location/listeners/ListenerMultiplexer;->updateRegistrations(Ljava/util/function/Predicate;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;Lcom/android/server/location/listeners/ListenerMultiplexer$ReentrancyGuard;]Lcom/android/server/location/listeners/ListenerMultiplexer;Lcom/android/server/location/gnss/GnssStatusProvider;,Lcom/android/server/location/provider/LocationProviderManager;,Lcom/android/server/location/provider/PassiveLocationProviderManager;]Ljava/util/function/Predicate;megamorphic_types]Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer;Lcom/android/server/location/listeners/ListenerMultiplexer$UpdateServiceBuffer; +HPLcom/android/server/location/listeners/ListenerMultiplexer;->updateService()V HPLcom/android/server/location/listeners/ListenerRegistration$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/listeners/ListenerRegistration;)V HPLcom/android/server/location/listeners/ListenerRegistration$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; HPLcom/android/server/location/listeners/ListenerRegistration$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/location/listeners/ListenerRegistration;)V HPLcom/android/server/location/listeners/ListenerRegistration;->executeOperation(Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;)V +HPLcom/android/server/location/listeners/ListenerRegistration;->isActive()Z HPLcom/android/server/location/listeners/ListenerRegistration;->lambda$executeOperation$0()Ljava/lang/Object; -HPLcom/android/server/location/provider/AbstractLocationProvider;->reportLocation(Landroid/location/LocationResult;)V -HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda30;-><init>(IZ)V -HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda30;->test(Ljava/lang/Object;)Z +HSPLcom/android/server/location/provider/AbstractLocationProvider;->getState()Lcom/android/server/location/provider/AbstractLocationProvider$State; +HPLcom/android/server/location/provider/AbstractLocationProvider;->reportLocation(Landroid/location/LocationResult;)V+]Lcom/android/server/location/provider/AbstractLocationProvider$Listener;Lcom/android/server/location/provider/StationaryThrottlingLocationProvider;,Lcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;,Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; +HPLcom/android/server/location/provider/DelegateLocationProvider;->waitForInitialization()V +HPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda18;->test(Ljava/lang/Object;)Z +HSPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda30;-><init>(IZ)V +HSPLcom/android/server/location/provider/LocationProviderManager$$ExternalSyntheticLambda30;->test(Ljava/lang/Object;)Z +HPLcom/android/server/location/provider/LocationProviderManager$LastLocation;->calculateNextCoarse(Landroid/location/Location;Landroid/location/Location;)Landroid/location/Location; +HPLcom/android/server/location/provider/LocationProviderManager$LastLocation;->calculateNextFine(Landroid/location/Location;Landroid/location/Location;)Landroid/location/Location; HPLcom/android/server/location/provider/LocationProviderManager$LastLocation;->set(Landroid/location/Location;)V HPLcom/android/server/location/provider/LocationProviderManager$LastLocation;->setBypass(Landroid/location/Location;)V +HPLcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport;->deliverOnLocationChanged(Landroid/location/LocationResult;Landroid/os/IRemoteCallback;)V+]Landroid/location/LocationResult;Landroid/location/LocationResult;]Landroid/location/ILocationListener;Landroid/location/ILocationListener$Stub$Proxy;,Landroid/location/LocationManager$LocationListenerTransport; HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;-><init>(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;)V -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;->test(Landroid/location/Location;)Z -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;->test(Ljava/lang/Object;)Z -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->onPostExecute(Z)V -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->onPreExecute()V -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->operate(Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;)V -HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->acceptLocationChange(Landroid/location/LocationResult;)Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation; -HPLcom/android/server/location/provider/LocationProviderManager$Registration;->calculateProviderLocationRequest()Landroid/location/LocationRequest; -HPLcom/android/server/location/provider/LocationProviderManager$Registration;->getIdentity()Landroid/location/util/identity/CallerIdentity; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;->test(Landroid/location/Location;)Z+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Landroid/location/Location;Landroid/location/Location;]Landroid/location/LocationRequest;Landroid/location/LocationRequest; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;->test(Ljava/lang/Object;)Z+]Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1;Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration$1; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;-><init>(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;Landroid/location/LocationResult;Z)V +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->onPostExecute(Z)V+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/listeners/RemovableListenerRegistration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Landroid/location/LocationRequest;Landroid/location/LocationRequest; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->onPreExecute()V+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Landroid/location/LocationResult;Landroid/location/LocationResult;]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->operate(Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;)V+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Landroid/location/LocationResult;Landroid/location/LocationResult;]Landroid/location/util/identity/CallerIdentity;Landroid/location/util/identity/CallerIdentity;]Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerTransport; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;->operate(Ljava/lang/Object;)V+]Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2;Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration$2; +HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;->acceptLocationChange(Landroid/location/LocationResult;)Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/injector/AppOpsHelper;Lcom/android/server/location/injector/SystemAppOpsHelper;]Landroid/location/LocationResult;Landroid/location/LocationResult;]Landroid/location/LocationRequest;Landroid/location/LocationRequest;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; +HSPLcom/android/server/location/provider/LocationProviderManager$Registration;->getIdentity()Landroid/location/util/identity/CallerIdentity; HPLcom/android/server/location/provider/LocationProviderManager$Registration;->getLastDeliveredLocation()Landroid/location/Location; -HPLcom/android/server/location/provider/LocationProviderManager$Registration;->getRequest()Landroid/location/LocationRequest; -HPLcom/android/server/location/provider/LocationProviderManager$Registration;->onForegroundChanged(IZ)Z+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Lcom/android/server/location/injector/LocationPowerSaveModeHelper;Lcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;]Landroid/location/util/identity/CallerIdentity;Landroid/location/util/identity/CallerIdentity; -HPLcom/android/server/location/provider/LocationProviderManager;->access$900(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object; -HPLcom/android/server/location/provider/LocationProviderManager;->getLastLocationUnsafe(IIZJ)Landroid/location/Location; -HPLcom/android/server/location/provider/LocationProviderManager;->isEnabled(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; -HPLcom/android/server/location/provider/LocationProviderManager;->lambda$onAppForegroundChanged$10(IZLcom/android/server/location/provider/LocationProviderManager$Registration;)Z -HPLcom/android/server/location/provider/LocationProviderManager;->onAppForegroundChanged(IZ)V -HPLcom/android/server/location/provider/LocationProviderManager;->onReportLocation(Landroid/location/LocationResult;)V +HPLcom/android/server/location/provider/LocationProviderManager$Registration;->getPermissionLevel()I +HSPLcom/android/server/location/provider/LocationProviderManager$Registration;->getRequest()Landroid/location/LocationRequest; +HSPLcom/android/server/location/provider/LocationProviderManager$Registration;->onForegroundChanged(IZ)Z+]Lcom/android/server/location/provider/LocationProviderManager$Registration;Lcom/android/server/location/provider/LocationProviderManager$LocationListenerRegistration;]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Lcom/android/server/location/injector/LocationPowerSaveModeHelper;Lcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;]Landroid/location/util/identity/CallerIdentity;Landroid/location/util/identity/CallerIdentity; +HPLcom/android/server/location/provider/LocationProviderManager$Registration;->setLastDeliveredLocation(Landroid/location/Location;)V +HSPLcom/android/server/location/provider/LocationProviderManager;->access$000(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object; +HPLcom/android/server/location/provider/LocationProviderManager;->access$100(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object; +HPLcom/android/server/location/provider/LocationProviderManager;->access$200(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object; +HSPLcom/android/server/location/provider/LocationProviderManager;->access$900(Lcom/android/server/location/provider/LocationProviderManager;)Ljava/lang/Object; +HPLcom/android/server/location/provider/LocationProviderManager;->calculateLastLocationRequest(Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LastLocationRequest; +HPLcom/android/server/location/provider/LocationProviderManager;->getLastLocation(Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;I)Landroid/location/Location; +HPLcom/android/server/location/provider/LocationProviderManager;->getLastLocationUnsafe(IIZJ)Landroid/location/Location;+]Landroid/location/Location;Landroid/location/Location;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/location/provider/LocationProviderManager$LastLocation;Lcom/android/server/location/provider/LocationProviderManager$LastLocation;]Lcom/android/server/location/injector/UserInfoHelper;Lcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/LocationProviderManager; +HSPLcom/android/server/location/provider/LocationProviderManager;->getName()Ljava/lang/String; +HSPLcom/android/server/location/provider/LocationProviderManager;->getProviderIdentity()Landroid/location/util/identity/CallerIdentity; +HSPLcom/android/server/location/provider/LocationProviderManager;->isActive(ZLandroid/location/util/identity/CallerIdentity;)Z +HSPLcom/android/server/location/provider/LocationProviderManager;->isEnabled(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HSPLcom/android/server/location/provider/LocationProviderManager;->isVisibleToCaller()Z+]Ljava/util/Collection;Ljava/util/Collections$EmptyList;]Ljava/util/Iterator;Ljava/util/Collections$EmptyIterator; +HSPLcom/android/server/location/provider/LocationProviderManager;->lambda$onAppForegroundChanged$10(IZLcom/android/server/location/provider/LocationProviderManager$Registration;)Z +HPLcom/android/server/location/provider/LocationProviderManager;->mergeRegistrations(Ljava/util/Collection;)Landroid/location/provider/ProviderRequest; +HSPLcom/android/server/location/provider/LocationProviderManager;->onAppForegroundChanged(IZ)V +HPLcom/android/server/location/provider/LocationProviderManager;->onReportLocation(Landroid/location/LocationResult;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/location/eventlog/LocationEventLog;Lcom/android/server/location/eventlog/LocationEventLog;]Landroid/location/Location;Landroid/location/Location;]Lcom/android/server/location/listeners/ListenerMultiplexer;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager;]Landroid/location/LocationResult;Landroid/location/LocationResult;]Lcom/android/server/location/provider/PassiveLocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; HPLcom/android/server/location/provider/LocationProviderManager;->setLastLocation(Landroid/location/Location;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/location/provider/LocationProviderManager$LastLocation;Lcom/android/server/location/provider/LocationProviderManager$LastLocation;]Lcom/android/server/location/injector/UserInfoHelper;Lcom/android/server/location/LocationManagerService$Lifecycle$LifecycleUserInfoHelper;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; -HPLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;->onReportLocation(Landroid/location/LocationResult;)V +HPLcom/android/server/location/provider/MockableLocationProvider$ListenerWrapper;->onReportLocation(Landroid/location/LocationResult;)V+]Lcom/android/server/location/provider/AbstractLocationProvider;Lcom/android/server/location/provider/MockableLocationProvider; HPLcom/android/server/location/provider/PassiveLocationProviderManager;->updateLocation(Landroid/location/LocationResult;)V -HPLcom/android/server/location/provider/StationaryThrottlingLocationProvider;->onThrottlingChangedLocked(Z)V +HPLcom/android/server/location/provider/StationaryThrottlingLocationProvider;->onReportLocation(Landroid/location/LocationResult;)V +HSPLcom/android/server/location/provider/StationaryThrottlingLocationProvider;->onThrottlingChangedLocked(Z)V HPLcom/android/server/location/provider/proxy/ProxyLocationProvider$Proxy;->onReportLocation(Landroid/location/Location;)V -HSPLcom/android/server/locksettings/LockSettingsService$2;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V -HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V -HSPLcom/android/server/locksettings/LockSettingsService$Injector;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler(Lcom/android/server/ServiceThread;)Landroid/os/Handler; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getJavaKeyStore()Ljava/security/KeyStore; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getManagedProfilePasswordCache(Ljava/security/KeyStore;)Lcom/android/server/locksettings/ManagedProfilePasswordCache; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getRebootEscrowManager(Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/RebootEscrowManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager()Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getServiceThread()Lcom/android/server/ServiceThread; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStorageManager()Landroid/os/storage/IStorageManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager; -HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager; -HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V -HSPLcom/android/server/locksettings/LockSettingsService;-><clinit>()V -HSPLcom/android/server/locksettings/LockSettingsService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V HSPLcom/android/server/locksettings/LockSettingsService;->checkDatabaseReadPermission(Ljava/lang/String;I)V+]Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService; HSPLcom/android/server/locksettings/LockSettingsService;->checkPasswordReadPermission()V +HSPLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z HSPLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabled(I)Z+]Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService; HSPLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabledInternal(I)Z+]Lcom/android/server/locksettings/LockSettingsStorage;Lcom/android/server/locksettings/LockSettingsStorage; +HSPLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String; HPLcom/android/server/locksettings/LockSettingsService;->getStrongAuthForUser(I)I HSPLcom/android/server/locksettings/LockSettingsService;->hasPermission(Ljava/lang/String;)Z HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z @@ -5987,85 +5274,71 @@ HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Lja HSPLcom/android/server/locksettings/LockSettingsStorage;->-$$Nest$sfgetDEFAULT()Ljava/lang/Object; HSPLcom/android/server/locksettings/LockSettingsStorage;->getBoolean(Ljava/lang/String;ZI)Z+]Lcom/android/server/locksettings/LockSettingsStorage;Lcom/android/server/locksettings/LockSettingsStorage; HSPLcom/android/server/locksettings/LockSettingsStorage;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/locksettings/LockSettingsStorage;Lcom/android/server/locksettings/LockSettingsStorage; -HSPLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordStateFileForUser(IJLjava/lang/String;)Ljava/io/File; HSPLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/locksettings/LockSettingsStorage$Cache;Lcom/android/server/locksettings/LockSettingsStorage$Cache;]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/sqlite/SQLiteOpenHelper;Lcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; -HSPLcom/android/server/locksettings/SyntheticPasswordCrypto;-><clinit>()V -HSPLcom/android/server/locksettings/SyntheticPasswordCrypto;->androidKeystoreProviderName()Ljava/lang/String; -HSPLcom/android/server/locksettings/SyntheticPasswordCrypto;->keyNamespace()I HSPLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData; -HSPLcom/android/server/locksettings/SyntheticPasswordManager;-><clinit>()V -HSPLcom/android/server/locksettings/SyntheticPasswordManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/UserManager;Lcom/android/server/locksettings/PasswordSlotManager;)V -HSPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;-><init>(Ljava/security/KeyStore;)V -HSPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore; -HSPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><clinit>()V -HSPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V -HSPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore; -HSPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager; -HSPLcom/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 HPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->checkRecoverKeyStorePermission()V -HSPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager; -HSPLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;-><init>()V -HSPLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;-><init>()V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;-><init>(Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;)V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage; +HPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getGrantAlias(IILjava/lang/String;)Ljava/lang/String; +HPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInternalAlias(IILjava/lang/String;)Ljava/lang/String; HPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->makeKeystoreEngineGrantString(ILjava/lang/String;)Ljava/lang/String; -HSPLcom/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 -HSPLcom/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; HPLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->registerRecoveryAgent(II)V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->verifyKnownUsers()V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;)V -HPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getStatusForAllKeys(I)Ljava/util/Map;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase;]Landroid/database/sqlite/SQLiteOpenHelper;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper; -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getUserSerialNumbers()Ljava/util/Map; -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->newInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb; -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;->getDbVersion(Landroid/content/Context;)I -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;-><init>()V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;-><init>(Ljava/io/File;)V -HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->newInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage; -HSPLcom/android/server/logcat/LogcatManagerService$BinderService;-><init>(Lcom/android/server/logcat/LogcatManagerService;)V -HSPLcom/android/server/logcat/LogcatManagerService$BinderService;-><init>(Lcom/android/server/logcat/LogcatManagerService;Lcom/android/server/logcat/LogcatManagerService$BinderService-IA;)V -HSPLcom/android/server/logcat/LogcatManagerService$Injector$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/logcat/LogcatManagerService$Injector;-><init>()V -HSPLcom/android/server/logcat/LogcatManagerService$Injector;->createClock()Ljava/util/function/Supplier; -HSPLcom/android/server/logcat/LogcatManagerService$Injector;->getLooper()Landroid/os/Looper; -HSPLcom/android/server/logcat/LogcatManagerService$LogAccessDialogCallback;-><init>(Lcom/android/server/logcat/LogcatManagerService;)V -HSPLcom/android/server/logcat/LogcatManagerService$LogAccessRequestHandler;-><init>(Landroid/os/Looper;Lcom/android/server/logcat/LogcatManagerService;)V -HSPLcom/android/server/logcat/LogcatManagerService;-><clinit>()V -HSPLcom/android/server/logcat/LogcatManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/logcat/LogcatManagerService;-><init>(Landroid/content/Context;Lcom/android/server/logcat/LogcatManagerService$Injector;)V -HSPLcom/android/server/logcat/LogcatManagerService;->onStart()V +HPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getStatusForAllKeys(I)Ljava/util/Map; HPLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;->onPlaybackConfigChanged(Ljava/util/List;)V+]Landroid/media/AudioPlaybackConfiguration;Landroid/media/AudioPlaybackConfiguration;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLcom/android/server/media/AudioPoliciesBluetoothRouteController;->getAllBluetoothRoutes()Ljava/util/List; +HSPLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->getPackageNamesFromPid(I)[Ljava/lang/String;+]Lcom/android/server/SystemService;Lcom/android/server/media/MediaResourceMonitorService;]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->notifyResourceGranted(II)V +HPLcom/android/server/media/MediaRoute2Provider;->getSessionInfos()Ljava/util/List; +HSPLcom/android/server/media/MediaRoute2Provider;->setProviderState(Landroid/media/MediaRoute2ProviderInfo;)V +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy$Connection;->postProviderUpdated(Landroid/media/MediaRoute2ProviderInfo;)V +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->shouldBind()Z HPLcom/android/server/media/MediaRoute2ProviderWatcher;->scanPackages()V -HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->maybeUpdateDiscoveryPreferenceForUid(I)V+]Landroid/os/Handler;Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;]Ljava/util/stream/Stream;Ljava/util/stream/ReferencePipeline$Head;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/media/MediaRouter2ServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HSPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler$$ExternalSyntheticLambda10;->test(Ljava/lang/Object;)Z +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->dispatchUpdates(ZZZLandroid/media/MediaRoute2Info;)V +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getManagerRecords()Ljava/util/List; +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getManagers()Ljava/util/List; +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getRouterRecords()Ljava/util/List; +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->indexOfRouteProviderInfoByUniqueId(Ljava/lang/String;Ljava/util/List;)I +HSPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->maybeUpdateDiscoveryPreferenceForUid(I)V+]Landroid/os/Handler;Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;]Ljava/util/stream/Stream;Ljava/util/stream/ReferencePipeline$Head;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->onProviderStateChanged(Lcom/android/server/media/MediaRoute2Provider;)V +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->onProviderStateChangedOnHandler(Lcom/android/server/media/MediaRoute2Provider;)V HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->updateDiscoveryPreferenceOnHandler()V +HSPLcom/android/server/media/MediaRouter2ServiceImpl;->-$$Nest$fgetmLock(Lcom/android/server/media/MediaRouter2ServiceImpl;)Ljava/lang/Object; +HPLcom/android/server/media/MediaRouter2ServiceImpl;->getRemoteSessions(Landroid/media/IMediaRouter2Manager;)Ljava/util/List; +HPLcom/android/server/media/MediaRouter2ServiceImpl;->getRemoteSessionsLocked(Landroid/media/IMediaRouter2Manager;)Ljava/util/List;+]Landroid/media/IMediaRouter2Manager;Landroid/media/IMediaRouter2Manager$Stub$Proxy;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/media/MediaRoute2Provider;Lcom/android/server/media/MediaRoute2ProviderServiceProxy;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/media/MediaRouter2ServiceImpl;->getSystemSessionInfo(Ljava/lang/String;Z)Landroid/media/RoutingSessionInfo; HSPLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$new$0(II)V+]Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/media/MediaRouterService;->monitor()V +HPLcom/android/server/media/MediaRouterService$AudioPlayerActiveStateChangedListenerImpl;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V +HSPLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V +HPLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackState(Landroid/media/session/PlaybackState;)V +HPLcom/android/server/media/MediaSessionRecord;->getStateWithUpdatedPosition()Landroid/media/session/PlaybackState;+]Landroid/media/session/PlaybackState$Builder;Landroid/media/session/PlaybackState$Builder;]Landroid/media/session/PlaybackState;Landroid/media/session/PlaybackState; +HPLcom/android/server/media/MediaSessionRecord;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo; +HSPLcom/android/server/media/MediaSessionService;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionService$FullUserRecord; +HPLcom/android/server/media/MediaSessionStack;->findMediaButtonSession(I)Lcom/android/server/media/MediaSessionRecordImpl; HPLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V -HPLcom/android/server/media/RemoteDisplayProviderWatcher;->verifyServiceTrusted(Landroid/content/pm/ServiceInfo;)Z -HPLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V -HSPLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda3;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V -HSPLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda3;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V +HPLcom/android/server/media/SystemMediaRoute2Provider;->generateDeviceRouteSelectedSessionInfo(Ljava/lang/String;)Landroid/media/RoutingSessionInfo; +HSPLcom/android/server/media/SystemMediaRoute2Provider;->updateSessionInfosIfNeeded()Z +HPLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;->loggingLevel()I HPLcom/android/server/net/NetworkManagementService$$ExternalSyntheticLambda5;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V HSPLcom/android/server/net/NetworkManagementService$Dependencies;->getCallingUid()I HSPLcom/android/server/net/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z -HSPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda1;->run()V HPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener$$ExternalSyntheticLambda4;->run()V -HSPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressUpdated$3(Ljava/lang/String;Landroid/net/LinkAddress;)V HSPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressUpdated(Ljava/lang/String;Ljava/lang/String;II)V HPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceClassActivityChanged(ZIJI)V HPLcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener;->onQuotaLimitReached(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/net/NetworkManagementService;->-$$Nest$fgetmDaemonHandler(Lcom/android/server/net/NetworkManagementService;)Landroid/os/Handler; HSPLcom/android/server/net/NetworkManagementService;->-$$Nest$misNetworkRestrictedInternal(Lcom/android/server/net/NetworkManagementService;I)Z -HSPLcom/android/server/net/NetworkManagementService;->-$$Nest$mnotifyAddressUpdated(Lcom/android/server/net/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V HSPLcom/android/server/net/NetworkManagementService;->enforceSystemUid()V HSPLcom/android/server/net/NetworkManagementService;->getFirewallChainState(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HSPLcom/android/server/net/NetworkManagementService;->getFirewallRuleName(II)Ljava/lang/String; HSPLcom/android/server/net/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray; HSPLcom/android/server/net/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/net/NetworkManagementService$NetworkManagementEventCallback;)V+]Lcom/android/server/net/NetworkManagementService$NetworkManagementEventCallback;megamorphic_types]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/net/NetworkManagementService;->isNetworkRestrictedInternal(I)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; -HSPLcom/android/server/net/NetworkManagementService;->notifyAddressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V +HPLcom/android/server/net/NetworkManagementService;->notifyInterfaceClassActivity(IZJI)V +HPLcom/android/server/net/NetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V HPLcom/android/server/net/NetworkManagementService;->setFirewallUidRule(III)V+]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; HPLcom/android/server/net/NetworkManagementService;->setFirewallUidRuleLocked(III)V+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; +HSPLcom/android/server/net/NetworkManagementService;->setFirewallUidRules(I[I[I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; +HPLcom/android/server/net/NetworkManagementService;->setInterfaceQuota(Ljava/lang/String;J)V HSPLcom/android/server/net/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkManagementService$Dependencies;Lcom/android/server/net/NetworkManagementService$Dependencies; HSPLcom/android/server/net/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V HSPLcom/android/server/net/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; @@ -6076,37 +5349,44 @@ HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->meteredAllowlistChang HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->networkBlocked(IIII)V+]Lcom/android/server/net/NetworkPolicyLogger$Data;Lcom/android/server/net/NetworkPolicyLogger$Data;]Lcom/android/internal/util/RingBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged(IZILjava/lang/String;)V HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidFirewallRuleChanged(III)V+]Lcom/android/server/net/NetworkPolicyLogger$Data;Lcom/android/server/net/NetworkPolicyLogger$Data;]Lcom/android/internal/util/RingBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; -HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJI)V +HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJI)V HPLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V -HPLcom/android/server/net/NetworkPolicyLogger;->appIdleWlChanged(IZ)V HSPLcom/android/server/net/NetworkPolicyLogger;->meteredAllowlistChanged(IZ)V HPLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(ILcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;)V+]Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; HPLcom/android/server/net/NetworkPolicyLogger;->tempPowerSaveWlChanged(IZILjava/lang/String;)V HPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V+]Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; -HPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V +HSPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V +HPLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda3;->accept(I)V HSPLcom/android/server/net/NetworkPolicyManagerService$15;->handleMessage(Landroid/os/Message;)Z+]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Landroid/app/usage/NetworkStatsManager;Landroid/app/usage/NetworkStatsManager;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/net/NetworkPolicyManagerService$16;->handleMessage(Landroid/os/Message;)Z HSPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJI)V +HPLcom/android/server/net/NetworkPolicyManagerService$Dependencies;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J HPLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V -HPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onTempPowerSaveWhitelistChange(IZILjava/lang/String;)V +HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onTempPowerSaveWhitelistChange(IZILjava/lang/String;)V HPLcom/android/server/net/NetworkPolicyManagerService$StatsCallback;->onThresholdReached(ILjava/lang/String;)V HSPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->copyFrom(Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;)V HSPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->deriveUidRules()I +HSPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->getEffectiveBlockedReasons(II)I HSPLcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;->updateEffectiveBlockedReasons()V HSPLcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;->update(IIJI)V HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmListeners(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/os/RemoteCallbackList; -HPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmLogger(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkPolicyLogger; HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmUidStateCallbackInfos(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseArray; HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$mdispatchBlockedReasonChanged(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;III)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService; HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$mdispatchUidRulesChanged(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;II)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService; HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$sfgetLOGV()Z HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchBlockedReasonChanged(Landroid/net/INetworkPolicyListener;III)V+]Landroid/net/INetworkPolicyListener;Landroid/net/INetworkPolicyListener$Stub$Proxy;,Lcom/android/server/job/controllers/ConnectivityController$3;,Landroid/net/NetworkPolicyManager$NetworkPolicyCallbackProxy;,Lcom/android/server/connectivity/MultipathPolicyTracker$2; -HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V+]Landroid/net/INetworkPolicyListener;Lcom/android/server/job/controllers/ConnectivityController$3;,Landroid/net/INetworkPolicyListener$Stub$Proxy;,Landroid/net/NetworkPolicyManager$NetworkPolicyCallbackProxy;,Lcom/android/server/connectivity/MultipathPolicyTracker$2; +HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V+]Landroid/net/INetworkPolicyListener;Landroid/net/INetworkPolicyListener$Stub$Proxy;,Lcom/android/server/job/controllers/ConnectivityController$3;,Landroid/net/NetworkPolicyManager$NetworkPolicyCallbackProxy;,Lcom/android/server/connectivity/MultipathPolicyTracker$2; HSPLcom/android/server/net/NetworkPolicyManagerService;->findRelevantSubIdNL(Landroid/net/NetworkTemplate;)I +HSPLcom/android/server/net/NetworkPolicyManagerService;->forEachUid(Ljava/lang/String;Ljava/util/function/IntConsumer;)V +HPLcom/android/server/net/NetworkPolicyManagerService;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy; HSPLcom/android/server/net/NetworkPolicyManagerService;->getOrCreateUidBlockedStateForUid(Landroid/util/SparseArray;I)Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/net/NetworkPolicyManagerService;->getPrimarySubscriptionPlanLocked(I)Landroid/telephony/SubscriptionPlan; +HPLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundStatus(I)I HPLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundStatusInternal(I)I +HPLcom/android/server/net/NetworkPolicyManagerService;->getSubIdLocked(Landroid/net/Network;)I HPLcom/android/server/net/NetworkPolicyManagerService;->getUidPolicy(I)I HSPLcom/android/server/net/NetworkPolicyManagerService;->handleBlockedReasonsChanged(III)V +HPLcom/android/server/net/NetworkPolicyManagerService;->handleDeviceIdleModeDisabledUL()V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; HSPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;)V HSPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissionUL(I)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HSPLcom/android/server/net/NetworkPolicyManagerService;->isAllowlistedFromLowPowerStandbyUL(I)Z @@ -6129,10 +5409,10 @@ HPLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnable HPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRuleUL(III)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkPolicyLogger;Lcom/android/server/net/NetworkPolicyLogger;]Landroid/os/INetworkManagementService;Lcom/android/server/net/NetworkManagementService; HSPLcom/android/server/net/NetworkPolicyManagerService;->updateBlockedReasonsForRestrictedModeUL(I)I HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V -HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V -HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V +HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/net/Network;Landroid/net/Network;]Landroid/net/NetworkTemplate;Landroid/net/NetworkTemplate;]Landroid/net/NetworkIdentity$Builder;Landroid/net/NetworkIdentity$Builder;]Landroid/net/NetworkStateSnapshot;Landroid/net/NetworkStateSnapshot;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Landroid/os/Message;Landroid/os/Message;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;,Landroid/net/NetworkPolicyManager$1;]Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;]Landroid/net/NetworkPolicy;Landroid/net/NetworkPolicy;]Ljava/time/Instant;Ljava/time/Instant; +HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V -HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForDeviceIdleUL(I)V HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForRestrictPowerUL(I)V HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V @@ -6141,65 +5421,34 @@ HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRest HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(II)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService; HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(IZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService; HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(IZ)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState;Lcom/android/server/net/NetworkPolicyManagerService$UidBlockedState; -HPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(IIJI)Z +HPLcom/android/server/net/NetworkPolicyManagerService;->updateSubscriptions()V +HSPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(IIJI)Z HSPLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/InputStream;)[B+]Ljava/io/InputStream;Ljava/io/FileInputStream;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; -HSPLcom/android/server/net/watchlist/NetworkWatchlistService$1;-><init>(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V HPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onConnectEvent(Ljava/lang/String;IJI)V+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; -HPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V -HSPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V +HPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; HPLcom/android/server/net/watchlist/NetworkWatchlistService;->-$$Nest$fgetmIsLoggingEnabled(Lcom/android/server/net/watchlist/NetworkWatchlistService;)Z -HSPLcom/android/server/net/watchlist/NetworkWatchlistService;-><clinit>()V -HSPLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V HPLcom/android/server/net/watchlist/PrivacyUtils;->createDpEncodedReportMap(Z[BLjava/util/List;Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/Map; -HSPLcom/android/server/net/watchlist/WatchlistConfig;-><clinit>()V -HSPLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V -HSPLcom/android/server/net/watchlist/WatchlistConfig;-><init>(Ljava/io/File;)V +HPLcom/android/server/net/watchlist/PrivacyUtils;->createLongitudinalReportingConfig(Ljava/lang/String;)Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig; HPLcom/android/server/net/watchlist/WatchlistConfig;->containsDomain(Ljava/lang/String;)Z HPLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z -HSPLcom/android/server/net/watchlist/WatchlistConfig;->getInstance()Lcom/android/server/net/watchlist/WatchlistConfig; -HSPLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><clinit>()V -HSPLcom/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+]Landroid/os/Handler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler;]Landroid/os/Message;Landroid/os/Message;]Landroid/os/Bundle;Landroid/os/Bundle; -HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllSubDomains(Ljava/lang/String;)[Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getLastMidnightTime()J -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getPrimaryUserId()I HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleNetworkEvent(Ljava/lang/String;[Ljava/lang/String;IJ)V+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V +HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->lambda$getDigestFromUid$0(ILjava/lang/Integer;)[B HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchAllSubDomainsInWatchlist(Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchIpInWatchlist([Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z -HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V -HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><clinit>()V -HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper; -HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getSystemWatchlistDbFile()Ljava/io/File; -HSPLcom/android/server/net/watchlist/WatchlistSettings;-><clinit>()V -HSPLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V -HSPLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V -HSPLcom/android/server/net/watchlist/WatchlistSettings;->getInstance()Lcom/android/server/net/watchlist/WatchlistSettings; -HSPLcom/android/server/net/watchlist/WatchlistSettings;->getSystemWatchlistFile()Ljava/io/File; -HSPLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B -HSPLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V -HPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; -HPLcom/android/server/notification/BubbleExtractor;->canPresentAsBubble(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/BubbleExtractor;Lcom/android/server/notification/BubbleExtractor;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; +HPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/Notification$BubbleMetadata;Landroid/app/Notification$BubbleMetadata;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; +HPLcom/android/server/notification/BubbleExtractor;->canPresentAsBubble(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/app/Notification$BubbleMetadata;Landroid/app/Notification$BubbleMetadata;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/BubbleExtractor;Lcom/android/server/notification/BubbleExtractor; +HPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/BubbleExtractor;Lcom/android/server/notification/BubbleExtractor;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; HPLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult; -HPLcom/android/server/notification/CalendarTracker;->meetsAttendee(Landroid/service/notification/ZenModeConfig$EventInfo;ILjava/lang/String;)Z HSPLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config; HSPLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord; -HPLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V -HPLcom/android/server/notification/CriticalNotificationExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration; HSPLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I+]Lcom/android/server/notification/GlobalSortKeyComparator;Lcom/android/server/notification/GlobalSortKeyComparator; HPLcom/android/server/notification/GroupHelper;->generatePackageKey(ILjava/lang/String;)Ljava/lang/String; HPLcom/android/server/notification/GroupHelper;->maybeGroup(Landroid/service/notification/StatusBarNotification;Z)V -HPLcom/android/server/notification/GroupHelper;->maybeUngroup(Landroid/service/notification/StatusBarNotification;ZI)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/notification/GroupHelper$Callback;Lcom/android/server/notification/NotificationManagerService$11;]Lcom/android/server/notification/GroupHelper;Lcom/android/server/notification/GroupHelper; -HPLcom/android/server/notification/GroupHelper;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Z)V +HPLcom/android/server/notification/GroupHelper;->maybeUngroup(Landroid/service/notification/StatusBarNotification;ZI)V HPLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices$UserProfiles;Lcom/android/server/notification/ManagedServices$UserProfiles; HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getService()Landroid/os/IInterface; @@ -6211,22 +5460,19 @@ HPLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfi HSPLcom/android/server/notification/ManagedServices$UserProfiles;->isProfileUser(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; HPLcom/android/server/notification/ManagedServices;->-$$Nest$fgetmEnabledServicesForCurrentProfiles(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet; HPLcom/android/server/notification/ManagedServices;->-$$Nest$fgetmUserProfiles(Lcom/android/server/notification/ManagedServices;)Lcom/android/server/notification/ManagedServices$UserProfiles; -HSPLcom/android/server/notification/ManagedServices;->checkNotNull(Landroid/os/IInterface;)V -HSPLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;+]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;,Lcom/android/server/notification/ConditionProviders;,Lcom/android/server/notification/NotificationManagerService$NotificationAssistants; +HSPLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo; HSPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;+]Landroid/os/IInterface;Landroid/service/notification/ConditionProviderService$Provider;,Landroid/service/notification/INotificationListener$Stub$Proxy;,Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;,Landroid/service/notification/IConditionProvider$Stub$Proxy;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List; HPLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z -HPLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants; -HPLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z+]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants; +HPLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z +HPLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z HSPLcom/android/server/notification/ManagedServices;->writeDefaults(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/notification/ManagedServices;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V HPLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; HSPLcom/android/server/notification/NotificationChannelLogger;->getLoggingImportance(Landroid/app/NotificationChannel;)I HSPLcom/android/server/notification/NotificationChannelLogger;->getLoggingImportance(Landroid/app/NotificationChannel;I)I -HSPLcom/android/server/notification/NotificationChannelLogger;->logNotificationChannelModified(Landroid/app/NotificationChannel;ILjava/lang/String;IZ)V -HSPLcom/android/server/notification/NotificationChannelLoggerImpl;->logNotificationChannel(Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;Landroid/app/NotificationChannel;ILjava/lang/String;II)V HPLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationComparator;Lcom/android/server/notification/NotificationComparator; HPLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I+]Lcom/android/server/notification/NotificationComparator;Lcom/android/server/notification/NotificationComparator; HPLcom/android/server/notification/NotificationComparator;->isCallStyle(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; @@ -6235,95 +5481,89 @@ HPLcom/android/server/notification/NotificationComparator;->isImportantMessaging HPLcom/android/server/notification/NotificationComparator;->isImportantOngoing(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationComparator;Lcom/android/server/notification/NotificationComparator; HPLcom/android/server/notification/NotificationComparator;->isImportantPeople(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationComparator;->isSystemMax(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/NotificationHistoryJobService;->lambda$onStartJob$0(Landroid/app/job/JobParameters;)V -HPLcom/android/server/notification/NotificationHistoryJobService;->onStartJob(Landroid/app/job/JobParameters;)Z -HPLcom/android/server/notification/NotificationHistoryManager$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/NotificationHistory$HistoricalNotification;)V -HPLcom/android/server/notification/NotificationHistoryManager$$ExternalSyntheticLambda0;->runOrThrow()V -HPLcom/android/server/notification/NotificationHistoryManager;->addNotification(Landroid/app/NotificationHistory$HistoricalNotification;)V -HPLcom/android/server/notification/NotificationHistoryManager;->cleanupHistoryFiles()V HSPLcom/android/server/notification/NotificationHistoryManager;->getUserHistoryAndInitializeIfNeededLocked(I)Lcom/android/server/notification/NotificationHistoryDatabase; HPLcom/android/server/notification/NotificationHistoryManager;->lambda$addNotification$0(Landroid/app/NotificationHistory$HistoricalNotification;)V -HPLcom/android/server/notification/NotificationIntrusivenessExtractor$1;-><init>(Lcom/android/server/notification/NotificationIntrusivenessExtractor;Ljava/lang/String;J)V HPLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda12;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/util/List;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V HPLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda12;->run()V +HPLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda5;->run()V +HPLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda7;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)V +HPLcom/android/server/notification/NotificationManagerService$$ExternalSyntheticLambda7;->getOrThrow()Ljava/lang/Object; HPLcom/android/server/notification/NotificationManagerService$12;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V+]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12;]Landroid/service/notification/Adjustment;Landroid/service/notification/Adjustment;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/notification/NotificationManagerService$12;->areNotificationsEnabled(Ljava/lang/String;)Z+]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12; HPLcom/android/server/notification/NotificationManagerService$12;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z+]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12; -HPLcom/android/server/notification/NotificationManagerService$12;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z+]Landroid/os/UserHandle;Landroid/os/UserHandle; -HPLcom/android/server/notification/NotificationManagerService$12;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; +HPLcom/android/server/notification/NotificationManagerService$12;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; +HSPLcom/android/server/notification/NotificationManagerService$12;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLcom/android/server/notification/NotificationManagerService$12;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;I)V HSPLcom/android/server/notification/NotificationManagerService$12;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/notification/NotificationManagerService$12;->enforceDeletingChannelHasNoFgService(Ljava/lang/String;ILjava/lang/String;)V HSPLcom/android/server/notification/NotificationManagerService$12;->enforceDeletingChannelHasNoUserInitiatedJob(Ljava/lang/String;ILjava/lang/String;)V HPLcom/android/server/notification/NotificationManagerService$12;->enforceSystemOrSystemUIOrSamePackage(Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/notification/NotificationManagerService$12;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V HPLcom/android/server/notification/NotificationManagerService$12;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/notification/NotificationManagerService$12;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12;]Ljava/util/Collection;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper; +HSPLcom/android/server/notification/NotificationManagerService$12;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12;]Ljava/util/Collection;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper; HPLcom/android/server/notification/NotificationManagerService$12;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Landroid/app/NotificationChannel;+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HPLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;+]Lcom/android/server/notification/NotificationManagerService$12;Lcom/android/server/notification/NotificationManagerService$12; HPLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper; HPLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice; HPLcom/android/server/notification/NotificationManagerService$12;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice; HPLcom/android/server/notification/NotificationManagerService$12;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z HPLcom/android/server/notification/NotificationManagerService$12;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification; +HPLcom/android/server/notification/NotificationManagerService$12;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V HSPLcom/android/server/notification/NotificationManagerService$13;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z -HPLcom/android/server/notification/NotificationManagerService$16;->run()V -HPLcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;-><init>(II)V HPLcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;->apply(I)Z HSPLcom/android/server/notification/NotificationManagerService$17;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;IIIILjava/lang/String;J)V -HPLcom/android/server/notification/NotificationManagerService$17;->lambda$run$0(III)Z HPLcom/android/server/notification/NotificationManagerService$17;->run()V +HPLcom/android/server/notification/NotificationManagerService$1;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V HPLcom/android/server/notification/NotificationManagerService$1;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V +HPLcom/android/server/notification/NotificationManagerService$1;->onPanelHidden()V +HPLcom/android/server/notification/NotificationManagerService$1;->onPanelRevealed(ZI)V HPLcom/android/server/notification/NotificationManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/notification/NotificationManagerService$Archive;->record(Landroid/service/notification/StatusBarNotification;I)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+]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper; +HSPLcom/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+]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/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 -HPLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->run()V +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants$$ExternalSyntheticLambda10;-><init>(Ljava/util/function/BiConsumer;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants$$ExternalSyntheticLambda7;->accept(Ljava/lang/Object;Ljava/lang/Object;)V HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config; HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isAdjustmentAllowed(Ljava/lang/String;)Z HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isEnabled()Z HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isVerboseLogEnabled()Z -HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantLocked(Landroid/service/notification/StatusBarNotification;IZLjava/util/function/BiConsumer;)V +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantLocked(Landroid/service/notification/StatusBarNotification;IZLjava/util/function/BiConsumer;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/notification/NotificationManagerService$TrimCache;Lcom/android/server/notification/NotificationManagerService$TrimCache; +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantVisibilityChangedLocked(Lcom/android/server/notification/NotificationRecord;Z)V HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Landroid/service/notification/INotificationListener;Landroid/service/notification/INotificationListener$Stub$Proxy;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/notification/NotificationManagerService$TrimCache;Lcom/android/server/notification/NotificationManagerService$TrimCache; +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationsSeenLocked(Ljava/util/ArrayList;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onPanelHidden()V +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onPanelRevealed(I)V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda0;->run()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 HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda2;->run()V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda3;->run()V -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda4;->run()V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda5;->run()V -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationRecord;)V HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getOnNotificationPostedTrim(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)I HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelGroupChanged$9(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$prepareNotifyPostedLocked$2(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V -HPLcom/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;->notifyNotificationChannelGroupChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPosted(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V+]Landroid/service/notification/INotificationListener;Landroid/service/notification/INotificationListener$Stub$Proxy;,Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper; -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdate(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V+]Landroid/service/notification/INotificationListener;Landroid/service/notification/INotificationListener$Stub$Proxy;,Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper; -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdateLocked(Ljava/util/List;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemoved(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V+]Landroid/service/notification/INotificationListener;Landroid/service/notification/INotificationListener$Stub$Proxy;,Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper; -HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemovedLocked(Lcom/android/server/notification/NotificationRecord;ILandroid/service/notification/NotificationStats;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;,Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdateLocked(Ljava/util/List;)V +HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemoved(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V +HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemovedLocked(Lcom/android/server/notification/NotificationRecord;ILandroid/service/notification/NotificationStats;)V HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->prepareNotifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Z)Ljava/util/List;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/notification/NotificationManagerService$TrimCache;Lcom/android/server/notification/NotificationManagerService$TrimCache;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->writeExtraXmlTags(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Landroid/service/notification/StatusBarNotification;)V -HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$$ExternalSyntheticLambda0;->run()V HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;ILcom/android/server/notification/NotificationManagerService$PostNotificationTracker;)V HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->lambda$postNotification$0(Landroid/service/notification/StatusBarNotification;)V HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->postNotification()Z -HPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->run()V HPLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;-><init>(Landroid/os/PowerManager$WakeLock;)V HPLcom/android/server/notification/NotificationManagerService$PostNotificationTracker;->finish()J HPLcom/android/server/notification/NotificationManagerService$PostNotificationTrackerFactory;->newTracker(Landroid/os/PowerManager$WakeLock;)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker; HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V HSPLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;->run()V HPLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;-><init>(Landroid/service/notification/StatusBarNotification;)V HPLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification; @@ -6331,58 +5571,45 @@ HPLcom/android/server/notification/NotificationManagerService$StrongAuthTracker; HPLcom/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;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners; HPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V -HPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler; +HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmAssistants(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants; -HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmConditionProviders(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmHandler(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler; HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmListeners(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners; -HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmNotificationRecordLogger(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger; -HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmPackageManager(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmPackageManagerClient(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$fgetmShortcutHelper(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ShortcutHelper; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mapplyAdjustment(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mareNotificationsEnabledForPackageInt(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Z+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcheckCallerIsSameApp(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mcheckCallerIsSystemOrSameApp(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mhandleGroupedNotificationLocked(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V -HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$misCallNotification(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Z -HPLcom/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 -HPLcom/android/server/notification/NotificationManagerService;->-$$Nest$mupdateNotificationBubbleFlags(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Z)V -HSPLcom/android/server/notification/NotificationManagerService;->-$$Nest$sfgetMY_PID()I HPLcom/android/server/notification/NotificationManagerService;->acquireWakeLockForPost(Ljava/lang/String;I)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker; HPLcom/android/server/notification/NotificationManagerService;->applyAdjustment(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V+]Landroid/service/notification/Adjustment;Landroid/service/notification/Adjustment;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; HSPLcom/android/server/notification/NotificationManagerService;->areNotificationsEnabledForPackageInt(Ljava/lang/String;I)Z+]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; HPLcom/android/server/notification/NotificationManagerService;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;)I HPLcom/android/server/notification/NotificationManagerService;->canBeNonDismissible(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationManagerService$FlagChecker;Lcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;,Lcom/android/server/notification/NotificationManagerService$18$$ExternalSyntheticLambda0;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Set;Ljava/util/HashSet; +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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationManagerService$FlagChecker;Lcom/android/server/notification/NotificationManagerService$17$$ExternalSyntheticLambda0;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Set;Ljava/util/HashSet; HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIII)V -HPLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;IJ)V -HPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V+]Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler; -HPLcom/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;II)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; +HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V+]Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler; +HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V +HSPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;J)V HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Landroid/app/Notification$Action;Landroid/app/Notification$Action;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper; +HPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z HPLcom/android/server/notification/NotificationManagerService;->checkRemoteViews(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V HPLcom/android/server/notification/NotificationManagerService;->checkRestrictedCategories(Landroid/app/Notification;)V -HPLcom/android/server/notification/NotificationManagerService;->clamp(III)I HPLcom/android/server/notification/NotificationManagerService;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V -HPLcom/android/server/notification/NotificationManagerService;->destroyPermissionOwner(Landroid/os/IBinder;ILjava/lang/String;)V HPLcom/android/server/notification/NotificationManagerService;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String; -HPLcom/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+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/SystemService;Lcom/android/server/notification/NotificationManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/util/Set;Ljava/util/ImmutableCollections$SetN;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; +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+]Landroid/os/Handler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/SystemService;Lcom/android/server/notification/NotificationManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/util/Set;Ljava/util/ImmutableCollections$SetN;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/ActivityManager;Landroid/app/ActivityManager;]Lcom/android/server/job/JobSchedulerInternal;Lcom/android/server/job/JobSchedulerService$LocalService;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; HPLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;IZZ)V HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;IIILandroid/app/ActivityManagerInternal$ServiceNotificationPolicy;Z)V+]Lcom/android/server/SystemService;Lcom/android/server/notification/NotificationManagerService;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; +HPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;IIILandroid/app/ActivityManagerInternal$ServiceNotificationPolicy;Z)V HPLcom/android/server/notification/NotificationManagerService;->getGroupInstanceId(Ljava/lang/String;)Lcom/android/internal/logging/InstanceId; HPLcom/android/server/notification/NotificationManagerService;->getHistoryText(Landroid/content/Context;Landroid/app/Notification;)Ljava/lang/String; -HPLcom/android/server/notification/NotificationManagerService;->getHistoryTitle(Landroid/app/Notification;)Ljava/lang/String; HPLcom/android/server/notification/NotificationManagerService;->getNotificationCount(Ljava/lang/String;IILjava/lang/String;)I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V+]Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/net/Uri;Landroid/net/Uri$StringUri; +HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V+]Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HPLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V HPLcom/android/server/notification/NotificationManagerService;->handleRankingReconsideration(Landroid/os/Message;)V HSPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecordExtractorData;Lcom/android/server/notification/NotificationRecordExtractorData;]Lcom/android/server/notification/RankingHelper;Lcom/android/server/notification/RankingHelper;]Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/NotificationManagerService$WorkerHandler;]Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/server/notification/NotificationRecordLoggerImpl;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -6393,20 +5620,21 @@ HPLcom/android/server/notification/NotificationManagerService;->indexOfNotificat HPLcom/android/server/notification/NotificationManagerService;->isCallNotification(Ljava/lang/String;I)Z HPLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(II)Z HSPLcom/android/server/notification/NotificationManagerService;->isCallerIsSystemOrSystemUi()Z -HPLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z +HSPLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z HSPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z +HSPLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z HPLcom/android/server/notification/NotificationManagerService;->isEnterpriseExempted(Landroid/content/pm/ApplicationInfo;)Z HPLcom/android/server/notification/NotificationManagerService;->isInLockDownMode(I)Z+]Lcom/android/server/notification/NotificationManagerService$StrongAuthTracker;Lcom/android/server/notification/NotificationManagerService$StrongAuthTracker; HPLcom/android/server/notification/NotificationManagerService;->isInteractionVisibleToListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ManagedServices$UserProfiles;Lcom/android/server/notification/ManagedServices$UserProfiles; +HPLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z HPLcom/android/server/notification/NotificationManagerService;->isPackagePausedOrSuspended(Ljava/lang/String;I)Z HPLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z -HPLcom/android/server/notification/NotificationManagerService;->isRecordBlockedLocked(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; +HPLcom/android/server/notification/NotificationManagerService;->isRecordBlockedLocked(Lcom/android/server/notification/NotificationRecord;)Z HPLcom/android/server/notification/NotificationManagerService;->isServiceTokenValid(Landroid/os/IInterface;)Z+]Lcom/android/server/notification/ManagedServices;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants; HSPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z HPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;ILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z+]Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z +HPLcom/android/server/notification/NotificationManagerService;->lambda$acquireWakeLockForPost$7(Ljava/lang/String;I)Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker; HPLcom/android/server/notification/NotificationManagerService;->lambda$notifyListenersPostedAndLogLocked$12(Ljava/util/List;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V+]Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/server/notification/NotificationRecordLoggerImpl;]Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;Lcom/android/server/notification/NotificationManagerService$PostNotificationTracker;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/lang/Runnable;Lcom/android/server/notification/NotificationManagerService$NotificationListeners$$ExternalSyntheticLambda2; HSPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;+]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V @@ -6415,9 +5643,9 @@ HPLcom/android/server/notification/NotificationManagerService;->maybeReportForeg HPLcom/android/server/notification/NotificationManagerService;->notificationMatchesUserId(Lcom/android/server/notification/NotificationRecord;IZ)Z+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/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 HPLcom/android/server/notification/NotificationManagerService;->removeFromNotificationListsLocked(Lcom/android/server/notification/NotificationRecord;)Z -HPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; +HPLcom/android/server/notification/NotificationManagerService;->reportForegroundServiceUpdate(ZLandroid/app/Notification;ILjava/lang/String;I)V +HSPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; HPLcom/android/server/notification/NotificationManagerService;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;)V -HPLcom/android/server/notification/NotificationManagerService;->sendAccessibilityEvent(Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationManagerService;->shouldMuteNotificationLocked(Lcom/android/server/notification/NotificationRecord;)Z HSPLcom/android/server/notification/NotificationManagerService;->updateLightsLocked()V HPLcom/android/server/notification/NotificationManagerService;->updateNotificationBubbleFlags(Lcom/android/server/notification/NotificationRecord;Z)V @@ -6426,7 +5654,6 @@ HPLcom/android/server/notification/NotificationManagerService;->updateUriPermiss HSPLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;ZI)V HPLcom/android/server/notification/NotificationRecord$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationRecord$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HPLcom/android/server/notification/NotificationRecord$Light;-><init>(III)V HPLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V HPLcom/android/server/notification/NotificationRecord;->addAdjustment(Landroid/service/notification/Adjustment;)V HPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V+]Landroid/service/notification/Adjustment;Landroid/service/notification/Adjustment;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; @@ -6446,7 +5673,6 @@ HPLcom/android/server/notification/NotificationRecord;->getAuthoritativeRank()I HPLcom/android/server/notification/NotificationRecord;->getChannel()Landroid/app/NotificationChannel; HPLcom/android/server/notification/NotificationRecord;->getContactAffinity()F HPLcom/android/server/notification/NotificationRecord;->getCriticality()I -HPLcom/android/server/notification/NotificationRecord;->getExposureMs(J)I HPLcom/android/server/notification/NotificationRecord;->getFlags()I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getFreshnessMs(J)I HPLcom/android/server/notification/NotificationRecord;->getGlobalSortKey()Ljava/lang/String; @@ -6454,11 +5680,9 @@ HPLcom/android/server/notification/NotificationRecord;->getGrantableUris()Landro HPLcom/android/server/notification/NotificationRecord;->getGroupKey()Ljava/lang/String;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getImportance()I HPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence; -HPLcom/android/server/notification/NotificationRecord;->getInterruptionMs(J)I HPLcom/android/server/notification/NotificationRecord;->getKey()Ljava/lang/String;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getLastAudiblyAlertedMs()J -HPLcom/android/server/notification/NotificationRecord;->getLifespanMs(J)I -HPLcom/android/server/notification/NotificationRecord;->getLogMaker()Landroid/metrics/LogMaker;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; +HPLcom/android/server/notification/NotificationRecord;->getLogMaker()Landroid/metrics/LogMaker; HPLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;+]Ljava/lang/String;Ljava/lang/String;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/metrics/LogMaker;Landroid/metrics/LogMaker;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getNotificationType()I+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; @@ -6480,8 +5704,8 @@ HPLcom/android/server/notification/NotificationRecord;->getUser()Landroid/os/Use HPLcom/android/server/notification/NotificationRecord;->getUserId()I+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->getUserSentiment()I HPLcom/android/server/notification/NotificationRecord;->hasSensitiveContent()Z -HPLcom/android/server/notification/NotificationRecord;->hasUndecoratedRemoteView()Z+]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; +HPLcom/android/server/notification/NotificationRecord;->hasUndecoratedRemoteView()Z +HPLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z HPLcom/android/server/notification/NotificationRecord;->isConversation()Z+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/app/Notification;Landroid/app/Notification; HPLcom/android/server/notification/NotificationRecord;->isHidden()Z HPLcom/android/server/notification/NotificationRecord;->isIntercepted()Z @@ -6491,33 +5715,23 @@ HPLcom/android/server/notification/NotificationRecord;->isRecentlyIntrusive()Z HPLcom/android/server/notification/NotificationRecord;->isTextChanged()Z HPLcom/android/server/notification/NotificationRecord;->lambda$calculateGrantableUris$0(Landroid/net/Uri;)V HPLcom/android/server/notification/NotificationRecord;->setAllowBubble(Z)V -HPLcom/android/server/notification/NotificationRecord;->setContactAffinity(F)V -HPLcom/android/server/notification/NotificationRecord;->setHidden(Z)V +HPLcom/android/server/notification/NotificationRecord;->setGlobalSortKey(Ljava/lang/String;)V HPLcom/android/server/notification/NotificationRecord;->setIntercepted(Z)Z HPLcom/android/server/notification/NotificationRecord;->setInterruptive(Z)V HPLcom/android/server/notification/NotificationRecord;->setIsAppImportanceLocked(Z)V HPLcom/android/server/notification/NotificationRecord;->setPackagePriority(I)V -HPLcom/android/server/notification/NotificationRecord;->setPackageVisibilityOverride(I)V -HPLcom/android/server/notification/NotificationRecord;->setRecentlyIntrusive(Z)V -HPLcom/android/server/notification/NotificationRecord;->setShowBadge(Z)V -HPLcom/android/server/notification/NotificationRecord;->setSuppressedVisualEffects(I)V -HPLcom/android/server/notification/NotificationRecord;->setTextChanged(Z)V HPLcom/android/server/notification/NotificationRecord;->setVisibility(ZIILcom/android/server/notification/NotificationRecordLogger;)V -HPLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V +HPLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;ZZ)V+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HPLcom/android/server/notification/NotificationRecordExtractorData;-><init>(IIZZZLandroid/app/NotificationChannel;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;IFZIZ)V HPLcom/android/server/notification/NotificationRecordExtractorData;->hasDiffForRankingLocked(Lcom/android/server/notification/NotificationRecord;I)Z+]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent;->fromCancelReason(II)Lcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent; -HPLcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent;->values()[Lcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent; HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;-><init>(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getChannelIdHash()I HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getGroupIdHash()I HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getInstanceId()I HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNotificationIdHash()I HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople()I -HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople(Landroid/os/Bundle;)I HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getStyle()I -HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getStyle(Landroid/os/Bundle;)I HPLcom/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 HPLcom/android/server/notification/NotificationRecordLogger;->getLoggingImportance(Lcom/android/server/notification/NotificationRecord;)I @@ -6526,27 +5740,26 @@ HPLcom/android/server/notification/NotificationRecordLogger;->isNonDismissible(L HPLcom/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; HPLcom/android/server/notification/NotificationRecordLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationRecordLoggerImpl;->writeNotificationReportedAtom(Lcom/android/server/notification/NotificationRecordLogger$NotificationReported;)V -HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; -HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->emit()V -HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getEnqueueRate(J)F +HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->updateInterarrivalEstimate(J)V HPLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V HPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V HPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onVisibilityChanged(Z)V HPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateFrom(Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;)V -HPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Lcom/android/server/notification/NotificationRecord;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; +HPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateVisiblyExpandedStats()V +HPLcom/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;+]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; HPLcom/android/server/notification/NotificationUsageStats;->getAppEnqueueRate(Ljava/lang/String;)F HPLcom/android/server/notification/NotificationUsageStats;->getOrCreateAggregatedStatsLocked(Ljava/lang/String;)Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;+]Ljava/util/Map;Ljava/util/HashMap; HPLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByApp(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats; -HPLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByAppAndAccepted(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats; +HPLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByAppAndAccepted(Ljava/lang/String;)V HPLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V+]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats; -HPLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HPLcom/android/server/notification/NotificationUsageStats;->registerRemovedByApp(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats; +HPLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V HPLcom/android/server/notification/NotificationUsageStats;->releaseAggregatedStatsLocked([Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;)V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; HPLcom/android/server/notification/PermissionHelper;->getAppsRequestingPermission(I)Ljava/util/Set;+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/Set;Ljava/util/HashSet;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; HSPLcom/android/server/notification/PermissionHelper;->hasPermission(I)Z+]Landroid/content/Context;Landroid/app/ContextImpl; +HPLcom/android/server/notification/PermissionHelper;->hasRequestedPermission(Ljava/lang/String;Ljava/lang/String;I)Z HSPLcom/android/server/notification/PermissionHelper;->isPermissionFixed(Ljava/lang/String;I)Z HPLcom/android/server/notification/PermissionHelper;->isPermissionUserSet(Ljava/lang/String;I)Z HSPLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V @@ -6563,53 +5776,42 @@ HPLcom/android/server/notification/PreferencesHelper;->findConversationChannel(L HPLcom/android/server/notification/PreferencesHelper;->getBubblePreference(Ljava/lang/String;I)I+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper; HSPLcom/android/server/notification/PreferencesHelper;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZ)Landroid/app/NotificationChannel;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel; HPLcom/android/server/notification/PreferencesHelper;->getGroupForChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannelGroup; -HSPLcom/android/server/notification/PreferencesHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel; HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup; HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/app/NotificationChannelGroup;Landroid/app/NotificationChannelGroup; HSPLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper; HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;IIIIIZI)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper; -HSPLcom/android/server/notification/PreferencesHelper;->getPackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/notification/PreferencesHelper;->getPackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences; HPLcom/android/server/notification/PreferencesHelper;->hasSentValidMsg(Ljava/lang/String;I)Z HPLcom/android/server/notification/PreferencesHelper;->hasUserDemotedInvalidMsgApp(Ljava/lang/String;I)Z HSPLcom/android/server/notification/PreferencesHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/app/NotificationChannelGroup;Landroid/app/NotificationChannelGroup; HPLcom/android/server/notification/PreferencesHelper;->isInInvalidMsgState(Ljava/lang/String;I)Z -HPLcom/android/server/notification/PreferencesHelper;->isMediaNotificationFilteringEnabled()Z -HPLcom/android/server/notification/PreferencesHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)Z -HPLcom/android/server/notification/PreferencesHelper;->onlyHasDefaultChannel(Ljava/lang/String;I)Z HSPLcom/android/server/notification/PreferencesHelper;->packagePreferencesKey(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/notification/PreferencesHelper;->pullPackagePreferencesStats(Ljava/util/List;Landroid/util/ArrayMap;)V HSPLcom/android/server/notification/PreferencesHelper;->readXml(Lcom/android/modules/utils/TypedXmlPullParser;ZI)V HSPLcom/android/server/notification/PreferencesHelper;->restoreChannel(Lcom/android/modules/utils/TypedXmlPullParser;ZLcom/android/server/notification/PreferencesHelper$PackagePreferences;)V HSPLcom/android/server/notification/PreferencesHelper;->restorePackage(Lcom/android/modules/utils/TypedXmlPullParser;ZILjava/lang/String;ZZ)V HSPLcom/android/server/notification/PreferencesHelper;->shouldHaveDefaultChannel(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z +HSPLcom/android/server/notification/PreferencesHelper;->updateCurrentUserHasChannelsBypassingDnd(IZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; HPLcom/android/server/notification/PreferencesHelper;->updateNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZIZ)V -HSPLcom/android/server/notification/PreferencesHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Ljava/util/concurrent/ConcurrentHashMap$ValuesView;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/app/NotificationChannelGroup;Landroid/app/NotificationChannelGroup;]Ljava/util/Iterator;Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;,Landroid/util/MapCollections$ArrayIterator;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; +HSPLcom/android/server/notification/PreferencesHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZI)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;,Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Ljava/util/concurrent/ConcurrentHashMap$ValuesView;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/app/NotificationChannelGroup;Landroid/app/NotificationChannelGroup;]Ljava/util/Iterator;Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;,Landroid/util/MapCollections$ArrayIterator;]Lcom/android/server/notification/PermissionHelper;Lcom/android/server/notification/PermissionHelper; HPLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V+]Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;]Lcom/android/server/notification/NotificationSignalExtractor;megamorphic_types HPLcom/android/server/notification/RankingHelper;->indexOf(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;)I HSPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/notification/RankingReconsideration;-><init>(Ljava/lang/String;J)V -HPLcom/android/server/notification/RankingReconsideration;->run()V -HPLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D+]Ljava/lang/Long;Ljava/lang/Long; -HPLcom/android/server/notification/RateEstimator;->getRate(J)F +HPLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D HPLcom/android/server/notification/RateEstimator;->update(J)V HPLcom/android/server/notification/ShortcutHelper;->getValidShortcutInfo(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ShortcutInfo; -HPLcom/android/server/notification/ShortcutHelper;->maybeListenForShortcutChangesForBubbles(Lcom/android/server/notification/NotificationRecord;ZLandroid/os/Handler;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; -HSPLcom/android/server/notification/SmallHash;->hash(I)I +HPLcom/android/server/notification/ShortcutHelper;->maybeListenForShortcutChangesForBubbles(Lcom/android/server/notification/NotificationRecord;ZLandroid/os/Handler;)V HSPLcom/android/server/notification/SmallHash;->hash(Ljava/lang/String;)I -HPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z -HPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z +HPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet; HPLcom/android/server/notification/SnoozeHelper;->getSnoozeContextForUnpostedNotification(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String; HPLcom/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; -HPLcom/android/server/notification/SnoozeHelper;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String; +HSPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection; HPLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z -HPLcom/android/server/notification/SnoozeHelper;->repostGroupSummary(Ljava/lang/String;ILjava/lang/String;)V HSPLcom/android/server/notification/SnoozeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->getAffinity()F HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isExpired()Z -HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isInvalid()Z HPLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->work()V HPLcom/android/server/notification/ValidateNotificationPeople;->getCacheKey(ILjava/lang/String;)Ljava/lang/String; HPLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Ljava/util/Map;Landroid/util/ArrayMap; @@ -6620,8 +5822,7 @@ HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(L HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[FLandroid/util/ArraySet;)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;+]Landroid/util/LruCache;Landroid/util/LruCache;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/notification/VibratorHelper;-><init>(Landroid/content/Context;)V HPLcom/android/server/notification/VibratorHelper;->createDefaultVibration(Z)Landroid/os/VibrationEffect; -HPLcom/android/server/notification/VibratorHelper;->createWaveformVibration([JZ)Landroid/os/VibrationEffect; -HSPLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F HSPLcom/android/server/notification/VibratorHelper;->getLongArray(Landroid/content/res/Resources;II[J)[J+]Landroid/content/res/Resources;Landroid/content/res/Resources; HPLcom/android/server/notification/VisibilityExtractor;->adminAllowsKeyguardFeature(II)Z+]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager; HPLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/VisibilityExtractor;Lcom/android/server/notification/VisibilityExtractor;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/PreferencesHelper; @@ -6631,166 +5832,34 @@ HSPLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/se HPLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ZenModeHelper; HPLcom/android/server/notification/ZenModeFiltering;->isCall(Lcom/android/server/notification/NotificationRecord;)Z HPLcom/android/server/notification/ZenModeFiltering;->isDefaultPhoneApp(Ljava/lang/String;)Z -HPLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/app/NotificationManager$Policy;Lcom/android/server/notification/NotificationRecord;)Z -HPLcom/android/server/notification/ZenModeHelper;->findMatchingRules(Landroid/service/notification/ZenModeConfig;Landroid/net/Uri;Landroid/service/notification/Condition;)Ljava/util/List; +HSPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;ZIZ)Z HPLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/server/notification/ZenModeFiltering;Lcom/android/server/notification/ZenModeFiltering; -HSPLcom/android/server/notification/ZenModeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;ZLjava/lang/Integer;I)V -HSPLcom/android/server/om/IdmapDaemon$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/om/IdmapDaemon$Connection$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/om/IdmapDaemon$Connection;)V -HSPLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;)V -HSPLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;Lcom/android/server/om/IdmapDaemon$Connection-IA;)V +HSPLcom/android/server/notification/ZenModeHelper;->updateConfigAndZenModeLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;ZIZ)V +HSPLcom/android/server/notification/ZenModeHelper;->updateConsolidatedPolicy(Ljava/lang/String;)V HSPLcom/android/server/om/IdmapDaemon$Connection;->close()V -HSPLcom/android/server/om/IdmapDaemon$Connection;->getIdmap2()Landroid/os/IIdmap2; -HSPLcom/android/server/om/IdmapDaemon;->-$$Nest$fgetmIdmapToken(Lcom/android/server/om/IdmapDaemon;)Ljava/lang/Object; -HSPLcom/android/server/om/IdmapDaemon;->-$$Nest$fgetmOpenedCount(Lcom/android/server/om/IdmapDaemon;)Ljava/util/concurrent/atomic/AtomicInteger; -HSPLcom/android/server/om/IdmapDaemon;-><init>()V -HSPLcom/android/server/om/IdmapDaemon;->connect()Lcom/android/server/om/IdmapDaemon$Connection; -HSPLcom/android/server/om/IdmapDaemon;->createIdmap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String; -HSPLcom/android/server/om/IdmapDaemon;->getFabricatedOverlayInfos()Ljava/util/List; -HSPLcom/android/server/om/IdmapDaemon;->getIdmapService()Landroid/os/IBinder; -HSPLcom/android/server/om/IdmapDaemon;->getInstance()Lcom/android/server/om/IdmapDaemon; -HSPLcom/android/server/om/IdmapDaemon;->idmapExists(Ljava/lang/String;I)Z -HSPLcom/android/server/om/IdmapDaemon;->verifyIdmap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZI)Z -HSPLcom/android/server/om/IdmapManager;-><clinit>()V -HSPLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/om/IdmapDaemon;Lcom/android/server/om/PackageManagerHelper;)V -HSPLcom/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 -HSPLcom/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 -HSPLcom/android/server/om/IdmapManager;->enforceOverlayable(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;)Z -HSPLcom/android/server/om/IdmapManager;->getFabricatedOverlayInfos()Ljava/util/List; -HSPLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/IdmapManager;->matchesActorSignature(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;I)Z HSPLcom/android/server/om/OverlayActorEnforcer$ActorState;->$values()[Lcom/android/server/om/OverlayActorEnforcer$ActorState; HSPLcom/android/server/om/OverlayActorEnforcer$ActorState;-><clinit>()V HSPLcom/android/server/om/OverlayActorEnforcer$ActorState;-><init>(Ljava/lang/String;I)V -HSPLcom/android/server/om/OverlayActorEnforcer;-><init>(Lcom/android/server/om/PackageManagerHelper;)V HSPLcom/android/server/om/OverlayActorEnforcer;->getPackageNameForActor(Ljava/lang/String;Ljava/util/Map;)Landroid/util/Pair; -HSPLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda2;->acceptOrThrow(Ljava/lang/Object;)V -HSPLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda3;->acceptOrThrow(Ljava/lang/Object;)V -HSPLcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda4;-><init>()V -HSPLcom/android/server/om/OverlayManagerService$1;-><init>(Lcom/android/server/om/OverlayManagerService;)V HPLcom/android/server/om/OverlayManagerService$1;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;I)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;->-$$Nest$fgetmInstalledUsers(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;)Ljava/util/Set; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;->-$$Nest$fgetmPackageState(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;)Lcom/android/server/pm/pkg/PackageState; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;->-$$Nest$fputmPackageState(Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;Lcom/android/server/pm/pkg/PackageState;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;-><init>(Lcom/android/server/pm/pkg/PackageState;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers;-><init>(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers-IA;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->addPackageUser(Lcom/android/server/pm/pkg/PackageState;I)Lcom/android/server/pm/pkg/PackageState; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getConfigSignaturePackage()Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getNamedActors()Ljava/util/Map; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getOverlayableForTarget(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/om/OverlayableInfo; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getPackageStateForUser(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageState; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->initializeForUser(I)Landroid/util/ArrayMap; -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->lambda$initializeForUser$0(ILcom/android/server/pm/pkg/PackageStateInternal;)V -HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z -HSPLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V -HSPLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$UserReceiver-IA;)V -HSPLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/om/OverlayManagerService;->broadcastActionOverlayChanged(Ljava/util/Set;I)V -HSPLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerService;->groupTargetsByUserId(Ljava/util/Set;)Landroid/util/SparseArray; -HSPLcom/android/server/om/OverlayManagerService;->initIfNeeded()V -HSPLcom/android/server/om/OverlayManagerService;->lambda$broadcastActionOverlayChanged$3(ILandroid/app/ActivityManagerInternal;Ljava/lang/String;)V -HSPLcom/android/server/om/OverlayManagerService;->lambda$groupTargetsByUserId$2(Landroid/util/SparseArray;Landroid/content/pm/UserPackage;)V -HSPLcom/android/server/om/OverlayManagerService;->lambda$new$0(Ljava/lang/String;Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerService;->lambda$updateTargetPackagesLocked$1(Ljava/util/List;ILandroid/util/ArraySet;)V -HSPLcom/android/server/om/OverlayManagerService;->onStart()V -HSPLcom/android/server/om/OverlayManagerService;->onStartUser(I)V -HSPLcom/android/server/om/OverlayManagerService;->persistSettingsLocked()V -HSPLcom/android/server/om/OverlayManagerService;->restoreSettings()V -HSPLcom/android/server/om/OverlayManagerService;->updateActivityManager(Ljava/util/List;I)V HSPLcom/android/server/om/OverlayManagerService;->updatePackageManagerLocked(Ljava/util/Collection;I)Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerService;->updatePackageManagerLocked(Ljava/util/Set;)Landroid/util/SparseArray; -HSPLcom/android/server/om/OverlayManagerService;->updateTargetPackagesLocked(Ljava/util/Set;)V -HSPLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda0;-><init>(Landroid/util/ArrayMap;)V -HSPLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda2;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z -HSPLcom/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 -HSPLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/om/OverlayInfo;Lcom/android/server/pm/pkg/AndroidPackage;III)I -HSPLcom/android/server/om/OverlayManagerServiceImpl;->cleanStaleResourceCache()V HSPLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPaths(Ljava/lang/String;IZ)Landroid/content/pm/overlay/OverlayPaths; -HSPLcom/android/server/om/OverlayManagerServiceImpl;->getFabricatedOverlayInfos()Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerServiceImpl;->getPackageConfiguredPriority(Lcom/android/server/pm/pkg/AndroidPackage;)I -HSPLcom/android/server/om/OverlayManagerServiceImpl;->isPackageConfiguredEnabled(Lcom/android/server/pm/pkg/AndroidPackage;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->isPackageConfiguredMutable(Lcom/android/server/pm/pkg/AndroidPackage;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->lambda$getFabricatedOverlayInfos$3(Ljava/util/Set;Landroid/os/FabricatedOverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->lambda$removeOverlaysForUser$2(ILjava/util/function/Predicate;Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->lambda$updateOverlaysForUser$0(Landroid/util/ArrayMap;Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Landroid/os/FabricatedOverlayInfo;Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/om/OverlayInfo;)Z -HSPLcom/android/server/om/OverlayManagerServiceImpl;->registerFabricatedOverlay(Landroid/os/FabricatedOverlayInfo;I)Ljava/util/Set; -HSPLcom/android/server/om/OverlayManagerServiceImpl;->removeOverlaysForUser(Ljava/util/function/Predicate;I)Ljava/util/Set; HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Landroid/util/ArraySet; -HSPLcom/android/server/om/OverlayManagerServiceImpl;->updatePackageOverlays(Lcom/android/server/pm/pkg/AndroidPackage;II)Ljava/util/Set; HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Landroid/content/om/CriticalOverlayInfo;II)Z HSPLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda10;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda11;-><init>(Ljava/util/Set;)V -HSPLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;)V HSPLcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda12;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/om/OverlayManagerSettings$BadKeyException;-><init>(Landroid/content/om/OverlayIdentifier;I)V -HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V -HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V -HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lcom/android/modules/utils/TypedXmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmBaseCodePath(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmCategory(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsEnabled(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsFabricated(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmIsMutable(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmOverlay(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayIdentifier; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmPriority(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmTargetOverlayableName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmTargetPackageName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String; HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$fgetmUserId(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetOverlayInfo(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayInfo; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetPriority(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetTargetPackageName(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;+]Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Lcom/android/server/om/OverlayManagerSettings$SettingsItem; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$mgetUserId(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$misEnabled(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetBaseCodePath(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetCategory(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->-$$Nest$msetState(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;I)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZILjava/lang/String;Z)V HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getOverlayInfo()Landroid/content/om/OverlayInfo; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getPriority()I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getState()I HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getTargetPackageName()Ljava/lang/String; -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getUserId()I -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->invalidateCache()V -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isEnabled()Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setBaseCodePath(Ljava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setCategory(Ljava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setState(I)Z -HSPLcom/android/server/om/OverlayManagerSettings;-><init>()V -HSPLcom/android/server/om/OverlayManagerSettings;->getAllBaseCodePaths()Ljava/util/Set; -HSPLcom/android/server/om/OverlayManagerSettings;->getEnabled(Landroid/content/om/OverlayIdentifier;I)Z -HSPLcom/android/server/om/OverlayManagerSettings;->getNullableOverlayInfo(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo; -HSPLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Landroid/content/om/OverlayIdentifier;I)Landroid/content/om/OverlayInfo; HSPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForTarget(Ljava/lang/String;I)Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap; -HSPLcom/android/server/om/OverlayManagerSettings;->getState(Landroid/content/om/OverlayIdentifier;I)I -HSPLcom/android/server/om/OverlayManagerSettings;->getUsers()[I -HSPLcom/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; -HSPLcom/android/server/om/OverlayManagerSettings;->insert(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V -HSPLcom/android/server/om/OverlayManagerSettings;->lambda$getAllBaseCodePaths$1(Ljava/util/Set;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V -HSPLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$0(Ljava/lang/String;)Ljava/util/List; HSPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereTarget$12(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z HSPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereUser$10(ILcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z -HSPLcom/android/server/om/OverlayManagerSettings;->persist(Ljava/io/OutputStream;)V -HSPLcom/android/server/om/OverlayManagerSettings;->remove(Landroid/content/om/OverlayIdentifier;I)Z -HSPLcom/android/server/om/OverlayManagerSettings;->removeIf(Ljava/util/function/Predicate;)Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerSettings;->restore(Ljava/io/InputStream;)V HSPLcom/android/server/om/OverlayManagerSettings;->select(Landroid/content/om/OverlayIdentifier;I)I+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/om/OverlayIdentifier;Landroid/content/om/OverlayIdentifier; HSPLcom/android/server/om/OverlayManagerSettings;->selectWhereTarget(Ljava/lang/String;I)Ljava/util/List; HSPLcom/android/server/om/OverlayManagerSettings;->selectWhereUser(I)Ljava/util/List; -HSPLcom/android/server/om/OverlayManagerSettings;->setBaseCodePath(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings;->setCategory(Landroid/content/om/OverlayIdentifier;ILjava/lang/String;)Z -HSPLcom/android/server/om/OverlayManagerSettings;->setState(Landroid/content/om/OverlayIdentifier;II)Z HSPLcom/android/server/om/OverlayReferenceMapper$1;-><init>(Lcom/android/server/om/OverlayReferenceMapper;)V HSPLcom/android/server/om/OverlayReferenceMapper$1;->getActorPkg(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/om/OverlayReferenceMapper$1;->getTargetToOverlayables(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/util/Map; @@ -6804,52 +5873,31 @@ HPLcom/android/server/om/OverlayReferenceMapper;->ensureMapBuilt()V HPLcom/android/server/om/OverlayReferenceMapper;->isValidActor(Ljava/lang/String;Ljava/lang/String;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper; HSPLcom/android/server/om/OverlayReferenceMapper;->removeOverlay(Ljava/lang/String;Ljava/util/Collection;)V HSPLcom/android/server/om/OverlayReferenceMapper;->removeTarget(Ljava/lang/String;Ljava/util/Collection;)V -HSPLcom/android/server/os/BugreportManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/os/BugreportManagerService;->onStart()V -HSPLcom/android/server/os/BugreportManagerServiceImpl$BugreportFileManager;-><init>()V -HSPLcom/android/server/os/BugreportManagerServiceImpl$Injector;-><init>(Landroid/content/Context;Landroid/util/ArraySet;)V -HSPLcom/android/server/os/BugreportManagerServiceImpl$Injector;->getAllowlistedPackages()Landroid/util/ArraySet; -HSPLcom/android/server/os/BugreportManagerServiceImpl$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Lcom/android/server/os/BugreportManagerServiceImpl$Injector;)V HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;-><init>(Landroid/content/Context;)V -HPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->checkPackageBelongsToCaller(Ljava/lang/String;)Z HPLcom/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$TombstoneFile;->parse(Landroid/os/ParcelFileDescriptor;)Ljava/util/Optional;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream;]Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLcom/android/server/os/NativeTombstoneManager$TombstoneWatcher;-><init>(Lcom/android/server/os/NativeTombstoneManager;)V -HSPLcom/android/server/os/NativeTombstoneManager;->-$$Nest$sfgetTOMBSTONE_DIR()Ljava/io/File; -HSPLcom/android/server/os/NativeTombstoneManager;-><clinit>()V -HSPLcom/android/server/os/NativeTombstoneManager;-><init>(Landroid/content/Context;)V -HPLcom/android/server/os/NativeTombstoneManager;->collectTombstones(Ljava/util/ArrayList;III)V -HSPLcom/android/server/os/NativeTombstoneManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/os/NativeTombstoneManagerService;->onBootPhase(I)V -HSPLcom/android/server/os/NativeTombstoneManagerService;->onStart()V -HSPLcom/android/server/os/SchedulingPolicyService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V -HSPLcom/android/server/os/SchedulingPolicyService$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/os/SchedulingPolicyService$1;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V -HSPLcom/android/server/os/SchedulingPolicyService;-><clinit>()V -HSPLcom/android/server/os/SchedulingPolicyService;-><init>()V -HSPLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I -HSPLcom/android/server/os/SchedulingPolicyService;->lambda$new$0()V +HSPLcom/android/server/os/NativeTombstoneManager$TombstoneFile;->parse(Landroid/os/ParcelFileDescriptor;)Ljava/util/Optional;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor; +HSPLcom/android/server/os/NativeTombstoneManager;->collectTombstones(Ljava/util/ArrayList;III)V HPLcom/android/server/people/data/AbstractProtoDiskReadWriter;->scheduleSave(Ljava/lang/String;Ljava/lang/Object;)V HPLcom/android/server/people/data/ConversationInfo$Builder;-><init>(Lcom/android/server/people/data/ConversationInfo;)V +HPLcom/android/server/people/data/ConversationInfo$Builder;->build()Lcom/android/server/people/data/ConversationInfo; HPLcom/android/server/people/data/ConversationInfo;-><init>(Lcom/android/server/people/data/ConversationInfo$Builder;)V +HPLcom/android/server/people/data/ConversationStore;->getConversationInfosProtoDiskReadWriter()Lcom/android/server/people/data/ConversationStore$ConversationInfosProtoDiskReadWriter; +HPLcom/android/server/people/data/ConversationStore;->scheduleUpdateConversationsOnDisk()V HPLcom/android/server/people/data/ConversationStore;->updateConversationsInMemory(Lcom/android/server/people/data/ConversationInfo;)V -HPLcom/android/server/people/data/DataManager$NotificationListener$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/people/data/DataManager$NotificationListener;Landroid/service/notification/StatusBarNotification;Ljava/lang/String;)V HPLcom/android/server/people/data/DataManager$NotificationListener$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/people/data/DataManager$NotificationListener;Landroid/service/notification/StatusBarNotification;Ljava/lang/String;)V -HPLcom/android/server/people/data/DataManager$NotificationListener;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V+]Lcom/android/server/people/data/EventStore;Lcom/android/server/people/data/EventStore;]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/service/notification/NotificationListenerService$RankingMap;Landroid/service/notification/NotificationListenerService$RankingMap;]Lcom/android/server/people/data/EventHistoryImpl;Lcom/android/server/people/data/EventHistoryImpl;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/people/data/ConversationInfo$Builder;Lcom/android/server/people/data/ConversationInfo$Builder;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/people/data/PackageData;Lcom/android/server/people/data/PackageData;]Lcom/android/server/people/data/ConversationStore;Lcom/android/server/people/data/ConversationStore; -HPLcom/android/server/people/data/DataManager$NotificationListener;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/os/UserHandle;Landroid/os/UserHandle; +HPLcom/android/server/people/data/DataManager$NotificationListener;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V +HPLcom/android/server/people/data/DataManager$NotificationListener;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V HPLcom/android/server/people/data/DataManager$ShortcutServiceCallback;->lambda$onShortcutsAddedOrUpdated$0(Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V -HPLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; -HPLcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;->run()V -HPLcom/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; HPLcom/android/server/people/data/DataManager;->addOrUpdateConversationInfo(Landroid/content/pm/ShortcutInfo;)V HPLcom/android/server/people/data/DataManager;->getConversationChannel(Landroid/content/pm/ShortcutInfo;Lcom/android/server/people/data/ConversationInfo;Ljava/lang/String;ILjava/lang/String;)Landroid/app/people/ConversationChannel; HPLcom/android/server/people/data/DataManager;->getPackage(Ljava/lang/String;I)Lcom/android/server/people/data/PackageData;+]Lcom/android/server/people/data/DataManager;Lcom/android/server/people/data/DataManager;]Lcom/android/server/people/data/UserData;Lcom/android/server/people/data/UserData; -HPLcom/android/server/people/data/DataManager;->getPackageIfConversationExists(Landroid/service/notification/StatusBarNotification;Ljava/util/function/Consumer;)Lcom/android/server/people/data/PackageData;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/people/data/DataManager;Lcom/android/server/people/data/DataManager;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/people/data/PackageData;Lcom/android/server/people/data/PackageData;]Ljava/util/function/Consumer;Lcom/android/server/people/data/DataManager$NotificationListener$$ExternalSyntheticLambda0;,Lcom/android/server/people/data/DataManager$NotificationListener$$ExternalSyntheticLambda1;]Lcom/android/server/people/data/ConversationStore;Lcom/android/server/people/data/ConversationStore; +HPLcom/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;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/people/data/UserData;Lcom/android/server/people/data/UserData; +HPLcom/android/server/people/data/EventHistoryImpl;->addEvent(Lcom/android/server/people/data/Event;)V +HPLcom/android/server/people/data/EventHistoryImpl;->addEventInMemory(Lcom/android/server/people/data/Event;)V +HPLcom/android/server/people/data/EventIndex;->addEvent(J)V HPLcom/android/server/people/data/EventIndex;->createFourHoursLongTimeSlot(J)Landroid/util/Range; HPLcom/android/server/people/data/EventIndex;->createOneDayLongTimeSlot(J)Landroid/util/Range; HPLcom/android/server/people/data/EventIndex;->createOneHourLongTimeSlot(J)Landroid/util/Range; @@ -6860,6 +5908,8 @@ HPLcom/android/server/people/data/EventIndex;->toEpochMilli(Ljava/time/LocalDate HPLcom/android/server/people/data/EventIndex;->toLocalDateTime(J)Ljava/time/LocalDateTime;+]Ljava/util/TimeZone;Llibcore/util/ZoneInfo; HPLcom/android/server/people/data/EventIndex;->updateEventBitmaps(J)V HPLcom/android/server/people/data/EventList;->add(Lcom/android/server/people/data/Event;)V +HPLcom/android/server/people/data/EventList;->firstIndexOnOrAfter(J)I +HPLcom/android/server/people/data/EventStore;->getOrCreateEventHistory(ILjava/lang/String;)Lcom/android/server/people/data/EventHistoryImpl; HPLcom/android/server/people/data/UsageStatsQueryHelper;->querySince(J)Z+]Landroid/app/usage/UsageEvents;Landroid/app/usage/UsageEvents;]Ljava/util/function/Function;Lcom/android/server/people/data/DataManager$UsageStatsQueryRunnable$$ExternalSyntheticLambda0;]Lcom/android/server/people/data/UsageStatsQueryHelper;Lcom/android/server/people/data/UsageStatsQueryHelper;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event;]Ljava/util/Map;Landroid/util/ArrayMap;]Lcom/android/server/people/data/PackageData;Lcom/android/server/people/data/PackageData;]Lcom/android/server/people/data/ConversationStore;Lcom/android/server/people/data/ConversationStore;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HPLcom/android/server/people/data/UserData;->getPackageData(Ljava/lang/String;)Lcom/android/server/people/data/PackageData;+]Ljava/util/Map;Landroid/util/ArrayMap; HSPLcom/android/server/permission/access/AccessCheckingService;-><init>(Landroid/content/Context;)V @@ -6897,8 +5947,6 @@ HSPLcom/android/server/permission/jarjar/kotlin/jvm/internal/Intrinsics;->checkN 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 HSPLcom/android/server/pm/AbstractStatsBase;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V -HSPLcom/android/server/pm/AbstractStatsBase;->getFile()Landroid/util/AtomicFile; -HSPLcom/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; @@ -6907,11 +5955,8 @@ HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/lang/String; HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;-><init>()V HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexInfos()Ljava/util/List; HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexPackageNameContainingPackage(Ljava/lang/String;)Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/ArrayList; -HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActivePackageNameForApexModuleName(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getAllApexInfos()[Landroid/apex/ApexInfo; HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApexModuleNameForPackageName(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApksInApex(Ljava/lang/String;)Ljava/util/List; -HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getBackingApexFile(Ljava/io/File;)Ljava/io/File; HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->notifyScanResult(Ljava/util/List;)V HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->notifyScanResultLocked(Ljava/util/List;)V HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->registerApkInApex(Lcom/android/server/pm/pkg/AndroidPackage;)V @@ -6921,26 +5966,12 @@ 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; HSPLcom/android/server/pm/ApexSystemServiceInfo;-><init>(Ljava/lang/String;Ljava/lang/String;I)V -HSPLcom/android/server/pm/ApexSystemServiceInfo;->compareTo(Lcom/android/server/pm/ApexSystemServiceInfo;)I -HSPLcom/android/server/pm/ApexSystemServiceInfo;->compareTo(Ljava/lang/Object;)I -HSPLcom/android/server/pm/ApexSystemServiceInfo;->getName()Ljava/lang/String; -HPLcom/android/server/pm/ApkChecksums;->buildDigestsPathForApk(Ljava/lang/String;)Ljava/lang/String; HPLcom/android/server/pm/ApkChecksums;->extractHashFromV2V3Signature(Ljava/lang/String;Ljava/lang/String;I)Ljava/util/Map; -HPLcom/android/server/pm/ApkChecksums;->getApkChecksum(Ljava/io/File;I)[B+]Ljava/io/FileInputStream;Ljava/io/FileInputStream;]Ljava/io/File;Ljava/io/File;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; -HPLcom/android/server/pm/ApkChecksums;->getChecksums(Ljava/util/List;IILjava/lang/String;[Ljava/security/cert/Certificate;Landroid/content/pm/IOnChecksumsReadyListener;Lcom/android/server/pm/ApkChecksums$Injector;)V -HPLcom/android/server/pm/ApkChecksums;->getInstallerChecksums(Ljava/lang/String;Ljava/io/File;ILjava/lang/String;[Ljava/security/cert/Certificate;Ljava/util/Map;Lcom/android/server/pm/ApkChecksums$Injector;)V -HPLcom/android/server/pm/ApkChecksums;->processRequiredChecksums(Ljava/util/List;Ljava/util/List;ILandroid/content/pm/IOnChecksumsReadyListener;Lcom/android/server/pm/ApkChecksums$Injector;J)V -HSPLcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda2;->run()V +HSPLcom/android/server/pm/ApkChecksums;->getApkChecksum(Ljava/io/File;I)[B+]Ljava/io/FileInputStream;Ljava/io/FileInputStream;]Ljava/io/File;Ljava/io/File;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; +HSPLcom/android/server/pm/ApkChecksums;->getChecksums(Ljava/util/List;IILjava/lang/String;[Ljava/security/cert/Certificate;Landroid/content/pm/IOnChecksumsReadyListener;Lcom/android/server/pm/ApkChecksums$Injector;)V +HSPLcom/android/server/pm/ApkChecksums;->getInstallerChecksums(Ljava/lang/String;Ljava/io/File;ILjava/lang/String;[Ljava/security/cert/Certificate;Ljava/util/Map;Lcom/android/server/pm/ApkChecksums$Injector;)V +HSPLcom/android/server/pm/ApkChecksums;->processRequiredChecksums(Ljava/util/List;Ljava/util/List;ILandroid/content/pm/IOnChecksumsReadyListener;Lcom/android/server/pm/ApkChecksums$Injector;J)V HSPLcom/android/server/pm/AppDataHelper;-><init>(Lcom/android/server/pm/PackageManagerService;)V -HSPLcom/android/server/pm/AppDataHelper;->assertPackageStorageValid(Lcom/android/server/pm/Computer;Ljava/lang/String;Ljava/lang/String;I)V -HSPLcom/android/server/pm/AppDataHelper;->executeBatchLI(Lcom/android/server/pm/Installer$Batch;)V -HSPLcom/android/server/pm/AppDataHelper;->fixAppsDataOnBoot()Ljava/util/concurrent/Future; -HSPLcom/android/server/pm/AppDataHelper;->lambda$fixAppsDataOnBoot$3(Ljava/util/List;I)V -HSPLcom/android/server/pm/AppDataHelper;->lambda$prepareAppDataAndMigrate$1(ZLcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;II)V -HSPLcom/android/server/pm/AppDataHelper;->maybeMigrateAppDataLIF(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;I)Z -HSPLcom/android/server/pm/AppDataHelper;->prepareAppData(Lcom/android/server/pm/Installer$Batch;Lcom/android/server/pm/pkg/AndroidPackage;III)Ljava/util/concurrent/CompletableFuture; -HSPLcom/android/server/pm/AppDataHelper;->prepareAppDataAndMigrate(Lcom/android/server/pm/Installer$Batch;Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;IIZ)V -HSPLcom/android/server/pm/AppDataHelper;->prepareAppDataContentsLeafLIF(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;II)V HSPLcom/android/server/pm/AppDataHelper;->prepareAppDataLeaf(Lcom/android/server/pm/Installer$Batch;Lcom/android/server/pm/pkg/AndroidPackage;III)Ljava/util/concurrent/CompletableFuture; HSPLcom/android/server/pm/AppDataHelper;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List; HSPLcom/android/server/pm/AppDataHelper;->shouldHaveAppStorage(Lcom/android/server/pm/pkg/AndroidPackage;)Z @@ -6949,11 +5980,7 @@ HSPLcom/android/server/pm/AppIdSettingMap;-><init>(Lcom/android/server/pm/AppIdS HSPLcom/android/server/pm/AppIdSettingMap;->getSetting(I)Lcom/android/server/pm/SettingBase;+]Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList; 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 -HSPLcom/android/server/pm/AppIdSettingMap;->removeSetting(I)V -HSPLcom/android/server/pm/AppIdSettingMap;->setFirstAvailableAppId(I)V HSPLcom/android/server/pm/AppIdSettingMap;->snapshot()Lcom/android/server/pm/AppIdSettingMap; -HSPLcom/android/server/pm/AppStateHelper;-><clinit>()V -HSPLcom/android/server/pm/AppStateHelper;-><init>(Landroid/content/Context;)V HSPLcom/android/server/pm/AppsFilterBase;-><init>()V HPLcom/android/server/pm/AppsFilterBase;->getVisibilityAllowList(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Lcom/android/server/pm/pkg/PackageStateInternal;[ILandroid/util/ArrayMap;)Landroid/util/SparseArray;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl; HPLcom/android/server/pm/AppsFilterBase;->isForceQueryable(I)Z+]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet; @@ -6964,13 +5991,12 @@ HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaUsesLibrary(II)Z+]Lcom/a HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaUsesPermission(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray; HPLcom/android/server/pm/AppsFilterBase;->isRetainedImplicitlyQueryable(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray; HPLcom/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+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterSnapshotImpl;,Lcom/android/server/pm/AppsFilterImpl;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl; +HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplication(Lcom/android/server/pm/snapshot/PackageDataSnapshot;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z+]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterSnapshotImpl;,Lcom/android/server/pm/AppsFilterImpl; HSPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationInternal(Lcom/android/server/pm/Computer;ILjava/lang/Object;Lcom/android/server/pm/pkg/PackageStateInternal;I)Z+]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/AppsFilterBase;->shouldFilterApplicationUsingCache(III)Z+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix; HSPLcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/AppsFilterImpl;)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; 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 @@ -6978,7 +6004,6 @@ HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->enableLogging(IZ)V HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->isGloballyEnabled()Z HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->packageIsEnabled(Lcom/android/server/pm/pkg/AndroidPackage;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; 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; HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->updateEnabledState(Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->updatePackageState(Lcom/android/server/pm/pkg/PackageStateInternal;Z)V HSPLcom/android/server/pm/AppsFilterImpl;->-$$Nest$monChanged(Lcom/android/server/pm/AppsFilterImpl;)V @@ -6987,7 +6012,7 @@ HSPLcom/android/server/pm/AppsFilterImpl;->addPackage(Lcom/android/server/pm/Com HSPLcom/android/server/pm/AppsFilterImpl;->addPackageInternal(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArrayMap;)Landroid/util/ArraySet;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedPermissionImpl;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/Collections$UnmodifiableCollection$1; HSPLcom/android/server/pm/AppsFilterImpl;->create(Lcom/android/server/pm/PackageManagerServiceInjector;Landroid/content/pm/PackageManagerInternal;)Lcom/android/server/pm/AppsFilterImpl; HSPLcom/android/server/pm/AppsFilterImpl;->dispatchChange(Lcom/android/server/utils/Watchable;)V -HSPLcom/android/server/pm/AppsFilterImpl;->grantImplicitAccess(IIZ)Z+]Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterImpl;]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/pm/AppsFilterImpl;->grantImplicitAccess(IIZ)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterImpl;]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray; HSPLcom/android/server/pm/AppsFilterImpl;->invalidateCache(Ljava/lang/String;)V HSPLcom/android/server/pm/AppsFilterImpl;->isRegisteredObserver(Lcom/android/server/utils/Watcher;)Z HSPLcom/android/server/pm/AppsFilterImpl;->isSystemSigned(Landroid/content/pm/SigningDetails;Lcom/android/server/pm/pkg/PackageStateInternal;)Z @@ -6995,8 +6020,7 @@ HSPLcom/android/server/pm/AppsFilterImpl;->onChanged()V HSPLcom/android/server/pm/AppsFilterImpl;->pkgInstruments(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)Z+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/component/ParsedInstrumentation;Lcom/android/server/pm/pkg/component/ParsedInstrumentationImpl; HSPLcom/android/server/pm/AppsFilterImpl;->readCacheEnabledSysProp()V HSPLcom/android/server/pm/AppsFilterImpl;->registerObserver(Lcom/android/server/utils/Watcher;)V -HPLcom/android/server/pm/AppsFilterImpl;->removeAppIdFromVisibilityCache(I)V -HPLcom/android/server/pm/AppsFilterImpl;->removePackageInternal(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/PackageStateInternal;ZZ)V +HSPLcom/android/server/pm/AppsFilterImpl;->removePackageInternal(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/PackageStateInternal;ZZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedPermissionImpl;]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/om/OverlayReferenceMapper;Lcom/android/server/om/OverlayReferenceMapper;]Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterImpl;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/AppsFilterImpl;->snapshot()Lcom/android/server/pm/AppsFilterSnapshot; 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+]Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterImpl;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting; 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+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/AppsFilterBase;Lcom/android/server/pm/AppsFilterImpl; @@ -7030,19 +6054,8 @@ HSPLcom/android/server/pm/BroadcastHelper;-><clinit>()V HSPLcom/android/server/pm/BroadcastHelper;-><init>(Lcom/android/server/pm/PackageManagerServiceInjector;)V HPLcom/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 HSPLcom/android/server/pm/ChangedPackagesTracker;-><init>()V -HPLcom/android/server/pm/ChangedPackagesTracker;->getChangedPackages(II)Landroid/content/pm/ChangedPackages; -HSPLcom/android/server/pm/ChangedPackagesTracker;->getSequenceNumber()I HPLcom/android/server/pm/ChangedPackagesTracker;->updateSequenceNumber(Ljava/lang/String;[I)V -HSPLcom/android/server/pm/CompilerStats$PackageStats;-><init>(Ljava/lang/String;)V -HSPLcom/android/server/pm/CompilerStats$PackageStats;->getStoredPathFromCodePath(Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/pm/CompilerStats$PackageStats;->setCompileTime(Ljava/lang/String;J)V HSPLcom/android/server/pm/CompilerStats;-><init>()V -HSPLcom/android/server/pm/CompilerStats;->createPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats; -HSPLcom/android/server/pm/CompilerStats;->getOrCreatePackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats; -HSPLcom/android/server/pm/CompilerStats;->read()V -HSPLcom/android/server/pm/CompilerStats;->read(Ljava/io/Reader;)Z -HSPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Object;)V -HSPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Void;)V HSPLcom/android/server/pm/ComputerEngine$Settings;-><init>(Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/Settings;)V HSPLcom/android/server/pm/ComputerEngine$Settings;->getApplicationEnabledSetting(Ljava/lang/String;I)I HPLcom/android/server/pm/ComputerEngine$Settings;->getBlockUninstall(ILjava/lang/String;)Z @@ -7051,38 +6064,35 @@ HSPLcom/android/server/pm/ComputerEngine$Settings;->getCrossProfileIntentResolve HSPLcom/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;+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; HSPLcom/android/server/pm/ComputerEngine$Settings;->getPackages()Landroid/util/ArrayMap;+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap; -HSPLcom/android/server/pm/ComputerEngine$Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String; +HSPLcom/android/server/pm/ComputerEngine$Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; HSPLcom/android/server/pm/ComputerEngine$Settings;->getSettingBase(I)Lcom/android/server/pm/SettingBase;+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; HSPLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserFromAppId(I)Lcom/android/server/pm/pkg/SharedUserApi; HSPLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserFromPackageName(Ljava/lang/String;)Lcom/android/server/pm/pkg/SharedUserApi; HSPLcom/android/server/pm/ComputerEngine$Settings;->getSharedUserPackages(I)Landroid/util/ArraySet;+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; -HSPLcom/android/server/pm/ComputerEngine$Settings;->getVolumePackages(Ljava/lang/String;)Ljava/util/List; HSPLcom/android/server/pm/ComputerEngine$Settings;->isEnabledAndMatch(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/component/ParsedMainComponent;JI)Z+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;-><clinit>()V HSPLcom/android/server/pm/ComputerEngine;-><init>(Lcom/android/server/pm/PackageManagerService$Snapshot;I)V HSPLcom/android/server/pm/ComputerEngine;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/pkg/PackageStateInternal;[Ljava/lang/String;[ZJI)V+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/pm/ComputerEngine;->androidApplication()Landroid/content/pm/ApplicationInfo; -HSPLcom/android/server/pm/ComputerEngine;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIZILandroid/content/Intent;)Ljava/util/List;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/pm/ComputerEngine;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIZILandroid/content/Intent;)Ljava/util/List;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterSnapshotImpl;,Lcom/android/server/pm/AppsFilterImpl;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/pm/ComputerEngine;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;II)Ljava/util/List;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterSnapshotImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo; HSPLcom/android/server/pm/ComputerEngine;->areWebInstantAppsDisabled(I)Z+]Lcom/android/server/utils/WatchedSparseBooleanArray;Lcom/android/server/utils/WatchedSparseBooleanArray; -HPLcom/android/server/pm/ComputerEngine;->canQueryPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterSnapshotImpl; +HPLcom/android/server/pm/ComputerEngine;->canQueryPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterSnapshotImpl; HSPLcom/android/server/pm/ComputerEngine;->canViewInstantApps(II)Z+]Landroid/content/Context;Landroid/app/ContextImpl; -HSPLcom/android/server/pm/ComputerEngine;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String; HSPLcom/android/server/pm/ComputerEngine;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I HSPLcom/android/server/pm/ComputerEngine;->checkSignaturesInternal(Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;)I HSPLcom/android/server/pm/ComputerEngine;->checkUidPermission(Ljava/lang/String;I)I+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl; HPLcom/android/server/pm/ComputerEngine;->createForwardingResolveInfoUnchecked(Lcom/android/server/pm/WatchedIntentFilter;II)Landroid/content/pm/ResolveInfo; HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserOrProfilePermission(IIZZLjava/lang/String;)V+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZLjava/lang/String;)V+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V+]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZLjava/lang/String;)V+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V+]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HPLcom/android/server/pm/ComputerEngine;->filterAppAccess(II)Z -HSPLcom/android/server/pm/ComputerEngine;->filterAppAccess(Ljava/lang/String;IIZ)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->filterAppAccess(Ljava/lang/String;IIZ)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList; -HSPLcom/android/server/pm/ComputerEngine;->filterOnlySystemPackages([Ljava/lang/String;)[Ljava/lang/String; +HSPLcom/android/server/pm/ComputerEngine;->filterOnlySystemPackages([Ljava/lang/String;)[Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/pm/ComputerEngine;->filterSdkLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->filterSharedLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->filterStaticSharedLibPackage(Lcom/android/server/pm/pkg/PackageStateInternal;IIJ)Z+]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; -HSPLcom/android/server/pm/ComputerEngine;->generatePackageInfo(Lcom/android/server/pm/pkg/PackageStateInternal;JI)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; +HSPLcom/android/server/pm/ComputerEngine;->generatePackageInfo(Lcom/android/server/pm/pkg/PackageStateInternal;JI)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; HPLcom/android/server/pm/ComputerEngine;->getActivityInfoCrossProfile(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; HSPLcom/android/server/pm/ComputerEngine;->getActivityInfoInternal(Landroid/content/ComponentName;JII)Landroid/content/pm/ActivityInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; @@ -7097,15 +6107,15 @@ HPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSettingInternal(Lan HSPLcom/android/server/pm/ComputerEngine;->getComponentResolver()Lcom/android/server/pm/resolution/ComponentResolverApi; HPLcom/android/server/pm/ComputerEngine;->getDeclaredSharedLibraries(Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/utils/WatchedLongSparseArray;Lcom/android/server/utils/WatchedLongSparseArray;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/VersionedPackage;Landroid/content/pm/VersionedPackage;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/pm/ComputerEngine;->getDisabledSystemPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal; -HPLcom/android/server/pm/ComputerEngine;->getInstallSource(Ljava/lang/String;II)Lcom/android/server/pm/InstallSource;+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; -HPLcom/android/server/pm/ComputerEngine;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo; +HSPLcom/android/server/pm/ComputerEngine;->getInstallSource(Ljava/lang/String;II)Lcom/android/server/pm/InstallSource;+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; +HSPLcom/android/server/pm/ComputerEngine;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getInstalledApplications(JII)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/android/server/pm/ComputerEngine;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/ComputerEngine;->getInstalledPackagesBody(JII)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;,Landroid/util/MapCollections$ValuesCollection;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/Collections$UnmodifiableCollection$1; HPLcom/android/server/pm/ComputerEngine;->getInstallerPackageName(Ljava/lang/String;I)Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/pm/ComputerEngine;->getInstantAppPackageName(I)Ljava/lang/String;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getMatchingCrossProfileIntentFilters(Landroid/content/Intent;Ljava/lang/String;I)Ljava/util/List;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/IntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver; -HSPLcom/android/server/pm/ComputerEngine;->getNameForUid(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal$HotwordDetectionServiceProvider;Lcom/android/server/voiceinteraction/HotwordDetectionConnection$1$$ExternalSyntheticLambda0; +HSPLcom/android/server/pm/ComputerEngine;->getNameForUid(I)Ljava/lang/String;+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal$HotwordDetectionServiceProvider;Lcom/android/server/voiceinteraction/HotwordDetectionConnection$1$$ExternalSyntheticLambda0;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getNamesForUids([I)[Ljava/lang/String; HPLcom/android/server/pm/ComputerEngine;->getNotifyPackagesForReplacedReceived([Ljava/lang/String;)Landroid/util/ArraySet; HSPLcom/android/server/pm/ComputerEngine;->getPackage(I)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; @@ -7117,8 +6127,8 @@ HSPLcom/android/server/pm/ComputerEngine;->getPackageInfoInternalBody(Ljava/lang HSPLcom/android/server/pm/ComputerEngine;->getPackageStartability(ZLjava/lang/String;II)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getPackageStateFiltered(Ljava/lang/String;II)Lcom/android/server/pm/pkg/PackageStateInternal; HSPLcom/android/server/pm/ComputerEngine;->getPackageStateForInstalledAndFiltered(Ljava/lang/String;II)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; -HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; +HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->getPackageStateInternal(Ljava/lang/String;I)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getPackageStates()Landroid/util/ArrayMap;+]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getPackageUid(Ljava/lang/String;JI)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getPackageUidInternal(Ljava/lang/String;JII)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting; @@ -7130,14 +6140,12 @@ HSPLcom/android/server/pm/ComputerEngine;->getPackagesUsingSharedLibrary(Landroi HSPLcom/android/server/pm/ComputerEngine;->getProcessesForUid(I)Landroid/util/ArrayMap; HSPLcom/android/server/pm/ComputerEngine;->getProviderInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ProviderInfo; HSPLcom/android/server/pm/ComputerEngine;->getReceiverInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; -HSPLcom/android/server/pm/ComputerEngine;->getRenamedPackage(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/pm/ComputerEngine;->getServiceInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ServiceInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getServiceInfoBody(Landroid/content/ComponentName;JII)Landroid/content/pm/ServiceInfo;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getSharedLibraries()Lcom/android/server/utils/WatchedArrayMap; -HPLcom/android/server/pm/ComputerEngine;->getSharedLibraries(Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; +HPLcom/android/server/pm/ComputerEngine;->getSharedLibraries(Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/utils/WatchedLongSparseArray;Lcom/android/server/utils/WatchedLongSparseArray;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/VersionedPackage;Landroid/content/pm/VersionedPackage; HSPLcom/android/server/pm/ComputerEngine;->getSharedLibraryInfo(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo; HSPLcom/android/server/pm/ComputerEngine;->getSharedUser(I)Lcom/android/server/pm/pkg/SharedUserApi; -HSPLcom/android/server/pm/ComputerEngine;->getSharedUserPackages(I)Landroid/util/ArraySet; HSPLcom/android/server/pm/ComputerEngine;->getSharedUserPackagesForPackage(Ljava/lang/String;I)[Ljava/lang/String;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getSigningDetails(I)Landroid/content/pm/SigningDetails;+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->getTargetSdkVersion(Ljava/lang/String;)I+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7145,57 +6153,53 @@ HSPLcom/android/server/pm/ComputerEngine;->getUidTargetSdkVersion(I)I+]Lcom/andr HSPLcom/android/server/pm/ComputerEngine;->getUsed()I HSPLcom/android/server/pm/ComputerEngine;->getUserInfos()[Landroid/content/pm/UserInfo; HSPLcom/android/server/pm/ComputerEngine;->getVersion()I -HSPLcom/android/server/pm/ComputerEngine;->getVolumePackages(Ljava/lang/String;)Ljava/util/List; HSPLcom/android/server/pm/ComputerEngine;->hasCrossUserPermission(IIIZZ)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->hasNonNegativePriority(Ljava/util/List;)Z HPLcom/android/server/pm/ComputerEngine;->hasSigningCertificate(Ljava/lang/String;[BI)Z HSPLcom/android/server/pm/ComputerEngine;->instantAppInstallerActivity()Landroid/content/pm/ActivityInfo; HSPLcom/android/server/pm/ComputerEngine;->isApexPackage(Ljava/lang/String;)Z+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; HPLcom/android/server/pm/ComputerEngine;->isCallerInstallerOfRecord(Lcom/android/server/pm/pkg/AndroidPackage;I)Z -HSPLcom/android/server/pm/ComputerEngine;->isCallerSameApp(Ljava/lang/String;I)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->isCallerSameApp(Ljava/lang/String;I)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->isCallerSameApp(Ljava/lang/String;IZ)Z+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/ComputerEngine;->isComponentEffectivelyEnabled(Landroid/content/pm/ComponentInfo;Landroid/os/UserHandle;)Z HSPLcom/android/server/pm/ComputerEngine;->isImplicitImageCaptureIntentAndNotSetByDpc(Landroid/content/Intent;ILjava/lang/String;J)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/Intent;Landroid/content/Intent; -HSPLcom/android/server/pm/ComputerEngine;->isInstantApp(Ljava/lang/String;I)Z +HSPLcom/android/server/pm/ComputerEngine;->isInstantApp(Ljava/lang/String;I)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->isInstantAppInternal(Ljava/lang/String;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->isInstantAppInternalBody(Ljava/lang/String;II)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/InstantAppRegistry;Lcom/android/server/pm/InstantAppRegistry;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; -HSPLcom/android/server/pm/ComputerEngine;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZJ)Z+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;,Landroid/net/Uri$StringUri;,Landroid/net/Uri$HierarchicalUri;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/pm/ComputerEngine;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZJ)Z+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;,Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/pm/ComputerEngine;->isInstantAppResolutionAllowedBody(Landroid/content/Intent;Ljava/util/List;IZJ)Z HSPLcom/android/server/pm/ComputerEngine;->isPackageAvailable(Ljava/lang/String;I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/ComputerEngine;->isPackageSuspendedForUser(Ljava/lang/String;I)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings; HSPLcom/android/server/pm/ComputerEngine;->isRecentsAccessingChildProfiles(II)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService; -HSPLcom/android/server/pm/ComputerEngine;->lambda$static$0(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I HPLcom/android/server/pm/ComputerEngine;->maybeAddInstantAppInstaller(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;JIZZ)Ljava/util/List; HSPLcom/android/server/pm/ComputerEngine;->queryContentProviders(Ljava/lang/String;IJLjava/lang/String;)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; HPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List; -HSPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JJIIZZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; -HSPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternalBody(Landroid/content/Intent;Ljava/lang/String;JIIZZLjava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/QueryIntentActivitiesResult;+]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;,Lcom/android/server/pm/resolution/ComponentResolver;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/pm/CrossProfileIntentResolverEngine;Lcom/android/server/pm/CrossProfileIntentResolverEngine; +HSPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;JJIIZZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; +HSPLcom/android/server/pm/ComputerEngine;->queryIntentActivitiesInternalBody(Landroid/content/Intent;Ljava/lang/String;JIIZZLjava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/QueryIntentActivitiesResult;+]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;,Lcom/android/server/pm/resolution/ComponentResolver;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/pm/CrossProfileIntentResolverEngine;Lcom/android/server/pm/CrossProfileIntentResolverEngine; HSPLcom/android/server/pm/ComputerEngine;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/pm/ComputerEngine;->queryIntentServicesInternalBody(Landroid/content/Intent;Ljava/lang/String;JIILjava/lang/String;)Ljava/util/List;+]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/pm/ComputerEngine;->resolveComponentName()Landroid/content/ComponentName; HSPLcom/android/server/pm/ComputerEngine;->resolveContentProvider(Ljava/lang/String;JII)Landroid/content/pm/ProviderInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService; HSPLcom/android/server/pm/ComputerEngine;->resolveExternalPackageName(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageName(Ljava/lang/String;J)Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageName(Ljava/lang/String;J)Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageNameInternalLocked(Ljava/lang/String;JI)Ljava/lang/String;+]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/utils/WatchedLongSparseArray;Lcom/android/server/utils/WatchedLongSparseArray;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/SharedLibrariesRead;Lcom/android/server/pm/SharedLibrariesImpl;]Landroid/content/pm/VersionedPackage;Landroid/content/pm/VersionedPackage; HSPLcom/android/server/pm/ComputerEngine;->safeMode()Z HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/SharedUserSetting;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting; -HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;ILandroid/content/ComponentName;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplication(Lcom/android/server/pm/pkg/PackageStateInternal;ILandroid/content/ComponentName;IIZ)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/ComputerEngine$Settings;Lcom/android/server/pm/ComputerEngine$Settings;]Lcom/android/server/pm/AppsFilterSnapshot;Lcom/android/server/pm/AppsFilterImpl;,Lcom/android/server/pm/AppsFilterSnapshotImpl; HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplicationIncludingUninstalled(Lcom/android/server/pm/SharedUserSetting;II)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting; HSPLcom/android/server/pm/ComputerEngine;->shouldFilterApplicationIncludingUninstalled(Lcom/android/server/pm/pkg/PackageStateInternal;II)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->updateFlags(JI)J+]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService; HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForApplication(JI)J -HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForComponent(JI)J+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForComponent(JI)J+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForPackage(JI)J+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForResolve(JIIZZ)J+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForResolve(JIIZZZ)J+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/ComputerEngine;->updateFlagsForResolve(JIIZZZ)J+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/ComputerEngine;->use()Lcom/android/server/pm/Computer; HSPLcom/android/server/pm/ComputerLocked;-><init>(Lcom/android/server/pm/PackageManagerService$Snapshot;)V HPLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda15;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)V HPLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda15;->getOrThrow()Ljava/lang/Object; -HPLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda4;->getOrThrow()Ljava/lang/Object; HPLcom/android/server/pm/CrossProfileAppsServiceImpl$$ExternalSyntheticLambda9;->getOrThrow()Ljava/lang/Object; HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->checkComponentPermission(Ljava/lang/String;IIZ)I HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getAppOpsManager()Landroid/app/AppOpsManager; @@ -7204,40 +6208,31 @@ HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getPackageMa HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getUserManager()Landroid/os/UserManager; HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object; HPLcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;->verifyUidHasInteractAcrossProfilePermission(Ljava/lang/String;I)Z +HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->-$$Nest$mhasInteractAcrossProfilesPermission(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->canInteractAcrossProfiles(Ljava/lang/String;)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List; HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfilesUnchecked(Ljava/lang/String;I)Ljava/util/List; -HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasCallerGotInteractAcrossProfilesPermission(Ljava/lang/String;)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasInteractAcrossProfilesPermission(Ljava/lang/String;II)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->haveProfilesGotInteractAcrossProfilesPermission(Ljava/lang/String;Ljava/util/List;)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPackageEnabled(Ljava/lang/String;I)Z HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPermissionGranted(Ljava/lang/String;I)Z+]Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;Lcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl; HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$getTargetUserProfilesUnchecked$3(ILjava/lang/String;)Ljava/util/List;+]Lcom/android/server/pm/CrossProfileAppsServiceImpl;Lcom/android/server/pm/CrossProfileAppsServiceImpl;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/UserManager;Landroid/os/UserManager;]Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;Lcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl; -HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$haveProfilesGotInteractAcrossProfilesPermission$0(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/Integer; -HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isPackageEnabled$4(Ljava/lang/String;II)Ljava/lang/Boolean; +HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isPackageEnabled$4(Ljava/lang/String;II)Ljava/lang/Boolean;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;Lcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl; HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->verifyCallingPackage(Ljava/lang/String;)V HPLcom/android/server/pm/CrossProfileDomainInfo;-><init>(Landroid/content/pm/ResolveInfo;II)V HSPLcom/android/server/pm/CrossProfileIntentFilter$1;-><init>(Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/utils/Watchable;)V HSPLcom/android/server/pm/CrossProfileIntentFilter$1;->createSnapshot()Lcom/android/server/pm/CrossProfileIntentFilter; -HSPLcom/android/server/pm/CrossProfileIntentFilter$1;->createSnapshot()Ljava/lang/Object; HPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;III)V HSPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lcom/android/server/pm/CrossProfileIntentFilter;)V -HSPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter-IA;)V -HPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lcom/android/server/pm/WatchedIntentFilter;Ljava/lang/String;III)V -HSPLcom/android/server/pm/CrossProfileIntentFilter;->getFlags()I HSPLcom/android/server/pm/CrossProfileIntentFilter;->getStringFromXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/pm/CrossProfileIntentFilter;->getTargetUserId()I HSPLcom/android/server/pm/CrossProfileIntentFilter;->makeCache()Lcom/android/server/utils/SnapshotCache; HSPLcom/android/server/pm/CrossProfileIntentFilter;->snapshot()Lcom/android/server/pm/CrossProfileIntentFilter; HSPLcom/android/server/pm/CrossProfileIntentFilter;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/pm/CrossProfileIntentFilterHelper;->clearCrossProfileIntentFilters(ILjava/lang/String;Ljava/lang/Integer;)V HSPLcom/android/server/pm/CrossProfileIntentResolver$1;-><init>(Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/utils/Watchable;)V HSPLcom/android/server/pm/CrossProfileIntentResolver$1;->createSnapshot()Lcom/android/server/pm/CrossProfileIntentResolver; -HSPLcom/android/server/pm/CrossProfileIntentResolver$1;->createSnapshot()Ljava/lang/Object; HSPLcom/android/server/pm/CrossProfileIntentResolver;-><init>()V HSPLcom/android/server/pm/CrossProfileIntentResolver;-><init>(Lcom/android/server/pm/CrossProfileIntentResolver;)V -HSPLcom/android/server/pm/CrossProfileIntentResolver;-><init>(Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver-IA;)V HSPLcom/android/server/pm/CrossProfileIntentResolver;->getIntentFilter(Lcom/android/server/pm/CrossProfileIntentFilter;)Landroid/content/IntentFilter; HSPLcom/android/server/pm/CrossProfileIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;+]Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver; HPLcom/android/server/pm/CrossProfileIntentResolver;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/pm/CrossProfileIntentFilter;)Z @@ -7245,8 +6240,6 @@ HPLcom/android/server/pm/CrossProfileIntentResolver;->isPackageForFilter(Ljava/l HSPLcom/android/server/pm/CrossProfileIntentResolver;->makeCache()Lcom/android/server/utils/SnapshotCache; HSPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Lcom/android/server/pm/CrossProfileIntentFilter; HSPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Ljava/lang/Object; -HSPLcom/android/server/pm/CrossProfileIntentResolver;->snapshot()Lcom/android/server/pm/CrossProfileIntentResolver; -HSPLcom/android/server/pm/CrossProfileIntentResolver;->snapshot()Ljava/lang/Object; HSPLcom/android/server/pm/CrossProfileIntentResolver;->snapshot(Lcom/android/server/pm/CrossProfileIntentFilter;)Lcom/android/server/pm/CrossProfileIntentFilter;+]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter; HSPLcom/android/server/pm/CrossProfileIntentResolver;->snapshot(Ljava/lang/Object;)Ljava/lang/Object;+]Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver; HSPLcom/android/server/pm/CrossProfileIntentResolver;->sortResults(Ljava/util/List;)V @@ -7258,8 +6251,8 @@ HPLcom/android/server/pm/CrossProfileIntentResolverEngine;->filterCrossProfileCa HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->isNoFilteringPropertyConfiguredForUser(I)Z HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveInfoFromCrossProfileDomainInfo(Ljava/util/List;)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IJLjava/lang/String;ZZLjava/util/function/Function;)Ljava/util/List;+]Lcom/android/server/pm/CrossProfileIntentResolverEngine;Lcom/android/server/pm/CrossProfileIntentResolverEngine; -HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IIJLjava/lang/String;ZZLjava/util/function/Function;Ljava/util/Set;)Ljava/util/List;+]Lcom/android/server/pm/CrossProfileResolver;Lcom/android/server/pm/DefaultCrossProfileResolver;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/CrossProfileIntentResolverEngine;Lcom/android/server/pm/CrossProfileIntentResolverEngine;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/Set;Ljava/util/HashSet; -HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->shouldSkipCurrentProfile(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;I)Z+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter; +HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;IIJLjava/lang/String;ZZLjava/util/function/Function;Ljava/util/Set;)Ljava/util/List;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/pm/CrossProfileResolver;Lcom/android/server/pm/DefaultCrossProfileResolver;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/CrossProfileIntentResolverEngine;Lcom/android/server/pm/CrossProfileIntentResolverEngine;]Ljava/util/Set;Ljava/util/HashSet; +HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->shouldSkipCurrentProfile(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;I)Z+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter; HSPLcom/android/server/pm/CrossProfileIntentResolverEngine;->shouldUseNoFilteringResolver(II)Z HSPLcom/android/server/pm/CrossProfileResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/UserManagerService;)V HPLcom/android/server/pm/CrossProfileResolver;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List; @@ -7291,11 +6284,7 @@ HSPLcom/android/server/pm/DefaultCrossProfileResolver;->resolveIntent(Lcom/andro HPLcom/android/server/pm/DexOptHelper$DexoptDoneHandler;->onDexoptDone(Lcom/android/server/art/model/DexoptResult;)V HSPLcom/android/server/pm/DexOptHelper;-><clinit>()V HSPLcom/android/server/pm/DexOptHelper;-><init>(Lcom/android/server/pm/PackageManagerService;)V -HSPLcom/android/server/pm/DexOptHelper;->getBcpApexes()Ljava/util/List; HSPLcom/android/server/pm/DexOptHelper;->getDexUseManagerLocal()Lcom/android/server/art/DexUseManagerLocal; -HSPLcom/android/server/pm/DexOptHelper;->hasBcpApexesChanged()Z -HSPLcom/android/server/pm/DexOptHelper;->initializeArtManagerLocal(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V -HSPLcom/android/server/pm/DexOptHelper;->performPackageDexOptUpgradeIfNeeded()V HSPLcom/android/server/pm/DexOptHelper;->useArtService()Z HSPLcom/android/server/pm/DomainVerificationConnection;-><init>(Lcom/android/server/pm/PackageManagerService;)V HSPLcom/android/server/pm/DomainVerificationConnection;->doesUserExist(I)Z @@ -7303,16 +6292,9 @@ HSPLcom/android/server/pm/DomainVerificationConnection;->filterAppAccess(Ljava/l 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/DynamicCodeLoggingService$AuditWatchingThread;->processAuditEvents()Z+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern;]Landroid/util/EventLog$Event;Landroid/util/EventLog$Event; HPLcom/android/server/pm/DynamicCodeLoggingService;->-$$Nest$fgetmAuditWatchingStopRequested(Lcom/android/server/pm/DynamicCodeLoggingService;)Z -HSPLcom/android/server/pm/GentleUpdateHelper;-><clinit>()V -HSPLcom/android/server/pm/GentleUpdateHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/pm/AppStateHelper;)V -HSPLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(II)V -HSPLcom/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;Ljava/lang/String;)V -HPLcom/android/server/pm/IPackageManagerBase;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V -HSPLcom/android/server/pm/IPackageManagerBase;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String; +HSPLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(II)V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; HSPLcom/android/server/pm/IPackageManagerBase;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; -HSPLcom/android/server/pm/IPackageManagerBase;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I HSPLcom/android/server/pm/IPackageManagerBase;->checkUidPermission(Ljava/lang/String;I)I+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/IPackageManagerBase;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; HSPLcom/android/server/pm/IPackageManagerBase;->getApplicationEnabledSetting(Ljava/lang/String;I)I @@ -7320,82 +6302,61 @@ HSPLcom/android/server/pm/IPackageManagerBase;->getApplicationInfo(Ljava/lang/St HPLcom/android/server/pm/IPackageManagerBase;->getBlockUninstallForUser(Ljava/lang/String;I)Z+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/IPackageManagerBase;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/IPackageManagerBase;->getDeclaredSharedLibraries(Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; -HPLcom/android/server/pm/IPackageManagerBase;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo; +HPLcom/android/server/pm/IPackageManagerBase;->getInstallSourceInfo(Ljava/lang/String;I)Landroid/content/pm/InstallSourceInfo;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->getInstalledApplications(JI)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/IPackageManagerBase;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice; HPLcom/android/server/pm/IPackageManagerBase;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->getNameForUid(I)Ljava/lang/String;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/IPackageManagerBase;->getPackageInstaller()Landroid/content/pm/IPackageInstaller; HSPLcom/android/server/pm/IPackageManagerBase;->getPackageUid(Ljava/lang/String;JI)I+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->getPackagesForUid(I)[Ljava/lang/String;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/IPackageManagerBase;->getServiceInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ServiceInfo; -HSPLcom/android/server/pm/IPackageManagerBase;->getSetupWizardPackageName()Ljava/lang/String; +HPLcom/android/server/pm/IPackageManagerBase;->getPropertyAsUser(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PackageManager$Property;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/PackageProperty;Lcom/android/server/pm/PackageProperty;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/IPackageManagerBase;->getRotationResolverPackageName()Ljava/lang/String; +HSPLcom/android/server/pm/IPackageManagerBase;->getServiceInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ServiceInfo;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->getTargetSdkVersion(Ljava/lang/String;)I+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->hasSystemFeature(Ljava/lang/String;I)Z+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; -HSPLcom/android/server/pm/IPackageManagerBase;->isDeviceUpgrading()Z -HSPLcom/android/server/pm/IPackageManagerBase;->isInstantApp(Ljava/lang/String;I)Z +HSPLcom/android/server/pm/IPackageManagerBase;->isInstantApp(Ljava/lang/String;I)Z+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->isPackageAvailable(Ljava/lang/String;I)Z+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/IPackageManagerBase;->isPackageSuspendedForUser(Ljava/lang/String;I)Z+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->queryContentProviders(Ljava/lang/String;IJLjava/lang/String;)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/IPackageManagerBase;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HPLcom/android/server/pm/IPackageManagerBase;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; +HSPLcom/android/server/pm/IPackageManagerBase;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; HSPLcom/android/server/pm/IPackageManagerBase;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/IPackageManagerBase;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V HSPLcom/android/server/pm/IPackageManagerBase;->resolveContentProvider(Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo;+]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/IPackageManagerBase;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; -HSPLcom/android/server/pm/IPackageManagerBase;->resolveService(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo; +HSPLcom/android/server/pm/IPackageManagerBase;->resolveService(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper;]Lcom/android/server/pm/IPackageManagerBase;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; HSPLcom/android/server/pm/IPackageManagerBase;->snapshot()Lcom/android/server/pm/Computer;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; -HSPLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/InitAppsHelper;Landroid/util/ArrayMap;)V -HSPLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda1;->forEachPackage(Lcom/android/internal/util/function/TriConsumer;)V -HSPLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/util/function/TriConsumer;Landroid/util/ArrayMap;)V -HSPLcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V HSPLcom/android/server/pm/InitAppsHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;Lcom/android/server/pm/InstallPackageHelper;Ljava/util/List;)V -HSPLcom/android/server/pm/InitAppsHelper;->fixSystemPackages([I)V HSPLcom/android/server/pm/InitAppsHelper;->getApexScanPartitions()Ljava/util/List; HSPLcom/android/server/pm/InitAppsHelper;->getDirsToScanAsSystem()Ljava/util/List; HSPLcom/android/server/pm/InitAppsHelper;->getSystemScanPartitions()Ljava/util/List; -HSPLcom/android/server/pm/InitAppsHelper;->initNonSystemApps(Lcom/android/server/pm/parsing/PackageParser2;[IJ)V HSPLcom/android/server/pm/InitAppsHelper;->initSystemApps(Lcom/android/server/pm/parsing/PackageParser2;Lcom/android/server/utils/WatchedArrayMap;[IJ)Lcom/android/internal/content/om/OverlayConfig; -HSPLcom/android/server/pm/InitAppsHelper;->isExpectingBetter(Ljava/lang/String;)Z -HSPLcom/android/server/pm/InitAppsHelper;->lambda$initSystemApps$0(Lcom/android/internal/util/function/TriConsumer;Landroid/util/ArrayMap;Lcom/android/server/pm/pkg/PackageStateInternal;)V -HSPLcom/android/server/pm/InitAppsHelper;->lambda$initSystemApps$1(Landroid/util/ArrayMap;Lcom/android/internal/util/function/TriConsumer;)V -HSPLcom/android/server/pm/InitAppsHelper;->logNonSystemAppScanningTime(J)V -HSPLcom/android/server/pm/InitAppsHelper;->logSystemAppsScanningTime(J)V HSPLcom/android/server/pm/InitAppsHelper;->resolveApexToScanPartition(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/ScanPartition; HSPLcom/android/server/pm/InitAppsHelper;->scanApexPackagesTraced(Lcom/android/server/pm/parsing/PackageParser2;)Ljava/util/List; HSPLcom/android/server/pm/InitAppsHelper;->scanDirTracedLI(Ljava/io/File;IILcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)V HSPLcom/android/server/pm/InitAppsHelper;->scanSystemDirs(Lcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V -HSPLcom/android/server/pm/InitAppsHelper;->updateStubSystemAppsList(Ljava/util/List;)V HSPLcom/android/server/pm/InstallPackageHelper;->addForInitLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/pkg/AndroidPackage; HSPLcom/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 HSPLcom/android/server/pm/InstallPackageHelper;->assertOverlayIsValid(Lcom/android/server/pm/pkg/AndroidPackage;II)V HSPLcom/android/server/pm/InstallPackageHelper;->assertPackageIsValid(Lcom/android/server/pm/pkg/AndroidPackage;II)V HSPLcom/android/server/pm/InstallPackageHelper;->assertPackageWithSharedUserIdIsPrivileged(Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/InstallPackageHelper;->assertStaticSharedLibraryVersionCodeIsValid(Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/InstallPackageHelper;->checkExistingBetterPackages(Landroid/util/ArrayMap;Ljava/util/List;II)V -HSPLcom/android/server/pm/InstallPackageHelper;->cleanupDisabledPackageSettings(Ljava/util/List;[II)V HSPLcom/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;->commitPackagesLocked(Ljava/util/List;[I)V HSPLcom/android/server/pm/InstallPackageHelper;->commitReconciledScanResultLocked(Lcom/android/server/pm/ReconciledPackage;[I)Lcom/android/server/pm/pkg/AndroidPackage; -HSPLcom/android/server/pm/InstallPackageHelper;->disableSystemPackageLPw(Lcom/android/server/pm/pkg/AndroidPackage;)Z -HPLcom/android/server/pm/InstallPackageHelper;->executePostCommitStepsLIF(Ljava/util/List;)V HSPLcom/android/server/pm/InstallPackageHelper;->getOriginalPackageLocked(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Lcom/android/server/pm/PackageSetting; HPLcom/android/server/pm/InstallPackageHelper;->handlePackagePostInstall(Lcom/android/server/pm/InstallRequest;Z)V HSPLcom/android/server/pm/InstallPackageHelper;->installPackagesFromDir(Ljava/io/File;IILcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;Lcom/android/server/pm/ApexManager$ActiveApexInfo;)V HPLcom/android/server/pm/InstallPackageHelper;->installPackagesLI(Ljava/util/List;)V -HSPLcom/android/server/pm/InstallPackageHelper;->installSystemStubPackages(Ljava/util/List;I)V HSPLcom/android/server/pm/InstallPackageHelper;->lambda$scanApexPackages$2(Landroid/util/ArrayMap;Lcom/android/server/pm/ParallelPackageParser$ParseResult;Lcom/android/server/pm/ParallelPackageParser$ParseResult;)I HSPLcom/android/server/pm/InstallPackageHelper;->maybeClearProfilesForUpgradesLI(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/InstallPackageHelper;->optimisticallyRegisterAppId(Lcom/android/server/pm/InstallRequest;)Z HSPLcom/android/server/pm/InstallPackageHelper;->prepareInitialScanRequest(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/ScanRequest; HPLcom/android/server/pm/InstallPackageHelper;->preparePackageLI(Lcom/android/server/pm/InstallRequest;)V -HSPLcom/android/server/pm/InstallPackageHelper;->prepareSystemPackageCleanUp(Lcom/android/server/utils/WatchedArrayMap;Ljava/util/List;Landroid/util/ArrayMap;[I)V HSPLcom/android/server/pm/InstallPackageHelper;->scanApexPackages([Landroid/apex/ApexInfo;IILcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)Ljava/util/List; HSPLcom/android/server/pm/InstallPackageHelper;->scanPackageNewLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/ScanResult; HSPLcom/android/server/pm/InstallPackageHelper;->scanSystemPackageLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;)Landroid/util/Pair; HPLcom/android/server/pm/InstallPackageHelper;->updateSettingsInternalLI(Lcom/android/server/pm/pkg/AndroidPackage;[ILcom/android/server/pm/InstallRequest;)V -HSPLcom/android/server/pm/InstallRequest;-><init>(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IILandroid/os/UserHandle;Lcom/android/server/pm/ScanResult;)V HSPLcom/android/server/pm/InstallRequest;->assertScanResultExists()V HSPLcom/android/server/pm/InstallRequest;->getApexModuleName()Ljava/lang/String; HSPLcom/android/server/pm/InstallRequest;->getDisabledPackageSetting()Lcom/android/server/pm/PackageSetting; @@ -7432,32 +6393,22 @@ HSPLcom/android/server/pm/InstallSource;->setInitiatingPackageSignatures(Lcom/an HSPLcom/android/server/pm/InstallSource;->setIsOrphaned(Z)Lcom/android/server/pm/InstallSource; HSPLcom/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 -HSPLcom/android/server/pm/Installer$Batch;-><init>()V HSPLcom/android/server/pm/Installer$Batch;->createAppData(Landroid/os/CreateAppDataArgs;)Ljava/util/concurrent/CompletableFuture; -HSPLcom/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 HSPLcom/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+]Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/CountDownLatch; -HSPLcom/android/server/pm/Installer;->cleanupInvalidPackageDirs(Ljava/lang/String;II)V HSPLcom/android/server/pm/Installer;->connect()V -HSPLcom/android/server/pm/Installer;->createAppDataBatched([Landroid/os/CreateAppDataArgs;)[Landroid/os/CreateAppDataResult; HSPLcom/android/server/pm/Installer;->executeDeferredActions()V -HSPLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V HPLcom/android/server/pm/Installer;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;Landroid/content/pm/PackageStats;)V +HPLcom/android/server/pm/Installer;->getUserSize(Ljava/lang/String;II[ILandroid/content/pm/PackageStats;)V HSPLcom/android/server/pm/Installer;->invalidateMounts()V HSPLcom/android/server/pm/Installer;->onStart()V -HSPLcom/android/server/pm/Installer;->setAppQuota(Ljava/lang/String;IIJ)V -HSPLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V +HSPLcom/android/server/pm/Installer;->setAppQuota(Ljava/lang/String;IIJ)V+]Landroid/os/IInstalld;Landroid/os/IInstalld$Stub$Proxy;]Lcom/android/server/pm/Installer;Lcom/android/server/pm/Installer; 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;->isRegisteredObserver(Lcom/android/server/utils/Watcher;)Z HSPLcom/android/server/pm/InstantAppRegistry;->makeCache()Lcom/android/server/utils/SnapshotCache; HSPLcom/android/server/pm/InstantAppRegistry;->registerObserver(Lcom/android/server/utils/Watcher;)V @@ -7466,14 +6417,7 @@ HPLcom/android/server/pm/InstantAppResolver;->buildRequestInfo(Landroid/content/ HPLcom/android/server/pm/InstantAppResolver;->doInstantAppResolutionPhaseOne(Lcom/android/server/pm/Computer;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/InstantAppResolverConnection;Landroid/content/pm/InstantAppRequest;)Landroid/content/pm/AuxiliaryResolveInfo; HPLcom/android/server/pm/InstantAppResolver;->parseDigest(Landroid/content/Intent;)Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest; HPLcom/android/server/pm/InstantAppResolver;->sanitizeIntent(Landroid/content/Intent;)Landroid/content/Intent; -HSPLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;-><init>(Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;)V HPLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;->sendResult(Landroid/os/Bundle;)V -HSPLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;-><init>()V -HSPLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V -HSPLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;Lcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection-IA;)V -HSPLcom/android/server/pm/InstantAppResolverConnection;->-$$Nest$sfgetCALL_SERVICE_TIMEOUT_MS()J -HSPLcom/android/server/pm/InstantAppResolverConnection;-><clinit>()V -HSPLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V HPLcom/android/server/pm/InstantAppResolverConnection;->getInstantAppResolveInfoList(Landroid/content/pm/InstantAppRequestInfo;)Ljava/util/List; HSPLcom/android/server/pm/InstructionSets;-><clinit>()V HSPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String; @@ -7500,18 +6444,19 @@ HSPLcom/android/server/pm/KeySetManagerService;->readKeySetsLPw(Lcom/android/mod HSPLcom/android/server/pm/KeySetManagerService;->readKeysLPw(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/pm/KeySetManagerService;->readPublicKeyLPw(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/SharedUserApi;I)Z -HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V -HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V +HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/Long;Ljava/lang/Long;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/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;+]Lcom/android/server/pm/DefaultAppProvider;Lcom/android/server/pm/DefaultAppProvider;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/KnownPackages;->getKnownPackageNames(Lcom/android/server/pm/Computer;II)[Ljava/lang/String;+]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/DefaultAppProvider;Lcom/android/server/pm/DefaultAppProvider; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageChanged(Ljava/lang/String;)V HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChangedInner(Ljava/lang/String;I)V HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(IIIILjava/lang/String;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;]Landroid/os/UserManager;Landroid/os/UserManager; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(ILjava/lang/String;)Z+]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->ensureShortcutPermission(IILjava/lang/String;)V HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->ensureShortcutPermission(Ljava/lang/String;)V +HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getAppUsageLimit(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/LauncherApps$AppUsageLimit;+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo; +HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getCallingUserId()I HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/os/UserManager;Landroid/os/UserManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/LauncherActivityInfoInternal;Landroid/content/pm/LauncherActivityInfoInternal;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;Landroid/content/pm/ShortcutQueryWrapper;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I @@ -7521,18 +6466,17 @@ HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectClearCalli HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectHasInteractAcrossUsersFullPermission(II)Z HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z -HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z -HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl; -HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryIntentLauncherActivities(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/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;->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;+]Ljava/util/List;Ljava/util/ArrayList;,Ljava/util/Collections$EmptyList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->resolveLauncherActivityInternal(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfoInternal; HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldShowSyntheticActivity(Landroid/os/UserHandle;Landroid/content/pm/ApplicationInfo;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V+]Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl; HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;I)V+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; -HSPLcom/android/server/pm/ModuleInfoProvider;-><init>(Landroid/content/Context;)V HSPLcom/android/server/pm/ModuleInfoProvider;->getInstalledModules(I)Ljava/util/List; HSPLcom/android/server/pm/MovePackageHelper$MoveCallbacks;-><init>(Landroid/os/Looper;)V HPLcom/android/server/pm/OtaDexoptService$1;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z -HSPLcom/android/server/pm/OtaDexoptService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V HPLcom/android/server/pm/OtaDexoptService;->generatePackageDexopts(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;I)Ljava/util/List; -HSPLcom/android/server/pm/OtaDexoptService;->main(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/OtaDexoptService; HSPLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V HSPLcom/android/server/pm/PackageAbiHelper$Abis;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/pm/PackageAbiHelper$Abis;->applyTo(Lcom/android/server/pm/PackageSetting;)V @@ -7545,7 +6489,6 @@ HSPLcom/android/server/pm/PackageAbiHelperImpl;->deriveCodePathName(Ljava/lang/S HSPLcom/android/server/pm/PackageAbiHelperImpl;->deriveNativeLibraryPaths(Lcom/android/server/pm/PackageAbiHelper$Abis;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths; HSPLcom/android/server/pm/PackageAbiHelperImpl;->deriveNativeLibraryPaths(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/io/File;)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths; HSPLcom/android/server/pm/PackageAbiHelperImpl;->derivePackageAbi(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/String;Ljava/io/File;)Landroid/util/Pair; -HSPLcom/android/server/pm/PackageAbiHelperImpl;->getAdjustedAbiForSharedUser(Landroid/util/ArraySet;Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String; HSPLcom/android/server/pm/PackageAbiHelperImpl;->getBundledAppAbi(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/PackageAbiHelper$Abis; HSPLcom/android/server/pm/PackageAbiHelperImpl;->getBundledAppAbis(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/server/pm/PackageAbiHelper$Abis; HSPLcom/android/server/pm/PackageAbiHelperImpl;->shouldExtractLibs(Lcom/android/server/pm/pkg/AndroidPackage;ZZ)Z @@ -7558,40 +6501,28 @@ HPLcom/android/server/pm/PackageDexOptimizer;->dexOptPath(Lcom/android/server/pm HPLcom/android/server/pm/PackageDexOptimizer;->performDexOptLI(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I HSPLcom/android/server/pm/PackageHandler;-><init>(Landroid/os/Looper;Lcom/android/server/pm/PackageManagerService;)V HSPLcom/android/server/pm/PackageHandler;->doHandleMessage(Landroid/os/Message;)V -HSPLcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda5;-><init>(Lcom/android/server/pm/PackageInstallerService;)V HSPLcom/android/server/pm/PackageInstallerService$1;-><init>()V -HSPLcom/android/server/pm/PackageInstallerService$BroadcastCookie;-><init>(ILjava/util/function/IntPredicate;)V -HSPLcom/android/server/pm/PackageInstallerService$Callbacks;-><init>(Lcom/android/server/pm/PackageInstallerService;Landroid/os/Looper;)V HPLcom/android/server/pm/PackageInstallerService$Callbacks;->handleMessage(Landroid/os/Message;)V HPLcom/android/server/pm/PackageInstallerService$Callbacks;->invokeCallback(Landroid/content/pm/IPackageInstallerCallback;Landroid/os/Message;)V -HSPLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;Lcom/android/server/pm/PackageInstallerService$BroadcastCookie;)V -HSPLcom/android/server/pm/PackageInstallerService$InternalCallback;-><init>(Lcom/android/server/pm/PackageInstallerService;)V HPLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionProgressChanged(Lcom/android/server/pm/PackageInstallerSession;F)V -HSPLcom/android/server/pm/PackageInstallerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageInstallerService;)V -HSPLcom/android/server/pm/PackageInstallerService$Lifecycle;->onBootPhase(I)V -HSPLcom/android/server/pm/PackageInstallerService$Lifecycle;->onStart()V HSPLcom/android/server/pm/PackageInstallerService;-><clinit>()V -HSPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Ljava/util/function/Supplier;)V HPLcom/android/server/pm/PackageInstallerService;->createSessionInternal(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;Ljava/lang/String;I)I HPLcom/android/server/pm/PackageInstallerService;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo; HSPLcom/android/server/pm/PackageInstallerService;->isStageName(Ljava/lang/String;)Z -HSPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V -HSPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V HSPLcom/android/server/pm/PackageInstallerService;->writeSessionsLocked()Z HSPLcom/android/server/pm/PackageInstallerSession;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSessionProvider;Lcom/android/server/pm/SilentUpdatePolicy;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;IIILcom/android/server/pm/InstallSource;Landroid/content/pm/PackageInstaller$SessionParams;JJLjava/io/File;Ljava/lang/String;[Landroid/content/pm/InstallationFile;Landroid/util/ArrayMap;ZZZZ[IIZZZILjava/lang/String;)V -HPLcom/android/server/pm/PackageInstallerSession;->assertCallerIsOwnerOrRoot()V -HPLcom/android/server/pm/PackageInstallerSession;->assertCallerIsOwnerRootOrVerifier()V -HPLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotDestroyedLocked(Ljava/lang/String;)V +HSPLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotDestroyedLocked(Ljava/lang/String;)V HSPLcom/android/server/pm/PackageInstallerSession;->buildAppIconFile(ILjava/io/File;)Ljava/io/File; HPLcom/android/server/pm/PackageInstallerSession;->computeProgressLocked(Z)V HPLcom/android/server/pm/PackageInstallerSession;->doWriteInternal(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor; HPLcom/android/server/pm/PackageInstallerSession;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;)V HPLcom/android/server/pm/PackageInstallerSession;->generateInfoInternal(ZZ)Landroid/content/pm/PackageInstaller$SessionInfo; -HSPLcom/android/server/pm/PackageInstallerSession;->getChildSessionIdsLocked()[I +HSPLcom/android/server/pm/PackageInstallerSession;->getChildSessionIdsLocked()[I+]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/pm/PackageInstallerSession;->getInstallerUid()I HPLcom/android/server/pm/PackageInstallerSession;->getNames()[Ljava/lang/String; HSPLcom/android/server/pm/PackageInstallerSession;->isCommitted()Z HSPLcom/android/server/pm/PackageInstallerSession;->isDataLoaderInstallation()Z +HSPLcom/android/server/pm/PackageInstallerSession;->readFromXml(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;Ljava/io/File;Lcom/android/server/pm/PackageSessionProvider;Lcom/android/server/pm/SilentUpdatePolicy;)Lcom/android/server/pm/PackageInstallerSession; HPLcom/android/server/pm/PackageInstallerSession;->validateApkInstallLocked()Landroid/content/pm/parsing/PackageLite; HSPLcom/android/server/pm/PackageInstallerSession;->write(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/io/File;)V HSPLcom/android/server/pm/PackageKeySetData;-><init>()V @@ -7603,61 +6534,51 @@ HSPLcom/android/server/pm/PackageKeySetData;->removeAllDefinedKeySets()V HSPLcom/android/server/pm/PackageKeySetData;->removeAllUpgradeKeySets()V HSPLcom/android/server/pm/PackageKeySetData;->setAliases(Ljava/util/Map;)V HSPLcom/android/server/pm/PackageKeySetData;->setProperSigningKeySet(J)V -HSPLcom/android/server/pm/PackageList;-><init>(Ljava/util/List;Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V -HSPLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;)V HSPLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;I)V HSPLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;Ljava/lang/Throwable;)V HSPLcom/android/server/pm/PackageManagerException;->ofInternalError(Ljava/lang/String;I)Lcom/android/server/pm/PackageManagerException; HSPLcom/android/server/pm/PackageManagerInternalBase;-><init>(Lcom/android/server/pm/PackageManagerService;)V HPLcom/android/server/pm/PackageManagerInternalBase;->canAccessInstantApps(II)Z HPLcom/android/server/pm/PackageManagerInternalBase;->canQueryPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerInternalBase;->filterAppAccess(Ljava/lang/String;IIZ)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerInternalBase;->forEachPackage(Ljava/util/function/Consumer;)V -HSPLcom/android/server/pm/PackageManagerInternalBase;->forEachPackageSetting(Ljava/util/function/Consumer;)V +HSPLcom/android/server/pm/PackageManagerInternalBase;->filterAppAccess(Ljava/lang/String;IIZ)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/PackageManagerInternalBase;->forEachPackageState(Ljava/util/function/Consumer;)V -HPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationEnabledState(Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationEnabledState(Ljava/lang/String;I)I HSPLcom/android/server/pm/PackageManagerInternalBase;->getApplicationInfo(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/PackageManagerInternalBase;->getDisabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet; -HSPLcom/android/server/pm/PackageManagerInternalBase;->getDisabledSystemPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal; -HPLcom/android/server/pm/PackageManagerInternalBase;->getDistractingPackageRestrictions(Ljava/lang/String;I)I -HSPLcom/android/server/pm/PackageManagerInternalBase;->getInstantAppPackageName(I)Ljava/lang/String;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HPLcom/android/server/pm/PackageManagerInternalBase;->getDistractingPackageRestrictions(Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/pm/PackageManagerInternalBase;->getInstantAppPackageName(I)Ljava/lang/String;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/PackageManagerInternalBase;->getKnownPackageNames(II)[Ljava/lang/String;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(I)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; -HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/AndroidPackage;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageInfo(Ljava/lang/String;JII)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageStateInternal(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HPLcom/android/server/pm/PackageManagerInternalBase;->getPackageTargetSdkVersion(Ljava/lang/String;)I HSPLcom/android/server/pm/PackageManagerInternalBase;->getPackageUid(Ljava/lang/String;JI)I+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerInternalBase;->getProcessesForUid(I)Landroid/util/ArrayMap; HSPLcom/android/server/pm/PackageManagerInternalBase;->getSharedUserApi(I)Lcom/android/server/pm/pkg/SharedUserApi; -HSPLcom/android/server/pm/PackageManagerInternalBase;->getSharedUserPackages(I)Landroid/util/ArraySet; HSPLcom/android/server/pm/PackageManagerInternalBase;->getSharedUserPackagesForPackage(Ljava/lang/String;I)[Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerInternalBase;->getSystemUiServiceComponent()Landroid/content/ComponentName; HSPLcom/android/server/pm/PackageManagerInternalBase;->getUidTargetSdkVersion(I)I+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZ)V+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/PackageManagerInternalBase;->grantImplicitAccess(ILandroid/content/Intent;IIZZ)V+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HPLcom/android/server/pm/PackageManagerInternalBase;->isCallerInstallerOfRecord(Lcom/android/server/pm/pkg/AndroidPackage;I)Z HSPLcom/android/server/pm/PackageManagerInternalBase;->isInstantApp(Ljava/lang/String;I)Z -HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageEphemeral(ILjava/lang/String;)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageEphemeral(ILjava/lang/String;)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageFrozen(Ljava/lang/String;II)Z+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HPLcom/android/server/pm/PackageManagerInternalBase;->isPackageStateProtected(Ljava/lang/String;I)Z HSPLcom/android/server/pm/PackageManagerInternalBase;->isPackageSuspended(Ljava/lang/String;I)Z HSPLcom/android/server/pm/PackageManagerInternalBase;->isPermissionsReviewRequired(Ljava/lang/String;I)Z+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HPLcom/android/server/pm/PackageManagerInternalBase;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List; +HPLcom/android/server/pm/PackageManagerInternalBase;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerInternalBase;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List; HSPLcom/android/server/pm/PackageManagerInternalBase;->resolveContentProvider(Ljava/lang/String;JII)Landroid/content/pm/ProviderInfo;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerInternalBase;->resolveService(Landroid/content/Intent;Ljava/lang/String;JII)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper; HSPLcom/android/server/pm/PackageManagerInternalBase;->setPackageStoppedState(Ljava/lang/String;ZI)V+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/PackageManagerInternalBase;->snapshot()Lcom/android/server/pm/Computer;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; HSPLcom/android/server/pm/PackageManagerInternalBase;->snapshot()Lcom/android/server/pm/snapshot/PackageDataSnapshot;+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/pm/PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;)V -HSPLcom/android/server/pm/PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerNative;->getTargetSdkVersionForPackage(Ljava/lang/String;)I -HSPLcom/android/server/pm/PackageManagerNative;->hasSystemFeature(Ljava/lang/String;I)Z 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>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda27;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; -HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda28;-><init>()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; @@ -7666,23 +6587,20 @@ HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda30;->pro HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda31;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda32;-><init>()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$$ExternalSyntheticLambda35;-><init>()V 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;->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$$ExternalSyntheticLambda39;-><init>()V -HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda41;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; +HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda40;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda42;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda42;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda43;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda45;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; -HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda46;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda47;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda47;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; -HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda50;-><init>()V +HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda48;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda50;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda52;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda53;-><init>()V @@ -7691,124 +6609,79 @@ HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda54;-><in HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda54;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda55;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda55;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; +HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda56;-><init>()V +HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda56;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda9;->run()V 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 -HSPLcom/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 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 -HSPLcom/android/server/pm/PackageManagerService$DefaultSystemWrapper;->enablePackageCaches()V -HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->checkPackageStartable(Ljava/lang/String;I)V -HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->clearCrossProfileIntentFilters(ILjava/lang/String;)V -HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getChangedPackages(II)Landroid/content/pm/ChangedPackages; -HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getPermissionControllerPackageName()Ljava/lang/String; HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice; -HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getUserMinAspectRatio(Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->isProtectedBroadcast(Ljava/lang/String;)Z+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->logAppProcessStartIfNeeded(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyDexLoad(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyPackageUse(Ljava/lang/String;I)V HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyPackagesReplacedReceived([Ljava/lang/String;)V HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->requestPackageChecksums(Ljava/lang/String;ZIILjava/util/List;Landroid/content/pm/IOnChecksumsReadyListener;I)V HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getContext()Landroid/content/Context; -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getIncrementalStatesInfo(Ljava/lang/String;II)Landroid/content/pm/IncrementalStatesInfo; -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Lcom/android/server/pm/PackageList; +HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getIncrementalStatesInfo(Ljava/lang/String;II)Landroid/content/pm/IncrementalStatesInfo;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPermissionManager()Lcom/android/server/pm/permission/PermissionManagerServiceInternal; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getProtectedPackages()Lcom/android/server/pm/ProtectedPackages; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getResolveIntentHelper()Lcom/android/server/pm/ResolveIntentHelper; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSuspendPackageHelper()Lcom/android/server/pm/SuspendPackageHelper; -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z -HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;II)Z+]Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;JII)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->lambda$getPackageList$0(Ljava/util/ArrayList;Lcom/android/server/pm/pkg/PackageStateInternal;)V -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->lambda$getTargetPackageNames$2(Ljava/util/List;Lcom/android/server/pm/pkg/PackageStateInternal;)V +HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;II)Z+]Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSameApp(Ljava/lang/String;JII)Z+]Lcom/android/server/pm/PackageManagerInternalBase;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V -HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->writePermissionSettings([IZ)V+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; HSPLcom/android/server/pm/PackageManagerService$Snapshot;-><init>(Lcom/android/server/pm/PackageManagerService;I)V HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmAndroidApplication(Lcom/android/server/pm/PackageManagerService;)Landroid/content/pm/ApplicationInfo; -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmDexOptHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/DexOptHelper; -HSPLcom/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; -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmModuleInfoProvider(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider; -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackageObserverHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageObserverHelper; -HSPLcom/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; -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPreferredActivityHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PreferredActivityHelper; -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmRequiredSdkSandboxPackage(Lcom/android/server/pm/PackageManagerService;)Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmResolveActivity(Lcom/android/server/pm/PackageManagerService;)Landroid/content/pm/ActivityInfo; HSPLcom/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; HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmWebInstantAppsDisabled(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/WatchedSparseBooleanArray; HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$mnotifyPackageUseInternal(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V -HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$msetEnabledOverlayPackages(Lcom/android/server/pm/PackageManagerService;ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V HSPLcom/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 HSPLcom/android/server/pm/PackageManagerService;->addAllPackageProperties(Lcom/android/server/pm/pkg/AndroidPackage;)V HPLcom/android/server/pm/PackageManagerService;->addCrossProfileIntentFilter(Lcom/android/server/pm/Computer;Lcom/android/server/pm/WatchedIntentFilter;Ljava/lang/String;III)V HSPLcom/android/server/pm/PackageManagerService;->applyUpdatedSystemOverlayPaths()V -HSPLcom/android/server/pm/PackageManagerService;->canSetOverlayPaths(Landroid/content/pm/overlay/OverlayPaths;Landroid/content/pm/overlay/OverlayPaths;)Z HSPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Lcom/android/server/pm/Computer;Ljava/lang/String;I)V HSPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl; -HSPLcom/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; -HPLcom/android/server/pm/PackageManagerService;->decodeCertificates(Ljava/util/List;)[Ljava/security/cert/Certificate; -HSPLcom/android/server/pm/PackageManagerService;->ensureSystemPackageName(Lcom/android/server/pm/Computer;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->forEachPackage(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;)V +HSPLcom/android/server/pm/PackageManagerService;->forEachPackage(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/function/Consumer;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda11;,Lcom/android/server/policy/PermissionPolicyService$$ExternalSyntheticLambda1;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService;->forEachPackageSetting(Ljava/util/function/Consumer;)V+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/function/Consumer;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda6; HSPLcom/android/server/pm/PackageManagerService;->forEachPackageState(Landroid/util/ArrayMap;Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;megamorphic_types HSPLcom/android/server/pm/PackageManagerService;->forEachPackageState(Lcom/android/server/pm/Computer;Ljava/util/function/Consumer;)V HPLcom/android/server/pm/PackageManagerService;->freeStorage(Ljava/lang/String;JI)V -HSPLcom/android/server/pm/PackageManagerService;->getAppInstallDir()Ljava/io/File; HSPLcom/android/server/pm/PackageManagerService;->getCoreAndroidApplication()Landroid/content/pm/ApplicationInfo; HSPLcom/android/server/pm/PackageManagerService;->getDefParseFlags()I HSPLcom/android/server/pm/PackageManagerService;->getDefaultAppProvider()Lcom/android/server/pm/DefaultAppProvider; +HSPLcom/android/server/pm/PackageManagerService;->getDevicePolicyManagementRoleHolderPackageName(I)Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerService;->getDexManager()Lcom/android/server/pm/dex/DexManager; -HSPLcom/android/server/pm/PackageManagerService;->getDomainVerificationAgentComponentNameLPr(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName; -HSPLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo; -HSPLcom/android/server/pm/PackageManagerService;->getInstantAppResolver(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName; -HSPLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Lcom/android/server/pm/Computer;Landroid/content/ComponentName;)Landroid/content/ComponentName; -HSPLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr(Lcom/android/server/pm/Computer;)Landroid/content/ComponentName; HSPLcom/android/server/pm/PackageManagerService;->getKnownPackageNamesInternal(Lcom/android/server/pm/Computer;II)[Ljava/lang/String;+]Lcom/android/server/pm/KnownPackages;Lcom/android/server/pm/KnownPackages; HSPLcom/android/server/pm/PackageManagerService;->getPackageFromComponentString(I)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getPackageSettingForMutation(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageManagerService;->getPlatformPackage()Lcom/android/server/pm/pkg/AndroidPackage; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifiersLPr(Lcom/android/server/pm/Computer;)[Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredPermissionControllerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredSdkSandboxPackageName(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredServicesExtensionPackageLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibrary(Lcom/android/server/pm/Computer;Ljava/lang/String;I)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getRetailDemoPackageName()Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerService;->getSafeMode()Z HSPLcom/android/server/pm/PackageManagerService;->getSdkVersion()I HSPLcom/android/server/pm/PackageManagerService;->getSettingsVersionForPackage(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/server/pm/Settings$VersionInfo; -HSPLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageNameImpl(Lcom/android/server/pm/Computer;)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->getStorageManagerPackageName(Lcom/android/server/pm/Computer;)Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerService;->getSystemPackageScanFlags(Ljava/io/File;)I HSPLcom/android/server/pm/PackageManagerService;->grantImplicitAccess(Lcom/android/server/pm/Computer;ILandroid/content/Intent;IIZZ)V+]Lcom/android/server/pm/AppsFilterImpl;Lcom/android/server/pm/AppsFilterImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/pm/PackageManagerService;->installAllowlistedSystemPackages()V HSPLcom/android/server/pm/PackageManagerService;->invalidatePackageInfoCache()V -HSPLcom/android/server/pm/PackageManagerService;->isDeviceManagementRoleHolder(Ljava/lang/String;I)Z HSPLcom/android/server/pm/PackageManagerService;->isDeviceUpgrading()Z -HSPLcom/android/server/pm/PackageManagerService;->isExpectingBetter(Ljava/lang/String;)Z -HSPLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z HSPLcom/android/server/pm/PackageManagerService;->isPackageDeviceAdmin(Ljava/lang/String;I)Z HSPLcom/android/server/pm/PackageManagerService;->isPreNMR1Upgrade()Z HSPLcom/android/server/pm/PackageManagerService;->lambda$main$10(Landroid/content/Context;Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal; @@ -7827,9 +6700,6 @@ HSPLcom/android/server/pm/PackageManagerService;->lambda$main$22(Lcom/android/se HSPLcom/android/server/pm/PackageManagerService;->lambda$main$25(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$26(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/util/DisplayMetrics; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$27(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/parsing/PackageParser2; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$30(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageInstallerService; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$31(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;Landroid/content/ComponentName;)Lcom/android/server/pm/InstantAppResolverConnection; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$32(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$33(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/LegacyPermissionManagerInternal; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$34(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$35(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/Handler; @@ -7837,39 +6707,29 @@ HSPLcom/android/server/pm/PackageManagerService;->lambda$main$36(Lcom/android/se HSPLcom/android/server/pm/PackageManagerService;->lambda$main$38(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SharedLibrariesImpl; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$40(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UpdateOwnershipHelper; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$9(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/resolution/ComponentResolver; -HPLcom/android/server/pm/PackageManagerService;->lambda$requestChecksumsInternal$7(Landroid/os/Handler;Ljava/util/List;IILjava/lang/String;[Ljava/security/cert/Certificate;Landroid/content/pm/IOnChecksumsReadyListener;)V +HSPLcom/android/server/pm/PackageManagerService;->lambda$requestChecksumsInternal$7(Landroid/os/Handler;Ljava/util/List;IILjava/lang/String;[Ljava/security/cert/Certificate;Landroid/content/pm/IOnChecksumsReadyListener;)V 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; -HSPLcom/android/server/pm/PackageManagerService;->maybeUpdateSystemOverlays(Ljava/lang/String;Landroid/content/pm/overlay/OverlayPaths;)V HSPLcom/android/server/pm/PackageManagerService;->notifyPackageUseInternal(Ljava/lang/String;I)V+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/PackageManagerService;->onChange(Lcom/android/server/utils/Watchable;)V+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HSPLcom/android/server/pm/PackageManagerService;->onChanged()V -HSPLcom/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 -HSPLcom/android/server/pm/PackageManagerService;->renameStaticSharedLibraryPackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)V -HPLcom/android/server/pm/PackageManagerService;->requestChecksumsInternal(Lcom/android/server/pm/Computer;Ljava/lang/String;ZIILjava/util/List;Landroid/content/pm/IOnChecksumsReadyListener;ILjava/util/concurrent/Executor;Landroid/os/Handler;)V +HSPLcom/android/server/pm/PackageManagerService;->requestChecksumsInternal(Lcom/android/server/pm/Computer;Ljava/lang/String;ZIILjava/util/List;Landroid/content/pm/IOnChecksumsReadyListener;ILjava/util/concurrent/Executor;Landroid/os/Handler;)V HSPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictions(I)V HSPLcom/android/server/pm/PackageManagerService;->scheduleWriteSettings()V -HSPLcom/android/server/pm/PackageManagerService;->setEnabledOverlayPackages(ILandroid/util/ArrayMap;Ljava/util/Set;Ljava/util/Set;)V HSPLcom/android/server/pm/PackageManagerService;->setEnabledSettingInternalLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageManager$ComponentEnabledSetting;ILjava/lang/String;)Z HSPLcom/android/server/pm/PackageManagerService;->setEnabledSettings(Ljava/util/List;ILjava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Lcom/android/server/pm/PackageHandler;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Landroid/content/pm/PackageManager$ComponentEnabledSetting;Landroid/content/pm/PackageManager$ComponentEnabledSetting;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/Map;Landroid/util/ArrayMap;]Lcom/android/server/pm/PendingPackageBroadcasts;Lcom/android/server/pm/PendingPackageBroadcasts;]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Ljava/util/List;Ljava/util/ImmutableCollections$List12;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/pm/ProtectedPackages;Lcom/android/server/pm/ProtectedPackages;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Lcom/android/server/pm/Computer;Ljava/lang/String;ZI)V+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Landroid/os/Handler;Lcom/android/server/pm/PackageHandler;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; +HSPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Lcom/android/server/pm/Computer;Ljava/lang/String;ZI)V+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Landroid/os/Handler;Lcom/android/server/pm/PackageHandler;]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/PackageManagerService;->setPlatformPackage(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)V -HSPLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V HSPLcom/android/server/pm/PackageManagerService;->snapshotComputer()Lcom/android/server/pm/Computer;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService; HSPLcom/android/server/pm/PackageManagerService;->snapshotComputer(Z)Lcom/android/server/pm/Computer;+]Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; -HSPLcom/android/server/pm/PackageManagerService;->toStaticSharedLibraryPackageName(Ljava/lang/String;J)Ljava/lang/String; -HSPLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V -HSPLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V -HSPLcom/android/server/pm/PackageManagerService;->writeSettingsLPrTEMP()V -HSPLcom/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;+]Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda39;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda49;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda46; +HSPLcom/android/server/pm/PackageManagerServiceInjector$Singleton;->get(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;+]Lcom/android/server/pm/PackageManagerServiceInjector$Producer;Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda39;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda46;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda49; 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; @@ -7890,13 +6750,10 @@ HSPLcom/android/server/pm/PackageManagerServiceInjector;->getHandler()Landroid/o 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; -HSPLcom/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;+]Lcom/android/server/pm/PackageManagerServiceInjector$ServiceProducer;Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda43; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getLock()Lcom/android/server/pm/PackageManagerTracedLock; -HSPLcom/android/server/pm/PackageManagerServiceInjector;->getModuleInfoProvider()Lcom/android/server/pm/ModuleInfoProvider; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPackageDexOptimizer()Lcom/android/server/pm/PackageDexOptimizer; -HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPackageInstallerService()Lcom/android/server/pm/PackageInstallerService; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getPermissionManagerServiceInternal()Lcom/android/server/pm/permission/PermissionManagerServiceInternal; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getScanningCachingPackageParser()Lcom/android/server/pm/parsing/PackageParser2; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSettings()Lcom/android/server/pm/Settings; @@ -7905,44 +6762,34 @@ HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSystemConfig()Lcom/ HSPLcom/android/server/pm/PackageManagerServiceInjector;->getSystemPartitions()Ljava/util/List; 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;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerServiceInjector; +HSPLcom/android/server/pm/PackageManagerServiceInjector;->getUserManagerInternal()Lcom/android/server/pm/UserManagerInternal; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getUserManagerService()Lcom/android/server/pm/UserManagerService;+]Lcom/android/server/pm/PackageManagerServiceInjector$Singleton;Lcom/android/server/pm/PackageManagerServiceInjector$Singleton; HSPLcom/android/server/pm/PackageManagerServiceInjector;->getViewCompiler()Lcom/android/server/pm/dex/ViewCompiler; HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda1;-><init>()V HSPLcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda2;-><init>()V -HSPLcom/android/server/pm/PackageManagerServiceUtils$1;-><init>()V -HSPLcom/android/server/pm/PackageManagerServiceUtils$1;->accept(Ljava/io/File;Ljava/lang/String;)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;-><clinit>()V HSPLcom/android/server/pm/PackageManagerServiceUtils;->canJoinSharedUserId(Ljava/lang/String;Landroid/content/pm/SigningDetails;Lcom/android/server/pm/SharedUserSetting;I)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->compressedFileExists(Ljava/lang/String;)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Lcom/android/server/pm/UserManagerInternal;Ljava/lang/String;II)V -HSPLcom/android/server/pm/PackageManagerServiceUtils;->enforceSystemOrRoot(Ljava/lang/String;)V HSPLcom/android/server/pm/PackageManagerServiceUtils;->getCompressedFiles(Ljava/lang/String;)[Ljava/io/File; HSPLcom/android/server/pm/PackageManagerServiceUtils;->getLastModifiedTime(Lcom/android/server/pm/pkg/AndroidPackage;)J HPLcom/android/server/pm/PackageManagerServiceUtils;->getMinimalPackageInfo(Landroid/content/Context;Landroid/content/pm/parsing/PackageLite;Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite; -HSPLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerificationForced(Lcom/android/server/pm/PackageSetting;)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRoot()Z -HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRoot(I)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRootOrShell(I)Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->preparePackageParserCache(ZZLjava/lang/String;)Ljava/io/File; HSPLcom/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 HSPLcom/android/server/pm/PackageManagerTracedLock;-><init>()V -HPLcom/android/server/pm/PackageMetrics;->reportInstallationStats(Z)V HSPLcom/android/server/pm/PackageObserverHelper;-><init>()V -HSPLcom/android/server/pm/PackageObserverHelper;->addObserver(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V HSPLcom/android/server/pm/PackageProperty;-><init>()V HSPLcom/android/server/pm/PackageProperty;->addAllProperties(Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/PackageProperty;->addComponentProperties(Ljava/util/List;Landroid/util/ArrayMap;)Landroid/util/ArrayMap; HSPLcom/android/server/pm/PackageProperty;->addProperties(Ljava/util/Map;Landroid/util/ArrayMap;)Landroid/util/ArrayMap; -HSPLcom/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; HSPLcom/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;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIII[Ljava/lang/String;[J[Ljava/lang/String;[JLjava/util/Map;Ljava/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+]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageUserStateImpl;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/PackageSetting;->disableComponentLPw(Ljava/lang/String;I)Z @@ -7953,12 +6800,10 @@ HSPLcom/android/server/pm/PackageSetting;->getAppId()I HSPLcom/android/server/pm/PackageSetting;->getAppMetadataFilePath()Ljava/lang/String; HSPLcom/android/server/pm/PackageSetting;->getCategoryOverride()I HSPLcom/android/server/pm/PackageSetting;->getCpuAbiOverride()Ljava/lang/String; -HSPLcom/android/server/pm/PackageSetting;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/PackageUserStateInternal;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting; +HSPLcom/android/server/pm/PackageSetting;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I+]Lcom/android/server/pm/pkg/PackageUserStateInternal;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet; HSPLcom/android/server/pm/PackageSetting;->getDomainSetId()Ljava/util/UUID; HSPLcom/android/server/pm/PackageSetting;->getEnabled(I)I -HPLcom/android/server/pm/PackageSetting;->getHiddenApiEnforcementPolicy()I HSPLcom/android/server/pm/PackageSetting;->getInstallSource()Lcom/android/server/pm/InstallSource; -HSPLcom/android/server/pm/PackageSetting;->getInstalled(I)Z HSPLcom/android/server/pm/PackageSetting;->getInstantApp(I)Z HSPLcom/android/server/pm/PackageSetting;->getKeySetData()Lcom/android/server/pm/PackageKeySetData; HSPLcom/android/server/pm/PackageSetting;->getLastModifiedTime()J @@ -7968,7 +6813,6 @@ HSPLcom/android/server/pm/PackageSetting;->getLegacyPermissionState()Lcom/androi HSPLcom/android/server/pm/PackageSetting;->getLoadingCompletedTime()J HSPLcom/android/server/pm/PackageSetting;->getLoadingProgress()F HSPLcom/android/server/pm/PackageSetting;->getMimeGroups()Ljava/util/Map; -HSPLcom/android/server/pm/PackageSetting;->getOrCreateUserState(I)Lcom/android/server/pm/pkg/PackageUserStateImpl; HSPLcom/android/server/pm/PackageSetting;->getPackageName()Ljava/lang/String; HSPLcom/android/server/pm/PackageSetting;->getPath()Ljava/io/File; HSPLcom/android/server/pm/PackageSetting;->getPathString()Ljava/lang/String; @@ -7987,7 +6831,6 @@ HSPLcom/android/server/pm/PackageSetting;->getSigningDetails()Landroid/content/p HPLcom/android/server/pm/PackageSetting;->getStateForUser(Landroid/os/UserHandle;)Lcom/android/server/pm/pkg/PackageUserState; HSPLcom/android/server/pm/PackageSetting;->getTransientState()Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/PackageSetting;->getUserStates()Landroid/util/SparseArray; -HSPLcom/android/server/pm/PackageSetting;->getUsesLibraryFiles()Ljava/util/List; HSPLcom/android/server/pm/PackageSetting;->getUsesSdkLibraries()[Ljava/lang/String; HSPLcom/android/server/pm/PackageSetting;->getUsesSdkLibrariesVersionsMajor()[J HSPLcom/android/server/pm/PackageSetting;->getUsesStaticLibraries()[Ljava/lang/String; @@ -8000,8 +6843,6 @@ HPLcom/android/server/pm/PackageSetting;->isApex()Z HSPLcom/android/server/pm/PackageSetting;->isForceQueryableOverride()Z HSPLcom/android/server/pm/PackageSetting;->isInstallPermissionsFixed()Z HSPLcom/android/server/pm/PackageSetting;->isLoading()Z -HSPLcom/android/server/pm/PackageSetting;->isOdm()Z -HSPLcom/android/server/pm/PackageSetting;->isOem()Z HSPLcom/android/server/pm/PackageSetting;->isPrivileged()Z+]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->isProduct()Z HSPLcom/android/server/pm/PackageSetting;->isSystem()Z+]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting; @@ -8013,7 +6854,6 @@ HSPLcom/android/server/pm/PackageSetting;->makeCache()Lcom/android/server/utils/ HSPLcom/android/server/pm/PackageSetting;->modifyUserState(I)Lcom/android/server/pm/pkg/PackageUserStateImpl; HSPLcom/android/server/pm/PackageSetting;->modifyUserStateComponents(IZZ)Lcom/android/server/pm/pkg/PackageUserStateImpl; HSPLcom/android/server/pm/PackageSetting;->readUserState(I)Lcom/android/server/pm/pkg/PackageUserStateInternal;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/pm/PackageSetting;->setApexModuleName(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting; 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;->setCategoryOverride(I)Lcom/android/server/pm/PackageSetting; @@ -8024,20 +6864,15 @@ HSPLcom/android/server/pm/PackageSetting;->setFirstInstallTime(JI)Lcom/android/s HSPLcom/android/server/pm/PackageSetting;->setForceQueryableOverride(Z)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->setInstallPermissionsFixed(Z)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->setInstallSource(Lcom/android/server/pm/InstallSource;)Lcom/android/server/pm/PackageSetting; -HSPLcom/android/server/pm/PackageSetting;->setInstalled(ZI)V HSPLcom/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; -HSPLcom/android/server/pm/PackageSetting;->setPath(Ljava/io/File;)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->setPkg(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/server/pm/PackageSetting; -HSPLcom/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;->setSecondaryCpuAbi(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting; -HSPLcom/android/server/pm/PackageSetting;->setSharedUserAppId(I)V HSPLcom/android/server/pm/PackageSetting;->setSigningDetails(Landroid/content/pm/SigningDetails;)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->setUpdateAvailable(Z)Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->setUpdateOwnerPackage(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting; @@ -8054,15 +6889,11 @@ HSPLcom/android/server/pm/PackageSetting;->updateMimeGroups(Ljava/util/Set;)Lcom 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; HSPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;Z)V+]Landroid/content/pm/Signature;Landroid/content/pm/Signature;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/pm/PackageSignatures;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Lcom/android/server/pm/PackageSignatures;Lcom/android/server/pm/PackageSignatures; HSPLcom/android/server/pm/PackageUsage;-><init>()V -HSPLcom/android/server/pm/PackageUsage;->parseAsLong(Ljava/lang/String;)J -HSPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/lang/Object;)V -HSPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/util/Map;)V -HSPLcom/android/server/pm/PackageUsage;->readLine(Ljava/io/InputStream;Ljava/lang/StringBuilder;)Ljava/lang/String; HSPLcom/android/server/pm/PackageUsage;->readToken(Ljava/io/InputStream;Ljava/lang/StringBuilder;C)Ljava/lang/String; -HSPLcom/android/server/pm/PackageUsage;->readVersion1LP(Ljava/util/Map;Ljava/io/InputStream;Ljava/lang/StringBuilder;)V HSPLcom/android/server/pm/ParallelPackageParser$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V HSPLcom/android/server/pm/ParallelPackageParser$$ExternalSyntheticLambda0;->run()V HSPLcom/android/server/pm/ParallelPackageParser$ParseResult;-><init>()V @@ -8094,43 +6925,30 @@ HSPLcom/android/server/pm/PolicyComparator;->compare(Lcom/android/server/pm/Poli 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; HSPLcom/android/server/pm/PreferredActivity;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V HPLcom/android/server/pm/PreferredActivityHelper;->replacePreferredActivity(Lcom/android/server/pm/Computer;Lcom/android/server/pm/WatchedIntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)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;->sameSet([Landroid/content/ComponentName;)Z -HSPLcom/android/server/pm/PreferredComponent;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V +HPLcom/android/server/pm/PreferredComponent;->sameSet([Landroid/content/ComponentName;)Z+]Landroid/content/ComponentName;Landroid/content/ComponentName; +HSPLcom/android/server/pm/PreferredComponent;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;,Lcom/android/internal/util/ArtBinaryXmlSerializer; 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; 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 HSPLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/ProtectedPackages;->hasProtectedPackages(I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/ProtectedPackages;->isOwnerProtectedPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/ProtectedPackages;Lcom/android/server/pm/ProtectedPackages; HSPLcom/android/server/pm/ProtectedPackages;->isPackageProtectedForUser(ILjava/lang/String;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Landroid/util/ArraySet; -HSPLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z +HSPLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z+]Lcom/android/server/pm/ProtectedPackages;Lcom/android/server/pm/ProtectedPackages; HSPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(ILjava/lang/String;)Z+]Lcom/android/server/pm/ProtectedPackages;Lcom/android/server/pm/ProtectedPackages; HPLcom/android/server/pm/QueryIntentActivitiesResult;-><init>(Ljava/util/List;)V HSPLcom/android/server/pm/QueryIntentActivitiesResult;-><init>(ZZLjava/util/List;)V @@ -8153,7 +6971,7 @@ HSPLcom/android/server/pm/ResolveIntentHelper;->resolveIntentInternal(Lcom/andro HSPLcom/android/server/pm/ResolveIntentHelper;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJIZIZI)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/ResolveIntentHelper;Lcom/android/server/pm/ResolveIntentHelper;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ResolveIntentHelper;->resolveServiceInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JII)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/RestrictionsSet;-><init>()V -HSPLcom/android/server/pm/RestrictionsSet;->getRestrictions(I)Landroid/os/Bundle; +HSPLcom/android/server/pm/RestrictionsSet;->getRestrictions(I)Landroid/os/Bundle;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/RestrictionsSet;->updateRestrictions(ILandroid/os/Bundle;)Z HSPLcom/android/server/pm/SELinuxMMAC;-><clinit>()V HSPLcom/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; @@ -8162,12 +6980,9 @@ 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; HSPLcom/android/server/pm/ScanPackageUtils;->adjustScanFlagsWithPackageSetting(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;)I -HSPLcom/android/server/pm/ScanPackageUtils;->applyAdjustedAbiToSharedUser(Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;)Ljava/util/List; HSPLcom/android/server/pm/ScanPackageUtils;->applyPolicy(Lcom/android/server/pm/parsing/pkg/ParsedPackage;ILcom/android/server/pm/pkg/AndroidPackage;Z)V HSPLcom/android/server/pm/ScanPackageUtils;->assertMinSignatureSchemeIsValid(Lcom/android/server/pm/pkg/AndroidPackage;I)V -HSPLcom/android/server/pm/ScanPackageUtils;->assertPackageProcesses(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V HSPLcom/android/server/pm/ScanPackageUtils;->assertProcessesAreValid(Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/ScanPackageUtils;->assertStaticSharedLibraryIsValid(Lcom/android/server/pm/pkg/AndroidPackage;I)V HSPLcom/android/server/pm/ScanPackageUtils;->collectCertificatesLI(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/parsing/pkg/ParsedPackage;Lcom/android/server/pm/Settings$VersionInfo;ZZZ)V HSPLcom/android/server/pm/ScanPackageUtils;->configurePackageComponents(Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/ScanPackageUtils;->getAppLib32InstallDir()Ljava/io/File; @@ -8194,64 +7009,40 @@ HSPLcom/android/server/pm/SettingBase;->registerObserver(Lcom/android/server/uti 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 -HSPLcom/android/server/pm/Settings$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/Settings;IJZ)V -HSPLcom/android/server/pm/Settings$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/pm/Settings$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/utils/WatchedArrayMap;)V -HSPLcom/android/server/pm/Settings$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/pm/Settings;)V -HSPLcom/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+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; 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 -HSPLcom/android/server/pm/Settings$3;->accept(Ljava/lang/Integer;)V -HSPLcom/android/server/pm/Settings$3;->accept(Ljava/lang/Object;)V HSPLcom/android/server/pm/Settings$KeySetToValueMap;-><init>(Ljava/util/Set;Ljava/lang/Object;)V HSPLcom/android/server/pm/Settings$KeySetToValueMap;->keySet()Ljava/util/Set; HSPLcom/android/server/pm/Settings$KeySetToValueMap;->size()I -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$$ExternalSyntheticLambda0;->run()V HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V -HSPLcom/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 -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->-$$Nest$fgetmInvokeWriteUserStateAsyncCallback(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)Ljava/util/function/Consumer; -HSPLcom/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 -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getExtendedFingerprint(J)Ljava/lang/String; -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getPermissionsFromPermissionsState(Lcom/android/server/pm/permission/LegacyPermissionState;I)Ljava/util/List;+]Lcom/android/server/pm/permission/LegacyPermissionState;Lcom/android/server/pm/permission/LegacyPermissionState;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;,Ljava/util/Collections$EmptyList;]Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;,Ljava/util/Collections$EmptyIterator; +HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->getPermissionsFromPermissionsState(Lcom/android/server/pm/permission/LegacyPermissionState;I)Ljava/util/List;+]Lcom/android/server/pm/permission/LegacyPermissionState;Lcom/android/server/pm/permission/LegacyPermissionState;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;,Ljava/util/Collections$EmptyList;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;,Ljava/util/Collections$EmptyIterator;]Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState; HSPLcom/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 -HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->setPermissionControllerVersion(J)V HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->uniformRandom(DD)J HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePendingStates()V HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writeStateForUserAsync(I)V HSPLcom/android/server/pm/Settings$VersionInfo;-><init>()V -HSPLcom/android/server/pm/Settings;->-$$Nest$fgetmHandler(Lcom/android/server/pm/Settings;)Landroid/os/Handler; -HSPLcom/android/server/pm/Settings;->-$$Nest$fgetmLock(Lcom/android/server/pm/Settings;)Lcom/android/server/pm/PackageManagerTracedLock; -HSPLcom/android/server/pm/Settings;->-$$Nest$fgetmPermissionDataProvider(Lcom/android/server/pm/Settings;)Lcom/android/server/pm/permission/LegacyPermissionDataProvider; -HSPLcom/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;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJII[Ljava/lang/String;[J[Ljava/lang/String;[JLjava/util/Map;Ljava/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; -HSPLcom/android/server/pm/Settings;->checkAndPruneSharedUserLPw(Lcom/android/server/pm/SharedUserSetting;Z)Z HSPLcom/android/server/pm/Settings;->createMimeGroups(Ljava/util/Set;)Ljava/util/Map; -HSPLcom/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[Ljava/lang/String;[JLjava/util/Set;Ljava/util/UUID;)Lcom/android/server/pm/PackageSetting; -HSPLcom/android/server/pm/Settings;->disableSystemPackageLPw(Ljava/lang/String;Z)Z HSPLcom/android/server/pm/Settings;->dispatchChange(Lcom/android/server/utils/Watchable;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchableImpl; +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+]Lcom/android/server/pm/permission/LegacyPermissionState;Lcom/android/server/pm/permission/LegacyPermissionState;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;,Ljava/util/Collections$EmptyList;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr;,Ljava/util/Collections$UnmodifiableCollection$1;,Ljava/util/Collections$EmptyIterator; +HPLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V +HPLcom/android/server/pm/Settings;->dumpRuntimePermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Ljava/util/Collection;Z)V HSPLcom/android/server/pm/Settings;->editCrossProfileIntentResolverLPw(I)Lcom/android/server/pm/CrossProfileIntentResolver; 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; -HSPLcom/android/server/pm/Settings;->getActiveUsers(Lcom/android/server/pm/UserManagerService;Z)Ljava/util/List; -HSPLcom/android/server/pm/Settings;->getAllSharedUsersLPw()Ljava/util/Collection; HSPLcom/android/server/pm/Settings;->getAllUsers(Lcom/android/server/pm/UserManagerService;)Ljava/util/List; HSPLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I HPLcom/android/server/pm/Settings;->getBlockUninstallLPr(ILjava/lang/String;)Z @@ -8273,21 +7064,16 @@ HSPLcom/android/server/pm/Settings;->getUserPackagesStateFile(I)Lcom/android/ser HSPLcom/android/server/pm/Settings;->getUserRuntimePermissionsFile(I)Ljava/io/File; HSPLcom/android/server/pm/Settings;->getUserSystemDirectory(I)Ljava/io/File; HSPLcom/android/server/pm/Settings;->getUsers(Lcom/android/server/pm/UserManagerService;ZZ)Ljava/util/List; -HSPLcom/android/server/pm/Settings;->getVolumePackagesLPr(Ljava/lang/String;)Ljava/util/List; HSPLcom/android/server/pm/Settings;->insertPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/Settings;->invalidatePackageCache()V HSPLcom/android/server/pm/Settings;->isRegisteredObserver(Lcom/android/server/utils/Watcher;)Z -HSPLcom/android/server/pm/Settings;->lambda$pruneSharedUsersLPw$0(Lcom/android/server/pm/SharedUserSetting;)V -HSPLcom/android/server/pm/Settings;->lambda$writePackageRestrictionsLPr$1(IJZ)V HSPLcom/android/server/pm/Settings;->makeCache()Lcom/android/server/utils/SnapshotCache; -HSPLcom/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 -HSPLcom/android/server/pm/Settings;->pruneRenamedPackagesLPw()V -HSPLcom/android/server/pm/Settings;->pruneSharedUsersLPw()V +HPLcom/android/server/pm/Settings;->printFlags(Ljava/io/PrintWriter;I[Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter; HSPLcom/android/server/pm/Settings;->readBlockUninstallPackagesLPw(Lcom/android/modules/utils/TypedXmlPullParser;I)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;->readDisabledSysPackageLPw(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/util/List;)V HSPLcom/android/server/pm/Settings;->readLPw(Lcom/android/server/pm/Computer;Ljava/util/List;)Z @@ -8300,32 +7086,20 @@ HSPLcom/android/server/pm/Settings;->readSharedUserLPw(Lcom/android/modules/util HSPLcom/android/server/pm/Settings;->readUsesStaticLibLPw(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/pm/PackageSetting;)V HSPLcom/android/server/pm/Settings;->registerObserver(Lcom/android/server/utils/Watcher;)V HSPLcom/android/server/pm/Settings;->registerObservers()V -HSPLcom/android/server/pm/Settings;->removeAppIdLPw(I)V HSPLcom/android/server/pm/Settings;->removeRenamedPackageLPw(Ljava/lang/String;)V -HSPLcom/android/server/pm/Settings;->setPermissionControllerVersion(J)V HSPLcom/android/server/pm/Settings;->snapshot()Lcom/android/server/pm/Settings; -HSPLcom/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[Ljava/lang/String;[JLjava/util/Set;Ljava/util/UUID;)V -HSPLcom/android/server/pm/Settings;->writeAllRuntimePermissionsLPr()V -HSPLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr(Z)V -HSPLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V HSPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V -HSPLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V HSPLcom/android/server/pm/Settings;->writeDisabledSysPackageLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageSetting;)V HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr()V -HSPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V +HSPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;]Lcom/android/server/pm/PackageKeySetData;Lcom/android/server/pm/PackageKeySetData; HSPLcom/android/server/pm/Settings;->writeLPr(Lcom/android/server/pm/Computer;Z)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/verify/domain/DomainVerificationService;]Lcom/android/server/pm/PackageSignatures;Lcom/android/server/pm/PackageSignatures;]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;]Lcom/android/server/pm/permission/LegacyPermissionSettings;Lcom/android/server/pm/permission/LegacyPermissionSettings;]Lcom/android/server/pm/ResilientAtomicFile;Lcom/android/server/pm/ResilientAtomicFile;]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Lcom/android/server/pm/KeySetManagerService;Lcom/android/server/pm/KeySetManagerService;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; -HSPLcom/android/server/pm/Settings;->writeMimeGroupLPr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/Map;)V+]Ljava/util/Map;Ljava/util/Collections$EmptyMap;]Ljava/util/Iterator;Ljava/util/Collections$EmptyIterator;]Ljava/util/Set;Ljava/util/Collections$EmptySet; +HSPLcom/android/server/pm/Settings;->writeMimeGroupLPr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/Map;)V HSPLcom/android/server/pm/Settings;->writePackageLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageSetting;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/PackageSignatures;Lcom/android/server/pm/PackageSignatures;]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;]Ljava/util/UUID;Ljava/util/UUID; -HSPLcom/android/server/pm/Settings;->writePackageListLPr()V -HSPLcom/android/server/pm/Settings;->writePackageListLPr(I)V HSPLcom/android/server/pm/Settings;->writePackageListLPrInternal(I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/IntArray;Landroid/util/IntArray;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream;]Lcom/android/internal/util/JournaledFile;Lcom/android/internal/util/JournaledFile;]Ljava/io/File;Ljava/io/File;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/permission/LegacyPermissionDataProvider;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Ljava/io/BufferedWriter;Ljava/io/BufferedWriter; HSPLcom/android/server/pm/Settings;->writePackageRestrictions(IJZ)V+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/ResilientAtomicFile;Lcom/android/server/pm/ResilientAtomicFile;]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; -HSPLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(IZ)V -HSPLcom/android/server/pm/Settings;->writePermissionStateForUserLPr(IZ)V -HSPLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V HSPLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lcom/android/modules/utils/TypedXmlSerializer;IZ)V HSPLcom/android/server/pm/Settings;->writeSigningKeySetLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V -HSPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V +HSPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V+]Lcom/android/server/pm/PackageKeySetData;Lcom/android/server/pm/PackageKeySetData; HSPLcom/android/server/pm/Settings;->writeUserRestrictionsLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)V HSPLcom/android/server/pm/Settings;->writeUsesSdkLibLPw(Lcom/android/modules/utils/TypedXmlSerializer;[Ljava/lang/String;[J)V HSPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lcom/android/modules/utils/TypedXmlSerializer;[Ljava/lang/String;[J)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer; @@ -8341,37 +7115,21 @@ 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 -HSPLcom/android/server/pm/SettingsXml$Serializer;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;)V -HSPLcom/android/server/pm/SettingsXml$Serializer;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/SettingsXml$Serializer-IA;)V -HSPLcom/android/server/pm/SettingsXml$Serializer;->close()V -HSPLcom/android/server/pm/SettingsXml$Serializer;->startSection(Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection; -HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->-$$Nest$mcloseCompletely(Lcom/android/server/pm/SettingsXml$WriteSectionImpl;)V -HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;)V -HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;-><init>(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/pm/SettingsXml$WriteSectionImpl-IA;)V HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;I)Lcom/android/server/pm/SettingsXml$WriteSection;+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer; HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection;+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer; HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/String;Z)Lcom/android/server/pm/SettingsXml$WriteSection; HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->close()V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Stack;Ljava/util/Stack; -HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->closeCompletely()V HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->finish()V+]Lcom/android/server/pm/SettingsXml$WriteSectionImpl;Lcom/android/server/pm/SettingsXml$WriteSectionImpl; HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->startSection(Ljava/lang/String;)Lcom/android/server/pm/SettingsXml$WriteSection;+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Stack;Ljava/util/Stack; HSPLcom/android/server/pm/SettingsXml;->parser(Lcom/android/modules/utils/TypedXmlPullParser;)Lcom/android/server/pm/SettingsXml$ReadSection; -HSPLcom/android/server/pm/SettingsXml;->serializer(Lcom/android/modules/utils/TypedXmlSerializer;)Lcom/android/server/pm/SettingsXml$Serializer; HPLcom/android/server/pm/ShareTargetInfo;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda1;-><init>()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; -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 -HSPLcom/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 HSPLcom/android/server/pm/SharedLibrariesImpl;->applyDefiningSharedLibraryUpdateLPr(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/SharedLibraryInfo;Ljava/util/function/BiConsumer;)V HSPLcom/android/server/pm/SharedLibrariesImpl;->collectSharedLibraryInfos(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList; HSPLcom/android/server/pm/SharedLibrariesImpl;->collectSharedLibraryInfos(Ljava/util/List;[J[[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/util/ArrayList;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList; @@ -8379,13 +7137,10 @@ HSPLcom/android/server/pm/SharedLibrariesImpl;->commitSharedLibraryChanges(Lcom/ HSPLcom/android/server/pm/SharedLibrariesImpl;->commitSharedLibraryInfoLPw(Landroid/content/pm/SharedLibraryInfo;)V HSPLcom/android/server/pm/SharedLibrariesImpl;->dispatchChange(Lcom/android/server/utils/Watchable;)V HSPLcom/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 -HSPLcom/android/server/pm/SharedLibrariesImpl;->getAll()Lcom/android/server/utils/WatchedArrayMap; HSPLcom/android/server/pm/SharedLibrariesImpl;->getAllowedSharedLibInfos(Lcom/android/server/pm/InstallRequest;)Ljava/util/List; -HSPLcom/android/server/pm/SharedLibrariesImpl;->getLatestStaticSharedLibraVersionLPr(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/content/pm/SharedLibraryInfo; HSPLcom/android/server/pm/SharedLibrariesImpl;->getSharedLibraryInfo(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo; -HSPLcom/android/server/pm/SharedLibrariesImpl;->getSharedLibraryInfos(Ljava/lang/String;)Lcom/android/server/utils/WatchedLongSparseArray; HSPLcom/android/server/pm/SharedLibrariesImpl;->getStaticLibraryInfos(Ljava/lang/String;)Lcom/android/server/utils/WatchedLongSparseArray;+]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap; -HSPLcom/android/server/pm/SharedLibrariesImpl;->getStaticSharedLibLatestVersionSetting(Lcom/android/server/pm/InstallRequest;)Lcom/android/server/pm/PackageSetting; +HPLcom/android/server/pm/SharedLibrariesImpl;->hasString(Ljava/util/List;Ljava/util/List;)Z+]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList; HSPLcom/android/server/pm/SharedLibrariesImpl;->isRegisteredObserver(Lcom/android/server/utils/Watcher;)Z HSPLcom/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; @@ -8396,21 +7151,14 @@ HSPLcom/android/server/pm/SharedLibrariesImpl;->snapshot()Lcom/android/server/pm HSPLcom/android/server/pm/SharedLibrariesImpl;->updateAllSharedLibrariesLPw(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/Map;)Ljava/util/ArrayList; HSPLcom/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 HSPLcom/android/server/pm/SharedLibraryUtils;->addSharedLibraryToPackageVersionMap(Ljava/util/Map;Landroid/content/pm/SharedLibraryInfo;)Z -HSPLcom/android/server/pm/SharedLibraryUtils;->getSharedLibraryInfo(Ljava/lang/String;JLjava/util/Map;Ljava/util/Map;)Landroid/content/pm/SharedLibraryInfo; HSPLcom/android/server/pm/SharedUidMigration;->isDisabled()Z 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 HSPLcom/android/server/pm/SharedUserSetting;->addProcesses(Ljava/util/Map;)V -HSPLcom/android/server/pm/SharedUserSetting;->fixSeInfoLocked()V -HSPLcom/android/server/pm/SharedUserSetting;->getDisabledPackageSettings()Lcom/android/server/utils/WatchedArraySet; -HSPLcom/android/server/pm/SharedUserSetting;->getPackageSettings()Lcom/android/server/utils/WatchedArraySet; HSPLcom/android/server/pm/SharedUserSetting;->getPackageStates()Landroid/util/ArraySet;+]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet; HSPLcom/android/server/pm/SharedUserSetting;->getPackages()Ljava/util/List; HSPLcom/android/server/pm/SharedUserSetting;->getSeInfoTargetSdkVersion()I @@ -8419,29 +7167,32 @@ HSPLcom/android/server/pm/SharedUserSetting;->getSigningDetails()Landroid/conten HSPLcom/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; -HSPLcom/android/server/pm/SharedUserSetting;->updateProcesses()V +HSPLcom/android/server/pm/SharedUserSetting;->snapshot()Lcom/android/server/pm/SharedUserSetting;+]Lcom/android/server/utils/SnapshotCache;Lcom/android/server/pm/SharedUserSetting$2; +HSPLcom/android/server/pm/SharedUserSetting;->snapshot()Ljava/lang/Object;+]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting; HPLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V HPLcom/android/server/pm/ShortcutBitmapSaver;->removeIcon(Landroid/content/pm/ShortcutInfo;)V HPLcom/android/server/pm/ShortcutBitmapSaver;->saveBitmapLocked(Landroid/content/pm/ShortcutInfo;ILandroid/graphics/Bitmap$CompressFormat;I)V HPLcom/android/server/pm/ShortcutBitmapSaver;->waitForAllSavesLocked()Z HPLcom/android/server/pm/ShortcutLauncher;->getPinnedShortcutIds(Ljava/lang/String;I)Landroid/util/ArraySet; +HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda28;->accept(Ljava/lang/Object;)V HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda40;->accept(Ljava/lang/Object;)V HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda41;->apply(Ljava/lang/Object;)Ljava/lang/Object; HPLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V HPLcom/android/server/pm/ShortcutPackage;->adjustRanks()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/pm/ShortcutPackage;->areAllActivitiesStillEnabled()Z -HPLcom/android/server/pm/ShortcutPackage;->filter(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;ZLandroid/content/pm/ShortcutInfo;)V+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/function/Predicate;megamorphic_types -HPLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V +HPLcom/android/server/pm/ShortcutPackage;->ensureShortcutCountBeforePush()V +HPLcom/android/server/pm/ShortcutPackage;->filter(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;Landroid/util/ArraySet;ZLandroid/content/pm/ShortcutInfo;)V+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Predicate;megamorphic_types +HPLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V+]Lcom/android/server/pm/ShortcutPackageInfo;Lcom/android/server/pm/ShortcutPackageInfo;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutLauncher;Lcom/android/server/pm/ShortcutLauncher;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutPackage;->findShortcutById(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HPLcom/android/server/pm/ShortcutPackage;->forEachShortcut(Ljava/util/function/Consumer;)V +HPLcom/android/server/pm/ShortcutPackage;->forEachShortcut(Ljava/util/function/Consumer;)V+]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage; HPLcom/android/server/pm/ShortcutPackage;->forEachShortcutMutate(Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;megamorphic_types -HPLcom/android/server/pm/ShortcutPackage;->forEachShortcutStopWhen(Ljava/util/function/Function;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda34;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda41;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda5;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HPLcom/android/server/pm/ShortcutPackage;->forEachShortcutStopWhen(Ljava/util/function/Function;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda35;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda41;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda5;,Lcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda34;]Ljava/lang/Boolean;Ljava/lang/Boolean; HPLcom/android/server/pm/ShortcutPackage;->forceDeleteShortcutInner(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo; HPLcom/android/server/pm/ShortcutPackage;->forceReplaceShortcutInner(Landroid/content/pm/ShortcutInfo;)V HPLcom/android/server/pm/ShortcutPackage;->fromAppSearch()Lcom/android/internal/infra/AndroidFuture; HPLcom/android/server/pm/ShortcutPackage;->getShortcutPackageItemFile()Ljava/io/File; +HPLcom/android/server/pm/ShortcutPackage;->hasNoShortcut()Z +HPLcom/android/server/pm/ShortcutPackage;->isAppSearchEnabled()Z HPLcom/android/server/pm/ShortcutPackage;->lambda$areAllActivitiesStillEnabled$15(Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutService;[ZLandroid/content/pm/ShortcutInfo;)Ljava/lang/Boolean;+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/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 HPLcom/android/server/pm/ShortcutPackage;->lambda$forEachShortcut$37(Ljava/util/function/Consumer;Landroid/content/pm/ShortcutInfo;)Ljava/lang/Boolean;+]Ljava/util/function/Consumer;megamorphic_types @@ -8452,12 +7203,14 @@ HPLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lcom/android/modules/ut HPLcom/android/server/pm/ShortcutPackage;->publishManifestShortcuts(Ljava/util/List;)Z HPLcom/android/server/pm/ShortcutPackage;->pushDynamicShortcut(Landroid/content/pm/ShortcutInfo;Ljava/util/List;)Z HPLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z -HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/app/Person;Landroid/app/Person;]Landroid/content/LocusId;Landroid/content/LocusId;]Ljava/util/Set;Landroid/util/ArraySet; -HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Ljava/util/Collection;)V -HPLcom/android/server/pm/ShortcutPackage;->saveShortcut([Landroid/content/pm/ShortcutInfo;)V +HPLcom/android/server/pm/ShortcutPackage;->runAsSystem(Ljava/lang/Runnable;)V +HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lcom/android/modules/utils/TypedXmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/app/Person;Landroid/app/Person;]Landroid/content/LocusId;Landroid/content/LocusId;]Ljava/util/Set;Landroid/util/ArraySet;]Lcom/android/server/pm/ShortcutPackageInfo;Lcom/android/server/pm/ShortcutPackageInfo;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutPackage; +HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Ljava/util/Collection;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Ljava/util/Collection;Ljava/util/Arrays$ArrayList;]Ljava/util/Iterator;Ljava/util/Arrays$ArrayItr; +HPLcom/android/server/pm/ShortcutPackage;->saveShortcutsAsync(Ljava/util/Collection;)V HPLcom/android/server/pm/ShortcutPackage;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/ShortcutPackageInfo;Lcom/android/server/pm/ShortcutPackageInfo;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/pm/ShareTargetInfo;Lcom/android/server/pm/ShareTargetInfo; HPLcom/android/server/pm/ShortcutPackage;->scheduleSaveToAppSearchLocked()V HPLcom/android/server/pm/ShortcutPackage;->sortShortcutsToActivities()Landroid/util/ArrayMap; +HPLcom/android/server/pm/ShortcutPackageInfo;-><init>(JJLjava/util/ArrayList;Z)V HPLcom/android/server/pm/ShortcutPackageInfo;->isShadow()Z HPLcom/android/server/pm/ShortcutPackageInfo;->saveToXml(Lcom/android/server/pm/ShortcutService;Lcom/android/modules/utils/TypedXmlSerializer;Z)V HPLcom/android/server/pm/ShortcutPackageItem;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V @@ -8468,81 +7221,82 @@ HPLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I HPLcom/android/server/pm/ShortcutPackageItem;->saveShortcutPackageItem()V HPLcom/android/server/pm/ShortcutPackageItem;->saveToFileLocked(Ljava/io/File;Z)V HPLcom/android/server/pm/ShortcutPackageItem;->scheduleSave()V -HPLcom/android/server/pm/ShortcutPackageItem;->waitForBitmapSaves()Z HPLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List; HPLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List; +HPLcom/android/server/pm/ShortcutService$$ExternalSyntheticLambda18;->test(Ljava/lang/Object;)Z +HPLcom/android/server/pm/ShortcutService$1;->test(Landroid/content/pm/ResolveInfo;)Z HSPLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/ShortcutService$4;II)V HSPLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/pm/ShortcutService$4$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/ShortcutService$4;I)V HSPLcom/android/server/pm/ShortcutService$4;->lambda$onUidStateChanged$0(II)V HSPLcom/android/server/pm/ShortcutService$4;->onUidStateChanged(IIJI)V+]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/pm/ShortcutService$LocalService;->getFilterFromQuery(Landroid/util/ArraySet;Ljava/util/List;JLandroid/content/ComponentName;IZ)Ljava/util/function/Predicate; HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcutIconFdAsync(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/infra/AndroidFuture;)V HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List; -HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V +HPLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V+]Lcom/android/server/pm/ShortcutService$LocalService;Lcom/android/server/pm/ShortcutService$LocalService;]Lcom/android/server/pm/ShortcutPackage;Lcom/android/server/pm/ShortcutPackage;]Lcom/android/server/pm/ShortcutUser;Lcom/android/server/pm/ShortcutUser;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService$LocalService;->hasShortcutHostPermission(ILjava/lang/String;II)Z HPLcom/android/server/pm/ShortcutService$LocalService;->lambda$getFilterFromQuery$1(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLcom/android/server/pm/ShortcutService;->-$$Nest$fgetmLock(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object; -HPLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z +HPLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z+]Lcom/android/server/pm/ShortcutNonPersistentUser;Lcom/android/server/pm/ShortcutNonPersistentUser;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService;->fillInDefaultActivity(Ljava/util/List;)V HPLcom/android/server/pm/ShortcutService;->fixUpIncomingShortcutInfo(Landroid/content/pm/ShortcutInfo;ZZ)V HPLcom/android/server/pm/ShortcutService;->fixUpShortcutResourceNamesAndValues(Landroid/content/pm/ShortcutInfo;)V +HPLcom/android/server/pm/ShortcutService;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo; HPLcom/android/server/pm/ShortcutService;->getDefaultLauncher(I)Ljava/lang/String; -HPLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher; +HPLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher;+]Lcom/android/server/pm/ShortcutUser;Lcom/android/server/pm/ShortcutUser;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService;->getMainActivityIntent()Landroid/content/Intent; -HPLcom/android/server/pm/ShortcutService;->getNonPersistentUserLocked(I)Lcom/android/server/pm/ShortcutNonPersistentUser; HPLcom/android/server/pm/ShortcutService;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo; +HPLcom/android/server/pm/ShortcutService;->getPackageShortcutsForPublisherLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage; HPLcom/android/server/pm/ShortcutService;->getStatStartTime()J+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; HPLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HSPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService;->hasShortcutHostPermission(Ljava/lang/String;III)Z -HPLcom/android/server/pm/ShortcutService;->hasShortcutHostPermissionInner(Ljava/lang/String;I)Z HPLcom/android/server/pm/ShortcutService;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo; HPLcom/android/server/pm/ShortcutService;->injectClearCallingIdentity()J HPLcom/android/server/pm/ShortcutService;->injectGetPackageUid(Ljava/lang/String;I)I +HPLcom/android/server/pm/ShortcutService;->injectGetPinConfirmationActivity(Ljava/lang/String;II)Landroid/content/ComponentName; HPLcom/android/server/pm/ShortcutService;->injectGetResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources; -HPLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z +HPLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z+]Landroid/content/Context;Landroid/app/ContextImpl; HPLcom/android/server/pm/ShortcutService;->injectIsActivityEnabledAndExported(Landroid/content/ComponentName;I)Z +HPLcom/android/server/pm/ShortcutService;->injectIsMainActivity(Landroid/content/ComponentName;I)Z HPLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo; HSPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V+]Landroid/os/Handler;Landroid/os/Handler; HPLcom/android/server/pm/ShortcutService;->injectPostToHandlerDebounced(Ljava/lang/Object;Ljava/lang/Runnable;)V HPLcom/android/server/pm/ShortcutService;->injectRestoreCallingIdentity(J)V HPLcom/android/server/pm/ShortcutService;->injectUserDataPath(I)Ljava/io/File; +HPLcom/android/server/pm/ShortcutService;->isEnabled(Landroid/content/pm/ActivityInfo;I)Z +HPLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ActivityInfo;)Z HPLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ApplicationInfo;)Z HPLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/PackageInfo;)Z HSPLcom/android/server/pm/ShortcutService;->isProcessStateForeground(I)Z HPLcom/android/server/pm/ShortcutService;->isSystem(Landroid/content/pm/ActivityInfo;)Z -HPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService; HPLcom/android/server/pm/ShortcutService;->lambda$notifyListenerRunnable$2(ILjava/lang/String;)V HPLcom/android/server/pm/ShortcutService;->lambda$notifyShortcutChangeCallbacks$3(ILjava/util/List;Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V +HPLcom/android/server/pm/ShortcutService;->lambda$queryActivities$16(ILandroid/content/pm/ResolveInfo;)Z +HPLcom/android/server/pm/ShortcutService;->lambda$static$0(Landroid/content/pm/ResolveInfo;)Z HPLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; HPLcom/android/server/pm/ShortcutService;->notifyShortcutChangeCallbacks(Ljava/lang/String;ILjava/util/List;Ljava/util/List;)V HPLcom/android/server/pm/ShortcutService;->packageShortcutsChanged(Lcom/android/server/pm/ShortcutPackage;Ljava/util/List;Ljava/util/List;)V HPLcom/android/server/pm/ShortcutService;->pushDynamicShortcut(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;I)V -HPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List; -HPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List; +HPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List;+]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/pm/ShortcutService;->removeNonKeyFields(Ljava/util/List;)Ljava/util/List; HPLcom/android/server/pm/ShortcutService;->saveIconAndFixUpShortcutLocked(Lcom/android/server/pm/ShortcutPackage;Landroid/content/pm/ShortcutInfo;)V HPLcom/android/server/pm/ShortcutService;->setReturnedByServer(Ljava/util/List;)Ljava/util/List;+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/pm/ShortcutService;->throwIfUserLockedL(I)V+]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; HPLcom/android/server/pm/ShortcutService;->verifyCaller(Ljava/lang/String;I)V HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;J)V -HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/content/Intent;)V+]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;,Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/lang/CharSequence;Ljava/lang/String; +HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;,Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannableString; HPLcom/android/server/pm/ShortcutService;->writeAttr(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Z)V HPLcom/android/server/pm/ShortcutService;->writeTagExtra(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Landroid/os/PersistableBundle;)V+]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer; HPLcom/android/server/pm/ShortcutUser;->detectLocaleChange()V -HPLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V +HPLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;megamorphic_types HPLcom/android/server/pm/ShortcutUser;->getAppSearch(Landroid/app/appsearch/AppSearchManager$SearchContext;)Lcom/android/internal/infra/AndroidFuture; -HPLcom/android/server/pm/ShortcutUser;->getLauncherShortcuts(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutLauncher; -HPLcom/android/server/pm/ShortcutUser;->getPackageShortcuts(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/ShortcutUser;Lcom/android/server/pm/ShortcutUser; +HPLcom/android/server/pm/ShortcutUser;->getLauncherShortcuts(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutLauncher;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutLauncher; HPLcom/android/server/pm/ShortcutUser;->getPackageShortcutsIfExists(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/ShortcutPackageItem;Lcom/android/server/pm/ShortcutPackage; HPLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V -HSPLcom/android/server/pm/SilentUpdatePolicy;-><clinit>()V -HSPLcom/android/server/pm/SilentUpdatePolicy;-><init>()V HSPLcom/android/server/pm/SnapshotStatistics$1;-><init>(Lcom/android/server/pm/SnapshotStatistics;Landroid/os/Looper;)V -HPLcom/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 @@ -8552,7 +7306,6 @@ HSPLcom/android/server/pm/SnapshotStatistics$Stats;-><init>(Lcom/android/server/ 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; -HPLcom/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 HPLcom/android/server/pm/SnapshotStatistics;->handleMessage(Landroid/os/Message;)V @@ -8560,8 +7313,6 @@ HSPLcom/android/server/pm/SnapshotStatistics;->rebuild(JJII)V HSPLcom/android/server/pm/SnapshotStatistics;->scheduleTick()V HPLcom/android/server/pm/SnapshotStatistics;->shift([Lcom/android/server/pm/SnapshotStatistics$Stats;J)V HPLcom/android/server/pm/SnapshotStatistics;->tick()V -HSPLcom/android/server/pm/StagingManager;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/pm/StagingManager;-><init>(Landroid/content/Context;Lcom/android/server/pm/ApexManager;)V HSPLcom/android/server/pm/StorageEventHelper;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/DeletePackageHelper;Lcom/android/server/pm/RemovePackageHelper;)V HSPLcom/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/UserManagerService;Lcom/android/server/pm/BroadcastHelper;Lcom/android/server/pm/ProtectedPackages;)V @@ -8576,22 +7327,16 @@ HSPLcom/android/server/pm/UserJourneyLogger;-><init>()V HSPLcom/android/server/pm/UserManagerInternal;-><init>()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$LifeCycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V -HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()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 -HSPLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Lcom/android/server/pm/UserManagerInternal$UserRestrictionsListener;)V HSPLcom/android/server/pm/UserManagerService$LocalService;->exists(I)Z -HSPLcom/android/server/pm/UserManagerService$LocalService;->getMainUserId()I -HSPLcom/android/server/pm/UserManagerService$LocalService;->getProfileIds(IZ)[I +HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserInfo(I)Landroid/content/pm/UserInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserInfos()[Landroid/content/pm/UserInfo; HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserProperties(I)Landroid/content/pm/UserProperties; -HSPLcom/android/server/pm/UserManagerService$LocalService;->getUsers(Z)Ljava/util/List; HSPLcom/android/server/pm/UserManagerService$LocalService;->getUsers(ZZZ)Ljava/util/List; HSPLcom/android/server/pm/UserManagerService$LocalService;->hasUserRestriction(Ljava/lang/String;I)Z+]Landroid/os/Bundle;Landroid/os/Bundle; -HPLcom/android/server/pm/UserManagerService$LocalService;->isProfileAccessible(IILjava/lang/String;Z)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; +HPLcom/android/server/pm/UserManagerService$LocalService;->isProfileAccessible(IILjava/lang/String;Z)Z HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z+]Lcom/android/server/pm/UserManagerService$WatchedUserStates;Lcom/android/server/pm/UserManagerService$WatchedUserStates; @@ -8603,13 +7348,11 @@ HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;-><init>(Lcom/and HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;->get(II)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;->invalidateIsUserUnlockedCache()V HSPLcom/android/server/pm/UserManagerService$WatchedUserStates;->put(II)V -HSPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserRestrictionsListeners(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserStates(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserManagerService$WatchedUserStates; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUserVisibilityMediator(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserVisibilityMediator; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUsers(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$fgetmUsersLock(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetEffectiveUserRestrictions(Lcom/android/server/pm/UserManagerService;I)Landroid/os/Bundle; -HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetProfileIdsLU(Lcom/android/server/pm/UserManagerService;ILjava/lang/String;Z)Landroid/util/IntArray; HPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserInfoLU(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserInfoNoChecks(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUserPropertiesInternal(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserProperties; @@ -8617,36 +7360,32 @@ HSPLcom/android/server/pm/UserManagerService;->-$$Nest$mgetUsersInternal(Lcom/an 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 -HSPLcom/android/server/pm/UserManagerService;->addUserRestrictionsListener(Landroid/os/IUserRestrictionsListener;)V HSPLcom/android/server/pm/UserManagerService;->checkCreateUsersPermission(Ljava/lang/String;)V HSPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermissionIfCallerInOtherProfileGroup(ILjava/lang/String;)V+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; -HSPLcom/android/server/pm/UserManagerService;->checkManageUsersPermission(Ljava/lang/String;)V HSPLcom/android/server/pm/UserManagerService;->checkQueryOrCreateUsersPermission(Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/pm/UserManagerService;->checkQueryOrInteractPermissionIfCallerInOtherProfileGroup(ILjava/lang/String;)V+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->emulateSystemUserModeIfNeeded()V HSPLcom/android/server/pm/UserManagerService;->exists(I)Z+]Lcom/android/server/pm/UserManagerService$LocalService;Lcom/android/server/pm/UserManagerService$LocalService; -HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle; -HPLcom/android/server/pm/UserManagerService;->getCrossProfileIntentFilterAccessControl(II)I +HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;+]Lcom/android/server/pm/RestrictionsSet;Lcom/android/server/pm/RestrictionsSet; HSPLcom/android/server/pm/UserManagerService;->getInstance()Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->getInternalForInjectorOnly()Lcom/android/server/pm/UserManagerInternal; HSPLcom/android/server/pm/UserManagerService;->getMainUserIdUnchecked()I -HSPLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo; HSPLcom/android/server/pm/UserManagerService;->getProfileIds(ILjava/lang/String;Z)[I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/IntArray;Landroid/util/IntArray; HSPLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(ILjava/lang/String;Z)Landroid/util/IntArray;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; HSPLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->getProfileParentLU(I)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; -HSPLcom/android/server/pm/UserManagerService;->getProfileType(I)Ljava/lang/String;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; +HSPLcom/android/server/pm/UserManagerService;->getProfileType(I)Ljava/lang/String; HSPLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/pm/UserManagerService;->getProfilesLU(ILjava/lang/String;ZZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/IntArray;Landroid/util/IntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I -HPLcom/android/server/pm/UserManagerService;->getUserBadgeColorResId(I)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/UserTypeDetails;Lcom/android/server/pm/UserTypeDetails; HPLcom/android/server/pm/UserManagerService;->getUserBadgeDarkColorResId(I)I -HPLcom/android/server/pm/UserManagerService;->getUserBadgeNoBackgroundResId(I)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/UserTypeDetails;Lcom/android/server/pm/UserTypeDetails; +HPLcom/android/server/pm/UserManagerService;->getUserBadgeNoBackgroundResId(I)I HSPLcom/android/server/pm/UserManagerService;->getUserDataLU(I)Lcom/android/server/pm/UserManagerService$UserData;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService;->getUserFile(I)Lcom/android/server/pm/ResilientAtomicFile; -HSPLcom/android/server/pm/UserManagerService;->getUserHandle(I)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; +HSPLcom/android/server/pm/UserManagerService;->getUserHandle(I)I +HPLcom/android/server/pm/UserManagerService;->getUserIcon(I)Landroid/os/ParcelFileDescriptor; HSPLcom/android/server/pm/UserManagerService;->getUserIds()[I HSPLcom/android/server/pm/UserManagerService;->getUserIdsIncludingPreCreated()[I HSPLcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; @@ -8656,29 +7395,29 @@ HSPLcom/android/server/pm/UserManagerService;->getUserListFile()Lcom/android/ser HSPLcom/android/server/pm/UserManagerService;->getUserPropertiesCopy(I)Landroid/content/pm/UserProperties;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->getUserPropertiesInternal(I)Landroid/content/pm/UserProperties;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HPLcom/android/server/pm/UserManagerService;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List; -HSPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I +HSPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HPLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HPLcom/android/server/pm/UserManagerService;->getUserSwitchability(I)I HPLcom/android/server/pm/UserManagerService;->getUserTypeDetails(Landroid/content/pm/UserInfo;)Lcom/android/server/pm/UserTypeDetails; -HPLcom/android/server/pm/UserManagerService;->getUserTypeDetailsNoChecks(I)Lcom/android/server/pm/UserTypeDetails;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/pm/UserManagerService;->getUserTypeDetailsNoChecks(I)Lcom/android/server/pm/UserTypeDetails; HPLcom/android/server/pm/UserManagerService;->getUserTypeNoChecks(I)Ljava/lang/String; HPLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; -HSPLcom/android/server/pm/UserManagerService;->getUsers(Z)Ljava/util/List; HSPLcom/android/server/pm/UserManagerService;->getUsers(ZZZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->getUsersInternal(ZZZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/pm/UserManagerService;->hasBadge(I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/UserTypeDetails;Lcom/android/server/pm/UserTypeDetails; +HPLcom/android/server/pm/UserManagerService;->hasBadge(I)Z HSPLcom/android/server/pm/UserManagerService;->hasCreateUsersPermission()Z HSPLcom/android/server/pm/UserManagerService;->hasManageUsersOrPermission(Ljava/lang/String;)Z HSPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission()Z HSPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission(I)Z +HSPLcom/android/server/pm/UserManagerService;->hasPermissionGranted(Ljava/lang/String;I)Z HSPLcom/android/server/pm/UserManagerService;->hasProfile(I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService;->hasQueryOrCreateUsersPermission()Z HSPLcom/android/server/pm/UserManagerService;->hasQueryUsersPermission()Z HSPLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/UserManagerService$LocalService;Lcom/android/server/pm/UserManagerService$LocalService; HSPLcom/android/server/pm/UserManagerService;->initDefaultGuestRestrictions()V -HSPLcom/android/server/pm/UserManagerService;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z HSPLcom/android/server/pm/UserManagerService;->invalidateOwnerNameIfNecessary(Landroid/content/res/Resources;Z)V HPLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z +HSPLcom/android/server/pm/UserManagerService;->isHeadlessSystemUserMode()Z HSPLcom/android/server/pm/UserManagerService;->isProfile(I)Z HSPLcom/android/server/pm/UserManagerService;->isProfileOf(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)Z HSPLcom/android/server/pm/UserManagerService;->isProfileUnchecked(I)Z @@ -8686,12 +7425,13 @@ HPLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z HSPLcom/android/server/pm/UserManagerService;->isSameProfileGroupNoChecks(II)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/android/server/pm/UserManagerService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z HSPLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z +HPLcom/android/server/pm/UserManagerService;->isUserSwitcherEnabled(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 HSPLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z HSPLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z -HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljava/lang/String;)Ljava/lang/String; +HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;+]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Ljava/io/File;Ljava/io/File;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser; HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Ljava/lang/String;I)Landroid/os/Bundle; HPLcom/android/server/pm/UserManagerService;->readEntry(Landroid/os/Bundle;Ljava/util/ArrayList;Lcom/android/modules/utils/TypedXmlPullParser;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/ArtBinaryXmlPullParser;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -8705,7 +7445,6 @@ HSPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP(II)V HSPLcom/android/server/pm/UserManagerService;->userExists(I)Z HSPLcom/android/server/pm/UserManagerService;->userWithName(Landroid/content/pm/UserInfo;)Landroid/content/pm/UserInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HPLcom/android/server/pm/UserManagerService;->writeApplicationRestrictionsLAr(Landroid/os/Bundle;Landroid/util/AtomicFile;)V -HPLcom/android/server/pm/UserManagerService;->writeApplicationRestrictionsLAr(Ljava/lang/String;Landroid/os/Bundle;I)V HPLcom/android/server/pm/UserManagerService;->writeBundle(Landroid/os/Bundle;Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/pm/UserNeedsBadgingCache;-><init>(Lcom/android/server/pm/UserManagerService;)V HSPLcom/android/server/pm/UserNeedsBadgingCache;->get(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; @@ -8714,30 +7453,18 @@ HSPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;La HPLcom/android/server/pm/UserRestrictionsUtils;->canProfileOwnerChange(Ljava/lang/String;Z)Z HPLcom/android/server/pm/UserRestrictionsUtils;->isGlobal(ILjava/lang/String;)Z HSPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z -HSPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z+]Ljava/util/Set;Landroid/util/ArraySet;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; 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; 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 -HSPLcom/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 -HSPLcom/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; -HSPLcom/android/server/pm/UserSystemPackageInstaller;->getDeviceDefaultWhitelistMode()I -HSPLcom/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 -HSPLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistMode()I -HSPLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistedSystemPackages()Ljava/util/Set; -HSPLcom/android/server/pm/UserSystemPackageInstaller;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z -HSPLcom/android/server/pm/UserSystemPackageInstaller;->isEnforceMode(I)Z -HSPLcom/android/server/pm/UserSystemPackageInstaller;->isImplicitWhitelistMode(I)Z -HSPLcom/android/server/pm/UserSystemPackageInstaller;->isLogMode(I)Z -HSPLcom/android/server/pm/UserSystemPackageInstaller;->modeToString(I)Ljava/lang/String; -HSPLcom/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; @@ -8795,12 +7522,10 @@ HSPLcom/android/server/pm/UserVisibilityMediator;->isUserVisible(I)Z+]Lcom/andro HPLcom/android/server/pm/VerifyingSession;->sendPackageVerificationRequest(ILandroid/content/pm/PackageInfoLite;Lcom/android/server/pm/PackageVerificationState;)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 -HPLcom/android/server/pm/WatchedIntentFilter;->countActions()I 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 @@ -8808,13 +7533,13 @@ 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 +HPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo; 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 HSPLcom/android/server/pm/dex/ArtManagerService;->getCompilationReasonTronValue(Ljava/lang/String;)I @@ -8822,39 +7547,17 @@ HSPLcom/android/server/pm/dex/ArtManagerService;->verifyTronLoggingConstants()V HSPLcom/android/server/pm/dex/ArtStatsLogUtils$ArtStatsLogger;-><init>()V HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V -HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V -HSPLcom/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 HSPLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V HSPLcom/android/server/pm/dex/DexManager;->cachePackageInfo(Landroid/content/pm/PackageInfo;I)V -HSPLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V HSPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V HSPLcom/android/server/pm/dex/DexManager;->putIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HPLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibraries(Ljava/util/List;)Ljava/lang/String; -HSPLcom/android/server/pm/dex/DynamicCodeLogger$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/pm/dex/DynamicCodeLogger$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/server/pm/dex/DynamicCodeLogger;-><init>(Lcom/android/server/pm/Installer;)V -HSPLcom/android/server/pm/dex/DynamicCodeLogger;->lambda$load$0(Ljava/lang/String;)Ljava/util/Set; -HSPLcom/android/server/pm/dex/DynamicCodeLogger;->load(Ljava/util/Map;)V -HPLcom/android/server/pm/dex/DynamicCodeLogger;->logDynamicCodeLoading(Ljava/lang/String;)V -HSPLcom/android/server/pm/dex/DynamicCodeLogger;->readAndSync(Ljava/util/Map;)V HSPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V -HSPLcom/android/server/pm/dex/PackageDexUsage;->isSupportedVersion(I)Z -HSPLcom/android/server/pm/dex/PackageDexUsage;->read()V -HSPLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V -HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V -HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V -HSPLcom/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 -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read()V -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;)V -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;Ljava/util/Map;)V -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Object;)V -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Void;)V -HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->syncData(Ljava/util/Map;)V HSPLcom/android/server/pm/dex/ViewCompiler;-><init>(Ljava/lang/Object;Lcom/android/server/pm/Installer;)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 @@ -8878,15 +7581,11 @@ HSPLcom/android/server/pm/local/PackageManagerLocalImpl;->withUnfilteredSnapshot HSPLcom/android/server/pm/parsing/PackageCacher;-><clinit>()V HSPLcom/android/server/pm/parsing/PackageCacher;-><init>(Ljava/io/File;)V HSPLcom/android/server/pm/parsing/PackageCacher;->cacheResult(Ljava/io/File;ILcom/android/server/pm/parsing/pkg/ParsedPackage;)V -HSPLcom/android/server/pm/parsing/PackageCacher;->fromCacheEntry([B)Lcom/android/server/pm/parsing/pkg/ParsedPackage; -HSPLcom/android/server/pm/parsing/PackageCacher;->fromCacheEntryStatic([B)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/PackageCacher;->getCacheKey(Ljava/io/File;I)Ljava/lang/String; HSPLcom/android/server/pm/parsing/PackageCacher;->getCachedResult(Ljava/io/File;I)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/PackageCacher;->isCacheUpToDate(Ljava/io/File;Ljava/io/File;)Z HSPLcom/android/server/pm/parsing/PackageCacher;->toCacheEntry(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)[B HSPLcom/android/server/pm/parsing/PackageCacher;->toCacheEntryStatic(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)[B -HSPLcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;-><init>()V -HSPLcom/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; HSPLcom/android/server/pm/parsing/PackageInfoUtils;-><clinit>()V HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(ILcom/android/server/pm/pkg/PackageStateInternal;)I HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;)I @@ -8909,8 +7608,7 @@ HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateProcessInfo(Ljava/u HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateProviderInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/component/ParsedProvider;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ProviderInfo;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedProviderImpl;]Lcom/android/server/pm/pkg/component/ParsedProvider;Lcom/android/server/pm/pkg/component/ParsedProviderImpl;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/component/ParsedProviderImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/component/ParsedService;JLcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ServiceInfo; HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/component/ParsedService;JLcom/android/server/pm/pkg/PackageUserStateInternal;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/ServiceInfo;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/pkg/component/ParsedService;Lcom/android/server/pm/pkg/component/ParsedServiceImpl; -HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedPermissionImpl;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Set;Landroid/util/ArraySet;,Ljava/util/Collections$EmptySet;]Lcom/android/server/pm/pkg/component/ParsedAttribution;Lcom/android/server/pm/pkg/component/ParsedAttributionImpl; -HSPLcom/android/server/pm/parsing/PackageInfoUtils;->initForUser(Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/pkg/AndroidPackage;I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/pkg/AndroidPackage;[IJJJLjava/util/Set;Ljava/util/Set;Lcom/android/server/pm/pkg/PackageUserStateInternal;ILcom/android/server/pm/pkg/PackageStateInternal;)Landroid/content/pm/PackageInfo;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedPermissionImpl;,Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Set;Landroid/util/ArraySet;,Ljava/util/Collections$EmptySet;]Lcom/android/server/pm/pkg/component/ParsedAttribution;Lcom/android/server/pm/pkg/component/ParsedAttributionImpl; HSPLcom/android/server/pm/parsing/PackageInfoUtils;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;JLcom/android/server/pm/pkg/PackageUserState;)V+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Landroid/content/pm/overlay/OverlayPaths;Landroid/content/pm/overlay/OverlayPaths;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/pm/parsing/PackageParser2$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/pm/parsing/PackageParser2$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/pm/parsing/PackageParser2;Lcom/android/server/pm/parsing/PackageParser2$Callback;)V @@ -8920,7 +7618,6 @@ HSPLcom/android/server/pm/parsing/PackageParser2$Callback;-><init>()V HSPLcom/android/server/pm/parsing/PackageParser2$Callback;->startParsingPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/PackageParser2;-><clinit>()V HSPLcom/android/server/pm/parsing/PackageParser2;-><init>([Ljava/lang/String;Landroid/util/DisplayMetrics;Ljava/io/File;Lcom/android/server/pm/parsing/PackageParser2$Callback;)V -HSPLcom/android/server/pm/parsing/PackageParser2;->close()V HSPLcom/android/server/pm/parsing/PackageParser2;->lambda$new$2(Landroid/content/pm/parsing/result/ParseInput$Callback;)Landroid/content/pm/parsing/result/ParseTypeImpl; HSPLcom/android/server/pm/parsing/PackageParser2;->parsePackage(Ljava/io/File;IZ)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/ParsedComponentStateUtils;->getNonLocalizedLabelAndIcon(Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/PackageStateInternal;I)Landroid/util/Pair;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedProviderImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/pkg/PackageUserStateInternal;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/lang/Integer;Ljava/lang/Integer; @@ -8953,7 +7650,6 @@ HSPLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->prefixRe HSPLcom/android/server/pm/parsing/library/PackageSharedLibraryUpdater;->removeLibrary(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Ljava/lang/String;)V HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->createNativeLibraryHandle(Lcom/android/server/pm/pkg/AndroidPackage;)Lcom/android/internal/content/NativeLibraryHelper$Handle; HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->createSharedLibraryForDynamic(Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)Landroid/content/pm/SharedLibraryInfo; -HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->createSharedLibraryForStatic(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/content/pm/SharedLibraryInfo; HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->fillVersionCodes(Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PackageInfo;)V HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->generateAppInfoWithoutState(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/content/pm/ApplicationInfo; HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->getAllCodePaths(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/util/List; @@ -9014,19 +7710,9 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesOptionalLibrary(Ljava HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesOptionalLibrary(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesPermission(Lcom/android/server/pm/pkg/component/ParsedUsesPermission;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesPermission(Lcom/android/server/pm/pkg/component/ParsedUsesPermission;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->asSplit([Ljava/lang/String;[Ljava/lang/String;[ILandroid/util/SparseArray;)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->asSplit([Ljava/lang/String;[Ljava/lang/String;[ILandroid/util/SparseArray;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->assignDerivedFields()V HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->assignDerivedFields2()V HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->buildAppClassNamesByProcess()Landroid/util/ArrayMap;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/component/ParsedProcess;Lcom/android/server/pm/pkg/component/ParsedProcessImpl;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->capPermissionPriorities()Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->capPermissionPriorities()Lcom/android/server/pm/parsing/pkg/ParsedPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearAdoptPermissions()Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearAdoptPermissions()Lcom/android/server/pm/parsing/pkg/ParsedPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearOriginalPackages()Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearOriginalPackages()Lcom/android/server/pm/parsing/pkg/ParsedPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearProtectedBroadcasts()Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearProtectedBroadcasts()Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->forParsing(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getActivities()Ljava/util/List; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getAdoptPermissions()Ljava/util/List; @@ -9046,7 +7732,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getInstrumentations()Ljava/u HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getKeySetMapping()Ljava/util/Map; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getLibraryNames()Ljava/util/List; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getLongVersionCode()J -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getManifestPackageName()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getMaxAspectRatio()F HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getMetaData()Landroid/os/Bundle; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getMimeGroups()Ljava/util/Set; @@ -9074,7 +7759,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getQueriesIntents()Ljava/uti HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getQueriesPackages()Ljava/util/List; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getQueriesProviders()Ljava/util/Set; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getReceivers()Ljava/util/List; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getRequiredAccountType()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getResizeableActivity()Ljava/lang/Boolean; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getRestrictedAccountType()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSdkLibraryName()Ljava/lang/String; @@ -9086,9 +7770,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSigningDetails()Landroid/ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSplitCodePaths()[Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSplitNames()[Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSplitRevisionCodes()[I -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSplits()Ljava/util/List;+]Lcom/android/server/pm/pkg/AndroidPackageSplitImpl;Lcom/android/server/pm/pkg/AndroidPackageSplitImpl;]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSplits()Ljava/util/List;+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/pm/pkg/AndroidPackageSplitImpl;Lcom/android/server/pm/pkg/AndroidPackageSplitImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getStaticSharedLibraryName()Ljava/lang/String; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getStaticSharedLibraryVersion()J HPLcom/android/server/pm/parsing/pkg/PackageImpl;->getStorageUuid()Ljava/util/UUID; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getTargetSdkVersion()I HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getTaskAffinity()Ljava/lang/String; @@ -9103,13 +7786,11 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesPermissions()Ljava/ut HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesSdkLibraries()Ljava/util/List; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesSdkLibrariesVersionsMajor()[J HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesStaticLibraries()Ljava/util/List; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesStaticLibrariesCertDigests()[[Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesStaticLibrariesVersions()[J HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getVersionCode()I HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getVersionCodeMajor()I HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getVersionName()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getVolumeUuid()Ljava/lang/String; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->hasPreserveLegacyExternalStorage()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->hasRequestForegroundServiceExemption()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->hideAsFinal()Lcom/android/server/pm/parsing/pkg/AndroidPackageInternal; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->hideAsParsed()Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -9131,7 +7812,7 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isDeclaredHavingCode()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isDefaultToDeviceProtectedStorage()Z+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isDirectBootAware()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isEnabled()Z+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isExternalStorage()Z +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isExternalStorage()Z+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isExtraLargeScreensSupported()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isExtractNativeLibrariesRequested()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isFactoryTest()Z @@ -9226,8 +7907,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCleartextTrafficAllowed(Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCleartextTrafficAllowed(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCompileSdkVersion(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCompileSdkVersionCodeName(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCoreApp(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCoreApp(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCrossProfile(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCrossProfile(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDataExtractionRulesResourceId(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -9237,12 +7916,10 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDebuggable(Z)Lcom/android HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDeclaredHavingCode(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDeclaredHavingCode(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDescriptionResourceId(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDescriptionResourceId(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDirectBootAware(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDirectBootAware(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setDirectBootAware(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setEnabled(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setEnabled(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; @@ -9314,14 +7991,11 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOdm(Z)Lcom/android/server HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOem(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOem(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOnBackInvokedCallbackEnabled(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPackageName(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPackageName(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPartiallyDirectBootAware(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPartiallyDirectBootAware(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPermission(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPermission(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPersistent(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPersistent(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPreserveLegacyExternalStorage(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPreserveLegacyExternalStorage(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setPrimaryCpuAbi(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -9332,10 +8006,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProcessName(Ljava/lang/St HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProcessName(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProduct(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProduct(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProfileable(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProfileable(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProfileableByShell(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setProfileableByShell(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequestLegacyExternalStorage(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequestLegacyExternalStorage(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiredAccountType(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -9368,12 +8038,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSignedWithPlatformKey(Z)L HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSigningDetails(Landroid/content/pm/SigningDetails;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSigningDetails(Landroid/content/pm/SigningDetails;)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSigningDetails(Landroid/content/pm/SigningDetails;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSplitClassLoaderName(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSplitClassLoaderName(ILjava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSplitHasCode(IZ)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSplitHasCode(IZ)Lcom/android/server/pm/pkg/parsing/ParsingPackage; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setStub(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setStub(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSystem(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSystem(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSystemExt(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -9415,6 +8079,7 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setZygotePreloadName(Ljava/l HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setZygotePreloadName(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->toAppInfoWithoutState()Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->toAppInfoWithoutStateWithoutFlags()Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Landroid/util/ArraySet;,Ljava/util/Collections$UnmodifiableSet;,Ljava/util/Collections$EmptySet; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->toString()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/permission/CompatibilityPermissionInfo;-><clinit>()V HSPLcom/android/server/pm/permission/CompatibilityPermissionInfo;-><init>(Ljava/lang/String;I)V @@ -9431,14 +8096,10 @@ HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManager HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper-IA;)V 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;->grantPermissionsToSysComponentsAndPrivApps(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;I)V HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Landroid/content/pm/PackageInfo;Ljava/util/Set;ZZZI)V+]Landroid/permission/PermissionManager;Landroid/permission/PermissionManager;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;]Landroid/permission/PermissionManager$SplitPermissionInfo;Landroid/permission/PermissionManager$SplitPermissionInfo;]Ljava/util/Set;Landroid/util/ArraySet;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;,Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1; -HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$SyncAdapterPackagesProvider;)V HSPLcom/android/server/pm/permission/DevicePermissionState;-><init>()V HSPLcom/android/server/pm/permission/DevicePermissionState;->getOrCreateUserState(I)Lcom/android/server/pm/permission/UserPermissionState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/pm/permission/DevicePermissionState;->getUserIds()[I HSPLcom/android/server/pm/permission/DevicePermissionState;->getUserState(I)Lcom/android/server/pm/permission/UserPermissionState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/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 @@ -9449,19 +8110,17 @@ HSPLcom/android/server/pm/permission/LegacyPermission;->readInt(Lcom/android/mod HSPLcom/android/server/pm/permission/LegacyPermission;->write(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;-><init>(Landroid/content/Context;)V HPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->checkPermission(Ljava/lang/String;II)I+]Landroid/content/Context;Landroid/app/ContextImpl; +HPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo; HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getCallingPid()I HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getCallingUid()I HPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getPackageUidForUser(Ljava/lang/String;I)I +HPLcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; 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 -HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider;)V -HSPLcom/android/server/pm/permission/LegacyPermissionManagerService$Internal;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$SyncAdapterPackagesProvider;)V -HSPLcom/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 -HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I +HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;]Lcom/android/server/pm/permission/LegacyPermissionManagerService;Lcom/android/server/pm/permission/LegacyPermissionManagerService;]Landroid/app/admin/DevicePolicyManager;Landroid/app/admin/DevicePolicyManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; +HPLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkPermissionAndAppop(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HPLcom/android/server/pm/permission/LegacyPermissionManagerService;->checkPhoneNumberAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/pm/permission/LegacyPermissionManagerService;Lcom/android/server/pm/permission/LegacyPermissionManagerService;]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector; HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->create(Landroid/content/Context;)Lcom/android/server/pm/permission/LegacyPermissionManagerInternal; HSPLcom/android/server/pm/permission/LegacyPermissionManagerService;->verifyCallerCanCheckAccess(Ljava/lang/String;Ljava/lang/String;II)V+]Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector;Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector; @@ -9470,9 +8129,7 @@ HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->getPermissions() 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 -HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->replacePermissionTrees(Ljava/util/List;)V HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->replacePermissions(Ljava/util/List;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/permission/LegacyPermission;Lcom/android/server/pm/permission/LegacyPermission; -HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->writePermissionTrees(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->writePermissions(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Lcom/android/server/pm/permission/LegacyPermission;Lcom/android/server/pm/permission/LegacyPermission; HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;-><init>(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;)V HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;-><init>(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState-IA;)V @@ -9483,14 +8140,13 @@ HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->isG HSPLcom/android/server/pm/permission/LegacyPermissionState$UserState;-><init>()V HSPLcom/android/server/pm/permission/LegacyPermissionState$UserState;-><init>(Lcom/android/server/pm/permission/LegacyPermissionState$UserState;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/pm/permission/LegacyPermissionState$UserState;->getPermissionStates()Ljava/util/Collection; -HSPLcom/android/server/pm/permission/LegacyPermissionState$UserState;->putPermissionState(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;)V +HSPLcom/android/server/pm/permission/LegacyPermissionState$UserState;->putPermissionState(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState; 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+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/permission/LegacyPermissionState;->getPermissionStates(I)Ljava/util/Collection; HSPLcom/android/server/pm/permission/LegacyPermissionState;->isMissing(I)Z HSPLcom/android/server/pm/permission/LegacyPermissionState;->putPermissionState(Lcom/android/server/pm/permission/LegacyPermissionState$PermissionState;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/permission/LegacyPermissionState$UserState;Lcom/android/server/pm/permission/LegacyPermissionState$UserState; -HSPLcom/android/server/pm/permission/LegacyPermissionState;->reset()V HSPLcom/android/server/pm/permission/LegacyPermissionState;->setMissing(ZI)V HSPLcom/android/server/pm/permission/Permission;-><init>(Landroid/content/pm/PermissionInfo;I)V HSPLcom/android/server/pm/permission/Permission;-><init>(Ljava/lang/String;Ljava/lang/String;I)V @@ -9500,7 +8156,6 @@ HSPLcom/android/server/pm/permission/Permission;->createOrUpdate(Lcom/android/se HSPLcom/android/server/pm/permission/Permission;->findPermissionTree(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/server/pm/permission/Permission; HSPLcom/android/server/pm/permission/Permission;->generatePermissionInfo(II)Landroid/content/pm/PermissionInfo; HPLcom/android/server/pm/permission/Permission;->getGroup()Ljava/lang/String; -HSPLcom/android/server/pm/permission/Permission;->getKnownCerts()Ljava/util/Set; HSPLcom/android/server/pm/permission/Permission;->getName()Ljava/lang/String; HSPLcom/android/server/pm/permission/Permission;->getPackageName()Ljava/lang/String; HSPLcom/android/server/pm/permission/Permission;->getPermissionInfo()Landroid/content/pm/PermissionInfo; @@ -9508,22 +8163,16 @@ HSPLcom/android/server/pm/permission/Permission;->getProtection()I HSPLcom/android/server/pm/permission/Permission;->getRawGids()[I HSPLcom/android/server/pm/permission/Permission;->getType()I HSPLcom/android/server/pm/permission/Permission;->isAppOp()Z -HSPLcom/android/server/pm/permission/Permission;->isAppPredictor()Z -HSPLcom/android/server/pm/permission/Permission;->isCompanion()Z -HSPLcom/android/server/pm/permission/Permission;->isConfigurator()Z HSPLcom/android/server/pm/permission/Permission;->isDefinitionChanged()Z -HSPLcom/android/server/pm/permission/Permission;->isDevelopment()Z -HPLcom/android/server/pm/permission/Permission;->isDynamic()Z +HSPLcom/android/server/pm/permission/Permission;->isDevelopment()Z+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission; +HSPLcom/android/server/pm/permission/Permission;->isDynamic()Z HSPLcom/android/server/pm/permission/Permission;->isHardRestricted()Z -HSPLcom/android/server/pm/permission/Permission;->isIncidentReportApprover()Z -HSPLcom/android/server/pm/permission/Permission;->isInstaller()Z HSPLcom/android/server/pm/permission/Permission;->isInternal()Z HSPLcom/android/server/pm/permission/Permission;->isKnownSigner()Z HSPLcom/android/server/pm/permission/Permission;->isModule()Z HSPLcom/android/server/pm/permission/Permission;->isNormal()Z HSPLcom/android/server/pm/permission/Permission;->isOem()Z HSPLcom/android/server/pm/permission/Permission;->isOverridingSystemPermission(Lcom/android/server/pm/permission/Permission;Landroid/content/pm/PermissionInfo;Landroid/content/pm/PackageManagerInternal;)Z -HSPLcom/android/server/pm/permission/Permission;->isPre23()Z HSPLcom/android/server/pm/permission/Permission;->isPreInstalled()Z HSPLcom/android/server/pm/permission/Permission;->isPrivileged()Z HSPLcom/android/server/pm/permission/Permission;->isRecents()Z @@ -9531,22 +8180,18 @@ HSPLcom/android/server/pm/permission/Permission;->isRetailDemo()Z HSPLcom/android/server/pm/permission/Permission;->isRole()Z HSPLcom/android/server/pm/permission/Permission;->isRuntime()Z HSPLcom/android/server/pm/permission/Permission;->isRuntimeOnly()Z -HSPLcom/android/server/pm/permission/Permission;->isSetup()Z HSPLcom/android/server/pm/permission/Permission;->isSignature()Z HSPLcom/android/server/pm/permission/Permission;->isSoftRestricted()Z HSPLcom/android/server/pm/permission/Permission;->isSystemTextClassifier()Z -HSPLcom/android/server/pm/permission/Permission;->isVendorPrivileged()Z HSPLcom/android/server/pm/permission/Permission;->isVerifier()Z HSPLcom/android/server/pm/permission/Permission;->setGids([IZ)V HSPLcom/android/server/pm/permission/PermissionAllowlist;-><init>()V -HSPLcom/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; HSPLcom/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; HSPLcom/android/server/pm/permission/PermissionAllowlist;->getProductPrivilegedAppAllowlistState(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean; HSPLcom/android/server/pm/permission/PermissionAllowlist;->getSystemExtPrivilegedAppAllowlist()Landroid/util/ArrayMap; -HSPLcom/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+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap; HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;-><clinit>()V @@ -9556,7 +8201,7 @@ HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerS HSPLcom/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+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->getAttributionChainId(ZLandroid/content/AttributionSource;)I+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; -HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->performOpTransaction(Landroid/content/Context;Landroid/os/IBinder;ILandroid/content/AttributionSource;Ljava/lang/String;ZZZZZIIII)I+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; +HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->performOpTransaction(Landroid/content/Context;Landroid/os/IBinder;ILandroid/content/AttributionSource;Ljava/lang/String;ZZZZZIIII)I+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->resolveAttributionSource(Landroid/content/Context;Landroid/content/AttributionSource;)Landroid/content/AttributionSource;+]Landroid/content/AttributionSource;Landroid/content/AttributionSource; HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->resolvePackageName(Landroid/content/Context;Landroid/content/AttributionSource;)Ljava/lang/String;+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V @@ -9566,15 +8211,11 @@ HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerS HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getInstalledPermissions(Ljava/lang/String;)Ljava/util/Set; HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z+]Lcom/android/server/pm/permission/PermissionManagerServiceInterface;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->onPackageAdded(Lcom/android/server/pm/pkg/PackageState;ZLcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->onStorageVolumeMounted(Ljava/lang/String;Z)V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->readLegacyPermissionStateTEMP()V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->readLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V -HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->writeLegacyPermissionStateTEMP()V -HSPLcom/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 -HSPLcom/android/server/pm/permission/PermissionManagerService;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V 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;->getAllowlistedRestrictedPermissions(Ljava/lang/String;II)Ljava/util/List; HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;+]Lcom/android/server/pm/permission/PermissionManagerServiceInterface;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; @@ -9585,7 +8226,6 @@ HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSynth HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$1;-><init>(Lcom/android/server/pm/permission/PermissionManagerServiceImpl;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$OnPermissionChangeListeners;->addListener(Landroid/permission/IOnPermissionsChangeListener;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;-><init>()V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;-><init>(Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback-IA;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->-$$Nest$fgetmPackageManagerInt(Lcom/android/server/pm/permission/PermissionManagerServiceImpl;)Landroid/content/pm/PackageManagerInternal; @@ -9593,16 +8233,12 @@ HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;-><clinit>()V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/util/ArrayMap;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->addAllPermissionGroupsInternal(Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->addAllPermissionsInternal(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/util/List; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->canAdoptPermissionsInternal(Ljava/lang/String;Lcom/android/server/pm/pkg/AndroidPackage;)Z -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->canGrantOemPermission(Lcom/android/server/pm/pkg/PackageState;Ljava/lang/String;)Z HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkCrossUserPermission(IIIZ)Z+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkIfLegacyStorageOpsNeedToBeUpdated(Lcom/android/server/pm/pkg/AndroidPackage;Z[I[I)[I HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I+]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkPermissionInternal(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;I)I+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Map;Ljava/util/HashMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkPermissionInternal(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;I)I+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Ljava/util/Map;Ljava/util/HashMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkPrivilegedPermissionAllowlist(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/permission/Permission;)Z+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ApexManager;Lcom/android/server/pm/ApexManager$ApexManagerImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkSinglePermissionInternalLocked(Lcom/android/server/pm/permission/UidPermissionState;Ljava/lang/String;Z)Z -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkSingleUidPermissionInternalLocked(ILjava/lang/String;)Z HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkUidPermission(ILjava/lang/String;)I+]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->checkUidPermissionInternal(Lcom/android/server/pm/pkg/AndroidPackage;ILjava/lang/String;)I+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Ljava/util/Map;Ljava/util/HashMap; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->enforceCrossUserPermission(IIZZLjava/lang/String;)V+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; @@ -9611,62 +8247,52 @@ HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->enforceGrantR HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllPermissionsWithProtection(I)Ljava/util/List;+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllUserIds()[I HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllowlistedRestrictedPermissions(Ljava/lang/String;II)Ljava/util/List; -HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllowlistedRestrictedPermissionsInternal(Lcom/android/server/pm/pkg/AndroidPackage;II)Ljava/util/List;+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getGidsForUid(I)[I+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; +HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllowlistedRestrictedPermissionsInternal(Lcom/android/server/pm/pkg/AndroidPackage;II)Ljava/util/List;+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getGidsForUid(I)[I+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getGrantedPermissions(Ljava/lang/String;I)Ljava/util/Set; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getGrantedPermissionsInternal(Ljava/lang/String;I)Ljava/util/Set;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getInstalledPermissions(Ljava/lang/String;)Ljava/util/Set;+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/ArraySet; +HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getLegacyPermissionState(I)Lcom/android/server/pm/permission/LegacyPermissionState;+]Lcom/android/server/pm/permission/DevicePermissionState;Lcom/android/server/pm/permission/DevicePermissionState;]Lcom/android/server/pm/permission/LegacyPermissionState;Lcom/android/server/pm/permission/LegacyPermissionState;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getPermissionFlagsInternal(Ljava/lang/String;Ljava/lang/String;II)I+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getPermissionInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PermissionInfo;+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getPermissionInfoCallingTargetSdkVersion(Lcom/android/server/pm/pkg/AndroidPackage;I)I HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getPrivilegedPermissionAllowlistState(Lcom/android/server/pm/pkg/PackageState;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;+]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/permission/PermissionAllowlist;Lcom/android/server/pm/permission/PermissionAllowlist;]Lcom/android/server/SystemConfig;Lcom/android/server/SystemConfig;]Lcom/android/server/pm/ApexManager;Lcom/android/server/pm/ApexManager$ApexManagerImpl; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSourcePackageSetting(Lcom/android/server/pm/permission/Permission;)Lcom/android/server/pm/pkg/PackageStateInternal; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSourcePackageSigningDetails(Lcom/android/server/pm/permission/Permission;)Landroid/content/pm/SigningDetails; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSourcePackageSetting(Lcom/android/server/pm/permission/Permission;)Lcom/android/server/pm/pkg/PackageStateInternal;+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSourcePackageSigningDetails(Lcom/android/server/pm/permission/Permission;)Landroid/content/pm/SigningDetails;+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSplitPermissionInfos()Ljava/util/List; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSplitPermissions()Ljava/util/List; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getUidStateLocked(II)Lcom/android/server/pm/permission/UidPermissionState;+]Lcom/android/server/pm/permission/DevicePermissionState;Lcom/android/server/pm/permission/DevicePermissionState;]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getUidStateLocked(Lcom/android/server/pm/pkg/AndroidPackage;I)Lcom/android/server/pm/permission/UidPermissionState;+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getUidStateLocked(Lcom/android/server/pm/pkg/PackageStateInternal;I)Lcom/android/server/pm/permission/UidPermissionState; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getVolumeUuidForPackage(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getVolumeUuidForPackage(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String;+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->isPermissionsReviewRequiredInternal(Ljava/lang/String;I)Z+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->lambda$onPackageAddedInternal$17(ZLcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/util/List;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->lambda$readLegacyPermissionStateTEMP$15([ILcom/android/server/pm/pkg/PackageStateInternal;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->lambda$updatePermissions$11(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->lambda$writeLegacyPermissionStateTEMP$16([ILcom/android/server/pm/PackageSetting;)V+]Lcom/android/server/pm/permission/DevicePermissionState;Lcom/android/server/pm/permission/DevicePermissionState;]Lcom/android/server/pm/permission/LegacyPermissionState;Lcom/android/server/pm/permission/LegacyPermissionState;]Lcom/android/server/pm/pkg/SharedUserApi;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->onPackageAdded(Lcom/android/server/pm/pkg/PackageState;ZLcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->onPackageAddedInternal(Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/pkg/AndroidPackage;ZLcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->onStorageVolumeMounted(Ljava/lang/String;Z)V HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->readLegacyPermissionStateTEMP()V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->readLegacyPermissionStatesLocked(Lcom/android/server/pm/permission/UidPermissionState;Ljava/util/Collection;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->readLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->restorePermissionState(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;I)V+]Lcom/android/server/policy/PermissionPolicyInternal;Lcom/android/server/policy/PermissionPolicyService$Internal;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$1;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableRandomAccessList;,Landroid/util/ArraySet;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/permission/DevicePermissionState;Lcom/android/server/pm/permission/DevicePermissionState;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;,Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->restorePermissionState(Lcom/android/server/pm/pkg/AndroidPackage;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;I)V+]Lcom/android/server/policy/PermissionPolicyInternal;Lcom/android/server/policy/PermissionPolicyService$Internal;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$1;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableRandomAccessList;,Landroid/util/ArraySet;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/pm/permission/DevicePermissionState;Lcom/android/server/pm/permission/DevicePermissionState;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;,Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->revokePermissionsNoLongerImplicitLocked(Lcom/android/server/pm/permission/UidPermissionState;Ljava/lang/String;Ljava/util/Collection;II[I)[I+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableRandomAccessList;,Landroid/util/ArraySet;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/Collections$EmptyIterator;]Ljava/util/Set;Landroid/util/ArraySet;,Ljava/util/Collections$EmptySet; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->revokeRuntimePermissionsIfGroupChangedInternal(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->revokeStoragePermissionsIfScopeExpandedInternal(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->revokeSystemAlertWindowIfUpgradedPast23(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->setInitialGrantForNewImplicitPermissionsLocked(Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/util/ArraySet;I[I)[I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/permission/PermissionManager$SplitPermissionInfo;Landroid/permission/PermissionManager$SplitPermissionInfo;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->shouldGrantPermissionByProtectionFlags(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/permission/Permission;Landroid/util/ArraySet;)Z+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/ApexManager;Lcom/android/server/pm/ApexManager$ApexManagerImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->shouldGrantPermissionBySignature(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/permission/Permission;)Z+]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->updateAllPermissions(Ljava/lang/String;Z)V HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->updatePermissionFlagsInternal(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;)V+]Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$1;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->updatePermissionSourcePackage(Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/util/Set;Landroid/util/ArraySet; -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->updatePermissionTreeSourcePackage(Ljava/lang/String;Lcom/android/server/pm/pkg/AndroidPackage;)Z -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->updatePermissions(Ljava/lang/String;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;)V -HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->writeLegacyPermissionStateTEMP()V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->writeLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V+]Lcom/android/server/pm/permission/LegacyPermissionSettings;Lcom/android/server/pm/permission/LegacyPermissionSettings;]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/permission/PermissionRegistry;Lcom/android/server/pm/permission/PermissionRegistry;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/android/server/pm/permission/PermissionRegistry;-><init>()V -HSPLcom/android/server/pm/permission/PermissionRegistry;->addAppOpPermissionPackage(Ljava/lang/String;Ljava/lang/String;)V +HSPLcom/android/server/pm/permission/PermissionRegistry;->addAppOpPermissionPackage(Ljava/lang/String;Ljava/lang/String;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/pm/permission/PermissionRegistry;->addPermission(Lcom/android/server/pm/permission/Permission;)V HSPLcom/android/server/pm/permission/PermissionRegistry;->addPermissionGroup(Lcom/android/server/pm/pkg/component/ParsedPermissionGroup;)V HSPLcom/android/server/pm/permission/PermissionRegistry;->addPermissionTree(Lcom/android/server/pm/permission/Permission;)V HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/Permission;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissionGroup(Ljava/lang/String;)Lcom/android/server/pm/pkg/component/ParsedPermissionGroup; -HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissionTree(Ljava/lang/String;)Lcom/android/server/pm/permission/Permission; HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissionTrees()Ljava/util/Collection; -HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissions()Ljava/util/Collection; HSPLcom/android/server/pm/permission/PermissionState;-><init>(Lcom/android/server/pm/permission/Permission;)V HPLcom/android/server/pm/permission/PermissionState;-><init>(Lcom/android/server/pm/permission/PermissionState;)V HSPLcom/android/server/pm/permission/PermissionState;->computeGids(I)[I @@ -9688,20 +8314,17 @@ HSPLcom/android/server/pm/permission/UidPermissionState;->getPermissionStates()L HSPLcom/android/server/pm/permission/UidPermissionState;->grantPermission(Lcom/android/server/pm/permission/Permission;)Z+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState; HSPLcom/android/server/pm/permission/UidPermissionState;->hasPermissionState(Ljava/lang/String;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/pm/permission/UidPermissionState;->invalidateCache()V -HSPLcom/android/server/pm/permission/UidPermissionState;->isMissing()Z HSPLcom/android/server/pm/permission/UidPermissionState;->isPermissionGranted(Ljava/lang/String;)Z+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState; HSPLcom/android/server/pm/permission/UidPermissionState;->putPermissionState(Lcom/android/server/pm/permission/Permission;ZI)V HSPLcom/android/server/pm/permission/UidPermissionState;->reset()V -HSPLcom/android/server/pm/permission/UidPermissionState;->revokePermission(Lcom/android/server/pm/permission/Permission;)Z +HSPLcom/android/server/pm/permission/UidPermissionState;->revokePermission(Lcom/android/server/pm/permission/Permission;)Z+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState; HSPLcom/android/server/pm/permission/UidPermissionState;->setMissing(Z)V HSPLcom/android/server/pm/permission/UidPermissionState;->updatePermissionFlags(Lcom/android/server/pm/permission/Permission;II)Z+]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionState;Lcom/android/server/pm/permission/PermissionState; HSPLcom/android/server/pm/permission/UserPermissionState;-><init>()V -HSPLcom/android/server/pm/permission/UserPermissionState;->areInstallPermissionsFixed(Ljava/lang/String;)Z HSPLcom/android/server/pm/permission/UserPermissionState;->checkAppId(I)V HSPLcom/android/server/pm/permission/UserPermissionState;->getOrCreateUidState(I)Lcom/android/server/pm/permission/UidPermissionState;+]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/permission/UserPermissionState;->getUidState(I)Lcom/android/server/pm/permission/UidPermissionState;+]Lcom/android/server/pm/permission/UserPermissionState;Lcom/android/server/pm/permission/UserPermissionState;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/permission/UserPermissionState;->setInstallPermissionsFixed(Ljava/lang/String;Z)V -HSPLcom/android/server/pm/pkg/AndroidPackageSplitImpl;-><init>(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V HPLcom/android/server/pm/pkg/AndroidPackageSplitImpl;->getName()Ljava/lang/String; HSPLcom/android/server/pm/pkg/AndroidPackageSplitImpl;->getPath()Ljava/lang/String; HPLcom/android/server/pm/pkg/AndroidPackageSplitImpl;->isHasCode()Z @@ -9717,13 +8340,9 @@ HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getUsesLibraryFiles()Lj HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getUsesLibraryInfos()Ljava/util/List; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->isHiddenUntilInstalled()Z HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->isUpdatedSystemApp()Z -HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->lazyInitLastPackageUsageTimeInMills()[J HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setApexModuleName(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized; -HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setApkInUpdatedApex(Z)Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setLastPackageUsageTimeInMills(IJ)Lcom/android/server/pm/pkg/PackageStateUnserialized; -HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setOverrideSeInfo(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setSeInfo(Ljava/lang/String;)Lcom/android/server/pm/pkg/PackageStateUnserialized; -HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setUpdatedSystemApp(Z)Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->setUsesLibraryFiles(Ljava/util/List;)Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/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 @@ -9731,28 +8350,16 @@ HSPLcom/android/server/pm/pkg/PackageStateUtils;->isEnabledAndMatches(Lcom/andro HSPLcom/android/server/pm/pkg/PackageStateUtils;->isEnabledAndMatches(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/component/ParsedMainComponent;JI)Z+]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/pkg/PackageUserStateDefault;-><init>()V HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getAllOverlayPaths()Landroid/content/pm/overlay/OverlayPaths; -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getCeDataInode()J -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getDisabledComponents()Landroid/util/ArraySet; -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getDistractionFlags()I -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getEnabledComponents()Landroid/util/ArraySet; HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getEnabledState()I HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getFirstInstallTimeMillis()J -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getHarmfulAppWarning()Ljava/lang/String; -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getInstallReason()I -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getOverlayPaths()Landroid/content/pm/overlay/OverlayPaths; -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getSplashScreenTheme()Ljava/lang/String; -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->getUninstallReason()I HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isHidden()Z HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isInstalled()Z HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isInstantApp()Z -HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isNotLaunched()Z HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isStopped()Z HSPLcom/android/server/pm/pkg/PackageUserStateDefault;->isSuspended()Z HSPLcom/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 HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->equals(Ljava/lang/Object;)Z @@ -9765,20 +8372,14 @@ HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledComponents()Landr HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledComponentsNoCopy()Lcom/android/server/utils/WatchedArraySet; HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getEnabledState()I HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getFirstInstallTimeMillis()J -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getHarmfulAppWarning()Ljava/lang/String; -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getInstallReason()I -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getLastDisableAppCaller()Ljava/lang/String; HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getMinAspectRatio()I -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getOverlayPaths()Landroid/content/pm/overlay/OverlayPaths; HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getOverrideLabelIconForComponent(Landroid/content/ComponentName;)Landroid/util/Pair; -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getSplashScreenTheme()Ljava/lang/String; HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getUninstallReason()I HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isComponentDisabled(Ljava/lang/String;)Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isComponentEnabled(Ljava/lang/String;)Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isHidden()Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isInstalled()Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isInstantApp()Z -HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isNotLaunched()Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isStopped()Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isSuspended()Z HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isVirtualPreload()Z @@ -9789,14 +8390,15 @@ HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->setDisabledComponents(Landr 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; -HSPLcom/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; @@ -9812,7 +8414,6 @@ HSPLcom/android/server/pm/pkg/PackageUserStateUtils;->isMatch(Lcom/android/serve HSPLcom/android/server/pm/pkg/PackageUserStateUtils;->isMatch(Lcom/android/server/pm/pkg/PackageUserState;ZZZZLjava/lang/String;J)Z HSPLcom/android/server/pm/pkg/PackageUserStateUtils;->reportIfDebug(ZJ)Z HSPLcom/android/server/pm/pkg/SELinuxUtil;->getSeinfoUser(Lcom/android/server/pm/pkg/PackageUserState;)Ljava/lang/String;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;,Lcom/android/server/pm/pkg/PackageUserStateDefault; -HSPLcom/android/server/pm/pkg/SharedLibraryWrapper;-><init>(Landroid/content/pm/SharedLibraryInfo;)V HSPLcom/android/server/pm/pkg/SharedLibraryWrapper;->getInfo()Landroid/content/pm/SharedLibraryInfo; HSPLcom/android/server/pm/pkg/component/ComponentMutateUtils;->setAuthority(Lcom/android/server/pm/pkg/component/ParsedProvider;Ljava/lang/String;)V HSPLcom/android/server/pm/pkg/component/ComponentMutateUtils;->setDirectBootAware(Lcom/android/server/pm/pkg/component/ParsedMainComponent;Z)V @@ -9834,7 +8435,6 @@ HSPLcom/android/server/pm/pkg/component/ComponentParseUtils;->parseAllMetaData(L HSPLcom/android/server/pm/pkg/component/ParsedActivity;->makeAppDetailsActivity(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Z)Lcom/android/server/pm/pkg/component/ParsedActivity; HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl$1;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedActivityImpl; -HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedActivityImpl;-><init>(Landroid/os/Parcel;)V @@ -9899,20 +8499,14 @@ HSPLcom/android/server/pm/pkg/component/ParsedActivityUtils;->parseActivityOrRec HSPLcom/android/server/pm/pkg/component/ParsedActivityUtils;->parseIntentFilter(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;ZZLandroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedActivityUtils;->resolveActivityWindowLayout(Lcom/android/server/pm/pkg/component/ParsedActivity;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl; -HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;-><clinit>()V -HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;->getInitOrder()I HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;->getJarPath()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;->getMaxSdkVersion()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;->getMinSdkVersion()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedApexSystemServiceImpl;->getName()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedAttributionImpl; -HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl;-><clinit>()V -HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl;-><init>(Ljava/lang/String;ILjava/util/List;)V HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl;->getInheritFrom()Ljava/util/List; HSPLcom/android/server/pm/pkg/component/ParsedAttributionImpl;->getTag()Ljava/lang/String; @@ -9923,7 +8517,7 @@ HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->addIntent(Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;)V HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getBanner()I -HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getComponentName()Landroid/content/ComponentName;+]Lcom/android/server/pm/pkg/component/ParsedComponentImpl;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedProviderImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl;,Lcom/android/server/pm/pkg/component/ParsedInstrumentationImpl; +HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getComponentName()Landroid/content/ComponentName;+]Lcom/android/server/pm/pkg/component/ParsedComponentImpl;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedInstrumentationImpl;,Lcom/android/server/pm/pkg/component/ParsedProviderImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl; HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getDescriptionRes()I HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getFlags()I HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->getIcon()I @@ -9947,12 +8541,9 @@ HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->setNonLocalizedLab HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->setPackageName(Ljava/lang/String;)V HSPLcom/android/server/pm/pkg/component/ParsedComponentImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/pkg/component/ParsedComponentUtils;->addMetaData(Lcom/android/server/pm/pkg/component/ParsedComponentImpl;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/component/ParsedComponentUtils;->parseComponent(Lcom/android/server/pm/pkg/component/ParsedComponentImpl;Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;ZLandroid/content/pm/parsing/result/ParseInput;IIIIIII)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/component/ParsedInstrumentationImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedInstrumentationImpl;-><clinit>()V +HSPLcom/android/server/pm/pkg/component/ParsedComponentUtils;->parseComponent(Lcom/android/server/pm/pkg/component/ParsedComponentImpl;Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;ZLandroid/content/pm/parsing/result/ParseInput;IIIIIII)Landroid/content/pm/parsing/result/ParseResult;+]Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Lcom/android/server/pm/pkg/component/ParsedComponentImpl;megamorphic_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl$1;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; -HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;-><init>(Landroid/os/Parcel;)V @@ -9963,10 +8554,9 @@ HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->getNonLocalizedLa HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->isHasDefault()Z HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->setHasDefault(Z)Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->setIcon(I)Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; -HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->setLabelRes(I)Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoUtils;->parseData(Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult;+]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; -HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoUtils;->parseIntentInfo(Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult;+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/pm/parsing/result/ParseResult;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Landroid/util/TypedValue;Landroid/util/TypedValue; +HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoUtils;->parseIntentInfo(Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/pm/parsing/result/ParseResult;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl$1;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;-><init>()V @@ -9979,7 +8569,6 @@ HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->getSplitName() HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->isDirectBootAware()Z HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->isEnabled()Z HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->isExported()Z -HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setAttributionTags([Ljava/lang/String;)Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl; HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setDirectBootAware(Z)Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl; HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setEnabled(Z)Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl; HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setExported(Z)Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl; @@ -9988,13 +8577,10 @@ HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setProcessName HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->setSplitName(Ljava/lang/String;)Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl; HSPLcom/android/server/pm/pkg/component/ParsedMainComponentImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/pkg/component/ParsedMainComponentUtils;->parseIntentFilter(Lcom/android/server/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZZZZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/component/ParsedMainComponentUtils;->parseMainComponent(Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl;Ljava/lang/String;[Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;IZLjava/lang/String;Landroid/content/pm/parsing/result/ParseInput;IIIIIIIIIIII)Landroid/content/pm/parsing/result/ParseResult; +HSPLcom/android/server/pm/pkg/component/ParsedMainComponentUtils;->parseMainComponent(Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl;Ljava/lang/String;[Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;IZLjava/lang/String;Landroid/content/pm/parsing/result/ParseInput;IIIIIIIIIIII)Landroid/content/pm/parsing/result/ParseResult;+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/pm/parsing/result/ParseResult;Landroid/content/pm/parsing/result/ParseTypeImpl;]Lcom/android/server/pm/pkg/component/ParsedMainComponentImpl;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedProviderImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl; -HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->setBackgroundRequestDetailRes(I)Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->setBackgroundRequestRes(I)Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->setPriority(I)Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl; @@ -10002,8 +8588,6 @@ HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->setRequestDe HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->setRequestRes(I)Lcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedPermissionImpl; -HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;-><init>(Landroid/os/Parcel;)V @@ -10025,15 +8609,7 @@ HSPLcom/android/server/pm/pkg/component/ParsedPermissionUtils;->isMalformedDupli HSPLcom/android/server/pm/pkg/component/ParsedPermissionUtils;->isRuntime(Lcom/android/server/pm/pkg/component/ParsedPermission;)Z HSPLcom/android/server/pm/pkg/component/ParsedPermissionUtils;->parsePermission(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedPermissionUtils;->parsePermissionGroup(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedProcessImpl; -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl;-><clinit>()V -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl;-><init>(Landroid/os/Parcel;)V -HSPLcom/android/server/pm/pkg/component/ParsedProcessImpl;->getAppClassNamesByPackage()Landroid/util/ArrayMap; HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedProviderImpl; -HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedProviderImpl;-><init>(Landroid/os/Parcel;)V @@ -10063,11 +8639,8 @@ HSPLcom/android/server/pm/pkg/component/ParsedProviderUtils;->parsePathPermissio HSPLcom/android/server/pm/pkg/component/ParsedProviderUtils;->parseProvider([Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;IZLjava/lang/String;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedProviderUtils;->parseProviderTags(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLcom/android/server/pm/pkg/component/ParsedProviderImpl;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedServiceImpl; -HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;->getForegroundServiceType()I HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;->getPermission()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;->setForegroundServiceType(I)Lcom/android/server/pm/pkg/component/ParsedServiceImpl; @@ -10075,31 +8648,19 @@ HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;->setPermission(Ljava/ HSPLcom/android/server/pm/pkg/component/ParsedServiceImpl;->writeToParcel(Landroid/os/Parcel;I)V HSPLcom/android/server/pm/pkg/component/ParsedServiceUtils;->parseService([Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;IZLjava/lang/String;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl$1;-><init>()V -HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl; -HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;-><init>(Landroid/os/Parcel;)V HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;-><init>(Ljava/lang/String;I)V HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;->getName()Ljava/lang/String; HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;->getUsesPermissionFlags()I HSPLcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;->writeToParcel(Landroid/os/Parcel;I)V -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$Result;-><clinit>()V -HSPLcom/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 -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;->setOverlayPaths(Landroid/content/pm/overlay/OverlayPaths;)Lcom/android/server/pm/pkg/mutate/PackageUserStateWrite; -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper;->setStates(Lcom/android/server/pm/pkg/PackageUserStateImpl;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper; 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 -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;->setState(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper; -HSPLcom/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 -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->forPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/mutate/PackageStateWrite; -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->generateResult(Lcom/android/server/pm/pkg/mutate/PackageStateMutator$InitialState;I)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$Result; -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->onFinished()V HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->onPackageStateChanged()V+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; -HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->setState(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;-><clinit>()V HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;-><init>([Ljava/lang/String;Landroid/util/DisplayMetrics;Ljava/util/List;Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils$Callback;)V HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->aFloat(ILandroid/content/res/TypedArray;)F @@ -10118,13 +8679,9 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->hasDomainURLs(Lcom/a HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->hasTooManyComponents(Lcom/android/server/pm/pkg/parsing/ParsingPackage;)Z+]Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->nonConfigString(IILandroid/content/res/TypedArray;)Ljava/lang/String; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseAttribution(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseApk(Landroid/content/pm/parsing/result/ParseInput;Ljava/io/File;Ljava/lang/String;Lcom/android/server/pm/split/SplitAssetLoader;I)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseApk(Landroid/content/pm/parsing/result/ParseInput;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseApkTag(Ljava/lang/String;Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseApkTags(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseAppBasicFlags(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;)V HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseAppChildTag(Landroid/content/pm/parsing/result/ParseInput;Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseBaseApplication(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult;+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils;Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils;]Lcom/android/server/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/pm/parsing/result/ParseResult;Landroid/content/pm/parsing/result/ParseTypeImpl;]Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils$Callback;Lcom/android/server/pm/PackageManagerService$3; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseClusterPackage(Landroid/content/pm/parsing/result/ParseInput;Ljava/io/File;I)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseFeatureInfo(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/FeatureInfo; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseLibrary(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; @@ -10134,7 +8691,6 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseMonolithicPacka HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parsePackage(Landroid/content/pm/parsing/result/ParseInput;Ljava/io/File;I)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parsePermission(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parsePermissionGroup(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseProfileable(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseQueries(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseSharedUser(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseSplitApk(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;ILandroid/content/res/AssetManager;I)Landroid/content/pm/parsing/result/ParseResult; @@ -10145,8 +8701,6 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseUsesFeature(Lan HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseUsesLibrary(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseUsesPermission(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/result/ParseResult;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils;Lcom/android/server/pm/pkg/parsing/ParsingPackageUtils;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseUsesSdk(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/result/ParseResult; -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->readConfigUseRoundIcon(Landroid/content/res/Resources;)V -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->readKeySetMapping(Landroid/os/Parcel;)Landroid/util/ArrayMap; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->resId(ILandroid/content/res/TypedArray;)I HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->setMaxAspectRatio(Lcom/android/server/pm/pkg/parsing/ParsingPackage;)V HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->setMinAspectRatio(Lcom/android/server/pm/pkg/parsing/ParsingPackage;)V @@ -10155,46 +8709,37 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->string(ILandroid/con HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->writeKeySetMapping(Landroid/os/Parcel;Ljava/util/Map;)V HSPLcom/android/server/pm/pkg/parsing/ParsingUtils$StringPairListParceler;-><init>()V HSPLcom/android/server/pm/pkg/parsing/ParsingUtils$StringPairListParceler;->parcel(Ljava/util/List;Landroid/os/Parcel;I)V -HSPLcom/android/server/pm/pkg/parsing/ParsingUtils$StringPairListParceler;->unparcel(Landroid/os/Parcel;)Ljava/util/List; HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->buildClassName(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->createTypedInterfaceList(Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Ljava/util/List; +HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->createTypedInterfaceList(Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Ljava/util/List;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->parseKnownActivityEmbeddingCerts(Landroid/content/res/TypedArray;Landroid/content/res/Resources;ILandroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->unknownTag(Ljava/lang/String;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/XmlResourceParser;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingUtils;->writeParcelableList(Landroid/os/Parcel;Ljava/util/List;)V HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda1;-><init>()V -HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda1;->apply(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda2;-><init>()V -HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Ljava/lang/Object; 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 -HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->addActivity(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/component/ParsedActivity;Ljava/lang/String;Ljava/util/List;)V +HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->addActivity(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/component/ParsedActivity;Ljava/lang/String;Ljava/util/List;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/util/Pair;Ljava/util/List;)Z+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Ljava/lang/Object;Ljava/util/List;)Z+]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; +HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->dumpFilterLabel(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;I)V HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter;+]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;+]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/util/Pair;)Z+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z+]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newArray(I)[Landroid/util/Pair; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newArray(I)[Ljava/lang/Object; -HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Lcom/android/server/pm/UserNeedsBadgingCache;Lcom/android/server/pm/UserNeedsBadgingCache;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; +HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Lcom/android/server/pm/UserNeedsBadgingCache;Lcom/android/server/pm/UserNeedsBadgingCache;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;+]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/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;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;,Ljava/util/ArrayList;]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->sortResults(Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList; 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 HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->applyMimeGroups(Lcom/android/server/pm/Computer;Landroid/util/Pair;)V HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Landroid/util/Pair;I)Z+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedActivityImpl;,Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;->isFilterStopped(Lcom/android/server/pm/Computer;Ljava/lang/Object;I)Z+]Lcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ReceiverIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;,Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver; 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 HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->addProvider(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/component/ParsedProvider;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter; @@ -10203,9 +8748,7 @@ HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;-> HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->newArray(I)[Ljava/lang/Object; HPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo; 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 HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->addFilter(Lcom/android/server/pm/snapshot/PackageDataSnapshot;Landroid/util/Pair;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->addService(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/component/ParsedService;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/util/Pair;Ljava/util/List;)Z+]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/pkg/component/ParsedMainComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl; @@ -10218,7 +8761,7 @@ HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->n HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newArray(I)[Ljava/lang/Object; HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newResult(Lcom/android/server/pm/Computer;Landroid/util/Pair;IIJ)Landroid/content/pm/ResolveInfo;+]Lcom/android/server/pm/pkg/PackageUserState;Lcom/android/server/pm/pkg/PackageUserStateImpl;]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->newResult(Lcom/android/server/pm/Computer;Ljava/lang/Object;IIJ)Ljava/lang/Object;+]Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver; -HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; +HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->queryIntent(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; HSPLcom/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;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedServiceImpl;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;,Ljava/util/ArrayList;]Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/pm/resolution/ComponentResolver$ServiceIntentResolver;->sortResults(Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/pm/resolution/ComponentResolver;-><clinit>()V @@ -10229,10 +8772,7 @@ HSPLcom/android/server/pm/resolution/ComponentResolver;->addProvidersLocked(Lcom HSPLcom/android/server/pm/resolution/ComponentResolver;->addReceiversLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V HSPLcom/android/server/pm/resolution/ComponentResolver;->addServicesLocked(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/AndroidPackage;Z)V HSPLcom/android/server/pm/resolution/ComponentResolver;->adjustPriority(Lcom/android/server/pm/Computer;Ljava/util/List;Lcom/android/server/pm/pkg/component/ParsedActivity;Lcom/android/server/pm/pkg/component/ParsedIntentInfo;Ljava/lang/String;)V -HSPLcom/android/server/pm/resolution/ComponentResolver;->assertProvidersNotDefined(Lcom/android/server/pm/pkg/AndroidPackage;)V HSPLcom/android/server/pm/resolution/ComponentResolver;->findMatchingActivity(Ljava/util/List;Lcom/android/server/pm/pkg/component/ParsedActivity;)Lcom/android/server/pm/pkg/component/ParsedActivity; -HSPLcom/android/server/pm/resolution/ComponentResolver;->fixProtectedFilterPriorities(Ljava/lang/String;)V -HSPLcom/android/server/pm/resolution/ComponentResolver;->getIntentListSubset(Ljava/util/List;Ljava/util/function/Function;Ljava/util/Iterator;)V HSPLcom/android/server/pm/resolution/ComponentResolver;->isProtectedAction(Landroid/content/IntentFilter;)Z HSPLcom/android/server/pm/resolution/ComponentResolver;->lambda$static$0(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I HSPLcom/android/server/pm/resolution/ComponentResolver;->onChanged()V @@ -10251,33 +8791,14 @@ HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryReceivers(Lcom/ HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryServices(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; HSPLcom/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 -HSPLcom/android/server/pm/resolution/ComponentResolverLocked;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; -HSPLcom/android/server/pm/resolution/ComponentResolverLocked;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List; -HSPLcom/android/server/pm/resolution/ComponentResolverLocked;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; -HSPLcom/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 HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;-><init>(Landroid/content/pm/parsing/PackageLite;I)V HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;->close()V HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;->getBaseApkAssets()Landroid/content/res/ApkAssets; HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;->getBaseAssetManager()Landroid/content/res/AssetManager; -HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;->getSplitAssetManager(I)Landroid/content/res/AssetManager; HSPLcom/android/server/pm/split/DefaultSplitAssetLoader;->loadApkAssets(Ljava/lang/String;I)Landroid/content/res/ApkAssets; -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;-><init>(Landroid/content/pm/parsing/PackageLite;Landroid/util/SparseArray;I)V -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->close()V -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->constructSplit(I[II)V -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->createAssetManagerWithAssets([Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager; -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->getBaseApkAssets()Landroid/content/res/ApkAssets; -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->getBaseAssetManager()Landroid/content/res/AssetManager; -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->getSplitAssetManager(I)Landroid/content/res/AssetManager; -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->isSplitCached(I)Z -HSPLcom/android/server/pm/split/SplitAssetDependencyLoader;->loadApkAssets(Ljava/lang/String;I)Landroid/content/res/ApkAssets; -HSPLcom/android/server/pm/utils/RequestThrottle$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/pm/utils/RequestThrottle;)V -HSPLcom/android/server/pm/utils/RequestThrottle;-><init>(Landroid/os/Handler;IIILjava/util/function/Supplier;)V -HSPLcom/android/server/pm/utils/RequestThrottle;-><init>(Landroid/os/Handler;Ljava/util/function/Supplier;)V HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 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 -HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->byteSizeOf(Ljava/lang/String;)I HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectAllWebDomains(Lcom/android/server/pm/pkg/AndroidPackage;)Landroid/util/ArraySet; HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomains(Lcom/android/server/pm/pkg/AndroidPackage;ZZ)Landroid/util/ArraySet; HSPLcom/android/server/pm/verify/domain/DomainVerificationCollector;->collectDomains(Lcom/android/server/pm/pkg/AndroidPackage;ZZLjava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object; @@ -10292,7 +8813,6 @@ HSPLcom/android/server/pm/verify/domain/DomainVerificationEnforcer;->callerIsLeg 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 -HSPLcom/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; @@ -10308,32 +8828,25 @@ HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->readDoma 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 HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writePackageStates(Lcom/android/server/pm/SettingsXml$WriteSection;Ljava/util/Collection;ILjava/util/function/Function;)V+]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; -HSPLcom/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+]Ljava/util/function/Function;Lcom/android/server/pm/verify/domain/DomainVerificationService$$ExternalSyntheticLambda0;]Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/SettingsXml$WriteSectionImpl;]Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;]Ljava/util/UUID;Ljava/util/UUID; +HSPLcom/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+]Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/SettingsXml$WriteSectionImpl;]Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;]Ljava/util/UUID;Ljava/util/UUID;]Ljava/util/function/Function;Lcom/android/server/pm/verify/domain/DomainVerificationService$$ExternalSyntheticLambda0; HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeStateMap(Lcom/android/server/pm/SettingsXml$WriteSection;Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/SettingsXml$WriteSectionImpl; -HSPLcom/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 -HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeUserStates(Lcom/android/server/pm/SettingsXml$WriteSection;ILandroid/util/SparseArray;)V +HSPLcom/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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;Lcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;]Lcom/android/server/pm/SettingsXml$Serializer;Lcom/android/server/pm/SettingsXml$Serializer;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/SettingsXml$WriteSectionImpl; +HSPLcom/android/server/pm/verify/domain/DomainVerificationPersistence;->writeUserStates(Lcom/android/server/pm/SettingsXml$WriteSection;ILandroid/util/SparseArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/pm/SettingsXml$WriteSection;Lcom/android/server/pm/SettingsXml$WriteSectionImpl; HSPLcom/android/server/pm/verify/domain/DomainVerificationService;-><init>(Landroid/content/Context;Lcom/android/server/SystemConfig;Lcom/android/server/compat/PlatformCompat;)V HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->addPackage(Lcom/android/server/pm/pkg/PackageStateInternal;)V HSPLcom/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;->approvalLevelForDomain(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/content/Intent;JI)I HPLcom/android/server/pm/verify/domain/DomainVerificationService;->filterToApprovedApp(Landroid/content/Intent;Ljava/util/List;ILjava/util/function/Function;)Landroid/util/Pair; HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->generateNewId()Ljava/util/UUID; -HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->getCollector()Lcom/android/server/pm/verify/domain/DomainVerificationCollector; HPLcom/android/server/pm/verify/domain/DomainVerificationService;->getDomainVerificationInfo(Ljava/lang/String;)Landroid/content/pm/verify/domain/DomainVerificationInfo; -HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->hasRealVerifier()Z -HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->migrateState(Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/pkg/PackageStateInternal;)V -HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->onBootPhase(I)V HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->onStart()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 -HSPLcom/android/server/pm/verify/domain/DomainVerificationService;->setProxy(Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy;)V -HSPLcom/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 HSPLcom/android/server/pm/verify/domain/DomainVerificationSettings;->removePendingState(Ljava/lang/String;)Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState; -HSPLcom/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 HSPLcom/android/server/pm/verify/domain/DomainVerificationUtils$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/pm/verify/domain/DomainVerificationUtils;-><clinit>()V @@ -10342,27 +8855,21 @@ HSPLcom/android/server/pm/verify/domain/DomainVerificationUtils;->isChangeEnable HPLcom/android/server/pm/verify/domain/DomainVerificationUtils;->isDomainVerificationIntent(Landroid/content/Intent;J)Z HSPLcom/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;)V -HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getBackupSignatureHash()Ljava/lang/String; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getId()Ljava/util/UUID; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getPackageName()Ljava/lang/String; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getStateMap()Landroid/util/ArrayMap; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->getUserStates()Landroid/util/SparseArray; -HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->hashCode()I +HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->hashCode()I+]Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;Lcom/android/server/pm/verify/domain/models/DomainVerificationPkgState; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationPkgState;->isHasAutoVerifyDomains()Z HSPLcom/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; HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->put(Ljava/lang/String;Ljava/util/UUID;Ljava/lang/Object;)V -HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->remove(Ljava/util/UUID;)Ljava/lang/Object; -HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->size()I HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->valueAt(I)Ljava/lang/Object; -HSPLcom/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; -HSPLcom/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 -HSPLcom/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 -HSPLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2;-><init>(Landroid/content/Context;Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2$Connection;Landroid/content/ComponentName;)V -HSPLcom/android/server/policy/AppOpsPolicy;->checkOperation(IILjava/lang/String;Ljava/lang/String;ZLcom/android/internal/util/function/QuintFunction;)I +HPLcom/android/server/policy/AppOpsPolicy;->checkAudioOperation(IIILjava/lang/String;Lcom/android/internal/util/function/QuadFunction;)I +HSPLcom/android/server/policy/AppOpsPolicy;->checkOperation(IILjava/lang/String;Ljava/lang/String;ZLcom/android/internal/util/function/QuintFunction;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/internal/util/function/QuintFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda9;]Lcom/android/server/policy/AppOpsPolicy;Lcom/android/server/policy/AppOpsPolicy; HSPLcom/android/server/policy/AppOpsPolicy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Lcom/android/internal/util/function/QuintConsumer;)V HPLcom/android/server/policy/AppOpsPolicy;->isDatasourceAttributionTag(ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;)Z HSPLcom/android/server/policy/AppOpsPolicy;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;ZLcom/android/internal/util/function/HeptFunction;)Landroid/app/SyncNotedAppOp;+]Lcom/android/internal/util/function/HeptFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda3;]Lcom/android/server/policy/AppOpsPolicy;Lcom/android/server/policy/AppOpsPolicy; @@ -10372,46 +8879,13 @@ HSPLcom/android/server/policy/AppOpsPolicy;->resolveRecordAudioOp(II)I HSPLcom/android/server/policy/AppOpsPolicy;->resolveSandboxedServiceOp(II)I HSPLcom/android/server/policy/AppOpsPolicy;->resolveUid(II)I+]Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity;]Landroid/service/voice/VoiceInteractionManagerInternal;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService; HSPLcom/android/server/policy/AppOpsPolicy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;ZIILcom/android/internal/util/function/UndecFunction;)Landroid/app/SyncNotedAppOp;+]Lcom/android/internal/util/function/UndecFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11;]Lcom/android/server/policy/AppOpsPolicy;Lcom/android/server/policy/AppOpsPolicy; -HSPLcom/android/server/policy/DeviceStatePolicyImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/policy/DeviceStatePolicyImpl;->configureDeviceForState(ILjava/lang/Runnable;)V -HSPLcom/android/server/policy/DeviceStatePolicyImpl;->getDeviceStateProvider()Lcom/android/server/devicestate/DeviceStateProvider; -HSPLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda1;-><init>()V -HSPLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda1;->getAsBoolean()Z -HSPLcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda2;-><init>()V -HSPLcom/android/server/policy/DeviceStateProviderImpl;-><clinit>()V -HSPLcom/android/server/policy/DeviceStateProviderImpl;-><init>(Landroid/content/Context;Ljava/util/List;Ljava/util/List;)V -HSPLcom/android/server/policy/DeviceStateProviderImpl;->create(Landroid/content/Context;)Lcom/android/server/policy/DeviceStateProviderImpl; -HSPLcom/android/server/policy/DeviceStateProviderImpl;->createFromConfig(Landroid/content/Context;Lcom/android/server/policy/DeviceStateProviderImpl$ReadableConfig;)Lcom/android/server/policy/DeviceStateProviderImpl; -HSPLcom/android/server/policy/DeviceStateProviderImpl;->getConfigurationFile()Ljava/io/File; -HSPLcom/android/server/policy/DeviceStateProviderImpl;->hasPowerSaveSensitiveState(Ljava/util/List;)Z -HSPLcom/android/server/policy/DeviceStateProviderImpl;->hasThermalSensitiveState(Ljava/util/List;)Z -HSPLcom/android/server/policy/DeviceStateProviderImpl;->isThermalStatusCriticalOrAbove(I)Z -HSPLcom/android/server/policy/DeviceStateProviderImpl;->lambda$static$0()Z -HSPLcom/android/server/policy/DeviceStateProviderImpl;->notifyDeviceStateChangedIfNeeded()V -HSPLcom/android/server/policy/DeviceStateProviderImpl;->notifySupportedStatesChanged(I)V -HSPLcom/android/server/policy/DeviceStateProviderImpl;->setListener(Lcom/android/server/devicestate/DeviceStateProvider$Listener;)V -HSPLcom/android/server/policy/DeviceStateProviderImpl;->setStateConditions(Ljava/util/List;Ljava/util/List;)V -HSPLcom/android/server/policy/DisplayFoldController;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;Landroid/hardware/display/DisplayManagerInternal;ILandroid/graphics/Rect;Landroid/os/Handler;)V -HSPLcom/android/server/policy/DisplayFoldController;->create(Landroid/content/Context;I)Lcom/android/server/policy/DisplayFoldController; -HSPLcom/android/server/policy/DisplayFoldController;->lambda$new$0(Ljava/lang/Boolean;)V -HSPLcom/android/server/policy/DisplayFoldController;->setDeviceFolded(Z)V -HSPLcom/android/server/policy/DisplayFoldDurationLogger;-><init>()V -HSPLcom/android/server/policy/DisplayFoldDurationLogger;->isOn()Z -HSPLcom/android/server/policy/DisplayFoldDurationLogger;->logFocusedAppWithFoldState(ZLjava/lang/String;)V -HSPLcom/android/server/policy/DisplayFoldDurationLogger;->setDeviceFolded(Z)V -HSPLcom/android/server/policy/GlobalKeyManager;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V -HSPLcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;-><init>(II)V -HSPLcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;->equals(Ljava/lang/Object;)Z -HSPLcom/android/server/policy/KeyCombinationManager;-><init>(Landroid/os/Handler;)V -HSPLcom/android/server/policy/KeyCombinationManager;->addRule(Lcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule;)V -HSPLcom/android/server/policy/ModifierShortcutManager;-><clinit>()V -HSPLcom/android/server/policy/ModifierShortcutManager;->loadShortcuts()V +HPLcom/android/server/policy/KeyCombinationManager;->interceptKeyLocked(Landroid/view/KeyEvent;Z)Z HPLcom/android/server/policy/PermissionPolicyService$2;->opChanged(IILjava/lang/String;)V -HPLcom/android/server/policy/PermissionPolicyService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/policy/PermissionPolicyService$Internal$1;->onActivityLaunched(Landroid/app/TaskInfo;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)V HSPLcom/android/server/policy/PermissionPolicyService$Internal;->isInitialized(I)Z HPLcom/android/server/policy/PermissionPolicyService$Internal;->isIntentToPermissionDialog(Landroid/content/Intent;)Z +HPLcom/android/server/policy/PermissionPolicyService$Internal;->isLauncherIntent(Landroid/content/Intent;)Z +HPLcom/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 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser$OpToChange;-><init>(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;ILjava/lang/String;I)V HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;-><init>(Lcom/android/server/policy/PermissionPolicyService;Landroid/content/Context;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)V+]Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; @@ -10429,67 +8903,29 @@ HSPLcom/android/server/policy/PermissionPolicyService;->getUserContext(Landroid/ HSPLcom/android/server/policy/PermissionPolicyService;->isStarted(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/policy/PermissionPolicyService;->resetAppOpPermissionsIfNotRequestedForUid(I)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/SystemService;Lcom/android/server/policy/PermissionPolicyService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HPLcom/android/server/policy/PermissionPolicyService;->resetAppOpPermissionsIfNotRequestedForUidAsync(I)V -HSPLcom/android/server/policy/PhoneWindowManager$14;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$1;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$2;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$3;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$4;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$5;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$9;-><init>(Lcom/android/server/policy/PhoneWindowManager;II)V -HSPLcom/android/server/policy/PhoneWindowManager$Injector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/policy/PhoneWindowManager$Injector;)V -HSPLcom/android/server/policy/PhoneWindowManager$Injector;-><init>(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V -HSPLcom/android/server/policy/PhoneWindowManager$Injector;->getAccessibilityShortcutController(Landroid/content/Context;Landroid/os/Handler;I)Lcom/android/internal/accessibility/AccessibilityShortcutController; -HSPLcom/android/server/policy/PhoneWindowManager$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/policy/PhoneWindowManager$Injector;->getGlobalActionsFactory()Ljava/util/function/Supplier; -HSPLcom/android/server/policy/PhoneWindowManager$Injector;->getWindowManagerFuncs()Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs; -HSPLcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/content/Context;Landroid/os/Handler;)V -HSPLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager$PolicyHandler-IA;)V -HSPLcom/android/server/policy/PhoneWindowManager$PowerKeyRule;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V -HSPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Handler;)V -HSPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V -HSPLcom/android/server/policy/PhoneWindowManager;-><clinit>()V -HSPLcom/android/server/policy/PhoneWindowManager;-><init>()V -HSPLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V -HSPLcom/android/server/policy/PhoneWindowManager;->getLidBehavior()I -HSPLcom/android/server/policy/PhoneWindowManager;->getMaxMultiPressStemPrimaryCount()I -HSPLcom/android/server/policy/PhoneWindowManager;->hasLongPressOnBackBehavior()Z -HSPLcom/android/server/policy/PhoneWindowManager;->hasLongPressOnStemPrimaryBehavior()Z -HSPLcom/android/server/policy/PhoneWindowManager;->hasStemPrimaryBehavior()Z +HPLcom/android/server/policy/PhoneWindowManager$5;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V +HPLcom/android/server/policy/PhoneWindowManager$PolicyHandler;->handleMessage(Landroid/os/Message;)V +HPLcom/android/server/policy/PhoneWindowManager;->finishedGoingToSleep(II)V HPLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z -HSPLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V -HSPLcom/android/server/policy/PhoneWindowManager;->init(Lcom/android/server/policy/PhoneWindowManager$Injector;)V -HSPLcom/android/server/policy/PhoneWindowManager;->initKeyCombinationRules()V -HSPLcom/android/server/policy/PhoneWindowManager;->initSingleKeyGestureRules()V -HSPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V -HSPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V -HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z+]Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager; -HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z+]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; +HPLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I +HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z +HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z+]Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager; +HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardSecure(I)Z HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowing()Z+]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z+]Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; -HPLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z+]Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager; -HSPLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V -HSPLcom/android/server/policy/PhoneWindowManager;->readLidState()V +HPLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HSPLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z+]Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager; +HPLcom/android/server/policy/PhoneWindowManager;->okToAnimate(Z)Z +HPLcom/android/server/policy/PhoneWindowManager;->onDefaultDisplayFocusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V +HSPLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(ILcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V HSPLcom/android/server/policy/PhoneWindowManager;->setAllowLockscreenWhenOn(IZ)V -HSPLcom/android/server/policy/PhoneWindowManager;->setDefaultDisplay(Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;)V -HSPLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V -HSPLcom/android/server/policy/PhoneWindowManager;->setTopFocusedDisplay(I)V HSPLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z -HSPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V+]Landroid/os/Handler;Lcom/android/server/policy/PhoneWindowManager$PolicyHandler;]Ljava/util/HashSet;Ljava/util/HashSet;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; -HSPLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V -HSPLcom/android/server/policy/PhoneWindowManager;->updateSettings()V +HSPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V+]Ljava/util/HashSet;Ljava/util/HashSet;]Landroid/os/Handler;Lcom/android/server/policy/PhoneWindowManager$PolicyHandler;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; HSPLcom/android/server/policy/PhoneWindowManager;->updateWakeGestureListenerLp()V -HSPLcom/android/server/policy/SideFpsEventHandler$1;-><init>(Lcom/android/server/policy/SideFpsEventHandler;)V -HSPLcom/android/server/policy/SideFpsEventHandler;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/PowerManager;)V -HSPLcom/android/server/policy/SideFpsEventHandler;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/PowerManager;Lcom/android/server/policy/SideFpsEventHandler$DialogProvider;)V -HSPLcom/android/server/policy/SingleKeyGestureDetector$KeyHandler;-><init>(Lcom/android/server/policy/SingleKeyGestureDetector;)V -HSPLcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule;-><init>(I)V -HSPLcom/android/server/policy/SingleKeyGestureDetector;-><clinit>()V -HSPLcom/android/server/policy/SingleKeyGestureDetector;-><init>()V -HSPLcom/android/server/policy/SingleKeyGestureDetector;->addRule(Lcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule;)V -HSPLcom/android/server/policy/SingleKeyGestureDetector;->get(Landroid/content/Context;)Lcom/android/server/policy/SingleKeyGestureDetector; +HPLcom/android/server/policy/PhoneWindowManager;->userActivity(II)V+]Landroid/os/Handler;Lcom/android/server/policy/PhoneWindowManager$PolicyHandler;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HPLcom/android/server/policy/SingleKeyGestureDetector;->interceptKeyDown(Landroid/view/KeyEvent;)V +HPLcom/android/server/policy/SingleKeyGestureDetector;->interceptKeyUp(Landroid/view/KeyEvent;)Z HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;-><init>(ZIZZZZZZ)V HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy$3;-><init>(ZI)V HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;-><init>()V @@ -10497,21 +8933,11 @@ HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->forPermission(Lan HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getMinimumTargetSDK(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/os/UserHandle;)I+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasUidRequestedLegacyExternalStorage(ILandroid/content/Context;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasWriteMediaStorageGrantedForUid(ILandroid/content/Context;)Z+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; -HSPLcom/android/server/policy/WakeGestureListener$1;-><init>(Lcom/android/server/policy/WakeGestureListener;)V -HSPLcom/android/server/policy/WakeGestureListener$2;-><init>(Lcom/android/server/policy/WakeGestureListener;)V -HSPLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V -HSPLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V -HSPLcom/android/server/policy/WakeGestureListener;->isSupported()Z -HSPLcom/android/server/policy/WindowManagerPolicy;->getMaxWindowLayer()I -HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I +HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; -HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZZ)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; -HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I -HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)V -HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;-><init>()V -HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;->reset()V -HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;-><init>(Landroid/content/Context;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V -HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z+]Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;Lcom/android/server/policy/keyguard/KeyguardServiceWrapper; +HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZZ)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/WindowState; +HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isOccluded()Z HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isSecure(I)Z HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z+]Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;Lcom/android/server/policy/keyguard/KeyguardServiceWrapper; @@ -10522,12 +8948,12 @@ HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isInputRestricted() HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isSecure(I)Z HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z HPLcom/android/server/policy/role/RoleServicePlatformHelperImpl$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/policy/role/RoleServicePlatformHelperImpl;-><clinit>()V -HSPLcom/android/server/policy/role/RoleServicePlatformHelperImpl;-><init>(Landroid/content/Context;)V HPLcom/android/server/policy/role/RoleServicePlatformHelperImpl;->lambda$computePackageStateHash$0(Ljava/io/DataOutputStream;Landroid/content/pm/PackageManagerInternal;ILcom/android/server/pm/pkg/AndroidPackage;)V+]Landroid/content/pm/Signature;Landroid/content/pm/Signature;]Ljava/io/DataOutputStream;Ljava/io/DataOutputStream;]Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/power/AmbientDisplaySuppressionController;-><init>(Lcom/android/server/power/AmbientDisplaySuppressionController$AmbientDisplaySuppressionChangedCallback;)V -HPLcom/android/server/power/AmbientDisplaySuppressionController;->isSuppressed()Z+]Ljava/util/Set;Ljava/util/Collections$SynchronizedSet; HSPLcom/android/server/power/AttentionDetector;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V +HSPLcom/android/server/power/AttentionDetector;->cancelCurrentRequestIfAny()V +HSPLcom/android/server/power/AttentionDetector;->onUserActivity(JI)I +HSPLcom/android/server/power/AttentionDetector;->resetConsecutiveExtensionCount()V HSPLcom/android/server/power/AttentionDetector;->updateUserActivity(JJ)J+]Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/wm/WindowManagerService$LocalService;]Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector; HSPLcom/android/server/power/FaceDownDetector$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/FaceDownDetector;)V HPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;->-$$Nest$fgetmMovingAverage(Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;)F @@ -10537,7 +8963,9 @@ HPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;->updateMo 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 HSPLcom/android/server/power/FaceDownDetector;-><init>(Ljava/util/function/Consumer;)V -HPLcom/android/server/power/FaceDownDetector;->onSensorChanged(Landroid/hardware/SensorEvent;)V+]Ljava/time/Duration;Ljava/time/Duration;]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage; +HPLcom/android/server/power/FaceDownDetector;->onSensorChanged(Landroid/hardware/SensorEvent;)V+]Ljava/time/Duration;Ljava/time/Duration;]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;Lcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;]Lcom/android/server/power/FaceDownDetector;Lcom/android/server/power/FaceDownDetector; +HSPLcom/android/server/power/FaceDownDetector;->updateActiveState()V +HPLcom/android/server/power/FaceDownDetector;->userActivity(I)V HSPLcom/android/server/power/InattentiveSleepWarningController;-><init>()V HSPLcom/android/server/power/InattentiveSleepWarningController;->isShown()Z HSPLcom/android/server/power/LowPowerStandbyController$1;-><init>(Lcom/android/server/power/LowPowerStandbyController;)V @@ -10557,14 +8985,24 @@ HSPLcom/android/server/power/LowPowerStandbyControllerInternal;-><init>()V HPLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/os/Handler;Lcom/android/server/power/Notifier$NotifierHandler; HPLcom/android/server/power/Notifier;->-$$Nest$mscreenPolicyChanging(Lcom/android/server/power/Notifier;II)V HSPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I +HPLcom/android/server/power/Notifier;->handleEarlyInteractiveChange(I)V +HPLcom/android/server/power/Notifier;->handleLateGlobalInteractiveChange()V +HPLcom/android/server/power/Notifier;->handleLateInteractiveChange(I)V +HPLcom/android/server/power/Notifier;->lambda$handleLateGlobalInteractiveChange$4(I)V HSPLcom/android/server/power/Notifier;->notifyWakeLockListener(Landroid/os/IWakeLockCallback;Ljava/lang/String;Z)V +HPLcom/android/server/power/Notifier;->onGlobalWakefulnessChangeStarted(IIJ)V +HPLcom/android/server/power/Notifier;->onGroupWakefulnessChangeStarted(IIIJ)V HSPLcom/android/server/power/Notifier;->onScreenPolicyUpdate(II)V+]Landroid/os/Handler;Lcom/android/server/power/Notifier$NotifierHandler;]Landroid/os/Message;Landroid/os/Message; HSPLcom/android/server/power/Notifier;->onUserActivity(III)V+]Landroid/os/Handler;Lcom/android/server/power/Notifier$NotifierHandler;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService; HSPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/power/WakeLockLog;Lcom/android/server/power/WakeLockLog;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; 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+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService; HSPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;Landroid/os/IWakeLockCallback;)V+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/power/WakeLockLog;Lcom/android/server/power/WakeLockLog;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; +HPLcom/android/server/power/Notifier;->onWakefulnessChangeFinished()V HPLcom/android/server/power/Notifier;->screenPolicyChanging(II)V +HPLcom/android/server/power/Notifier;->sendNextBroadcast()V HPLcom/android/server/power/Notifier;->sendUserActivity(II)V+]Lcom/android/server/input/InputManagerInternal;Lcom/android/server/input/InputManagerService$LocalService;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/power/ScreenUndimDetector;Lcom/android/server/power/ScreenUndimDetector;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/telephony/TelephonyManager;Landroid/telephony/TelephonyManager;]Lcom/android/server/power/FaceDownDetector;Lcom/android/server/power/FaceDownDetector; +HPLcom/android/server/power/Notifier;->updatePendingBroadcastLocked()V +HPLcom/android/server/power/PowerGroup;->dozeLocked(JII)Z HSPLcom/android/server/power/PowerGroup;->getDesiredScreenPolicyLocked(ZZZZ)I+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup; HSPLcom/android/server/power/PowerGroup;->getGroupId()I HSPLcom/android/server/power/PowerGroup;->getLastUserActivityTimeLocked()J @@ -10578,16 +9016,19 @@ HSPLcom/android/server/power/PowerGroup;->isPoweringOnLocked()Z HSPLcom/android/server/power/PowerGroup;->isReadyLocked()Z HSPLcom/android/server/power/PowerGroup;->isSandmanSummonedLocked()Z HSPLcom/android/server/power/PowerGroup;->needSuspendBlockerLocked(ZZ)Z +HSPLcom/android/server/power/PowerGroup;->setLastUserActivityTimeLocked(JI)V HSPLcom/android/server/power/PowerGroup;->setReadyLocked(Z)Z HSPLcom/android/server/power/PowerGroup;->setUserActivitySummaryLocked(I)V HSPLcom/android/server/power/PowerGroup;->supportsSandmanLocked()Z HSPLcom/android/server/power/PowerGroup;->updateLocked(FZZIFZLandroid/os/PowerSaveState;ZZZZZ)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService; +HSPLcom/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 HSPLcom/android/server/power/PowerManagerService$1;-><init>(Lcom/android/server/power/PowerManagerService;)V HSPLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker(Ljava/lang/String;)V +HSPLcom/android/server/power/PowerManagerService$1;->onStateChanged()V +HSPLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker(Ljava/lang/String;)V HSPLcom/android/server/power/PowerManagerService$4;-><init>(Lcom/android/server/power/PowerManagerService;)V -HPLcom/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 HSPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;ILandroid/os/IWakeLockCallback;)V+]Landroid/os/WorkSource;Landroid/os/WorkSource;]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; @@ -10595,7 +9036,10 @@ HSPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive() HPLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z HSPLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z HSPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V+]Landroid/content/Context;Landroid/app/ContextImpl; +HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V+]Landroid/os/WorkSource;Landroid/os/WorkSource;]Landroid/content/Context;Landroid/app/ContextImpl; +HSPLcom/android/server/power/PowerManagerService$BinderService;->userActivity(IJII)V +HPLcom/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 HSPLcom/android/server/power/PowerManagerService$Injector$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/power/PowerManagerService$Injector$1;-><init>(Lcom/android/server/power/PowerManagerService$Injector;)V @@ -10620,7 +9064,7 @@ HSPLcom/android/server/power/PowerManagerService$Injector;->invalidateIsInteract HSPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/android/server/power/PowerManagerService;)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 +HSPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleTempWhitelist([I)V HSPLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(F)V HSPLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V HSPLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V @@ -10631,9 +9075,11 @@ HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeAcquireSu HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeInit(Lcom/android/server/power/PowerManagerService;)V HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeReleaseSuspendBlocker(Ljava/lang/String;)V HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetAutoSuspend(Z)V +HSPLcom/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 +HPLcom/android/server/power/PowerManagerService$PowerGroupWakefulnessChangeListener;->onWakefulnessChangedLocked(IIJIIILjava/lang/String;Ljava/lang/String;)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 HSPLcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;->handleMessage(Landroid/os/Message;)Z+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; @@ -10643,7 +9089,6 @@ HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire(Lj HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->recordReferenceLocked(Ljava/lang/String;)V HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release(Ljava/lang/String;)V+]Lcom/android/server/power/PowerManagerService$NativeWrapper;Lcom/android/server/power/PowerManagerService$NativeWrapper;]Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl;Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl; HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->removeReferenceLocked(Ljava/lang/String;)V -HSPLcom/android/server/power/PowerManagerService$UidState;-><init>(I)V HSPLcom/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+]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock; HSPLcom/android/server/power/PowerManagerService$WakeLock;->getPowerGroupId()Ljava/lang/Integer;+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService; HPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameProperties(ILjava/lang/String;Landroid/os/WorkSource;IILandroid/os/IWakeLockCallback;)Z @@ -10653,6 +9098,8 @@ HSPLcom/android/server/power/PowerManagerService$WakeLock;->setDisabled(Z)Z HSPLcom/android/server/power/PowerManagerService$WakeLock;->unlinkToDeath()V+]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/os/Binder; HPLcom/android/server/power/PowerManagerService$WakeLock;->updateWorkSource(Landroid/os/WorkSource;)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmContext(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context; +HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmDisplaySuspendBlocker(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker; +HSPLcom/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; HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmSuspendBlockers(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList; HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmSystemReady(Lcom/android/server/power/PowerManagerService;)Z @@ -10661,6 +9108,7 @@ HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleSandman(Lcom/a HSPLcom/android/server/power/PowerManagerService;->-$$Nest$misGloballyInteractiveInternal(Lcom/android/server/power/PowerManagerService;)Z HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mnativeInit(Lcom/android/server/power/PowerManagerService;)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mreleaseWakeLockInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V +HSPLcom/android/server/power/PowerManagerService;->-$$Nest$msetPowerModeInternal(Lcom/android/server/power/PowerManagerService;IZ)Z HSPLcom/android/server/power/PowerManagerService;->-$$Nest$msetScreenBrightnessOverrideFromWindowManagerInternal(Lcom/android/server/power/PowerManagerService;F)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$msetUserActivityTimeoutOverrideFromWindowManagerInternal(Lcom/android/server/power/PowerManagerService;J)V HPLcom/android/server/power/PowerManagerService;->-$$Nest$mupdateWakeLockWorkSourceInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V @@ -10668,16 +9116,16 @@ HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smcopyWorkSource(Land HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeAcquireSuspendBlocker(Ljava/lang/String;)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeReleaseSuspendBlocker(Ljava/lang/String;)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$smnativeSetAutoSuspend(Z)V +HSPLcom/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 HSPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILandroid/os/IWakeLockCallback;)V+]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummary(II)I -HSPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; +HSPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2;]Landroid/os/WorkSource;Landroid/os/WorkSource; HSPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnReleaseLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V HSPLcom/android/server/power/PowerManagerService;->areAllPowerGroupsReadyLocked()Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/power/PowerManagerService;->canDreamLocked(Lcom/android/server/power/PowerGroup;)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Lcom/android/server/power/AmbientDisplaySuppressionController;Lcom/android/server/power/AmbientDisplaySuppressionController;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HPLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/power/PowerManagerService;->copyWorkSource(Landroid/os/WorkSource;)Landroid/os/WorkSource; HSPLcom/android/server/power/PowerManagerService;->enqueueNotifyLongMsgLocked(J)V @@ -10701,6 +9149,7 @@ HSPLcom/android/server/power/PowerManagerService;->isItBedTimeYetLocked(Lcom/and HPLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z HSPLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z HSPLcom/android/server/power/PowerManagerService;->maybeHideInattentiveSleepWarningLocked(JJ)Z+]Lcom/android/server/power/InattentiveSleepWarningController;Lcom/android/server/power/InattentiveSleepWarningController;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; +HSPLcom/android/server/power/PowerManagerService;->maybeUpdateForegroundProfileLastActivityLocked(J)V HSPLcom/android/server/power/PowerManagerService;->needSuspendBlockerLocked()Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; 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+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; @@ -10713,11 +9162,14 @@ HSPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/and HSPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; HSPLcom/android/server/power/PowerManagerService;->scheduleSandmanLocked()V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/os/Message;Landroid/os/Message;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; HSPLcom/android/server/power/PowerManagerService;->scheduleUserInactivityTimeout(J)V -HPLcom/android/server/power/PowerManagerService;->setDeviceIdleTempWhitelistInternal([I)V +HSPLcom/android/server/power/PowerManagerService;->setDeviceIdleTempWhitelistInternal([I)V +HPLcom/android/server/power/PowerManagerService;->setDozeOverrideFromDreamManagerInternal(II)V HSPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/power/PowerManagerService$NativeWrapper;Lcom/android/server/power/PowerManagerService$NativeWrapper; HSPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/power/PowerManagerService$NativeWrapper;Lcom/android/server/power/PowerManagerService$NativeWrapper; -HSPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(F)V -HSPLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V +HSPLcom/android/server/power/PowerManagerService;->setPowerBoostInternal(II)V+]Lcom/android/server/power/PowerManagerService$NativeWrapper;Lcom/android/server/power/PowerManagerService$NativeWrapper; +HSPLcom/android/server/power/PowerManagerService;->setPowerModeInternal(IZ)Z +HSPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(F)V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; +HSPLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z+]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock; HSPLcom/android/server/power/PowerManagerService;->shouldBoostScreenBrightness()Z HSPLcom/android/server/power/PowerManagerService;->shouldUseProximitySensorLocked()Z @@ -10727,7 +9179,7 @@ HSPLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V HSPLcom/android/server/power/PowerManagerService;->updateAttentiveStateLocked(JI)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V HPLcom/android/server/power/PowerManagerService;->updateGlobalWakefulnessLocked(JIIILjava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Lcom/android/server/power/batterysaver/BatterySaverStateMachine;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/power/WirelessChargerDetector;Lcom/android/server/power/WirelessChargerDetector;]Landroid/os/BatteryManagerInternal;Lcom/android/server/BatteryService$LocalService;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier; +HSPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Lcom/android/server/power/batterysaver/BatterySaverStateMachine;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/power/WirelessChargerDetector;Lcom/android/server/power/WirelessChargerDetector;]Landroid/os/BatteryManagerInternal;Lcom/android/server/BatteryService$LocalService;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; HSPLcom/android/server/power/PowerManagerService;->updatePowerGroupsLocked(I)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/util/LatencyTracker;Lcom/android/internal/util/LatencyTracker;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySaverPolicy;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; HSPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; HSPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -10736,41 +9188,34 @@ HSPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V HSPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Lcom/android/server/power/SuspendBlocker;Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; -HPLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V +HPLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V+]Lcom/android/server/power/PowerManagerService$WakeLock;Lcom/android/server/power/PowerManagerService$WakeLock;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Lcom/android/server/power/PowerManagerService$Clock;Lcom/android/server/power/PowerManagerService$Injector$2; +HSPLcom/android/server/power/PowerManagerService;->userActivityInternal(IJIII)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService; HSPLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(Lcom/android/server/power/PowerGroup;JIII)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerShellCommand;-><init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService$BinderService;)V HSPLcom/android/server/power/ScreenUndimDetector$InternalClock;-><init>()V HSPLcom/android/server/power/ScreenUndimDetector;-><clinit>()V HSPLcom/android/server/power/ScreenUndimDetector;-><init>()V HPLcom/android/server/power/ScreenUndimDetector;->recordScreenPolicy(II)V -HSPLcom/android/server/power/ThermalManagerService$$ExternalSyntheticLambda1;->run()V +HPLcom/android/server/power/ScreenUndimDetector;->userActivity(I)V HSPLcom/android/server/power/ThermalManagerService$1;-><init>(Lcom/android/server/power/ThermalManagerService;)V -HPLcom/android/server/power/ThermalManagerService$1;->getCurrentCoolingDevices()[Landroid/os/CoolingDevice; HPLcom/android/server/power/ThermalManagerService$1;->getCurrentTemperatures()[Landroid/os/Temperature; HSPLcom/android/server/power/ThermalManagerService$1;->getCurrentThermalStatus()I -HSPLcom/android/server/power/ThermalManagerService$1;->registerThermalStatusListener(Landroid/os/IThermalStatusListener;)Z HSPLcom/android/server/power/ThermalManagerService$TemperatureWatcher;-><init>(Lcom/android/server/power/ThermalManagerService;)V -HSPLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->getCurrentTemperatures(ZI)Ljava/util/List; -HSPLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmLock(Lcom/android/server/power/ThermalManagerService;)Ljava/lang/Object; -HSPLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmStatus(Lcom/android/server/power/ThermalManagerService;)I -HSPLcom/android/server/power/ThermalManagerService;->-$$Nest$fgetmThermalStatusListeners(Lcom/android/server/power/ThermalManagerService;)Landroid/os/RemoteCallbackList; -HSPLcom/android/server/power/ThermalManagerService;->-$$Nest$mpostStatusListener(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V +HSPLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->getCurrentTemperatures(ZI)Ljava/util/List;+]Landroid/hardware/thermal/IThermal;Landroid/hardware/thermal/IThermal$Stub$Proxy;]Ljava/util/List;Ljava/util/ArrayList; 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 -HSPLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0(Landroid/os/IThermalStatusListener;)V -HSPLcom/android/server/power/ThermalManagerService;->notifyEventListenersLocked(Landroid/os/Temperature;)V HSPLcom/android/server/power/ThermalManagerService;->onBootPhase(I)V HSPLcom/android/server/power/ThermalManagerService;->onStart()V -HSPLcom/android/server/power/ThermalManagerService;->postStatusListener(Landroid/os/IThermalStatusListener;)V HPLcom/android/server/power/WakeLockLog$EntryByteTranslator;->fromBytes([BJLcom/android/server/power/WakeLockLog$LogEntry;)Lcom/android/server/power/WakeLockLog$LogEntry;+]Lcom/android/server/power/WakeLockLog$LogEntry;Lcom/android/server/power/WakeLockLog$LogEntry;]Lcom/android/server/power/WakeLockLog$TagDatabase;Lcom/android/server/power/WakeLockLog$TagDatabase; HSPLcom/android/server/power/WakeLockLog$EntryByteTranslator;->toBytes(Lcom/android/server/power/WakeLockLog$LogEntry;[BJ)I+]Lcom/android/server/power/WakeLockLog$TagDatabase;Lcom/android/server/power/WakeLockLog$TagDatabase;]Lcom/android/server/power/WakeLockLog$EntryByteTranslator;Lcom/android/server/power/WakeLockLog$EntryByteTranslator; HSPLcom/android/server/power/WakeLockLog$Injector;->currentTimeMillis()J HSPLcom/android/server/power/WakeLockLog$LogEntry;-><init>(JILcom/android/server/power/WakeLockLog$TagData;I)V+]Lcom/android/server/power/WakeLockLog$LogEntry;Lcom/android/server/power/WakeLockLog$LogEntry; HSPLcom/android/server/power/WakeLockLog$LogEntry;->set(JILcom/android/server/power/WakeLockLog$TagData;I)V +HPLcom/android/server/power/WakeLockLog$LogEntry;->toStringInternal(Ljava/text/SimpleDateFormat;)Ljava/lang/String; HSPLcom/android/server/power/WakeLockLog$TagData;-><init>(Ljava/lang/String;I)V HSPLcom/android/server/power/WakeLockLog$TagData;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/power/WakeLockLog$TagDatabase;->findOrCreateTag(Ljava/lang/String;IZ)Lcom/android/server/power/WakeLockLog$TagData;+]Lcom/android/server/power/WakeLockLog$TagData;Lcom/android/server/power/WakeLockLog$TagData;]Lcom/android/server/power/WakeLockLog$TagDatabase;Lcom/android/server/power/WakeLockLog$TagDatabase;]Lcom/android/server/power/WakeLockLog$TagDatabase$Callback;Lcom/android/server/power/WakeLockLog$TheLog$1; @@ -10793,7 +9238,6 @@ HSPLcom/android/server/power/WakeLockLog;->translateFlagsFromPowerManager(I)I HSPLcom/android/server/power/batterysaver/BatterySaverController$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;)V HPLcom/android/server/power/batterysaver/BatterySaverController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;Landroid/os/Looper;)V -HPLcom/android/server/power/batterysaver/BatterySaverController;->-$$Nest$fgetmLock(Lcom/android/server/power/batterysaver/BatterySaverController;)Ljava/lang/Object; HPLcom/android/server/power/batterysaver/BatterySaverController;->-$$Nest$fputmIsPluggedIn(Lcom/android/server/power/batterysaver/BatterySaverController;Z)V HSPLcom/android/server/power/batterysaver/BatterySaverController;-><init>(Ljava/lang/Object;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySavingStats;)V HSPLcom/android/server/power/batterysaver/BatterySaverController;->addListener(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V @@ -10804,6 +9248,7 @@ HSPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z HPLcom/android/server/power/batterysaver/BatterySaverController;->updateBatterySavingStats()V HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/batterysaver/BatterySaverPolicy;)V HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;-><init>(FZZZZZZZZZZZZZZZII)V +HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$PolicyBoolean;-><init>(Lcom/android/server/power/batterysaver/BatterySaverPolicy;Ljava/lang/String;)V HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$PolicyBoolean;-><init>(Lcom/android/server/power/batterysaver/BatterySaverPolicy;Ljava/lang/String;Lcom/android/server/power/batterysaver/BatterySaverPolicy$PolicyBoolean-IA;)V HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;-><clinit>()V @@ -10811,6 +9256,7 @@ HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;-><init>(Ljava/lang HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->addListener(Lcom/android/server/power/batterysaver/BatterySaverPolicy$BatterySaverPolicyListener;)V HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getBatterySaverPolicy(I)Landroid/os/PowerSaveState;+]Landroid/os/PowerSaveState$Builder;Landroid/os/PowerSaveState$Builder;]Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySaverPolicy; HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getCurrentPolicyLocked()Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy; +HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->updatePolicyDependenciesLocked()V HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine$$ExternalSyntheticLambda4;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Landroid/os/Handler;)V HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;-><clinit>()V @@ -10818,6 +9264,7 @@ HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;-><init>(Ljav HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setBatteryStatus(ZIZ)V HSPLcom/android/server/power/batterysaver/BatterySavingStats;-><init>(Ljava/lang/Object;)V HPLcom/android/server/power/batterysaver/BatterySavingStats;->endLastStateLocked(JII)V +HPLcom/android/server/power/batterysaver/BatterySavingStats;->startNewStateLocked(IJII)V HPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionState(IIII)V HPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionStateLocked(I)V HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;-><init>(Lcom/android/server/power/hint/HintManagerService;II[ILandroid/os/IBinder;JJ)V @@ -10834,6 +9281,7 @@ HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSynt HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda0;->run()V HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;-><init>(Lcom/android/server/power/hint/HintManagerService;)V HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->isUidForeground(I)Z+]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->lambda$onUidGone$0(I)V HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->lambda$onUidStateChanged$1(II)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->onUidStateChanged(IIJI)V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;-><init>()V @@ -10848,16 +9296,12 @@ HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/C HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/hint/HintManagerService$Injector;)V HSPLcom/android/server/power/hint/HintManagerService;->onBootPhase(I)V HSPLcom/android/server/power/hint/HintManagerService;->onStart()V -HPLcom/android/server/power/stats/AmbientDisplayPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V HPLcom/android/server/power/stats/AudioPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/AudioPowerCalculator;Lcom/android/server/power/stats/AudioPowerCalculator;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/AudioPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Lcom/android/server/power/stats/AudioPowerCalculator$PowerAndDuration;Landroid/os/BatteryStats$Uid;J)V+]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/UsageBasedPowerEstimator;Lcom/android/server/power/stats/UsageBasedPowerEstimator;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/BatteryChargeCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda1;->run()V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda2;->run()V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda3;->run()V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda6;->onWifiActivityEnergyInfo(Landroid/os/connectivity/WifiActivityEnergyInfo;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;I)V @@ -10866,10 +9310,7 @@ 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 HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$3;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V -HPLcom/android/server/power/stats/BatteryExternalStatsWorker$4;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Landroid/os/SynchronousResultReceiver;)V HPLcom/android/server/power/stats/BatteryExternalStatsWorker$4;->onBluetoothActivityEnergyInfoAvailable(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$5;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;Ljava/util/concurrent/CompletableFuture;)V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$5;->onError(Landroid/telephony/TelephonyManager$ModemActivityInfoException;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;-><init>(Landroid/content/Context;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$Injector;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->-$$Nest$fgetmCurrentReason(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)Ljava/lang/String; @@ -10898,16 +9339,15 @@ HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->cancelSyncDueToB HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->cancelSyncDueToProcessStateChange()V HPLcom/android/server/power/stats/BatteryExternalStatsWorker;->extractDeltaLocked(Landroid/os/connectivity/WifiActivityEnergyInfo;)Landroid/os/connectivity/WifiActivityEnergyInfo; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->getEnergyConsumersLocked(I)Ljava/util/concurrent/CompletableFuture; +HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->getEnergyConsumptionData([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; -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2()V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$3()V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->lambda$updateExternalStatsLocked$8(Landroid/os/SynchronousResultReceiver;Landroid/os/connectivity/WifiActivityEnergyInfo;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;+]Lcom/android/server/power/stats/BatteryExternalStatsWorker;Lcom/android/server/power/stats/BatteryExternalStatsWorker; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;+]Ljava/util/concurrent/Future;Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;]Ljava/util/concurrent/ScheduledExecutorService;Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->scheduleSyncDueToProcessStateChange(IJ)V+]Lcom/android/server/power/stats/BatteryExternalStatsWorker;Lcom/android/server/power/stats/BatteryExternalStatsWorker; +HSPLcom/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; HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->updateExternalStatsLocked(Ljava/lang/String;IZZI[IZ)V @@ -10935,6 +9375,8 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;- HPLcom/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 HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;I)V +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->getOrCreateTxTimeCounters()[Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; 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; @@ -10944,7 +9386,9 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImp 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 +HPLcom/android/server/power/stats/BatteryStatsImpl$Counter;->stepAtomic()V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HSPLcom/android/server/power/stats/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;]Landroid/os/Parcel;Landroid/os/Parcel; +HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;-><init>(Lcom/android/server/power/stats/CpuPowerCalculator;I)V HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;->addCpuClusterDurationsMs(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;[J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/CpuPowerCalculator;Lcom/android/server/power/stats/CpuPowerCalculator; HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;->addCpuClusterSpeedDurationsMs(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;IIJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/CpuPowerCalculator;Lcom/android/server/power/stats/CpuPowerCalculator; HPLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;->getOrCreateUidCpuClusterCharges(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)[D+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; @@ -10959,20 +9403,20 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->stopRunningLocke HSPLcom/android/server/power/stats/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer; 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+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; -HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J +HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V -HPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->reset(ZJ)Z +HPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->reset(ZJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/os/Parcel;Landroid/os/Parcel; 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;->addCpuStats(IIIIIIII)V HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->clear()V -HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->finishAddingCpuLocked()V -HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->getHistoryStepDetails()Landroid/os/BatteryStats$HistoryStepDetails;+]Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/server/am/BatteryStatsService;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculatorImpl;->getHistoryStepDetails()Landroid/os/BatteryStats$HistoryStepDetails;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/server/am/BatteryStatsService; HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V @@ -10984,12 +9428,13 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->- HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->-$$Nest$mwriteSummaryToParcelLocked(Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray; HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStarted(JJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)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+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLcom/android/server/power/stats/BatteryStatsImpl$MyHandler;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Landroid/os/Looper;)V -HSPLcom/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 HPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->cleanup(J)V @@ -10998,31 +9443,34 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->startObje HSPLcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;J)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;-><init>(ILcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->getFrequencyRangeCount()I -HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->getRxDurationCounter(IZ)Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->getTxDurationCounter(IIZ)Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats; HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->readSummaryFromParcel(Landroid/os/Parcel;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->writeSummaryToParcel(Landroid/os/Parcel;J)V HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V +HPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->add(JIJ)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;->onTimeStarted(JJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->onTimeStopped(JJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->setUpdateVersion(I)V HSPLcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;->update(JIJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer; 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+]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->detach()V +HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->detach()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->onTimeStopped(JJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;)J+]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->reset(ZJ)Z +HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->setMark(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DurationTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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+]Ljava/util/Collection;Ljava/util/HashSet;,Ljava/util/ArrayList; -HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->computeUptime(JI)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->getRealtime(J)J HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeBase;->getUptime(J)J @@ -11038,27 +9486,32 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->getCounter()Lcom/android/internal/os/LongArrayMultiStateCounter; HPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->getCountsLocked([JI)Z+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->getStateCount()I+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->onTimeStarted(JJJ)V+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->onTimeStopped(JJJ)V+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; 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 +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->writeToParcel(Landroid/os/Parcel;)V+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$mincrement(Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$Nest$msetState(Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;IJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; HSPLcom/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+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; 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; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/LongMultiStateCounter;J)V HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getCountForProcessState(I)J+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; -HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getStateCount()I+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getCountLocked(I)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getStateCount()I HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->getTotalCountLocked()J+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; HPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->increment(JJ)V+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; 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; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->setState(IJ)V+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; -HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->update(JJ)J +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->update(JJ)J+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->writeToParcel(Landroid/os/Parcel;)V+]Lcom/android/internal/os/LongMultiStateCounter;Lcom/android/internal/os/LongMultiStateCounter; -HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/Clock;ILcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V -HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->detach()V -HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->getCountLocked(I)I+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/Clock;ILcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; +HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->detach()V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; +HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->getCountLocked(I)I+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;megamorphic_types HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;megamorphic_types HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->onTimeStarted(JJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->onTimeStopped(JJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->reset(ZJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;megamorphic_types]Landroid/os/Parcel;Landroid/os/Parcel; @@ -11080,14 +9533,15 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/androi 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$Proc;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Ljava/lang/String;)V HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->readExcessivePowerFromParcelLocked(Landroid/os/Parcel;)V -HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(Landroid/os/Parcel;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; 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 HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/server/power/stats/BatteryStatsImpl$Timer; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;->reset(J)Z -HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fgetmBinderCallStats(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)Landroid/util/ArraySet; 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; @@ -11096,7 +9550,8 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fputmUidEnergy HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$fputmWifiRadioApWakeupCount(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetCpuActiveTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetProcStateScreenOffTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; -HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetProcStateTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mgetProcStateTimeCounter(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->-$$Nest$mmarkProcessForegroundTimeUs(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;JZ)J 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; @@ -11115,13 +9570,15 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer() HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Lcom/android/server/power/stats/BatteryStatsImpl$Timer; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCameraEnergyConsumptionUC()J -HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Lcom/android/server/power/stats/BatteryStatsImpl$Timer; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuActiveTime()J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; -HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuActiveTime(I)J HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuActiveTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;+]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuClusterTimes()[J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuEnergyConsumptionUC()J HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuEnergyConsumptionUC(I)J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuFreqTimes(I)[J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCpuFreqTimes([JI)Z HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCustomEnergyConsumerBatteryConsumptionUC()[J HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getEnergyConsumptionUC(I)J+]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getEnergyConsumptionUC(II)J+]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats; @@ -11133,15 +9590,18 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getGnssEnergyConsumptio HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioActiveTime(I)J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioActiveTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;+]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioActiveTimeInProcessState(I)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioEnergyConsumptionUC()J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioEnergyConsumptionUC(I)J+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getOrCreateEnergyConsumerStatsIfSupportedLocked()Lcom/android/internal/power/EnergyConsumerStats; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getOrCreateEnergyConsumerStatsLocked()Lcom/android/internal/power/EnergyConsumerStats; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcStateScreenOffTimeCounter(J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcStateTimeCounter(J)Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J+]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; -HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProportionalSystemServiceUsage()D HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getScreenOnEnergyConsumptionUC()J HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSensorStats()Landroid/util/SparseArray; @@ -11152,15 +9612,16 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getUid()I HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Lcom/android/server/power/stats/BatteryStatsImpl$Timer; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap; 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()Landroid/os/BatteryStats$ControllerActivityCounter;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiControllerActivity()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->initUserActivityLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->isInBackground()Z HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->makeProcessState(ILandroid/os/Parcel;)V +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->markProcessForegroundTimeUs(JZ)J+]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->maybeScheduleExternalStatsSync(II)V+]Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;Lcom/android/server/power/stats/BatteryExternalStatsWorker; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteBinderCallStatsLocked(JLjava/util/Collection;)V+]Ljava/util/Collection;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteNetworkActivityLocked(IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartJobLocked(Ljava/lang/String;J)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V @@ -11168,12 +9629,13 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartWakeLocked(IL HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Counter;Lcom/android/server/power/stats/BatteryStatsImpl$Counter; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->nullIfAllZeros(Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;I)[J+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->readJobCompletionsFromParcelLocked(Landroid/os/Parcel;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->readJobSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->readSyncSummaryFromParcelLocked(Ljava/lang/String;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;->reset(JJI)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->reset(JJI)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Wakelock;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter; @@ -11182,18 +9644,14 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;-><init>()V HSPLcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;->exists(I)Z HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmAudioTurnedOnTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList; HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmBluetoothScanOnTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList; -HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmCallback(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback; HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmExternalSync(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync; -HSPLcom/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; -HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmPlatformIdleStateCallback(Lcom/android/server/power/stats/BatteryStatsImpl;)Lcom/android/server/power/stats/BatteryStatsImpl$PlatformIdleStateCallback; HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmSensorTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Landroid/util/SparseArray; HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmUidStats(Lcom/android/server/power/stats/BatteryStatsImpl;)Landroid/util/SparseArray; HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmVideoTurnedOnTimers(Lcom/android/server/power/stats/BatteryStatsImpl;)Ljava/util/ArrayList; 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; -HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mrequestImmediateCpuUpdate(Lcom/android/server/power/stats/BatteryStatsImpl;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$mtrackPerProcStateCpuTimes(Lcom/android/server/power/stats/BatteryStatsImpl;)Z HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$smdetachIfNotNull(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$smdetachIfNotNull([Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V @@ -11207,11 +9665,11 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->computeUptime(JI)J HSPLcom/android/server/power/stats/BatteryStatsImpl;->detachIfNotNull(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;megamorphic_types 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 +HPLcom/android/server/power/stats/BatteryStatsImpl;->distributeEnergyToUidsLocked(IJLandroid/util/SparseDoubleArray;DJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->fillLowPowerStats()V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->finishAddingCpuStatsLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->getAvailableUidStatsLocked(I)Lcom/android/server/power/stats/BatteryStatsImpl$Uid; -HSPLcom/android/server/power/stats/BatteryStatsImpl;->getBatteryConsumerProcessStateNames()[Ljava/lang/String; HSPLcom/android/server/power/stats/BatteryStatsImpl;->getBatteryUptimeLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; +HPLcom/android/server/power/stats/BatteryStatsImpl;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I HSPLcom/android/server/power/stats/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I @@ -11228,30 +9686,41 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->getStartClockTime()J HSPLcom/android/server/power/stats/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HSPLcom/android/server/power/stats/BatteryStatsImpl;->getUidStatsLocked(IJJ)Lcom/android/server/power/stats/BatteryStatsImpl$Uid;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/power/stats/BatteryStatsImpl;->getWakeupReasonTimerLocked(Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer; +HPLcom/android/server/power/stats/BatteryStatsImpl;->incrementPerRatDataLocked(Landroid/telephony/ModemActivityInfo;J)Lcom/android/server/power/stats/BatteryStatsImpl$RxTxConsumption;+]Lcom/android/server/power/stats/MobileRadioPowerCalculator;Lcom/android/server/power/stats/MobileRadioPowerCalculator;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/telephony/ModemActivityInfo;Landroid/telephony/ModemActivityInfo;]Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats; HSPLcom/android/server/power/stats/BatteryStatsImpl;->informThatAllExternalStatsAreFlushed()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->init(Lcom/android/internal/os/Clock;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->initDischarge(J)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->initTimersAndCounters()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->initTimes(JJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->isActiveRadioPowerState(I)Z -HSPLcom/android/server/power/stats/BatteryStatsImpl;->isCharging()Z HSPLcom/android/server/power/stats/BatteryStatsImpl;->isOnBattery()Z HSPLcom/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$8()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->lambda$readKernelUidCpuActiveTimesLocked$4(JJILjava/lang/Long;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;Lcom/android/server/am/BatteryStatsService$3;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long; HSPLcom/android/server/power/stats/BatteryStatsImpl;->lambda$readKernelUidCpuClusterTimesLocked$5(JJZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;I[J)V+]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;Lcom/android/server/am/BatteryStatsService$3;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounterArray; HSPLcom/android/server/power/stats/BatteryStatsImpl;->lambda$readKernelUidCpuTimesLocked$2(JJIZLandroid/util/SparseLongArray;I[J)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$UserInfoProvider;Lcom/android/server/am/BatteryStatsService$3;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; HSPLcom/android/server/power/stats/BatteryStatsImpl;->mapIsolatedUid(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/power/stats/BatteryStatsImpl;->mapUid(I)I+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; HSPLcom/android/server/power/stats/BatteryStatsImpl;->markPartialTimersAsEligible()V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteAlarmStartOrFinishLocked(ILjava/lang/String;Landroid/os/WorkSource;IJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->maybeUpdateOverallScreenBrightness(IJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteBinderCallStats(IJLjava/util/Collection;JJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteBluetoothScanResultsFromSourceLocked(Landroid/os/WorkSource;IJJ)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/WorkSource;Landroid/os/WorkSource; -HPLcom/android/server/power/stats/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;IJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteConnectivityChangedLocked(ILjava/lang/String;JJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteDeviceIdleModeLocked(ILjava/lang/String;IJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;IJJ)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 -HPLcom/android/server/power/stats/BatteryStatsImpl;->noteModemControllerActivity(Landroid/telephony/ModemActivityInfo;JJJLandroid/app/usage/NetworkStatsManager;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats;]Landroid/util/SparseDoubleArray;Landroid/util/SparseDoubleArray;]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Lcom/android/server/power/stats/MobileRadioPowerCalculator;Lcom/android/server/power/stats/MobileRadioPowerCalculator;]Lcom/android/internal/os/RailStats;Lcom/android/internal/os/RailStats;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Landroid/telephony/ModemActivityInfo;Landroid/telephony/ModemActivityInfo;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Ljava/util/Iterator;Landroid/net/NetworkStats$1;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteMobileRadioPowerStateLocked(IJIJJ)Z +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteModemControllerActivity(Landroid/telephony/ModemActivityInfo;JJJLandroid/app/usage/NetworkStatsManager;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats;]Landroid/util/SparseDoubleArray;Landroid/util/SparseDoubleArray;]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Lcom/android/server/power/stats/MobileRadioPowerCalculator;Lcom/android/server/power/stats/MobileRadioPowerCalculator;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/internal/os/RailStats;Lcom/android/internal/os/RailStats;]Landroid/telephony/ModemActivityInfo;Landroid/telephony/ModemActivityInfo;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Ljava/util/Iterator;Landroid/net/NetworkStats$1;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; +HPLcom/android/server/power/stats/BatteryStatsImpl;->notePhoneSignalStrengthLocked(ILandroid/util/SparseIntArray;JJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->notePhoneSignalStrengthLocked(Landroid/telephony/SignalStrength;JJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->notePowerSaveModeLockedInit(ZJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;IJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteProcessStartLocked(Ljava/lang/String;IJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteScreenBrightnessLocked(IIJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteScreenStateLocked(IIJJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartSensorLocked(IIJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/WorkSource;Landroid/os/WorkSource; @@ -11261,9 +9730,10 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeFromSourceLock HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory; HPLcom/android/server/power/stats/BatteryStatsImpl;->noteSyncFinishLocked(Ljava/lang/String;IJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteUidProcessStateLocked(IIJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteUserActivityLocked(IIJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiRadioApWakeupLocked(JJI)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiRadioPowerState(IJIJJ)V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->pullPendingStateUpdatesLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->readDailyItemTagDetailsLocked(Lcom/android/modules/utils/TypedXmlPullParser;Landroid/os/BatteryStats$DailyItem;ZLjava/lang/String;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->readDailyItemTagLocked(Lcom/android/modules/utils/TypedXmlPullParser;)V @@ -11271,28 +9741,27 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->readDailyItemsLocked(Lcom/ HSPLcom/android/server/power/stats/BatteryStatsImpl;->readDailyStatsLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->readKernelUidCpuActiveTimesLocked(Z)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->readKernelUidCpuClusterTimesLocked(ZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V+]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; HSPLcom/android/server/power/stats/BatteryStatsImpl;->readKernelUidCpuTimesLocked(Ljava/util/ArrayList;Landroid/util/SparseLongArray;Z)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 HSPLcom/android/server/power/stats/BatteryStatsImpl;->reportChangesToStatsLog(III)V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->requestImmediateCpuUpdate()V HPLcom/android/server/power/stats/BatteryStatsImpl;->requestWakelockCpuUpdate()V+]Lcom/android/server/power/stats/BatteryStatsImpl$ExternalStatsSync;Lcom/android/server/power/stats/BatteryExternalStatsWorker; HPLcom/android/server/power/stats/BatteryStatsImpl;->resetAllStatsLocked(JJI)V HPLcom/android/server/power/stats/BatteryStatsImpl;->resetIfNotNull(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;ZJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;megamorphic_types HSPLcom/android/server/power/stats/BatteryStatsImpl;->setBatteryResetListener(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryResetListener;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIIIJJJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->setCallback(Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;)V +HSPLcom/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 HSPLcom/android/server/power/stats/BatteryStatsImpl;->setRadioScanningTimeoutLocked(J)V -HSPLcom/android/server/power/stats/BatteryStatsImpl;->startAddingCpuStatsLocked()Z HSPLcom/android/server/power/stats/BatteryStatsImpl;->startTrackingSystemServerCpuTime()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z -HPLcom/android/server/power/stats/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;JJJ)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/bluetooth/BluetoothActivityEnergyInfo;Landroid/bluetooth/BluetoothActivityEnergyInfo;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/bluetooth/UidTraffic;Landroid/bluetooth/UidTraffic; -HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateClusterSpeedTimes(Landroid/util/SparseLongArray;ZLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;Lcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/KernelCpuSpeedReader;Lcom/android/internal/os/KernelCpuSpeedReader;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; +HPLcom/android/server/power/stats/BatteryStatsImpl;->updateAllPhoneStateLocked(IIIJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;JJJ)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/bluetooth/UidTraffic;Landroid/bluetooth/UidTraffic;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/bluetooth/BluetoothActivityEnergyInfo;Landroid/bluetooth/BluetoothActivityEnergyInfo;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; HPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuEnergyConsumerStatsLocked([JLcom/android/server/power/stats/BatteryStatsImpl$CpuDeltaPowerAccumulator;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats; HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuTimeLocked(ZZ[J)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateCpuTimesForAllUids()V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;]Lcom/android/internal/os/KernelSingleUidTimeReader;Lcom/android/internal/os/KernelSingleUidTimeReader; @@ -11300,11 +9769,15 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateDailyDeadlineLocked( HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateDisplayEnergyConsumerStatsLocked([J[IJ)V+]Landroid/util/SparseDoubleArray;Landroid/util/SparseDoubleArray;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/power/EnergyConsumerStats;Lcom/android/internal/power/EnergyConsumerStats; HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateKernelMemoryBandwidthLocked(J)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateKernelWakelocksLocked(J)V+]Lcom/android/server/power/stats/KernelWakelockReader;Lcom/android/server/power/stats/KernelWakelockReader;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/HashMap;Ljava/util/HashMap;,Lcom/android/server/power/stats/KernelWakelockStats;]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateNewDischargeScreenLevelLocked(I)V +HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateOldDischargeScreenLevelLocked(I)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateProcStateCpuTimesLocked(IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;]Lcom/android/internal/os/KernelSingleUidTimeReader;Lcom/android/internal/os/KernelSingleUidTimeReader; HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateRailStatsLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateRpmStatsLocked(J)V+]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet; +HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateSystemServerThreadStats()V HPLcom/android/server/power/stats/BatteryStatsImpl;->updateSystemServiceCallStats()V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/power/stats/BatteryStatsImpl;->updateWifiState(Landroid/os/connectivity/WifiActivityEnergyInfo;JJJLandroid/app/usage/NetworkStatsManager;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;]Lcom/android/internal/os/RailStats;Lcom/android/internal/os/RailStats;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Landroid/os/connectivity/WifiActivityEnergyInfo;Landroid/os/connectivity/WifiActivityEnergyInfo;]Ljava/util/Iterator;Landroid/net/NetworkStats$1;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; +HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/power/stats/BatteryStatsImpl;->updateWifiState(Landroid/os/connectivity/WifiActivityEnergyInfo;JJJLandroid/app/usage/NetworkStatsManager;)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Lcom/android/internal/os/RailStats;Lcom/android/internal/os/RailStats;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Landroid/os/connectivity/WifiActivityEnergyInfo;Landroid/os/connectivity/WifiActivityEnergyInfo;]Ljava/util/Iterator;Landroid/net/NetworkStats$1;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile;]Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; 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 @@ -11312,22 +9785,14 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeStatsLocked()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$Counter;Lcom/android/server/power/stats/BatteryStatsImpl$Counter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;]Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;]Lcom/android/internal/os/Clock;Lcom/android/internal/os/Clock$1;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$SamplingTimer;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;,Landroid/util/MapCollections$MapIterator;]Landroid/os/Parcel;Landroid/os/Parcel;]Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;,Landroid/util/MapCollections$MapIterator;]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/BatteryStats$LevelStepTracker;Landroid/os/BatteryStats$LevelStepTracker;]Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl$DisplayBatteryStats;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Proc;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Ljava/util/Set;Landroid/util/MapCollections$EntrySet;,Ljava/util/HashMap$EntrySet;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;Lcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$1;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3;,Lcom/android/server/power/stats/BatteryStatsImpl$Uid$2; HSPLcom/android/server/power/stats/BatteryStatsImpl;->writeSyncLocked()V HSPLcom/android/server/power/stats/BatteryUsageStatsProvider;-><init>(Landroid/content/Context;Landroid/os/BatteryStats;)V -HSPLcom/android/server/power/stats/BatteryUsageStatsProvider;-><init>(Landroid/content/Context;Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryUsageStatsStore;)V -HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->currentTimeMillis()J -HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->elapsedRealtime()J HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->getBatteryUsageStats(Ljava/util/List;)Ljava/util/List; HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->getCurrentBatteryUsageStats(Landroid/os/BatteryUsageStatsQuery;J)Landroid/os/BatteryUsageStats;+]Lcom/android/server/power/stats/PowerCalculator;megamorphic_types]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Lcom/android/server/power/stats/BatteryUsageStatsProvider;Lcom/android/server/power/stats/BatteryUsageStatsProvider;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->getProcessBackgroundTimeMs(Landroid/os/BatteryStats$Uid;J)J HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;J)J+]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; -HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->shouldUpdateStats(Ljava/util/List;J)Z HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->verify(Landroid/os/BatteryUsageStats;)V+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/BatteryUsageStats;Landroid/os/BatteryUsageStats;]Landroid/os/UidBatteryConsumer;Landroid/os/UidBatteryConsumer;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HSPLcom/android/server/power/stats/BatteryUsageStatsStore$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/BatteryUsageStatsStore;)V -HSPLcom/android/server/power/stats/BatteryUsageStatsStore;-><clinit>()V -HSPLcom/android/server/power/stats/BatteryUsageStatsStore;-><init>(Landroid/content/Context;Lcom/android/server/power/stats/BatteryStatsImpl;Ljava/io/File;Landroid/os/Handler;)V -HSPLcom/android/server/power/stats/BatteryUsageStatsStore;-><init>(Landroid/content/Context;Lcom/android/server/power/stats/BatteryStatsImpl;Ljava/io/File;Landroid/os/Handler;J)V HPLcom/android/server/power/stats/BluetoothPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Lcom/android/server/power/stats/BluetoothPowerCalculator;Lcom/android/server/power/stats/BluetoothPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/BluetoothPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Lcom/android/server/power/stats/BluetoothPowerCalculator$PowerAndDuration;Landroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Lcom/android/server/power/stats/BluetoothPowerCalculator;Lcom/android/server/power/stats/BluetoothPowerCalculator;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; -HPLcom/android/server/power/stats/BluetoothPowerCalculator;->calculatePowerAndDuration(Landroid/os/BatteryStats$Uid;IJLandroid/os/BatteryStats$ControllerActivityCounter;ZLcom/android/server/power/stats/BluetoothPowerCalculator$PowerAndDuration;)V+]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$1;]Lcom/android/server/power/stats/BluetoothPowerCalculator;Lcom/android/server/power/stats/BluetoothPowerCalculator;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; +HPLcom/android/server/power/stats/BluetoothPowerCalculator;->calculatePowerAndDuration(Landroid/os/BatteryStats$Uid;IJLandroid/os/BatteryStats$ControllerActivityCounter;ZLcom/android/server/power/stats/BluetoothPowerCalculator$PowerAndDuration;)V+]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$1;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Lcom/android/server/power/stats/BluetoothPowerCalculator;Lcom/android/server/power/stats/BluetoothPowerCalculator; HPLcom/android/server/power/stats/CameraPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V HPLcom/android/server/power/stats/CameraPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Landroid/os/BatteryStats$Uid;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Lcom/android/server/power/stats/UsageBasedPowerEstimator;Lcom/android/server/power/stats/UsageBasedPowerEstimator;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/CpuPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Lcom/android/server/power/stats/CpuPowerCalculator;Lcom/android/server/power/stats/CpuPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; @@ -11343,14 +9808,12 @@ HPLcom/android/server/power/stats/CustomEnergyConsumerPowerCalculator;->calculat HPLcom/android/server/power/stats/CustomEnergyConsumerPowerCalculator;->uCtoMah([J)[D HSPLcom/android/server/power/stats/EnergyConsumerSnapshot$EnergyConsumerDeltaData;-><init>()V HSPLcom/android/server/power/stats/EnergyConsumerSnapshot;->updateAndGetDelta([Landroid/hardware/power/stats/EnergyConsumerResult;I)Lcom/android/server/power/stats/EnergyConsumerSnapshot$EnergyConsumerDeltaData; -HSPLcom/android/server/power/stats/EnergyConsumerSnapshot;->updateAndGetDeltaForTypeOther(Landroid/hardware/power/stats/EnergyConsumer;[Landroid/hardware/power/stats/EnergyConsumerAttribution;I)Landroid/util/SparseLongArray;+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/EnergyConsumerSnapshot;Lcom/android/server/power/stats/EnergyConsumerSnapshot;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/power/stats/FlashlightPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V +HSPLcom/android/server/power/stats/EnergyConsumerSnapshot;->updateAndGetDeltaForTypeOther(Landroid/hardware/power/stats/EnergyConsumer;[Landroid/hardware/power/stats/EnergyConsumerAttribution;I)Landroid/util/SparseLongArray;+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/EnergyConsumerSnapshot;Lcom/android/server/power/stats/EnergyConsumerSnapshot;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/power/stats/FlashlightPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Landroid/os/BatteryStats$Uid;JJLandroid/os/BatteryUsageStatsQuery;)V HPLcom/android/server/power/stats/GnssPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Lcom/android/server/power/stats/GnssPowerCalculator;Lcom/android/server/power/stats/GnssPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/GnssPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Landroid/os/BatteryStats$Uid;IJDJ)D+]Lcom/android/server/power/stats/GnssPowerCalculator;Lcom/android/server/power/stats/GnssPowerCalculator;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/GnssPowerCalculator;->computeDuration(Landroid/os/BatteryStats$Uid;JI)J+]Landroid/os/BatteryStats$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HPLcom/android/server/power/stats/GnssPowerCalculator;->computePower(JD)D -HPLcom/android/server/power/stats/IdlePowerCalculator;->calculatePowerAndDuration(Landroid/os/BatteryStats;JJI)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; @@ -11360,10 +9823,8 @@ HSPLcom/android/server/power/stats/KernelWakelockReader;->updateVersion(Lcom/and HSPLcom/android/server/power/stats/KernelWakelockReader;->updateWakelockStats([Landroid/system/suspend/internal/WakeLockInfo;Lcom/android/server/power/stats/KernelWakelockStats;)Lcom/android/server/power/stats/KernelWakelockStats;+]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats; HSPLcom/android/server/power/stats/KernelWakelockReader;->waitForSuspendControlService()Landroid/system/suspend/internal/ISuspendControlServiceInternal; HSPLcom/android/server/power/stats/KernelWakelockStats;-><init>()V -HPLcom/android/server/power/stats/MemoryPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V -HPLcom/android/server/power/stats/MobileRadioPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Lcom/android/server/power/stats/MobileRadioPowerCalculator;Lcom/android/server/power/stats/MobileRadioPowerCalculator;]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$1;]Landroid/util/LongArrayQueue;Landroid/util/LongArrayQueue;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; +HPLcom/android/server/power/stats/MobileRadioPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Lcom/android/server/power/stats/MobileRadioPowerCalculator;Lcom/android/server/power/stats/MobileRadioPowerCalculator;]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Landroid/util/LongArrayQueue;Landroid/util/LongArrayQueue;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/MobileRadioPowerCalculator;->calculateDuration(Landroid/os/BatteryStats$Uid;I)J+]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; -HPLcom/android/server/power/stats/PhonePowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V HPLcom/android/server/power/stats/PowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Lcom/android/server/power/stats/PowerCalculator;Lcom/android/server/power/stats/FlashlightPowerCalculator;,Lcom/android/server/power/stats/CameraPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/PowerCalculator;->getPowerModel(JLandroid/os/BatteryUsageStatsQuery;)I+]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery; HPLcom/android/server/power/stats/PowerCalculator;->uCtoMah(J)D @@ -11371,6 +9832,7 @@ HPLcom/android/server/power/stats/ScreenPowerCalculator;->calculate(Landroid/os/ HPLcom/android/server/power/stats/ScreenPowerCalculator;->calculateAppUsingEnergyConsumption(Lcom/android/server/power/stats/ScreenPowerCalculator$PowerAndDuration;Landroid/os/BatteryStats$Uid;J)V+]Lcom/android/server/power/stats/ScreenPowerCalculator;Lcom/android/server/power/stats/ScreenPowerCalculator;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HPLcom/android/server/power/stats/ScreenPowerCalculator;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J HPLcom/android/server/power/stats/ScreenPowerCalculator;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;J)J+]Lcom/android/server/power/stats/ScreenPowerCalculator;Lcom/android/server/power/stats/ScreenPowerCalculator;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HPLcom/android/server/power/stats/ScreenPowerCalculator;->smearScreenBatteryDrain(Landroid/util/SparseArray;Lcom/android/server/power/stats/ScreenPowerCalculator$PowerAndDuration;J)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/ScreenPowerCalculator;Lcom/android/server/power/stats/ScreenPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/SensorPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Lcom/android/server/power/stats/SensorPowerCalculator;Lcom/android/server/power/stats/SensorPowerCalculator;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/SensorPowerCalculator;->calculateApp(Landroid/os/UidBatteryConsumer$Builder;Landroid/os/BatteryStats$Uid;J)D+]Lcom/android/server/power/stats/SensorPowerCalculator;Lcom/android/server/power/stats/SensorPowerCalculator;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; HPLcom/android/server/power/stats/SensorPowerCalculator;->calculateDuration(Landroid/os/BatteryStats$Uid;JI)J+]Landroid/os/BatteryStats$Uid$Sensor;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; @@ -11378,11 +9840,10 @@ HPLcom/android/server/power/stats/SensorPowerCalculator;->calculatePowerMah(Land HSPLcom/android/server/power/stats/SystemServerCpuThreadReader$SystemServiceCpuThreadTimes;-><init>()V HSPLcom/android/server/power/stats/SystemServerCpuThreadReader;-><init>(Lcom/android/internal/os/KernelSingleProcessCpuThreadReader;)V HSPLcom/android/server/power/stats/SystemServerCpuThreadReader;->create()Lcom/android/server/power/stats/SystemServerCpuThreadReader; -HPLcom/android/server/power/stats/SystemServerCpuThreadReader;->readAbsolute()Lcom/android/server/power/stats/SystemServerCpuThreadReader$SystemServiceCpuThreadTimes;+]Lcom/android/internal/os/KernelSingleProcessCpuThreadReader;Lcom/android/internal/os/KernelSingleProcessCpuThreadReader; +HPLcom/android/server/power/stats/SystemServerCpuThreadReader;->readAbsolute()Lcom/android/server/power/stats/SystemServerCpuThreadReader$SystemServiceCpuThreadTimes; HSPLcom/android/server/power/stats/SystemServerCpuThreadReader;->readDelta()Lcom/android/server/power/stats/SystemServerCpuThreadReader$SystemServiceCpuThreadTimes;+]Lcom/android/internal/os/KernelSingleProcessCpuThreadReader;Lcom/android/internal/os/KernelSingleProcessCpuThreadReader; HSPLcom/android/server/power/stats/SystemServerCpuThreadReader;->startTrackingThreadCpuTime()V HPLcom/android/server/power/stats/SystemServicePowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Lcom/android/server/power/stats/SystemServicePowerCalculator;Lcom/android/server/power/stats/SystemServicePowerCalculator;]Landroid/os/AggregateBatteryConsumer$Builder;Landroid/os/AggregateBatteryConsumer$Builder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; -HPLcom/android/server/power/stats/SystemServicePowerCalculator;->calculatePowerUsingPowerProfile(Landroid/os/BatteryStats;)D HPLcom/android/server/power/stats/UsageBasedPowerEstimator;->calculateDuration(Landroid/os/BatteryStats$Timer;JI)J+]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; HPLcom/android/server/power/stats/UsageBasedPowerEstimator;->calculatePower(J)D HPLcom/android/server/power/stats/UserPowerCalculator;->calculate(Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryStats;JJLandroid/os/BatteryUsageStatsQuery;)V+]Landroid/os/BatteryUsageStatsQuery;Landroid/os/BatteryUsageStatsQuery;]Landroid/os/BatteryUsageStats$Builder;Landroid/os/BatteryUsageStats$Builder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/UserBatteryConsumer$Builder;Landroid/os/UserBatteryConsumer$Builder;]Landroid/os/UidBatteryConsumer$Builder;Landroid/os/UidBatteryConsumer$Builder; @@ -11397,22 +9858,29 @@ HPLcom/android/server/power/stats/WifiPowerCalculator;->calculateRemaining(Lcom/ HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/wakeups/CpuWakeupStats;)V HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;-><clinit>()V HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;-><init>()V +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup$IrqDevice;-><init>(ILjava/lang/String;)V +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;-><init>(I[Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup$IrqDevice;JJLandroid/util/SparseBooleanArray;)V HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;->parseWakeup(Ljava/lang/String;JJLcom/android/server/power/stats/wakeups/IrqDeviceMap;)Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;+]Lcom/android/server/power/stats/wakeups/IrqDeviceMap;Lcom/android/server/power/stats/wakeups/IrqDeviceMap;]Ljava/lang/String;Ljava/lang/String;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern;]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher; 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 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;->attemptAttributionFor(Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory; HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->attemptAttributionWith(IJLandroid/util/SparseIntArray;)Z +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->lambda$new$0()J +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->logWakeupAttribution(Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteUidProcessState(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteWakeupTimeAndReason(JJLjava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats;Lcom/android/server/power/stats/wakeups/CpuWakeupStats; HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->noteWakingActivity(IJ[I)V +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->stringToKnownSubsystem(Ljava/lang/String;)I+]Ljava/lang/String;Ljava/lang/String; 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; +HPLcom/android/server/power/stats/wakeups/IrqDeviceMap;->getSubsystemsForDevice(Ljava/lang/String;)Ljava/util/List; HPLcom/android/server/powerstats/BatteryTrigger$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/powerstats/PowerStatsDataStorage$DataElement;->toByteArray()[B HPLcom/android/server/powerstats/PowerStatsDataStorage;->write([B)V HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;-><init>()V -HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;->getEnergyConsumed([I)[Landroid/hardware/power/stats/EnergyConsumerResult; 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 @@ -11420,12 +9888,12 @@ HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;->get()Land 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; -HPLcom/android/server/powerstats/PowerStatsLogTrigger;->logPowerStatsData(I)V -HPLcom/android/server/powerstats/PowerStatsLogger;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/powerstats/PowerStatsService$Injector;-><init>()V HSPLcom/android/server/powerstats/PowerStatsService$Injector;->getPowerStatsHALWrapperImpl()Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper; HSPLcom/android/server/powerstats/PowerStatsService$LocalService;-><init>(Lcom/android/server/powerstats/PowerStatsService;)V HSPLcom/android/server/powerstats/PowerStatsService$LocalService;->getEnergyConsumedAsync([I)Ljava/util/concurrent/CompletableFuture; +HPLcom/android/server/powerstats/PowerStatsService$LocalService;->getStateResidencyAsync([I)Ljava/util/concurrent/CompletableFuture; +HPLcom/android/server/powerstats/PowerStatsService$LocalService;->readEnergyMeterAsync([I)Ljava/util/concurrent/CompletableFuture; 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 @@ -11433,22 +9901,14 @@ HSPLcom/android/server/powerstats/PowerStatsService;->getLooper()Landroid/os/Loo HSPLcom/android/server/powerstats/PowerStatsService;->getPowerStatsHal()Lcom/android/server/powerstats/PowerStatsHALWrapper$IPowerStatsHALWrapper; HSPLcom/android/server/powerstats/PowerStatsService;->onBootPhase(I)V HSPLcom/android/server/powerstats/PowerStatsService;->onStart()V -HPLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerResultUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyConsumerResult;Landroid/util/proto/ProtoOutputStream;Z)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; -HPLcom/android/server/powerstats/ProtoStreamUtils$EnergyMeasurementUtils;->adjustTimeSinceBootToEpoch([Landroid/hardware/power/stats/EnergyMeasurement;J)V +HPLcom/android/server/powerstats/PowerStatsService;->readEnergyMeterAsync(Ljava/util/concurrent/CompletableFuture;[I)V +HPLcom/android/server/powerstats/ProtoStreamUtils$EnergyConsumerResultUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyConsumerResult;Landroid/util/proto/ProtoOutputStream;Z)V HPLcom/android/server/powerstats/ProtoStreamUtils$EnergyMeasurementUtils;->packProtoMessage([Landroid/hardware/power/stats/EnergyMeasurement;Landroid/util/proto/ProtoOutputStream;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; +HPLcom/android/server/powerstats/ProtoStreamUtils$StateResidencyResultUtils;->packProtoMessage([Landroid/hardware/power/stats/StateResidencyResult;Landroid/util/proto/ProtoOutputStream;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; HPLcom/android/server/powerstats/StatsPullAtomCallbackImpl;->pullOnDevicePowerMeasurement(ILjava/util/List;)I+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;]Landroid/power/PowerStatsInternal;Lcom/android/server/powerstats/PowerStatsService$LocalService;]Ljava/util/Map;Ljava/util/HashMap; +HPLcom/android/server/powerstats/StatsPullAtomCallbackImpl;->pullSubsystemSleepState(ILjava/util/List;)I+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;]Landroid/power/PowerStatsInternal;Lcom/android/server/powerstats/PowerStatsService$LocalService;]Ljava/util/Map;Ljava/util/HashMap; HPLcom/android/server/powerstats/TimerTrigger$2;->run()V HPLcom/android/server/print/UserState;->getPrintServices(I)Ljava/util/List; -HSPLcom/android/server/profcollect/IProviderStatusCallback$Stub;-><init>()V -HSPLcom/android/server/profcollect/ProfcollectForwardingService$1;-><init>(Lcom/android/server/profcollect/ProfcollectForwardingService;)V -HSPLcom/android/server/profcollect/ProfcollectForwardingService$AppLaunchObserver;-><init>(Lcom/android/server/profcollect/ProfcollectForwardingService;)V -HSPLcom/android/server/profcollect/ProfcollectForwardingService$AppLaunchObserver;-><init>(Lcom/android/server/profcollect/ProfcollectForwardingService;Lcom/android/server/profcollect/ProfcollectForwardingService$AppLaunchObserver-IA;)V -HSPLcom/android/server/profcollect/ProfcollectForwardingService$ProfcollectdHandler;-><init>(Lcom/android/server/profcollect/ProfcollectForwardingService;Landroid/os/Looper;)V -HSPLcom/android/server/profcollect/ProfcollectForwardingService;-><clinit>()V -HSPLcom/android/server/profcollect/ProfcollectForwardingService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/profcollect/ProfcollectForwardingService;->connectNativeService()Z -HSPLcom/android/server/profcollect/ProfcollectForwardingService;->enabled()Z -HSPLcom/android/server/profcollect/ProfcollectForwardingService;->onStart()V HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;-><init>(Landroid/content/Context;)V HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;->getContext()Landroid/content/Context; HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;-><init>(Landroid/content/Context;)V @@ -11459,41 +9919,9 @@ 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 -HSPLcom/android/server/resources/ResourcesManagerService$1;-><init>(Lcom/android/server/resources/ResourcesManagerService;)V -HSPLcom/android/server/resources/ResourcesManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/resources/ResourcesManagerService;->onStart()V -HSPLcom/android/server/resources/ResourcesManagerService;->setActivityManagerService(Lcom/android/server/am/ActivityManagerService;)V -HSPLcom/android/server/rollback/AppDataRollbackHelper;-><init>(Lcom/android/server/pm/Installer;)V -HSPLcom/android/server/rollback/RollbackManagerService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/rollback/RollbackManagerService;->onBootPhase(I)V -HSPLcom/android/server/rollback/RollbackManagerService;->onStart()V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda10;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda11;->run()V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$1;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$2;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$3;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$4;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$5;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;Lcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback-IA;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;-><clinit>()V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->calculateRelativeBootTime()J -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context; -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->getHandler()Landroid/os/Handler; -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$new$0(Landroid/content/Context;)V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->registerTimeChangeReceiver()V -HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->registerUserCallbacks(Landroid/os/UserHandle;)V -HSPLcom/android/server/rollback/RollbackPackageHealthObserver;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/rollback/RollbackPackageHealthObserver;->getName()Ljava/lang/String; -HSPLcom/android/server/rollback/RollbackPackageHealthObserver;->writeBoolean(Ljava/io/File;Z)V -HSPLcom/android/server/rollback/RollbackStore;-><init>(Ljava/io/File;Ljava/io/File;)V -HSPLcom/android/server/rollback/RollbackStore;->loadRollbacks()Ljava/util/List; -HSPLcom/android/server/rollback/RollbackStore;->loadRollbacks(Ljava/io/File;)Ljava/util/List; HPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->updateSearchables()V HPLcom/android/server/search/Searchables;->findWebSearchActivity(Landroid/content/ComponentName;)Landroid/content/ComponentName; -HPLcom/android/server/search/Searchables;->updateSearchableList()V -HSPLcom/android/server/security/FileIntegrity;->setUpFsVerity(Landroid/os/ParcelFileDescriptor;)V +HPLcom/android/server/search/Searchables;->updateSearchableList()V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/app/SearchableInfo;Landroid/app/SearchableInfo;]Lcom/android/server/search/Searchables;Lcom/android/server/search/Searchables;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/security/FileIntegrity;->setUpFsVerity(Ljava/io/File;)V HSPLcom/android/server/security/FileIntegrityService$1;-><init>(Lcom/android/server/security/FileIntegrityService;)V HSPLcom/android/server/security/FileIntegrityService;-><init>(Landroid/content/Context;)V @@ -11502,115 +9930,25 @@ 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; -HSPLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V -HPLcom/android/server/security/KeyAttestationApplicationIdProviderService;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId; -HSPLcom/android/server/security/KeyChainSystemService$1;-><init>(Lcom/android/server/security/KeyChainSystemService;)V -HSPLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/security/KeyChainSystemService;->onStart()V -HPLcom/android/server/security/rkp/RemoteProvisioningRegistration$GetKeyReceiver;->onResult(Landroid/security/rkp/service/RemotelyProvisionedKey;)V -HPLcom/android/server/security/rkp/RemoteProvisioningRegistration;->getKey(ILandroid/security/rkp/IGetKeyCallback;)V -HSPLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;-><init>(Lcom/android/server/security/rkp/RemoteProvisioningService;)V -HSPLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;-><init>(Lcom/android/server/security/rkp/RemoteProvisioningService;Lcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl-IA;)V -HPLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;->getRegistration(Ljava/lang/String;Landroid/security/rkp/IGetRegistrationCallback;)V -HSPLcom/android/server/security/rkp/RemoteProvisioningService;-><clinit>()V -HSPLcom/android/server/security/rkp/RemoteProvisioningService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/security/rkp/RemoteProvisioningService;->onStart()V -HSPLcom/android/server/sensorprivacy/AllSensorStateController$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/sensorprivacy/AllSensorStateController;-><clinit>()V -HSPLcom/android/server/sensorprivacy/AllSensorStateController;-><init>()V -HSPLcom/android/server/sensorprivacy/AllSensorStateController;->getAllSensorStateLocked()Z -HSPLcom/android/server/sensorprivacy/AllSensorStateController;->getInstance()Lcom/android/server/sensorprivacy/AllSensorStateController; -HSPLcom/android/server/sensorprivacy/AllSensorStateController;->persist(Z)V -HSPLcom/android/server/sensorprivacy/AllSensorStateController;->schedulePersistLocked()V -HSPLcom/android/server/sensorprivacy/AllSensorStateController;->setAllSensorPrivacyListenerLocked(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$AllSensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/PersistedState$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/sensorprivacy/PersistedState$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V -HSPLcom/android/server/sensorprivacy/PersistedState$PVersion2;->-$$Nest$fgetmStates(Lcom/android/server/sensorprivacy/PersistedState$PVersion2;)Landroid/util/ArrayMap; -HSPLcom/android/server/sensorprivacy/PersistedState$PVersion2;-><init>(I)V -HSPLcom/android/server/sensorprivacy/PersistedState$PVersion2;-><init>(ILcom/android/server/sensorprivacy/PersistedState$PVersion2-IA;)V HSPLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;-><init>(III)V HSPLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;->hashCode()I -HSPLcom/android/server/sensorprivacy/PersistedState;-><clinit>()V -HSPLcom/android/server/sensorprivacy/PersistedState;-><init>(Ljava/lang/String;)V -HSPLcom/android/server/sensorprivacy/PersistedState;->fromFile(Ljava/lang/String;)Lcom/android/server/sensorprivacy/PersistedState; HSPLcom/android/server/sensorprivacy/PersistedState;->getState(III)Lcom/android/server/sensorprivacy/SensorState; -HSPLcom/android/server/sensorprivacy/PersistedState;->persist(Landroid/util/ArrayMap;)V -HSPLcom/android/server/sensorprivacy/PersistedState;->readPVersion2(Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/server/sensorprivacy/PersistedState$PVersion2;)V -HSPLcom/android/server/sensorprivacy/PersistedState;->readState()V -HSPLcom/android/server/sensorprivacy/PersistedState;->schedulePersist()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$DeathRecipient;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Landroid/hardware/ISensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Landroid/os/Looper;Landroid/content/Context;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addDeathRecipient(Landroid/hardware/ISensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addListener(Landroid/hardware/ISensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;->addToggleListener(Landroid/hardware/ISensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl-IA;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$1;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;Lcom/android/server/sensorprivacy/SensorPrivacyService;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$2;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;Lcom/android/server/sensorprivacy/SensorPrivacyService;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;-><init>(Lcom/android/server/sensorprivacy/SensorPrivacyService;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->addToggleSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->enforceObserveSensorPrivacyPermission()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->enforcePermission(Ljava/lang/String;Ljava/lang/String;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isSensorPrivacyEnabled()Z HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->isToggleSensorPrivacyEnabled(II)Z -HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl;->supportsSensorToggle(II)Z -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmAppOpsManager(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/app/AppOpsManager; -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmContext(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/content/Context; -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmCurrentUser(Lcom/android/server/sensorprivacy/SensorPrivacyService;)I -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmPackageManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Landroid/content/pm/PackageManagerInternal; -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$fgetmUserManagerInternal(Lcom/android/server/sensorprivacy/SensorPrivacyService;)Lcom/android/server/pm/UserManagerInternal; -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->-$$Nest$sfgetACTION_DISABLE_TOGGLE_SENSOR_PRIVACY()Ljava/lang/String; -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;-><clinit>()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->getCurrentTimeMillis()J -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->onBootPhase(I)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyService;->onStart()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;-><init>()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getAllSensorState()Z -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getInstance()Lcom/android/server/sensorprivacy/SensorPrivacyStateController; -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->getState(III)Lcom/android/server/sensorprivacy/SensorState; -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->persistAll()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->setAllSensorPrivacyListener(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$AllSensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateController;->setSensorPrivacyListener(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyListener;)V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;-><init>()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getDefaultSensorState()Lcom/android/server/sensorprivacy/SensorState; -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getInstance()Lcom/android/server/sensorprivacy/SensorPrivacyStateController; HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getStateLocked(III)Lcom/android/server/sensorprivacy/SensorState; -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->schedulePersistLocked()V -HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->setSensorPrivacyListenerLocked(Landroid/os/Handler;Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyListener;)V HSPLcom/android/server/sensorprivacy/SensorState;-><init>(I)V -HSPLcom/android/server/sensorprivacy/SensorState;-><init>(Z)V -HSPLcom/android/server/sensorprivacy/SensorState;->enabledToState(Z)I -HSPLcom/android/server/sensorprivacy/SensorState;->getState()I -HSPLcom/android/server/sensorprivacy/SensorState;->isEnabled()Z -HSPLcom/android/server/sensors/SensorManagerInternal;-><init>()V -HSPLcom/android/server/sensors/SensorService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensors/SensorService;)V -HSPLcom/android/server/sensors/SensorService$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/sensors/SensorService$LocalService;-><init>(Lcom/android/server/sensors/SensorService;)V -HSPLcom/android/server/sensors/SensorService$ProximityListenerDelegate;-><init>(Lcom/android/server/sensors/SensorService;)V -HSPLcom/android/server/sensors/SensorService$ProximityListenerDelegate;-><init>(Lcom/android/server/sensors/SensorService;Lcom/android/server/sensors/SensorService$ProximityListenerDelegate-IA;)V -HSPLcom/android/server/sensors/SensorService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/sensors/SensorService;->lambda$new$0()V -HSPLcom/android/server/sensors/SensorService;->onBootPhase(I)V -HSPLcom/android/server/sensors/SensorService;->onStart()V -HPLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->getServiceInfo()Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo; -HSPLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>()V -HSPLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>(Lcom/android/server/signedconfig/SignedConfigService$UpdateReceiver-IA;)V -HSPLcom/android/server/signedconfig/SignedConfigService;->registerUpdateReceiver(Landroid/content/Context;)V -HPLcom/android/server/slice/PinnedSliceState;->setSlicePinned(Z)V +HSPLcom/android/server/sensors/SensorService$ProximityListenerDelegate;->onProximityActive(Z)V +HSPLcom/android/server/servicewatcher/CurrentUserServiceSupplier;->getServiceInfo()Lcom/android/server/servicewatcher/CurrentUserServiceSupplier$BoundServiceInfo; HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->addPath(Ljava/util/List;)V+]Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;]Ljava/util/List;Landroid/net/Uri$PathSegments;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/slice/DirtyTracker;Lcom/android/server/slice/SliceClientPermissions; -HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->decodeSegments(Ljava/lang/String;)[Ljava/lang/String; -HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->hasPermission(Ljava/util/List;)Z +HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->decodeSegments(Ljava/lang/String;)[Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; +HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->hasPermission(Ljava/util/List;)Z+]Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;]Ljava/util/List;Landroid/net/Uri$PathSegments;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->isPathPrefixMatch([Ljava/lang/String;[Ljava/lang/String;)Z -HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->readFrom(Lorg/xmlpull/v1/XmlPullParser;)V HPLcom/android/server/slice/SliceClientPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceClientPermissions; HPLcom/android/server/slice/SliceClientPermissions;->grantUri(Landroid/net/Uri;Lcom/android/server/slice/SlicePermissionManager$PkgUser;)V HPLcom/android/server/slice/SliceClientPermissions;->hasPermission(Landroid/net/Uri;I)Z HPLcom/android/server/slice/SliceManagerService$PackageMatchingCache;->matches(Ljava/lang/String;)Z HPLcom/android/server/slice/SliceManagerService;->checkSlicePermissionInternal(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I +HPLcom/android/server/slice/SliceManagerService;->enforceAccess(Ljava/lang/String;Landroid/net/Uri;)V HPLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String; HPLcom/android/server/slice/SliceManagerService;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V HPLcom/android/server/slice/SliceManagerService;->verifyCaller(Ljava/lang/String;)V @@ -11618,220 +9956,160 @@ HPLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/S HPLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/slice/SlicePermissionManager$PkgUser;,Ljava/lang/Class; HPLcom/android/server/slice/SlicePermissionManager$PkgUser;->hashCode()I+]Ljava/lang/String;Ljava/lang/String; HPLcom/android/server/slice/SlicePermissionManager;->getClient(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions; -HPLcom/android/server/slice/SlicePermissionManager;->getProvider(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceProviderPermissions; HPLcom/android/server/slice/SlicePermissionManager;->grantSliceAccess(Ljava/lang/String;ILjava/lang/String;ILandroid/net/Uri;)V HPLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z -HPLcom/android/server/slice/SliceProviderPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceProviderPermissions; -HPLcom/android/server/smartspace/RemoteSmartspaceService;->executeOnResolvedService(Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)V -HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V -HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->lambda$requestSmartspaceUpdate$2(Landroid/app/smartspace/SmartspaceSessionId;Lcom/android/server/smartspace/SmartspacePerUserService;)V -HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->notifySmartspaceEvent(Landroid/app/smartspace/SmartspaceSessionId;Landroid/app/smartspace/SmartspaceTargetEvent;)V -HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->requestSmartspaceUpdate(Landroid/app/smartspace/SmartspaceSessionId;)V -HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->runForUserLocked(Ljava/lang/String;Landroid/app/smartspace/SmartspaceSessionId;Ljava/util/function/Consumer;)V -HPLcom/android/server/smartspace/SmartspaceManagerService;->access$100(Lcom/android/server/smartspace/SmartspaceManagerService;)Ljava/lang/Object; -HPLcom/android/server/smartspace/SmartspaceManagerService;->access$200(Lcom/android/server/smartspace/SmartspaceManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService; -HPLcom/android/server/smartspace/SmartspacePerUserService$$ExternalSyntheticLambda0;-><init>(Landroid/app/smartspace/SmartspaceSessionId;)V +HSPLcom/android/server/smartspace/RemoteSmartspaceService;->executeOnResolvedService(Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)V +HSPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V +HSPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->requestSmartspaceUpdate(Landroid/app/smartspace/SmartspaceSessionId;)V +HSPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub;->runForUserLocked(Ljava/lang/String;Landroid/app/smartspace/SmartspaceSessionId;Ljava/util/function/Consumer;)V +HSPLcom/android/server/smartspace/SmartspaceManagerService;->access$100(Lcom/android/server/smartspace/SmartspaceManagerService;)Ljava/lang/Object; +HSPLcom/android/server/smartspace/SmartspaceManagerService;->access$200(Lcom/android/server/smartspace/SmartspaceManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService; +HSPLcom/android/server/smartspace/SmartspacePerUserService$$ExternalSyntheticLambda0;-><init>(Landroid/app/smartspace/SmartspaceSessionId;)V HPLcom/android/server/smartspace/SmartspacePerUserService$$ExternalSyntheticLambda0;->run(Landroid/os/IInterface;)V -HPLcom/android/server/smartspace/SmartspacePerUserService$$ExternalSyntheticLambda4;->run(Landroid/os/IInterface;)V -HPLcom/android/server/smartspace/SmartspacePerUserService;->getRemoteServiceLocked()Lcom/android/server/smartspace/RemoteSmartspaceService; -HPLcom/android/server/smartspace/SmartspacePerUserService;->lambda$requestSmartspaceUpdateLocked$3(Landroid/app/smartspace/SmartspaceSessionId;Landroid/service/smartspace/ISmartspaceService;)V +HSPLcom/android/server/smartspace/SmartspacePerUserService;->getRemoteServiceLocked()Lcom/android/server/smartspace/RemoteSmartspaceService; HPLcom/android/server/smartspace/SmartspacePerUserService;->notifySmartspaceEventLocked(Landroid/app/smartspace/SmartspaceSessionId;Landroid/app/smartspace/SmartspaceTargetEvent;)V -HPLcom/android/server/smartspace/SmartspacePerUserService;->requestSmartspaceUpdateLocked(Landroid/app/smartspace/SmartspaceSessionId;)V -HPLcom/android/server/smartspace/SmartspacePerUserService;->resolveService(Landroid/app/smartspace/SmartspaceSessionId;Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)Z -HPLcom/android/server/soundtrigger/SoundTriggerHelper;->onAppOpStateChanged(Z)V+]Lcom/android/server/soundtrigger/SoundTriggerHelper;Lcom/android/server/soundtrigger/SoundTriggerHelper; -HPLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService$SessionImpl$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V+]Lcom/android/server/soundtrigger/SoundTriggerHelper;Lcom/android/server/soundtrigger/SoundTriggerHelper;]Ljava/lang/Boolean;Ljava/lang/Boolean; -HPLcom/android/server/soundtrigger/SoundTriggerService$MyAppOpsListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V+]Ljava/util/function/Consumer;Lcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService$SessionImpl$$ExternalSyntheticLambda2;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; -HPLcom/android/server/soundtrigger/SoundTriggerService;->-$$Nest$fgetmAppOpsManager(Lcom/android/server/soundtrigger/SoundTriggerService;)Landroid/app/AppOpsManager; +HSPLcom/android/server/smartspace/SmartspacePerUserService;->requestSmartspaceUpdateLocked(Landroid/app/smartspace/SmartspaceSessionId;)V +HSPLcom/android/server/smartspace/SmartspacePerUserService;->resolveService(Landroid/app/smartspace/SmartspaceSessionId;Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)Z +HPLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService$SessionImpl$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$MyAppOpsListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V +HSPLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->setCaptureState(Z)V HPLcom/android/server/soundtrigger_middleware/ObjectPrinter;->print(Ljava/lang/StringBuilder;Ljava/lang/Object;I)V +HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;)V +HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog;)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$SessionEvent;->eventToString()Ljava/lang/String; +HSPLcom/android/server/soundtrigger_middleware/UptimeTimer$TaskImpl;-><init>(Landroid/os/Handler;Ljava/lang/Object;)V +HSPLcom/android/server/soundtrigger_middleware/UptimeTimer$TaskImpl;->cancel()V +HSPLcom/android/server/soundtrigger_middleware/UptimeTimer;->createTask(Ljava/lang/Runnable;J)Lcom/android/server/soundtrigger_middleware/UptimeTimer$Task; +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;->createService(ILandroid/content/ComponentName;)Lcom/android/server/speech/RemoteSpeechRecognitionService; +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;->createSessionLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ZLandroid/speech/IRecognitionServiceManagerCallback;)V HPLcom/android/server/stats/pull/ProcfsMemoryUtil$MemorySnapshot;-><init>()V HPLcom/android/server/stats/pull/ProcfsMemoryUtil;->getProcessCmdlines()Landroid/util/SparseArray;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/stats/pull/ProcfsMemoryUtil;->readCmdlineFromProcfs(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/stats/pull/ProcfsMemoryUtil;->readMemorySnapshotFromProcfs(I)Lcom/android/server/stats/pull/ProcfsMemoryUtil$MemorySnapshot;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HPLcom/android/server/stats/pull/SettingsStatsUtil;->createStatsEvent(ILjava/lang/String;Ljava/lang/String;II)Landroid/util/StatsEvent; HPLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda16;->onUidCpuTime(ILjava/lang/Object;)V -HPLcom/android/server/stats/pull/StatsPullAtomService$1;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;Landroid/os/SynchronousResultReceiver;)V +HPLcom/android/server/stats/pull/StatsPullAtomService$1;->onBluetoothActivityEnergyInfoAvailable(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V HPLcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl;->onPullAtom(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->addCpuCyclesPerThreadGroupClusterAtoms(ILjava/util/List;I[J)V+]Ljava/util/List;Ljava/util/ArrayList; +HPLcom/android/server/stats/pull/StatsPullAtomService;->addDataUsageBytesTransferAtoms(Lcom/android/server/stats/pull/netstats/NetworkStatsExt;Ljava/util/List;)V +HPLcom/android/server/stats/pull/StatsPullAtomService;->addNetworkStats(ILjava/util/List;Lcom/android/server/stats/pull/netstats/NetworkStatsExt;)V+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/net/NetworkStats$1; HPLcom/android/server/stats/pull/StatsPullAtomService;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable; -HPLcom/android/server/stats/pull/StatsPullAtomService;->collectNetworkStatsSnapshotForAtom(I)Ljava/util/List; +HSPLcom/android/server/stats/pull/StatsPullAtomService;->collectNetworkStatsSnapshotForAtom(I)Ljava/util/List; HPLcom/android/server/stats/pull/StatsPullAtomService;->fetchBluetoothData()Landroid/bluetooth/BluetoothActivityEnergyInfo; -HPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTemplate(Landroid/net/NetworkTemplate;Z)Landroid/net/NetworkStats; -HPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTransport(I)Landroid/net/NetworkStats; +HPLcom/android/server/stats/pull/StatsPullAtomService;->getAllCollapsedRatTypes()[I +HPLcom/android/server/stats/pull/StatsPullAtomService;->getDataUsageBytesTransferSnapshotForSub(Lcom/android/server/stats/pull/netstats/SubInfo;)Ljava/util/List; +HSPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTemplate(Landroid/net/NetworkTemplate;Z)Landroid/net/NetworkStats; +HSPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSnapshotForTransport(I)Landroid/net/NetworkStats; HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullCpuCyclesPerUidClusterLocked$13(Landroid/util/SparseArray;I[I[J[DI[J)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullCpuTimePerUidLocked$12(Ljava/util/List;II[J)V+]Ljava/util/List;Ljava/util/ArrayList; +HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullCpuTimePerUidLocked$12(Ljava/util/List;II[J)V +HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullDataBytesTransferLocked$7(Lcom/android/server/stats/pull/netstats/NetworkStatsExt;Lcom/android/server/stats/pull/netstats/NetworkStatsExt;)Z HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullDiskIOLocked$22(Ljava/util/List;IIJJJJJJJJJJ)V HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullProcessMemorySnapshot$20(Landroid/util/SparseArray;Landroid/app/ProcessMemoryState;)V -HPLcom/android/server/stats/pull/StatsPullAtomService;->pullBinderCallsStatsLocked(ILjava/util/List;)I -HPLcom/android/server/stats/pull/StatsPullAtomService;->pullCpuCyclesPerThreadGroupCluster(ILjava/util/List;)I+]Lcom/android/internal/os/SelectedProcessCpuThreadReader;Lcom/android/internal/os/SelectedProcessCpuThreadReader;]Landroid/os/BatteryStatsInternal;Lcom/android/server/am/BatteryStatsService$LocalService; +HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$sliceNetworkStatsByFgbg$9(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry; +HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$sliceNetworkStatsByUidAndFgbg$10(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry; +HPLcom/android/server/stats/pull/StatsPullAtomService;->pullBluetoothActivityInfoLocked(ILjava/util/List;)I +HPLcom/android/server/stats/pull/StatsPullAtomService;->pullCpuCyclesPerThreadGroupCluster(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->pullCpuCyclesPerUidClusterLocked(ILjava/util/List;)I+]Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/internal/os/PowerProfile;Lcom/android/internal/os/PowerProfile; HPLcom/android/server/stats/pull/StatsPullAtomService;->pullDangerousPermissionStateLocked(ILjava/util/List;)I+]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/util/Set;Ljava/util/HashSet; HPLcom/android/server/stats/pull/StatsPullAtomService;->pullDataBytesTransferLocked(ILjava/util/List;)I -HPLcom/android/server/stats/pull/StatsPullAtomService;->pullInstalledIncrementalPackagesLocked(ILjava/util/List;)I +HPLcom/android/server/stats/pull/StatsPullAtomService;->pullHealthHalLocked(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->pullKernelWakelockLocked(ILjava/util/List;)I+]Lcom/android/server/power/stats/KernelWakelockReader;Lcom/android/server/power/stats/KernelWakelockReader;]Ljava/util/HashMap;Lcom/android/server/power/stats/KernelWakelockStats;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HPLcom/android/server/stats/pull/StatsPullAtomService;->pullModemActivityInfoLocked(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessCpuTimeLocked(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessMemoryHighWaterMarkLocked(ILjava/util/List;)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessMemorySnapshot(ILjava/util/List;)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; -HPLcom/android/server/stats/pull/StatsPullAtomService;->pullSystemMemory(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->pullTemperatureLocked(ILjava/util/List;)I HPLcom/android/server/stats/pull/StatsPullAtomService;->removeEmptyEntries(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;+]Landroid/net/NetworkStats$Entry;Landroid/net/NetworkStats$Entry;]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Ljava/util/Iterator;Landroid/net/NetworkStats$1; HPLcom/android/server/stats/pull/StatsPullAtomService;->sampleAppOps(Ljava/util/List;Ljava/util/List;II)I HPLcom/android/server/stats/pull/StatsPullAtomService;->sliceNetworkStats(Landroid/net/NetworkStats;Ljava/util/function/Function;)Landroid/net/NetworkStats;+]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Ljava/util/function/Function;Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda2;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda4;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda3;,Lcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda5;]Ljava/util/Iterator;Landroid/net/NetworkStats$1; -HPLcom/android/server/stats/pull/SystemMemoryUtil;->getMetrics()Lcom/android/server/stats/pull/SystemMemoryUtil$Metrics; HPLcom/android/server/stats/pull/netstats/NetworkStatsExt;-><init>(Landroid/net/NetworkStats;[IZZZILcom/android/server/stats/pull/netstats/SubInfo;I)V HPLcom/android/server/stats/pull/netstats/NetworkStatsExt;->hasSameSlicing(Lcom/android/server/stats/pull/netstats/NetworkStatsExt;)Z +HPLcom/android/server/statusbar/StatusBarManagerService$$ExternalSyntheticLambda1;->run()V +HPLcom/android/server/statusbar/StatusBarManagerService$1;->onSystemBarAttributesChanged(II[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V +HPLcom/android/server/statusbar/StatusBarManagerService$1;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V HPLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(Z)V+]Lcom/android/internal/statusbar/IStatusBar;Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy; +HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->setBarAttributes(I[Lcom/android/internal/view/AppearanceRegion;ZIILjava/lang/String;[Lcom/android/internal/statusbar/LetterboxDetails;)V +HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->setImeWindowState(IIZLandroid/os/IBinder;)V HPLcom/android/server/statusbar/StatusBarManagerService;->-$$Nest$fgetmBar(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/internal/statusbar/IStatusBar; +HPLcom/android/server/statusbar/StatusBarManagerService;->disableLocked(IIILandroid/os/IBinder;Ljava/lang/String;I)V +HSPLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBar()V +HSPLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBarService()V +HPLcom/android/server/statusbar/StatusBarManagerService;->getUiState(I)Lcom/android/server/statusbar/StatusBarManagerService$UiState; +HPLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$1(ILandroid/os/IBinder;IIZ)V +HPLcom/android/server/statusbar/StatusBarManagerService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V +HSPLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V +HPLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V HPLcom/android/server/storage/AppCollector$BackgroundHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V -HSPLcom/android/server/storage/CacheQuotaStrategy;->disconnectService()V -HSPLcom/android/server/storage/CacheQuotaStrategy;->getRequestFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)Landroid/app/usage/CacheQuotaHint; +HPLcom/android/server/storage/AppFuseBridge;->addBridge(Lcom/android/server/storage/AppFuseBridge$MountScope;)Landroid/os/ParcelFileDescriptor; HPLcom/android/server/storage/CacheQuotaStrategy;->getUnfulfilledRequests()Ljava/util/List;+]Landroid/app/usage/UsageStats;Landroid/app/usage/UsageStats;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserManager;Landroid/os/UserManager;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/app/usage/CacheQuotaHint$Builder;Landroid/app/usage/CacheQuotaHint$Builder;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; -HSPLcom/android/server/storage/CacheQuotaStrategy;->insertIntoQuotaMap(Ljava/lang/String;IIJ)V -HSPLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V -HSPLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair; -HPLcom/android/server/storage/CacheQuotaStrategy;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/List;J)V -HSPLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J -HSPLcom/android/server/storage/DeviceStorageMonitorService$State;->-$$Nest$smisEntering(III)Z -HSPLcom/android/server/storage/DeviceStorageMonitorService$State;->-$$Nest$smisLeaving(III)Z -HSPLcom/android/server/storage/DeviceStorageMonitorService$State;->isEntering(III)Z -HSPLcom/android/server/storage/DeviceStorageMonitorService$State;->isLeaving(III)Z +HSPLcom/android/server/storage/CacheQuotaStrategy;->insertIntoQuotaMap(Ljava/lang/String;IIJ)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V+]Lcom/android/server/pm/Installer;Lcom/android/server/pm/Installer;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/usage/CacheQuotaHint;Landroid/app/usage/CacheQuotaHint;]Lcom/android/server/storage/CacheQuotaStrategy;Lcom/android/server/storage/CacheQuotaStrategy;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/storage/CacheQuotaStrategy;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/util/List;J)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/usage/CacheQuotaHint;Landroid/app/usage/CacheQuotaHint;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/server/storage/DeviceStorageMonitorService;->checkLow()V HSPLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V -HSPLcom/android/server/storage/StorageSessionController;-><init>(Landroid/content/Context;)V -HPLcom/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+]Lcom/android/server/tare/EconomicPolicy;Lcom/android/server/tare/CompleteEconomicPolicy;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; -HPLcom/android/server/tare/Agent$ActionAffordabilityNote;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/job/controllers/TareController$$ExternalSyntheticLambda0;]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; -HPLcom/android/server/tare/Agent$ActionAffordabilityNote;->hashCode()I+]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; -HPLcom/android/server/tare/Agent$ActionAffordabilityNote;->setNewAffordability(Z)V -HSPLcom/android/server/tare/Agent$AgentHandler;-><init>(Lcom/android/server/tare/Agent;Landroid/os/Looper;)V -HSPLcom/android/server/tare/Agent$BalanceThresholdAlarmQueue;-><init>(Lcom/android/server/tare/Agent;Landroid/content/Context;Landroid/os/Looper;)V -HSPLcom/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 -HSPLcom/android/server/tare/Agent$OngoingEventUpdater;-><init>(Lcom/android/server/tare/Agent;)V -HSPLcom/android/server/tare/Agent$OngoingEventUpdater;-><init>(Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent$OngoingEventUpdater-IA;)V -HSPLcom/android/server/tare/Agent$TotalDeltaCalculator;-><init>(Lcom/android/server/tare/Agent;)V -HSPLcom/android/server/tare/Agent$TotalDeltaCalculator;-><init>(Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent$TotalDeltaCalculator-IA;)V -HSPLcom/android/server/tare/Agent$TrendCalculator;-><init>()V -HSPLcom/android/server/tare/Agent;-><clinit>()V -HSPLcom/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+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; +HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->-$$Nest$msetNewAffordability(Lcom/android/server/tare/Agent$ActionAffordabilityNote;Z)V +HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;-><init>(Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomicPolicy;)V+]Lcom/android/server/tare/EconomicPolicy;Lcom/android/server/tare/CompleteEconomicPolicy;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; +HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/job/controllers/TareController$$ExternalSyntheticLambda0;]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; +HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->hashCode()I+]Lcom/android/server/tare/EconomyManagerInternal$ActionBill;Lcom/android/server/tare/EconomyManagerInternal$ActionBill; +HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->setNewAffordability(Z)V +HSPLcom/android/server/tare/Agent;->registerAffordabilityChangeListenerLocked(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; 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 -HSPLcom/android/server/tare/AlarmManagerEconomicPolicy;-><clinit>()V -HSPLcom/android/server/tare/AlarmManagerEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/EconomicPolicy$Injector;)V -HSPLcom/android/server/tare/AlarmManagerEconomicPolicy;->getCostModifiers()[I -HSPLcom/android/server/tare/AlarmManagerEconomicPolicy;->loadConstants(Ljava/lang/String;Landroid/provider/DeviceConfig$Properties;)V -HSPLcom/android/server/tare/Analyst;-><clinit>()V -HSPLcom/android/server/tare/Analyst;-><init>()V -HSPLcom/android/server/tare/Analyst;-><init>(Lcom/android/internal/app/IBatteryStats;)V -HSPLcom/android/server/tare/ChargingModifier$ChargingTracker;-><init>(Lcom/android/server/tare/ChargingModifier;)V -HSPLcom/android/server/tare/ChargingModifier$ChargingTracker;-><init>(Lcom/android/server/tare/ChargingModifier;Lcom/android/server/tare/ChargingModifier$ChargingTracker-IA;)V -HSPLcom/android/server/tare/ChargingModifier;-><clinit>()V -HSPLcom/android/server/tare/ChargingModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector;-><init>()V -HSPLcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector;->isPolicyEnabled(ILandroid/provider/DeviceConfig$Properties;)Z -HSPLcom/android/server/tare/CompleteEconomicPolicy;-><clinit>()V -HSPLcom/android/server/tare/CompleteEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/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;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/tare/CompleteEconomicPolicy;->getCostModifiers()[I -HSPLcom/android/server/tare/DeviceIdleModifier$DeviceIdleTracker;-><init>(Lcom/android/server/tare/DeviceIdleModifier;)V -HSPLcom/android/server/tare/DeviceIdleModifier;-><clinit>()V -HSPLcom/android/server/tare/DeviceIdleModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/EconomicPolicy$Action;-><init>(IJJ)V -HSPLcom/android/server/tare/EconomicPolicy$Action;-><init>(IJJZ)V -HSPLcom/android/server/tare/EconomicPolicy$Injector;-><init>()V -HSPLcom/android/server/tare/EconomicPolicy$Reward;-><init>(IJJJ)V -HSPLcom/android/server/tare/EconomicPolicy;-><clinit>()V -HSPLcom/android/server/tare/EconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/EconomicPolicy;->getConstantAsCake(Landroid/util/KeyValueListParser;Landroid/provider/DeviceConfig$Properties;Ljava/lang/String;J)J -HSPLcom/android/server/tare/EconomicPolicy;->getConstantAsCake(Landroid/util/KeyValueListParser;Landroid/provider/DeviceConfig$Properties;Ljava/lang/String;JJ)J -HSPLcom/android/server/tare/EconomicPolicy;->initModifier(ILcom/android/server/tare/InternalResourceService;)V -HPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList; -HPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->getAnticipatedActions()Ljava/util/List; -HPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->hashCode()I -HSPLcom/android/server/tare/InternalResourceService$1;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$2;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$3;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$4;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$ConfigObserver;-><init>(Lcom/android/server/tare/InternalResourceService;Landroid/os/Handler;Landroid/content/Context;)V -HSPLcom/android/server/tare/InternalResourceService$EconomyManagerStub;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$IrsHandler;-><init>(Lcom/android/server/tare/InternalResourceService;Landroid/os/Looper;)V -HSPLcom/android/server/tare/InternalResourceService$LocalService;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/InternalResourceService$LocalService;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService$LocalService-IA;)V +HSPLcom/android/server/tare/CompleteEconomicPolicy;->getAction(I)Lcom/android/server/tare/EconomicPolicy$Action;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList; +HSPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->getAnticipatedActions()Ljava/util/List; +HSPLcom/android/server/tare/EconomyManagerInternal$ActionBill;->hashCode()I HPLcom/android/server/tare/InternalResourceService$LocalService;->noteInstantaneousEvent(ILjava/lang/String;ILjava/lang/String;)V HPLcom/android/server/tare/InternalResourceService$LocalService;->noteOngoingEventStarted(ILjava/lang/String;ILjava/lang/String;)V HPLcom/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+]Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent;]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; +HSPLcom/android/server/tare/InternalResourceService$LocalService;->registerAffordabilityChangeListener(ILjava/lang/String;Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener;Lcom/android/server/tare/EconomyManagerInternal$ActionBill;)V+]Lcom/android/server/tare/Agent;Lcom/android/server/tare/Agent;]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; 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; +HSPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmAgent(Lcom/android/server/tare/InternalResourceService;)Lcom/android/server/tare/Agent; HSPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmEnabledMode(Lcom/android/server/tare/InternalResourceService;)I HSPLcom/android/server/tare/InternalResourceService;->-$$Nest$fgetmLock(Lcom/android/server/tare/InternalResourceService;)Ljava/lang/Object; HSPLcom/android/server/tare/InternalResourceService;->-$$Nest$misTareSupported(Lcom/android/server/tare/InternalResourceService;)Z -HSPLcom/android/server/tare/InternalResourceService;-><clinit>()V -HSPLcom/android/server/tare/InternalResourceService;-><init>(Landroid/content/Context;)V -HPLcom/android/server/tare/InternalResourceService;->getCompleteEconomicPolicyLocked()Lcom/android/server/tare/CompleteEconomicPolicy; -HPLcom/android/server/tare/InternalResourceService;->getEnabledMode()I -HSPLcom/android/server/tare/InternalResourceService;->getLock()Ljava/lang/Object; -HPLcom/android/server/tare/InternalResourceService;->getUid(ILjava/lang/String;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HPLcom/android/server/tare/InternalResourceService;->isSystem(ILjava/lang/String;)Z+]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; +HSPLcom/android/server/tare/InternalResourceService;->getCompleteEconomicPolicyLocked()Lcom/android/server/tare/CompleteEconomicPolicy; +HSPLcom/android/server/tare/InternalResourceService;->getEnabledMode()I +HSPLcom/android/server/tare/InternalResourceService;->getUid(ILjava/lang/String;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/tare/InternalResourceService;->isSystem(ILjava/lang/String;)Z+]Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/InternalResourceService; HSPLcom/android/server/tare/InternalResourceService;->isTareSupported()Z -HSPLcom/android/server/tare/InternalResourceService;->onBootPhase(I)V -HSPLcom/android/server/tare/InternalResourceService;->onStart()V -HSPLcom/android/server/tare/JobSchedulerEconomicPolicy;-><clinit>()V -HSPLcom/android/server/tare/JobSchedulerEconomicPolicy;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/EconomicPolicy$Injector;)V -HSPLcom/android/server/tare/JobSchedulerEconomicPolicy;->getCostModifiers()[I -HSPLcom/android/server/tare/JobSchedulerEconomicPolicy;->loadConstants(Ljava/lang/String;Landroid/provider/DeviceConfig$Properties;)V -HSPLcom/android/server/tare/Modifier;-><init>()V -HSPLcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker;-><init>(Lcom/android/server/tare/PowerSaveModeModifier;)V -HSPLcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker;-><init>(Lcom/android/server/tare/PowerSaveModeModifier;Lcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker-IA;)V -HSPLcom/android/server/tare/PowerSaveModeModifier;->-$$Nest$fgetmIrs(Lcom/android/server/tare/PowerSaveModeModifier;)Lcom/android/server/tare/InternalResourceService; -HSPLcom/android/server/tare/PowerSaveModeModifier;-><clinit>()V -HSPLcom/android/server/tare/PowerSaveModeModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/ProcessStateModifier$1;-><init>(Lcom/android/server/tare/ProcessStateModifier;)V -HSPLcom/android/server/tare/ProcessStateModifier;-><clinit>()V -HSPLcom/android/server/tare/ProcessStateModifier;-><init>(Lcom/android/server/tare/InternalResourceService;)V -HSPLcom/android/server/tare/Scribe$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/tare/Scribe;)V -HSPLcom/android/server/tare/Scribe;-><clinit>()V -HSPLcom/android/server/tare/Scribe;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/Analyst;)V -HSPLcom/android/server/tare/Scribe;-><init>(Lcom/android/server/tare/InternalResourceService;Lcom/android/server/tare/Analyst;Ljava/io/File;)V -HSPLcom/android/server/tare/TareHandlerThread;-><init>()V -HSPLcom/android/server/tare/TareHandlerThread;->ensureThreadLocked()V -HSPLcom/android/server/tare/TareHandlerThread;->get()Lcom/android/server/tare/TareHandlerThread; -HSPLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V -HSPLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V -HSPLcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V -HSPLcom/android/server/telecom/TelecomLoaderService;-><clinit>()V -HSPLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V -HSPLcom/android/server/telecom/TelecomLoaderService;->onStart()V -HSPLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppProviders()V -HSPLcom/android/server/textclassifier/IconsContentProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/textclassifier/IconsContentProvider;)V -HSPLcom/android/server/textclassifier/IconsContentProvider;-><init>()V -HSPLcom/android/server/textclassifier/IconsContentProvider;->onCreate()Z HPLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->getServiceStateLocked(Z)Lcom/android/server/textclassifier/TextClassificationManagerService$ServiceState; HPLcom/android/server/textclassifier/TextClassificationManagerService;->handleRequest(Landroid/view/textclassifier/SystemTextClassifierMetadata;ZZLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Ljava/lang/String;Landroid/service/textclassifier/ITextClassifierCallback;)V +HPLcom/android/server/textclassifier/TextClassificationManagerService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V +HPLcom/android/server/textclassifier/TextClassificationManagerService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V HPLcom/android/server/textclassifier/TextClassificationManagerService;->validateCallingPackage(Ljava/lang/String;)V +HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo; +HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getInt(Ljava/lang/String;I)I +HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellChecker()Ljava/lang/String; +HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V +HPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;+]Landroid/view/textservice/SpellCheckerInfo;Landroid/view/textservice/SpellCheckerInfo;]Ljava/util/Locale;Ljava/util/Locale;]Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/view/textservice/SpellCheckerSubtype;Landroid/view/textservice/SpellCheckerSubtype;]Lcom/android/server/textservices/TextServicesManagerService;Lcom/android/server/textservices/TextServicesManagerService; +HPLcom/android/server/textservices/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/textservices/TextServicesManagerService$TextServicesData; +HPLcom/android/server/textservices/TextServicesManagerService;->isSpellCheckerEnabled(I)Z HPLcom/android/server/timedetector/NetworkTimeSuggestion;-><init>(Landroid/app/time/UnixEpochTime;I)V -HSPLcom/android/server/timedetector/TimeDetectorService;->latestNetworkTime()Landroid/app/time/UnixEpochTime; -HPLcom/android/server/trust/TrustManagerService$1;->isAppOrDisplayOnAnyVirtualDevice(II)Z +HSPLcom/android/server/timedetector/TimeDetectorService;->latestNetworkTime()Landroid/app/time/UnixEpochTime;+]Landroid/util/NtpTrustedTime;Landroid/util/NtpTrustedTime$NtpTrustedTimeImpl;]Landroid/util/NtpTrustedTime$TimeResult;Landroid/util/NtpTrustedTime$TimeResult;]Lcom/android/server/timedetector/NetworkTimeSuggestion;Lcom/android/server/timedetector/NetworkTimeSuggestion; +HPLcom/android/server/trust/TrustManagerService$1;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;I)V +HPLcom/android/server/trust/TrustManagerService$1;->enforceReportPermission()V +HPLcom/android/server/trust/TrustManagerService$1;->isAppOrDisplayOnAnyVirtualDevice(II)Z+]Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal;Lcom/android/server/companion/virtual/VirtualDeviceManagerService$LocalService; HPLcom/android/server/trust/TrustManagerService$1;->isDeviceLocked(II)Z HPLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(II)Z +HPLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V HPLcom/android/server/trust/TrustManagerService;->-$$Nest$fgetmLockPatternUtils(Lcom/android/server/trust/TrustManagerService;)Lcom/android/internal/widget/LockPatternUtils; HPLcom/android/server/trust/TrustManagerService;->-$$Nest$fgetmVirtualDeviceManager(Lcom/android/server/trust/TrustManagerService;)Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal; HPLcom/android/server/trust/TrustManagerService;->-$$Nest$mresolveProfileParent(Lcom/android/server/trust/TrustManagerService;I)I +HSPLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z HSPLcom/android/server/trust/TrustManagerService;->checkNewAgentsForUser(I)V -HPLcom/android/server/trust/TrustManagerService;->getSettingsAttrs(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Lcom/android/server/trust/TrustManagerService$SettingsAttrs; -HPLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z -HPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V +HSPLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z +HSPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V +HSPLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(II)V HSPLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List; -HPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I +HPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I+]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager; +HSPLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V HSPLcom/android/server/tv/TvInputHal;-><clinit>()V HSPLcom/android/server/twilight/TwilightService$1;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V HSPLcom/android/server/twilight/TwilightService;->-$$Nest$fgetmListeners(Lcom/android/server/twilight/TwilightService;)Landroid/util/ArrayMap; -HPLcom/android/server/uri/GrantUri;-><init>(ILandroid/net/Uri;I)V -HPLcom/android/server/uri/GrantUri;->equals(Ljava/lang/Object;)Z+]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; -HPLcom/android/server/uri/GrantUri;->hashCode()I+]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; +HSPLcom/android/server/uri/GrantUri;-><init>(ILandroid/net/Uri;I)V +HPLcom/android/server/uri/GrantUri;->equals(Ljava/lang/Object;)Z +HSPLcom/android/server/uri/GrantUri;->hashCode()I HPLcom/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 @@ -11842,9 +10120,7 @@ HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;-><init>(Lcom/an HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z HPLcom/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;+]Landroid/content/Intent;Landroid/content/Intent; -HPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder; -HPLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionIfNeeded(Lcom/android/server/uri/UriPermission;)V HSPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$fgetmLock(Lcom/android/server/uri/UriGrantsManagerService;)Ljava/lang/Object; HSPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mcheckAuthorityGrantsLocked(Lcom/android/server/uri/UriGrantsManagerService;ILandroid/content/pm/ProviderInfo;IZ)Z HPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mcheckGrantUriPermissionFromIntentUnlocked(Lcom/android/server/uri/UriGrantsManagerService;ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants; @@ -11861,94 +10137,68 @@ HPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInter HPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsUnlocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;II)Z HPLcom/android/server/uri/UriGrantsManagerService;->checkUriPermissionLocked(Lcom/android/server/uri/GrantUri;II)Z HSPLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V -HPLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermissionLocked(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;III)Landroid/content/pm/ProviderInfo;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HSPLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermissionLocked(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission; +HSPLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;III)Landroid/content/pm/ProviderInfo; HPLcom/android/server/uri/UriGrantsManagerService;->getUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice; HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwnerUnlocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V+]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; -HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUnchecked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;)V+]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; +HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUnchecked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;)V HPLcom/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+]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HPLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackageLocked(Ljava/lang/String;IZZ)V -HPLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermissionLocked(Ljava/lang/String;ILcom/android/server/uri/GrantUri;IZ)V +HPLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackageLocked(Ljava/lang/String;IZZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; +HPLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermissionLocked(Ljava/lang/String;ILcom/android/server/uri/GrantUri;IZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HSPLcom/android/server/uri/UriGrantsManagerService;->start()V HSPLcom/android/server/uri/UriMetricsHelper;-><clinit>()V HSPLcom/android/server/uri/UriMetricsHelper;-><init>(Landroid/content/Context;Lcom/android/server/uri/UriMetricsHelper$PersistentUriGrantsProvider;)V -HPLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)V -HPLcom/android/server/uri/UriPermission;->addReadOwner(Lcom/android/server/uri/UriPermissionOwner;)V+]Lcom/android/server/uri/UriPermissionOwner;Lcom/android/server/uri/UriPermissionOwner;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/uri/UriPermission;->removeReadOwner(Lcom/android/server/uri/UriPermissionOwner;)V+]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/uri/UriPermission;->updateModeFlags()V +HSPLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)V +HPLcom/android/server/uri/UriPermission;->revokeModes(IZ)Z +HSPLcom/android/server/uri/UriPermission;->updateModeFlags()V HSPLcom/android/server/uri/UriPermissionOwner;-><init>(Lcom/android/server/uri/UriGrantsManagerInternal;Ljava/lang/Object;)V -HPLcom/android/server/uri/UriPermissionOwner;->addReadPermission(Lcom/android/server/uri/UriPermission;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/uri/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/uri/UriPermissionOwner;+]Lcom/android/server/uri/UriPermissionOwner$ExternalToken;Lcom/android/server/uri/UriPermissionOwner$ExternalToken; HSPLcom/android/server/uri/UriPermissionOwner;->getExternalToken()Landroid/os/Binder; -HPLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;ILjava/lang/String;I)V+]Lcom/android/server/uri/GrantUri;Lcom/android/server/uri/GrantUri;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; -HSPLcom/android/server/usage/AppIdleHistory;-><init>(Ljava/io/File;J)V +HPLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;ILjava/lang/String;I)V HSPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBucket(Ljava/lang/String;IJ)I+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HSPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBuckets(IZ)Ljava/util/ArrayList;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/usage/AppIdleHistory;->getAppUsageHistory(Ljava/lang/String;IJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HPLcom/android/server/usage/AppIdleHistory;->getElapsedTime(J)J HPLcom/android/server/usage/AppIdleHistory;->getEstimatedLaunchTime(Ljava/lang/String;IJ)J HSPLcom/android/server/usage/AppIdleHistory;->getPackageHistory(Landroid/util/ArrayMap;Ljava/lang/String;JZ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/usage/AppIdleHistory;->getScreenOnTimeFile()Ljava/io/File; HPLcom/android/server/usage/AppIdleHistory;->getThresholdIndex(Ljava/lang/String;IJ[J[J)I HSPLcom/android/server/usage/AppIdleHistory;->getUserHistory(I)Landroid/util/ArrayMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HSPLcom/android/server/usage/AppIdleHistory;->isIdle(Ljava/lang/String;IJ)Z+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HSPLcom/android/server/usage/AppIdleHistory;->readAppIdleTimes(ILandroid/util/ArrayMap;)V -HSPLcom/android/server/usage/AppIdleHistory;->readScreenOnTime()V HPLcom/android/server/usage/AppIdleHistory;->removeElapsedExpiryTimes(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;J)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray; HPLcom/android/server/usage/AppIdleHistory;->reportUsage(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;Ljava/lang/String;IIIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; -HPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJII)V HPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJIIZ)V+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HPLcom/android/server/usage/AppIdleHistory;->setLastJobRunTime(Ljava/lang/String;IJ)V HPLcom/android/server/usage/AppIdleHistory;->shouldInformListeners(Ljava/lang/String;IJI)Z +HSPLcom/android/server/usage/AppIdleHistory;->updateDisplay(ZJ)V HPLcom/android/server/usage/AppIdleHistory;->writeAppIdleTimes(IJ)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Landroid/util/AtomicFile;Landroid/util/AtomicFile;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Lcom/android/internal/util/jobs/FastXmlSerializer;Lcom/android/internal/util/jobs/FastXmlSerializer;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; -HPLcom/android/server/usage/AppIdleHistory;->writeScreenOnTime()V -HSPLcom/android/server/usage/AppStandbyController$2;-><init>(Lcom/android/server/usage/AppStandbyController;)V -HSPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;-><init>(Lcom/android/server/usage/AppStandbyController;Landroid/os/Looper;)V +HSPLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V HSPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)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 -HSPLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V -HSPLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$DeviceStateReceiver-IA;)V -HSPLcom/android/server/usage/AppStandbyController$Injector;-><init>(Landroid/content/Context;Landroid/os/Looper;)V +HSPLcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord;->obtain(Ljava/lang/String;Ljava/lang/String;I)Lcom/android/server/usage/AppStandbyController$ContentProviderUsageRecord; HSPLcom/android/server/usage/AppStandbyController$Injector;->elapsedRealtime()J HSPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String; -HSPLcom/android/server/usage/AppStandbyController$Injector;->getContext()Landroid/content/Context; -HSPLcom/android/server/usage/AppStandbyController$Injector;->getDataSystemDirectory()Ljava/io/File; -HSPLcom/android/server/usage/AppStandbyController$Injector;->getLooper()Landroid/os/Looper; HPLcom/android/server/usage/AppStandbyController$Injector;->getValidCrossProfileTargets(Ljava/lang/String;I)Ljava/util/List;+]Landroid/content/pm/CrossProfileAppsInternal;Lcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/usage/AppStandbyController$Injector;->isBoundWidgetPackage(Landroid/appwidget/AppWidgetManager;Ljava/lang/String;I)Z HSPLcom/android/server/usage/AppStandbyController$Injector;->isNonIdleWhitelisted(Ljava/lang/String;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/usage/AppStandbyController$Injector;->isPackageEphemeral(ILjava/lang/String;)Z HSPLcom/android/server/usage/AppStandbyController$Injector;->isWellbeingPackage(Ljava/lang/String;)Z -HSPLcom/android/server/usage/AppStandbyController$Injector;->onBootPhase(I)V HSPLcom/android/server/usage/AppStandbyController$Injector;->shouldGetExactAlarmBucketElevation(Ljava/lang/String;I)Z -HSPLcom/android/server/usage/AppStandbyController$Lock;-><init>()V -HSPLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V -HSPLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$PackageReceiver-IA;)V -HPLcom/android/server/usage/AppStandbyController$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V -HPLcom/android/server/usage/AppStandbyController$Pool;->obtain()Ljava/lang/Object; +HSPLcom/android/server/usage/AppStandbyController$Pool;->obtain()Ljava/lang/Object; HPLcom/android/server/usage/AppStandbyController$Pool;->recycle(Ljava/lang/Object;)V HPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->obtain(Ljava/lang/String;IIIZ)Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord; -HSPLcom/android/server/usage/AppStandbyController;-><clinit>()V -HSPLcom/android/server/usage/AppStandbyController;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/usage/AppStandbyController;-><init>(Lcom/android/server/usage/AppStandbyController$Injector;)V -HSPLcom/android/server/usage/AppStandbyController;->addListener(Lcom/android/server/usage/AppStandbyInternal$AppIdleStateChangeListener;)V HPLcom/android/server/usage/AppStandbyController;->checkAndUpdateStandbyState(Ljava/lang/String;IIJ)V+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HPLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HPLcom/android/server/usage/AppStandbyController;->getAppId(Ljava/lang/String;)I HSPLcom/android/server/usage/AppStandbyController;->getAppMinBucket(Ljava/lang/String;II)I+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HSPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucket(Ljava/lang/String;IJZ)I+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; -HPLcom/android/server/usage/AppStandbyController;->getBroadcastResponseWindowDurationMs()J -HPLcom/android/server/usage/AppStandbyController;->getBroadcastSessionsWithResponseDurationMs()J HPLcom/android/server/usage/AppStandbyController;->getBucketForLocked(Ljava/lang/String;IJ)I HPLcom/android/server/usage/AppStandbyController;->getCrossProfileTargets(Ljava/lang/String;I)Ljava/util/List; +HPLcom/android/server/usage/AppStandbyController;->getEstimatedLaunchTime(Ljava/lang/String;I)J HPLcom/android/server/usage/AppStandbyController;->getMinBucketWithValidExpiryTime(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;IJ)I HPLcom/android/server/usage/AppStandbyController;->informListeners(Ljava/lang/String;IIIZ)V HSPLcom/android/server/usage/AppStandbyController;->isActiveDeviceAdmin(Ljava/lang/String;I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/usage/AppStandbyController;->isActiveNetworkScorer(Ljava/lang/String;)Z+]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector; HSPLcom/android/server/usage/AppStandbyController;->isAdminProtectedPackages(Ljava/lang/String;I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/Set;Landroid/util/ArraySet; -HPLcom/android/server/usage/AppStandbyController;->isAppIdleEnabled()Z +HSPLcom/android/server/usage/AppStandbyController;->isAppIdleEnabled()Z HSPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IIJ)Z HPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IJZ)Z HSPLcom/android/server/usage/AppStandbyController;->isAppIdleUnfiltered(Ljava/lang/String;IJ)Z+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; @@ -11958,176 +10208,107 @@ HSPLcom/android/server/usage/AppStandbyController;->isHeadlessSystemApp(Ljava/la HSPLcom/android/server/usage/AppStandbyController;->isInParole()Z HPLcom/android/server/usage/AppStandbyController;->isUserUsage(I)Z HPLcom/android/server/usage/AppStandbyController;->maybeInformListeners(Ljava/lang/String;IJIIZ)V+]Landroid/os/Handler;Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; -HSPLcom/android/server/usage/AppStandbyController;->onBootPhase(I)V -HPLcom/android/server/usage/AppStandbyController;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event; -HPLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V +HPLcom/android/server/usage/AppStandbyController;->onUsageEvent(ILandroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Lcom/android/server/usage/AppStandbyController$Injector;Lcom/android/server/usage/AppStandbyController$Injector;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event;]Landroid/os/UserHandle;Landroid/os/UserHandle; +HSPLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V HPLcom/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 +HSPLcom/android/server/usage/AppStandbyController;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V HPLcom/android/server/usage/AppStandbyController;->reportEventLocked(Ljava/lang/String;IJI)V+]Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController;]Landroid/os/Handler;Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HPLcom/android/server/usage/AppStandbyController;->reportNoninteractiveUsageLocked(Ljava/lang/String;IIIJJ)V HPLcom/android/server/usage/AppStandbyController;->setAppStandbyBucket(Ljava/lang/String;IIIJZ)V -HPLcom/android/server/usage/AppStandbyController;->setAppStandbyBuckets(Ljava/util/List;III)V HPLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V -HPLcom/android/server/usage/AppStandbyController;->shouldNoteResponseEventForAllBroadcastSessions()Z HPLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I -HSPLcom/android/server/usage/AppTimeLimitController$Lock;-><init>()V -HSPLcom/android/server/usage/AppTimeLimitController$Lock;-><init>(Lcom/android/server/usage/AppTimeLimitController$Lock-IA;)V -HSPLcom/android/server/usage/AppTimeLimitController$MyHandler;-><init>(Lcom/android/server/usage/AppTimeLimitController;Landroid/os/Looper;)V -HSPLcom/android/server/usage/AppTimeLimitController;-><clinit>()V -HSPLcom/android/server/usage/AppTimeLimitController;-><init>(Landroid/content/Context;Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;Landroid/os/Looper;)V -HPLcom/android/server/usage/BroadcastEvent;-><init>(ILjava/lang/String;IJ)V +HPLcom/android/server/usage/AppTimeLimitController;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/usage/AppTimeLimitController;Lcom/android/server/usage/AppTimeLimitController; +HPLcom/android/server/usage/AppTimeLimitController;->getOrCreateUserDataLocked(I)Lcom/android/server/usage/AppTimeLimitController$UserData;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;IJ)V +HPLcom/android/server/usage/AppTimeLimitController;->noteUsageStop(Ljava/lang/String;I)V HPLcom/android/server/usage/BroadcastEvent;->equals(Ljava/lang/Object;)Z HPLcom/android/server/usage/BroadcastEvent;->hashCode()I -HSPLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;-><init>(Ljava/lang/Class;I)V HPLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;->logBroadcastDispatchEvent(ILjava/lang/String;Landroid/os/UserHandle;JJI)V -HPLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V+]Lcom/android/internal/util/RingBuffer;Lcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;]Lcom/android/server/usage/BroadcastResponseStatsLogger$Data;Lcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;]Landroid/os/UserHandle;Landroid/os/UserHandle; -HPLcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent;->reset()V -HSPLcom/android/server/usage/BroadcastResponseStatsLogger;-><clinit>()V -HSPLcom/android/server/usage/BroadcastResponseStatsLogger;-><init>()V -HPLcom/android/server/usage/BroadcastResponseStatsLogger;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V+]Lcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;Lcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer; -HSPLcom/android/server/usage/BroadcastResponseStatsTracker$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/usage/BroadcastResponseStatsTracker;)V +HPLcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V +HPLcom/android/server/usage/BroadcastResponseStatsLogger;->logNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V HPLcom/android/server/usage/BroadcastResponseStatsTracker;->getBroadcastEventsLocked(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/util/ArraySet; HPLcom/android/server/usage/BroadcastResponseStatsTracker;->recordAndPruneOldBroadcastDispatchTimestamps(Lcom/android/server/usage/BroadcastEvent;)V HPLcom/android/server/usage/BroadcastResponseStatsTracker;->reportBroadcastDispatchEvent(ILjava/lang/String;Landroid/os/UserHandle;JJI)V -HPLcom/android/server/usage/BroadcastResponseStatsTracker;->reportNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V+]Lcom/android/server/usage/BroadcastResponseStatsLogger;Lcom/android/server/usage/BroadcastResponseStatsLogger;]Lcom/android/server/usage/BroadcastResponseStatsTracker;Lcom/android/server/usage/BroadcastResponseStatsTracker;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Landroid/util/LongArrayQueue;Landroid/util/LongArrayQueue;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/app/usage/BroadcastResponseStats;Landroid/app/usage/BroadcastResponseStats;]Lcom/android/server/usage/BroadcastEvent;Lcom/android/server/usage/BroadcastEvent; +HPLcom/android/server/usage/BroadcastResponseStatsTracker;->reportNotificationEvent(ILjava/lang/String;Landroid/os/UserHandle;J)V HPLcom/android/server/usage/IntervalStats;-><init>()V HPLcom/android/server/usage/IntervalStats;->addEvent(Landroid/app/usage/UsageEvents$Event;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats; HPLcom/android/server/usage/IntervalStats;->deobfuscateEvents(Lcom/android/server/usage/PackagesTokenData;)Z+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/usage/IntervalStats;->deobfuscateUsageStats(Lcom/android/server/usage/PackagesTokenData;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HPLcom/android/server/usage/IntervalStats;->deobfuscateUsageStats(Lcom/android/server/usage/PackagesTokenData;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData; HPLcom/android/server/usage/IntervalStats;->getCachedStringRef(Ljava/lang/String;)Ljava/lang/String;+]Landroid/util/ArraySet;Landroid/util/ArraySet; 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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats; -HPLcom/android/server/usage/IntervalStats;->obfuscateData(Lcom/android/server/usage/PackagesTokenData;)V HPLcom/android/server/usage/IntervalStats;->obfuscateEventsData(Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData; -HPLcom/android/server/usage/IntervalStats;->obfuscateUsageStatsData(Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Ljava/lang/Integer;Ljava/lang/Integer; +HPLcom/android/server/usage/IntervalStats;->obfuscateUsageStatsData(Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/usage/PackagesTokenData;Lcom/android/server/usage/PackagesTokenData; HPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;Ljava/lang/String;JII)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/usage/UsageStats;Landroid/app/usage/UsageStats;]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats; HPLcom/android/server/usage/PackagesTokenData;->getPackageString(I)Ljava/lang/String;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/usage/PackagesTokenData;->getPackageTokenOrAdd(Ljava/lang/String;J)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/usage/PackagesTokenData;->getPackageTokenOrAdd(Ljava/lang/String;J)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Long;Ljava/lang/Long;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/usage/PackagesTokenData;->getString(II)Ljava/lang/String;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/usage/PackagesTokenData;->getTokenOrAdd(ILjava/lang/String;Ljava/lang/String;)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/usage/StorageStatsService;)V -HSPLcom/android/server/usage/StorageStatsService$1;-><init>(Lcom/android/server/usage/StorageStatsService;)V -HSPLcom/android/server/usage/StorageStatsService$2;-><init>(Lcom/android/server/usage/StorageStatsService;)V -HSPLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V -HSPLcom/android/server/usage/StorageStatsService$H;->getInitializedStrategy()Lcom/android/server/storage/CacheQuotaStrategy; HSPLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V -HSPLcom/android/server/usage/StorageStatsService$LocalService;-><init>(Lcom/android/server/usage/StorageStatsService;)V -HSPLcom/android/server/usage/StorageStatsService$LocalService;-><init>(Lcom/android/server/usage/StorageStatsService;Lcom/android/server/usage/StorageStatsService$LocalService-IA;)V -HSPLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmCacheQuotas(Lcom/android/server/usage/StorageStatsService;)Landroid/util/ArrayMap; -HSPLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmContext(Lcom/android/server/usage/StorageStatsService;)Landroid/content/Context; -HSPLcom/android/server/usage/StorageStatsService;->-$$Nest$fgetmInstaller(Lcom/android/server/usage/StorageStatsService;)Lcom/android/server/pm/Installer; -HSPLcom/android/server/usage/StorageStatsService;-><clinit>()V -HSPLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V -HPLcom/android/server/usage/StorageStatsService;->checkStatsPermission(ILjava/lang/String;Z)Ljava/lang/String; -HPLcom/android/server/usage/StorageStatsService;->enforceStatsPermission(ILjava/lang/String;)V +HPLcom/android/server/usage/StorageStatsService;->checkStatsPermission(ILjava/lang/String;Z)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; HPLcom/android/server/usage/StorageStatsService;->forEachStorageStatsAugmenter(Ljava/util/function/Consumer;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/function/Consumer;Lcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda1;,Lcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda0;,Lcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda2; HPLcom/android/server/usage/StorageStatsService;->getAppIds(I)[I+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/usage/StorageStatsService;->getDefaultFlags()I -HSPLcom/android/server/usage/StorageStatsService;->invalidateMounts()V -HSPLcom/android/server/usage/StorageStatsService;->isCacheQuotaCalculationsEnabled(Landroid/content/ContentResolver;)Z -HPLcom/android/server/usage/StorageStatsService;->lambda$queryStatsForUid$2(Landroid/content/pm/PackageStats;IZLcom/android/server/usage/StorageStatsManagerLocal$StorageStatsAugmenter;)V HPLcom/android/server/usage/StorageStatsService;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats; -HPLcom/android/server/usage/StorageStatsService;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats; +HPLcom/android/server/usage/StorageStatsService;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;+]Lcom/android/server/pm/Installer;Lcom/android/server/pm/Installer;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/usage/StorageStatsService;Lcom/android/server/usage/StorageStatsService; HPLcom/android/server/usage/StorageStatsService;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats; HPLcom/android/server/usage/StorageStatsService;->translate(Landroid/content/pm/PackageStats;)Landroid/app/usage/StorageStats; -HSPLcom/android/server/usage/StorageStatsService;->updateConfig()V -HPLcom/android/server/usage/UsageStatsDatabase;->filterStats(Lcom/android/server/usage/IntervalStats;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Ljava/lang/Long;Ljava/lang/Long; +HPLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J +HPLcom/android/server/usage/UsageStatsDatabase;->filterStats(Lcom/android/server/usage/IntervalStats;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Long;Ljava/lang/Long; HPLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J+]Ljava/io/File;Ljava/io/File; -HPLcom/android/server/usage/UsageStatsDatabase;->pruneChooserCountsOlderThan(Ljava/io/File;J)V -HPLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V +HPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; HPLcom/android/server/usage/UsageStatsProtoV2;->loadConfigStats(Landroid/util/proto/ProtoInputStream;Lcom/android/server/usage/IntervalStats;)V+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream;]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HPLcom/android/server/usage/UsageStatsProtoV2;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats$EventTracker;)V+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream; HPLcom/android/server/usage/UsageStatsProtoV2;->parseEvent(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageEvents$Event;+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HPLcom/android/server/usage/UsageStatsProtoV2;->parseUsageStats(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageStats;+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream; HPLcom/android/server/usage/UsageStatsProtoV2;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; -HPLcom/android/server/usage/UsageStatsProtoV2;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; +HPLcom/android/server/usage/UsageStatsProtoV2;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/usage/UsageStatsProtoV2;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/ConfigurationStats;Z)V HPLcom/android/server/usage/UsageStatsProtoV2;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageEvents$Event;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HPLcom/android/server/usage/UsageStatsProtoV2;->writeObfuscatedData(Ljava/io/OutputStream;Lcom/android/server/usage/PackagesTokenData;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/usage/UsageStatsProtoV2;->writeOffsetTimestamp(Landroid/util/proto/ProtoOutputStream;JJJ)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; HPLcom/android/server/usage/UsageStatsProtoV2;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageStats;)V+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream; -HSPLcom/android/server/usage/UsageStatsService$1;-><init>(Lcom/android/server/usage/UsageStatsService;)V HPLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V -HSPLcom/android/server/usage/UsageStatsService$2;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$3;-><init>(Lcom/android/server/usage/UsageStatsService;)V HSPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJI)V+]Landroid/os/Handler;Lcom/android/server/usage/UsageStatsService$H;]Landroid/os/Message;Landroid/os/Message; HPLcom/android/server/usage/UsageStatsService$BinderService$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$BinderService-IA;)V HPLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I -HPLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice; HPLcom/android/server/usage/UsageStatsService$BinderService;->hasPermission(Ljava/lang/String;)Z HPLcom/android/server/usage/UsageStatsService$BinderService;->isAppInactive(Ljava/lang/String;ILjava/lang/String;)Z HPLcom/android/server/usage/UsageStatsService$BinderService;->lambda$getAppStandbyBuckets$0(IIZLandroid/app/usage/AppStandbyInfo;)Z HPLcom/android/server/usage/UsageStatsService$BinderService;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents; -HPLcom/android/server/usage/UsageStatsService$BinderService;->queryEventsForUser(JJILjava/lang/String;)Landroid/app/usage/UsageEvents; HPLcom/android/server/usage/UsageStatsService$BinderService;->queryUsageStats(IJJLjava/lang/String;I)Landroid/content/pm/ParceledListSlice; -HSPLcom/android/server/usage/UsageStatsService$H;-><init>(Lcom/android/server/usage/UsageStatsService;Landroid/os/Looper;)V HSPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Landroid/os/Handler;Lcom/android/server/usage/UsageStatsService$H;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/usage/UsageStatsManagerInternal$EstimatedLaunchTimeChangedListener;Lcom/android/server/job/controllers/PrefetchController$1;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet; -HSPLcom/android/server/usage/UsageStatsService$Injector;-><init>()V -HSPLcom/android/server/usage/UsageStatsService$Injector;->getAppStandbyController(Landroid/content/Context;)Lcom/android/server/usage/AppStandbyInternal; -HSPLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$LocalService-IA;)V HSPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I+]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController; +HPLcom/android/server/usage/UsageStatsService$LocalService;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData; HSPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z -HSPLcom/android/server/usage/UsageStatsService$LocalService;->registerListener(Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V -HSPLcom/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 +HSPLcom/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 HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V HPLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V -HPLcom/android/server/usage/UsageStatsService$LocalService;->reportNotificationPosted(Ljava/lang/String;Landroid/os/UserHandle;J)V -HPLcom/android/server/usage/UsageStatsService$LocalService;->reportNotificationRemoved(Ljava/lang/String;Landroid/os/UserHandle;J)V +HPLcom/android/server/usage/UsageStatsService$LocalService;->reportLocusUpdate(Landroid/content/ComponentName;ILandroid/content/LocusId;Landroid/os/IBinder;)V HPLcom/android/server/usage/UsageStatsService$LocalService;->reportNotificationUpdated(Ljava/lang/String;Landroid/os/UserHandle;J)V HPLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V -HSPLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$MyPackageMonitor-IA;)V -HSPLcom/android/server/usage/UsageStatsService$UidRemovedReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$UidRemovedReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$UidRemovedReceiver-IA;)V -HSPLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$UserActionsReceiver-IA;)V -HSPLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmLock(Lcom/android/server/usage/UsageStatsService;)Ljava/lang/Object; -HPLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmResponseStatsTracker(Lcom/android/server/usage/UsageStatsService;)Lcom/android/server/usage/BroadcastResponseStatsTracker; -HSPLcom/android/server/usage/UsageStatsService;->-$$Nest$fgetmUidToKernelCounter(Lcom/android/server/usage/UsageStatsService;)Landroid/util/SparseIntArray; HPLcom/android/server/usage/UsageStatsService;->-$$Nest$misInstantApp(Lcom/android/server/usage/UsageStatsService;Ljava/lang/String;I)Z+]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService; -HSPLcom/android/server/usage/UsageStatsService;->-$$Nest$mloadGlobalComponentUsageLocked(Lcom/android/server/usage/UsageStatsService;)V -HSPLcom/android/server/usage/UsageStatsService;->-$$Nest$mregisterListener(Lcom/android/server/usage/UsageStatsService;Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V HSPLcom/android/server/usage/UsageStatsService;->-$$Nest$mreportEventOrAddToQueue(Lcom/android/server/usage/UsageStatsService;ILandroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService; -HPLcom/android/server/usage/UsageStatsService;->-$$Nest$msameApp(Lcom/android/server/usage/UsageStatsService;IILjava/lang/String;)Z HPLcom/android/server/usage/UsageStatsService;->-$$Nest$mshouldObfuscateInstantAppsForCaller(Lcom/android/server/usage/UsageStatsService;II)Z -HSPLcom/android/server/usage/UsageStatsService;-><clinit>()V -HSPLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;Lcom/android/server/usage/UsageStatsService$Injector;)V -HPLcom/android/server/usage/UsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V -HPLcom/android/server/usage/UsageStatsService;->flushToDiskLocked()V -HSPLcom/android/server/usage/UsageStatsService;->getShortcutServiceInternal()Landroid/content/pm/ShortcutServiceInternal; +HPLcom/android/server/usage/UsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/usage/UsageStatsService;->getUserUsageStatsServiceLocked(I)Lcom/android/server/usage/UserUsageStatsService;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/usage/UsageStatsService;->isInstantApp(Ljava/lang/String;I)Z+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HSPLcom/android/server/usage/UsageStatsService;->loadGlobalComponentUsageLocked()V -HSPLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V -HSPLcom/android/server/usage/UsageStatsService;->onStart()V -HSPLcom/android/server/usage/UsageStatsService;->publishBinderServices()V HPLcom/android/server/usage/UsageStatsService;->queryEvents(IJJI)Landroid/app/usage/UsageEvents; -HPLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService;]Lcom/android/server/usage/UserUsageStatsService;Lcom/android/server/usage/UserUsageStatsService;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet; -HSPLcom/android/server/usage/UsageStatsService;->registerListener(Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;)V +HPLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService;]Lcom/android/server/usage/UserUsageStatsService;Lcom/android/server/usage/UserUsageStatsService;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V+]Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener;Lcom/android/server/usage/AppStandbyController;,Lcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda5;,Lcom/android/server/job/controllers/QuotaController$UsageEventTracker;,Lcom/android/server/pm/BackgroundInstallControlService$$ExternalSyntheticLambda0;]Landroid/os/Handler;Lcom/android/server/usage/UsageStatsService$H;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService;]Ljava/util/Map;Landroid/util/ArrayMap;]Lcom/android/server/usage/UserUsageStatsService;Lcom/android/server/usage/UserUsageStatsService;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/usage/AppTimeLimitController;Lcom/android/server/usage/AppTimeLimitController; HSPLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V+]Landroid/os/Handler;Lcom/android/server/usage/UsageStatsService$H;]Landroid/os/Message;Landroid/os/Message;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Ljava/util/concurrent/CopyOnWriteArraySet;Ljava/util/concurrent/CopyOnWriteArraySet; -HPLcom/android/server/usage/UsageStatsService;->sameApp(IILjava/lang/String;)Z -HPLcom/android/server/usage/UsageStatsService;->setEstimatedLaunchTimes(ILjava/util/List;)V -HPLcom/android/server/usage/UsageStatsService;->shouldHideLocusIdEvents(II)Z -HPLcom/android/server/usage/UsageStatsService;->shouldHideShortcutInvocationEvents(ILjava/lang/String;II)Z HPLcom/android/server/usage/UsageStatsService;->shouldObfuscateInstantAppsForCaller(II)Z -HPLcom/android/server/usage/UsageStatsService;->shouldObfuscateNotificationEvents(II)Z HPLcom/android/server/usage/UserBroadcastEvents;->getBroadcastEvents(Ljava/lang/String;)Landroid/util/ArraySet; HPLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJILandroid/util/ArraySet;)V HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event; HPLcom/android/server/usage/UserUsageStatsService;->checkAndGetTimeLocked()J+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/usage/UserUsageStatsService;Lcom/android/server/usage/UserUsageStatsService; HPLcom/android/server/usage/UserUsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V +HPLcom/android/server/usage/UserUsageStatsService;->lambda$queryEarliestEventsForPackage$2(JJLjava/lang/String;ILcom/android/server/usage/IntervalStats;ZLjava/util/List;)Z+]Landroid/app/usage/EventList;Landroid/app/usage/EventList;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event; HPLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V +HPLcom/android/server/usage/UserUsageStatsService;->printEvent(Lcom/android/internal/util/IndentingPrintWriter;Landroid/app/usage/UsageEvents$Event;Z)V HPLcom/android/server/usage/UserUsageStatsService;->queryEvents(JJI)Landroid/app/usage/UsageEvents; HPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V+]Lcom/android/server/usage/UnixCalendar;Lcom/android/server/usage/UnixCalendar;]Landroid/app/usage/UsageEvents$Event;Landroid/app/usage/UsageEvents$Event;]Lcom/android/server/usage/IntervalStats;Lcom/android/server/usage/IntervalStats;]Lcom/android/server/usage/UserUsageStatsService;Lcom/android/server/usage/UserUsageStatsService; HPLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V @@ -12135,32 +10316,33 @@ HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/ HPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V +HPLcom/android/server/usb/UsbDeviceManager;->-$$Nest$fgetmHandler(Lcom/android/server/usb/UsbDeviceManager;)Lcom/android/server/usb/UsbDeviceManager$UsbHandler; +HPLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V HSPLcom/android/server/usb/UsbHostManager;-><clinit>()V +HSPLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/usb/UsbPortManager$PortInfo;->setStatus(IZIZIZIIIIZI[IILandroid/hardware/usb/DisplayPortAltModeInfo;)Z +HSPLcom/android/server/usb/UsbPortManager;->addOrUpdatePortLocked(Ljava/lang/String;IIIZIZIZZIZIIZIZ[IIILandroid/hardware/usb/DisplayPortAltModeInfo;Lcom/android/internal/util/IndentingPrintWriter;)V HPLcom/android/server/usb/UsbPortManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus; -HSPLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort; -HSPLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V +HSPLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/usb/UsbPortManager;->logAndPrint(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V +HSPLcom/android/server/usb/UsbPortManager;->updatePorts(Ljava/util/ArrayList;)V +HSPLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/usb/UsbPortManager;Lcom/android/server/usb/UsbPortManager;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HPLcom/android/server/usb/UsbService;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus; -HSPLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List; +HSPLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List;+]Lcom/android/server/usb/UsbPortManager;Lcom/android/server/usb/UsbPortManager;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/usb/hal/port/RawPortInfo;-><init>(Ljava/lang/String;IIIZIZIZZIZIIZIZ[IIILandroid/hardware/usb/DisplayPortAltModeInfo;)V -HSPLcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;->notifyPortStatusChange([Landroid/hardware/usb/PortStatus;I)V -HSPLcom/android/server/utils/AlarmQueue$1;-><init>(Lcom/android/server/utils/AlarmQueue;)V +HSPLcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;->formatComplianceWarnings([I)[I +HSPLcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;->notifyPortStatusChange([Landroid/hardware/usb/PortStatus;I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/usb/UsbPortManager;Lcom/android/server/usb/UsbPortManager;]Lcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;Lcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/usb/hal/port/UsbPortAidl$HALCallback;->toUsbDataStatusInt([B)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HPLcom/android/server/utils/AlarmQueue$1;->run()V -HSPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0;-><init>()V -HPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I -HSPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;-><clinit>()V -HSPLcom/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+]Ljava/lang/Object;Ljava/lang/String;,Landroid/content/pm/UserPackage;]Ljava/util/PriorityQueue;Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue; -HSPLcom/android/server/utils/AlarmQueue$Injector;-><init>()V -HSPLcom/android/server/utils/AlarmQueue;-><clinit>()V -HSPLcom/android/server/utils/AlarmQueue;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;ZJ)V -HSPLcom/android/server/utils/AlarmQueue;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;ZJLcom/android/server/utils/AlarmQueue$Injector;)V +HSPLcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;->removeKey(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/lang/String;,Landroid/content/pm/UserPackage;]Ljava/util/PriorityQueue;Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue; HPLcom/android/server/utils/AlarmQueue;->addAlarm(Ljava/lang/Object;J)V -HPLcom/android/server/utils/AlarmQueue;->removeAlarmForKey(Ljava/lang/Object;)V+]Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue;,Lcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener; -HPLcom/android/server/utils/AlarmQueue;->setNextAlarmLocked()V +HSPLcom/android/server/utils/AlarmQueue;->removeAlarmForKey(Ljava/lang/Object;)V+]Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue;,Lcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener; HPLcom/android/server/utils/AlarmQueue;->setNextAlarmLocked(J)V +HSPLcom/android/server/utils/EventLogger$Event;-><init>()V +HSPLcom/android/server/utils/EventLogger$StringEvent;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/utils/EventLogger;->enqueue(Lcom/android/server/utils/EventLogger$Event;)V +HSPLcom/android/server/utils/FoldSettingProvider;-><clinit>()V HSPLcom/android/server/utils/Slogf;-><clinit>()V HSPLcom/android/server/utils/Slogf;->getMessage(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; HSPLcom/android/server/utils/Slogf;->w(Ljava/lang/String;Ljava/lang/String;)I @@ -12169,8 +10351,6 @@ HSPLcom/android/server/utils/SnapshotCache$Auto;-><init>(Lcom/android/server/uti 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;->-$$Nest$fgetmReused(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 @@ -12178,14 +10358,13 @@ HSPLcom/android/server/utils/SnapshotCache;-><init>(Ljava/lang/Object;Lcom/andro 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;+]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;]Lcom/android/server/utils/SnapshotCache;megamorphic_types -HSPLcom/android/server/utils/Snapshots;->maybeSnapshot(Ljava/lang/Object;)Ljava/lang/Object;+]Lcom/android/server/utils/Snappable;Lcom/android/server/pm/PackageSetting;,Lcom/android/server/pm/PreferredIntentResolver;,Lcom/android/server/pm/SharedUserSetting;,Lcom/android/server/pm/CrossProfileIntentResolver;,Lcom/android/server/utils/WatchedLongSparseArray; +HSPLcom/android/server/utils/Snapshots;->maybeSnapshot(Ljava/lang/Object;)Ljava/lang/Object;+]Lcom/android/server/utils/Snappable;megamorphic_types HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>()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 -HSPLcom/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 @@ -12208,13 +10387,12 @@ HSPLcom/android/server/utils/WatchedArrayList;->registerObserver(Lcom/android/se 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+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayList;]Lcom/android/server/utils/WatchedArrayList;Lcom/android/server/utils/WatchedArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/utils/WatchedArrayList;->unregisterChild(Ljava/lang/Object;)V HSPLcom/android/server/utils/WatchedArrayList;->unregisterChildIf(Ljava/lang/Object;)V HSPLcom/android/server/utils/WatchedArrayList;->untrackedStorage()Ljava/util/ArrayList; 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$1;->onChange(Lcom/android/server/utils/Watchable;)V+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayMap; HSPLcom/android/server/utils/WatchedArrayMap;-><init>()V HSPLcom/android/server/utils/WatchedArrayMap;-><init>(IZ)V HSPLcom/android/server/utils/WatchedArrayMap;->clear()V @@ -12229,9 +10407,6 @@ HSPLcom/android/server/utils/WatchedArrayMap;->registerChild(Ljava/lang/Object;) HSPLcom/android/server/utils/WatchedArrayMap;->registerObserver(Lcom/android/server/utils/Watcher;)V HSPLcom/android/server/utils/WatchedArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/server/utils/WatchedArrayMap;->size()I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -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+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap; HSPLcom/android/server/utils/WatchedArrayMap;->unregisterChildIf(Ljava/lang/Object;)V HSPLcom/android/server/utils/WatchedArrayMap;->untrackedStorage()Landroid/util/ArrayMap; @@ -12245,50 +10420,37 @@ 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 HSPLcom/android/server/utils/WatchedArraySet;->contains(Ljava/lang/Object;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/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 HSPLcom/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+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArraySet;]Lcom/android/server/utils/WatchedArraySet;Lcom/android/server/utils/WatchedArraySet;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/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+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -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;+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; 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 -HSPLcom/android/server/utils/WatchedSparseArray;->delete(I)V HSPLcom/android/server/utils/WatchedSparseArray;->get(I)Ljava/lang/Object;+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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 -HSPLcom/android/server/utils/WatchedSparseArray;->remove(I)V -HSPLcom/android/server/utils/WatchedSparseArray;->size()I+]Landroid/util/SparseArray;Landroid/util/SparseArray; +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+]Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedSparseArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; +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 @@ -12306,315 +10468,391 @@ HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->onChanged()V+]Lcom/andr HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->put(IIZ)V+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix; HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAt(IIZ)V+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix; HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAtInternal(IIZ)V -HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->size()I HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->validateIndex(I)V HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->validateIndex(II)V+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix; HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->valueAt(II)Z+]Lcom/android/server/utils/WatchedSparseBooleanMatrix;Lcom/android/server/utils/WatchedSparseBooleanMatrix; 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 HSPLcom/android/server/utils/WatchedSparseSetArray;-><init>(Lcom/android/server/utils/WatchedSparseSetArray;)V HSPLcom/android/server/utils/WatchedSparseSetArray;->add(ILjava/lang/Object;)Z HPLcom/android/server/utils/WatchedSparseSetArray;->contains(ILjava/lang/Object;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray; HSPLcom/android/server/utils/WatchedSparseSetArray;->onChanged()V +HSPLcom/android/server/utils/WatchedSparseSetArray;->remove(ILjava/lang/Object;)Z+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray; 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 -HPLcom/android/server/utils/quota/Category;->equals(Ljava/lang/Object;)Z +HSPLcom/android/server/utils/quota/Category;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/utils/quota/Category;->hashCode()I -HPLcom/android/server/utils/quota/CountQuotaTracker$CqtHandler;->handleMessage(Landroid/os/Message;)V -HPLcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;->accept(Landroid/util/LongArrayQueue;)V -HPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;+]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; -HPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;+]Lcom/android/server/utils/quota/UptcMap;Lcom/android/server/utils/quota/UptcMap;]Lcom/android/server/utils/quota/QuotaTracker$Injector;Lcom/android/server/utils/quota/QuotaTracker$Injector;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/utils/quota/Categorizer;Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda3;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; -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+]Lcom/android/server/utils/quota/QuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; -HPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuotaLocked(Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)Z +HSPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;+]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; +HSPLcom/android/server/utils/quota/CountQuotaTracker;->getExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;+]Lcom/android/server/utils/quota/UptcMap;Lcom/android/server/utils/quota/UptcMap;]Lcom/android/server/utils/quota/QuotaTracker$Injector;Lcom/android/server/utils/quota/QuotaTracker$Injector;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/utils/quota/Categorizer;Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda3;]Ljava/lang/Long;Ljava/lang/Long;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; +HSPLcom/android/server/utils/quota/CountQuotaTracker;->isUnderCountQuotaLocked(Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)Z +HSPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuota(ILjava/lang/String;Ljava/lang/String;)Z +HSPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuotaLocked(ILjava/lang/String;Ljava/lang/String;)Z+]Lcom/android/server/utils/quota/QuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; +HSPLcom/android/server/utils/quota/CountQuotaTracker;->isWithinQuotaLocked(Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)Z HPLcom/android/server/utils/quota/CountQuotaTracker;->maybeScheduleCleanupAlarmLocked()V HPLcom/android/server/utils/quota/CountQuotaTracker;->noteEvent(ILjava/lang/String;Ljava/lang/String;)Z -HPLcom/android/server/utils/quota/CountQuotaTracker;->updateExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)V -HPLcom/android/server/utils/quota/QuotaTracker$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/utils/quota/QuotaTracker;IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;)V +HSPLcom/android/server/utils/quota/CountQuotaTracker;->updateExecutionStatsLocked(ILjava/lang/String;Ljava/lang/String;Lcom/android/server/utils/quota/CountQuotaTracker$ExecutionStats;)V HSPLcom/android/server/utils/quota/QuotaTracker$Injector;->getElapsedRealtime()J -HPLcom/android/server/utils/quota/QuotaTracker;->isEnabledLocked()Z -HPLcom/android/server/utils/quota/QuotaTracker;->isQuotaFreeLocked(ILjava/lang/String;)Z+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/lang/Boolean;Ljava/lang/Boolean; -HPLcom/android/server/utils/quota/QuotaTracker;->isWithinQuota(ILjava/lang/String;Ljava/lang/String;)Z+]Lcom/android/server/utils/quota/QuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; -HSPLcom/android/server/utils/quota/UptcMap$$ExternalSyntheticLambda0;-><init>(Ljava/util/function/Consumer;)V -HPLcom/android/server/utils/quota/UptcMap$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V -HSPLcom/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;+]Lcom/android/server/utils/quota/UptcMap;Lcom/android/server/utils/quota/UptcMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/function/Function;Lcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda2;,Lcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda1; +HSPLcom/android/server/utils/quota/QuotaTracker;->isEnabledLocked()Z +HSPLcom/android/server/utils/quota/QuotaTracker;->isQuotaFreeLocked(ILjava/lang/String;)Z+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HSPLcom/android/server/utils/quota/QuotaTracker;->isWithinQuota(ILjava/lang/String;Ljava/lang/String;)Z+]Lcom/android/server/utils/quota/QuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; +HSPLcom/android/server/utils/quota/UptcMap;->get(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/Object; +HSPLcom/android/server/utils/quota/UptcMap;->getOrCreate(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/Function;)Ljava/lang/Object;+]Lcom/android/server/utils/quota/UptcMap;Lcom/android/server/utils/quota/UptcMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Ljava/util/function/Function;Lcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda2;,Lcom/android/server/utils/quota/CountQuotaTracker$$ExternalSyntheticLambda1; HPLcom/android/server/utils/quota/UptcMap;->lambda$forEach$0(Ljava/util/function/Consumer;Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;Lcom/android/server/utils/quota/CountQuotaTracker$EarliestEventTimeFunctor;,Lcom/android/server/utils/quota/CountQuotaTracker$DeleteEventTimesFunctor; -HSPLcom/android/server/vibrator/ClippingAmplitudeAndFrequencyAdapter;-><init>()V +HPLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;->getGroupForSubId(I)Landroid/os/ParcelUuid; +HPLcom/android/server/vibrator/AbstractVibratorStep;->nextSteps(JI)Ljava/util/List; HPLcom/android/server/vibrator/CompleteEffectVibratorStep;->play()Ljava/util/List; -HSPLcom/android/server/vibrator/InputDeviceDelegate;-><init>(Landroid/content/Context;Landroid/os/Handler;)V +HPLcom/android/server/vibrator/FinishSequentialEffectStep;->play()Ljava/util/List; +HPLcom/android/server/vibrator/HalVibration;-><init>(Landroid/os/IBinder;Landroid/os/CombinedVibration;Lcom/android/server/vibrator/Vibration$CallerInfo;)V +HPLcom/android/server/vibrator/HalVibration;->end(Lcom/android/server/vibrator/Vibration$EndInfo;)V +HPLcom/android/server/vibrator/HalVibration;->getDebugInfo()Lcom/android/server/vibrator/Vibration$DebugInfo; +HPLcom/android/server/vibrator/HalVibration;->getStatsInfo(J)Lcom/android/server/vibrator/VibrationStats$StatsInfo; HPLcom/android/server/vibrator/PerformPrebakedVibratorStep;->play()Ljava/util/List; -HSPLcom/android/server/vibrator/RampDownAdapter;-><init>(II)V -HSPLcom/android/server/vibrator/RampToStepAdapter;-><init>(I)V -HPLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;-><init>(Lcom/android/server/vibrator/StartSequentialEffectStep;Landroid/os/CombinedVibration$Mono;)V +HPLcom/android/server/vibrator/SetAmplitudeVibratorStep;->play()Ljava/util/List; +HPLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;-><init>(Lcom/android/server/vibrator/StartSequentialEffectStep;Landroid/os/CombinedVibration$Mono;)V+]Landroid/os/CombinedVibration$Mono;Landroid/os/CombinedVibration$Mono;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor;]Lcom/android/server/vibrator/VibratorController;Lcom/android/server/vibrator/VibratorController;]Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap; +HPLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->calculateRequiredSyncCapabilities(Landroid/util/SparseArray;)J+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/VibrationEffect$Composed;Landroid/os/VibrationEffect$Composed;]Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap; HPLcom/android/server/vibrator/StartSequentialEffectStep;->play()Ljava/util/List; -HSPLcom/android/server/vibrator/StepToRampAdapter;-><init>()V +HPLcom/android/server/vibrator/StartSequentialEffectStep;->startVibrating(Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;Ljava/util/List;)J+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor;]Lcom/android/server/vibrator/StartSequentialEffectStep;Lcom/android/server/vibrator/StartSequentialEffectStep;]Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap; +HPLcom/android/server/vibrator/Step;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;J)V +HPLcom/android/server/vibrator/Step;->calculateWaitTime()J +HPLcom/android/server/vibrator/Vibration$CallerInfo;-><init>(Landroid/os/VibrationAttributes;IILjava/lang/String;Ljava/lang/String;)V HPLcom/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 -HSPLcom/android/server/vibrator/VibrationScaler$ScaleLevel;-><init>(F)V -HSPLcom/android/server/vibrator/VibrationScaler;-><init>(Landroid/content/Context;Lcom/android/server/vibrator/VibrationSettings;)V +HPLcom/android/server/vibrator/Vibration$EndInfo;-><init>(Lcom/android/server/vibrator/Vibration$Status;Lcom/android/server/vibrator/Vibration$CallerInfo;)V +HPLcom/android/server/vibrator/Vibration;-><init>(Landroid/os/IBinder;Lcom/android/server/vibrator/Vibration$CallerInfo;)V +HPLcom/android/server/vibrator/VibrationScaler;->scale(Landroid/os/VibrationEffect;I)Landroid/os/VibrationEffect;+]Landroid/os/VibrationEffect;Landroid/os/VibrationEffect$Composed;]Lcom/android/server/vibrator/VibrationSettings;Lcom/android/server/vibrator/VibrationSettings;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->isUidForeground(I)Z HSPLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->onUidStateChanged(IIJI)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/vibrator/VibrationSettings$SettingsBroadcastReceiver;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V -HSPLcom/android/server/vibrator/VibrationSettings$SettingsContentObserver;-><init>(Lcom/android/server/vibrator/VibrationSettings;Landroid/os/Handler;)V -HSPLcom/android/server/vibrator/VibrationSettings$VirtualDeviceListener;-><init>(Lcom/android/server/vibrator/VibrationSettings;)V -HSPLcom/android/server/vibrator/VibrationSettings;-><clinit>()V -HSPLcom/android/server/vibrator/VibrationSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;)V -HSPLcom/android/server/vibrator/VibrationSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/os/vibrator/VibrationConfig;)V -HSPLcom/android/server/vibrator/VibrationSettings;->createEffectFromResource(I)Landroid/os/VibrationEffect; -HSPLcom/android/server/vibrator/VibrationSettings;->createEffectFromTimings([J)Landroid/os/VibrationEffect; -HSPLcom/android/server/vibrator/VibrationSettings;->getDefaultIntensity(I)I -HSPLcom/android/server/vibrator/VibrationSettings;->getLongIntArray(Landroid/content/res/Resources;I)[J -HSPLcom/android/server/vibrator/VibrationSettings;->getRampDownDuration()I +HPLcom/android/server/vibrator/VibrationSettings;->getCurrentIntensity(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/vibrator/VibrationSettings;Lcom/android/server/vibrator/VibrationSettings; +HSPLcom/android/server/vibrator/VibrationSettings;->getDefaultIntensity(I)I+]Landroid/os/vibrator/VibrationConfig;Landroid/os/vibrator/VibrationConfig; HSPLcom/android/server/vibrator/VibrationSettings;->getRampStepDuration()I -HSPLcom/android/server/vibrator/VibrationSettings;->loadBooleanSetting(Ljava/lang/String;)Z -HSPLcom/android/server/vibrator/VibrationSettings;->loadSystemSetting(Ljava/lang/String;I)I -HSPLcom/android/server/vibrator/VibrationSettings;->notifyListeners()V HPLcom/android/server/vibrator/VibrationSettings;->shouldIgnoreVibration(Lcom/android/server/vibrator/Vibration$CallerInfo;)Lcom/android/server/vibrator/Vibration$Status; -HSPLcom/android/server/vibrator/VibrationSettings;->toIntensity(II)I -HSPLcom/android/server/vibrator/VibrationSettings;->toPositiveIntensity(II)I -HSPLcom/android/server/vibrator/VibrationSettings;->update()V -HSPLcom/android/server/vibrator/VibrationSettings;->updateRingerMode()V -HSPLcom/android/server/vibrator/VibrationSettings;->updateSettings()V HPLcom/android/server/vibrator/VibrationStats$StatsInfo;-><init>(IIILcom/android/server/vibrator/Vibration$Status;Lcom/android/server/vibrator/VibrationStats;J)V HPLcom/android/server/vibrator/VibrationStats$StatsInfo;->writeVibrationReported()V +HPLcom/android/server/vibrator/VibrationStats;-><init>()V +HPLcom/android/server/vibrator/VibrationStats;->reportEnded(Lcom/android/server/vibrator/Vibration$CallerInfo;)Z HPLcom/android/server/vibrator/VibrationStepConductor;->expectIsVibrationThread(Z)V -HPLcom/android/server/vibrator/VibrationStepConductor;->isFinished()Z -HPLcom/android/server/vibrator/VibrationStepConductor;->pollNext()Lcom/android/server/vibrator/Step; +HPLcom/android/server/vibrator/VibrationStepConductor;->getVibration()Lcom/android/server/vibrator/HalVibration; +HPLcom/android/server/vibrator/VibrationStepConductor;->hasPendingNotifySignalLocked()Z+]Landroid/util/IntArray;Landroid/util/IntArray; +HPLcom/android/server/vibrator/VibrationStepConductor;->isFinished()Z+]Ljava/util/Queue;Ljava/util/LinkedList;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HPLcom/android/server/vibrator/VibrationStepConductor;->nextVibrateStep(JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)Lcom/android/server/vibrator/AbstractVibratorStep;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/VibrationEffect$Composed;Landroid/os/VibrationEffect$Composed; +HPLcom/android/server/vibrator/VibrationStepConductor;->pollNext()Lcom/android/server/vibrator/Step;+]Ljava/util/Queue;Ljava/util/LinkedList;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; HPLcom/android/server/vibrator/VibrationStepConductor;->prepareToStart()V -HPLcom/android/server/vibrator/VibrationStepConductor;->processAllNotifySignals()V -HPLcom/android/server/vibrator/VibrationStepConductor;->runNextStep()V -HPLcom/android/server/vibrator/VibrationStepConductor;->waitUntilNextStepIsDue()Z -HSPLcom/android/server/vibrator/VibrationThread;-><init>(Landroid/os/PowerManager$WakeLock;Lcom/android/server/vibrator/VibrationThread$VibratorManagerHooks;)V -HPLcom/android/server/vibrator/VibrationThread;->playVibration()V +HPLcom/android/server/vibrator/VibrationStepConductor;->processAllNotifySignals()V+]Landroid/util/IntArray;Landroid/util/IntArray;]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor; +HPLcom/android/server/vibrator/VibrationStepConductor;->processVibratorsComplete([I)V+]Lcom/android/server/vibrator/Step;Lcom/android/server/vibrator/SetAmplitudeVibratorStep;,Lcom/android/server/vibrator/TurnOffVibratorStep;,Lcom/android/server/vibrator/FinishSequentialEffectStep;,Lcom/android/server/vibrator/CompleteEffectVibratorStep;]Ljava/util/Queue;Ljava/util/LinkedList;]Ljava/util/Iterator;Ljava/util/PriorityQueue$Itr;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HPLcom/android/server/vibrator/VibrationStepConductor;->runNextStep()V+]Lcom/android/server/vibrator/Step;megamorphic_types]Ljava/util/List;Ljava/util/Arrays$ArrayList;,Ljava/util/ArrayList;]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HPLcom/android/server/vibrator/VibrationStepConductor;->waitUntilNextStepIsDue()Z+]Ljava/lang/Object;Ljava/lang/Object;]Lcom/android/server/vibrator/Step;megamorphic_types]Ljava/util/Queue;Ljava/util/LinkedList;]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor;]Ljava/util/PriorityQueue;Ljava/util/PriorityQueue; +HPLcom/android/server/vibrator/VibrationThread;->playVibration()V+]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor;]Lcom/android/server/vibrator/VibrationThread;Lcom/android/server/vibrator/VibrationThread; HSPLcom/android/server/vibrator/VibrationThread;->run()V HPLcom/android/server/vibrator/VibrationThread;->runCurrentVibrationWithWakeLock()V -HSPLcom/android/server/vibrator/VibrationThread;->waitForVibrationRequest()Lcom/android/server/vibrator/VibrationStepConductor; -HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;-><init>()V -HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;->getInfo(Landroid/os/VibratorInfo$Builder;)Z -HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;->init(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)V +HPLcom/android/server/vibrator/VibrationThread;->runCurrentVibrationWithWakeLockAndDeathLink()V +HSPLcom/android/server/vibrator/VibrationThread;->waitForVibrationRequest()Lcom/android/server/vibrator/VibrationStepConductor;+]Ljava/lang/Object;Ljava/lang/Object; HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;->off()V -HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;->setExternalControl(Z)V -HSPLcom/android/server/vibrator/VibratorController;-><init>(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)V -HSPLcom/android/server/vibrator/VibratorController;-><init>(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;Lcom/android/server/vibrator/VibratorController$NativeWrapper;)V -HSPLcom/android/server/vibrator/VibratorController;->notifyListenerOnVibrating(Z)V +HSPLcom/android/server/vibrator/VibratorController;->notifyListenerOnVibrating(Z)V+]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/vibrator/VibratorController;->off()V -HSPLcom/android/server/vibrator/VibratorController;->reset()V -HSPLcom/android/server/vibrator/VibratorController;->setExternalControl(Z)V -HSPLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vibrator/VibratorFrameworkStatsLogger;)V -HSPLcom/android/server/vibrator/VibratorFrameworkStatsLogger;-><init>(Landroid/os/Handler;)V -HSPLcom/android/server/vibrator/VibratorFrameworkStatsLogger;-><init>(Landroid/os/Handler;II)V -HSPLcom/android/server/vibrator/VibratorManagerService$1;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V -HSPLcom/android/server/vibrator/VibratorManagerService$ExternalVibratorService;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;-><init>()V -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->createHandler(Landroid/os/Looper;)Landroid/os/Handler; -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->createVibratorController(ILcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener;)Lcom/android/server/vibrator/VibratorController; -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->getBatteryStatsService()Lcom/android/internal/app/IBatteryStats; -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->getFrameworkStatsLogger(Landroid/os/Handler;)Lcom/android/server/vibrator/VibratorFrameworkStatsLogger; -HSPLcom/android/server/vibrator/VibratorManagerService$Injector;->getNativeWrapper()Lcom/android/server/vibrator/VibratorManagerService$NativeWrapper; -HSPLcom/android/server/vibrator/VibratorManagerService$Lifecycle;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/vibrator/VibratorManagerService$Lifecycle;->onBootPhase(I)V -HSPLcom/android/server/vibrator/VibratorManagerService$Lifecycle;->onStart()V -HSPLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;-><init>()V -HSPLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->cancelSynced()V -HSPLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->getCapabilities()J -HSPLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->getVibratorIds()[I -HSPLcom/android/server/vibrator/VibratorManagerService$NativeWrapper;->init(Lcom/android/server/vibrator/VibratorManagerService$OnSyncedVibrationCompleteListener;)V -HSPLcom/android/server/vibrator/VibratorManagerService$VibrationCompleteListener;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V -HSPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;-><init>(Lcom/android/server/vibrator/VibratorManagerService;)V -HSPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;-><init>(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks-IA;)V +HPLcom/android/server/vibrator/VibratorController;->setAmplitude(F)V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibrationReportedAsync(Lcom/android/server/vibrator/VibrationStats$StatsInfo;)V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibrationReportedFromQueue()V +HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationCompleted(JLcom/android/server/vibrator/Vibration$EndInfo;)V HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationThreadReleased(J)V -HSPLcom/android/server/vibrator/VibratorManagerService;-><clinit>()V -HSPLcom/android/server/vibrator/VibratorManagerService;-><init>(Landroid/content/Context;Lcom/android/server/vibrator/VibratorManagerService$Injector;)V +HPLcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords;->record(Lcom/android/server/vibrator/HalVibration;)V +HPLcom/android/server/vibrator/VibratorManagerService;->cancelVibrate(ILandroid/os/IBinder;)V +HPLcom/android/server/vibrator/VibratorManagerService;->checkAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)I +HPLcom/android/server/vibrator/VibratorManagerService;->endVibrationLocked(Lcom/android/server/vibrator/HalVibration;Lcom/android/server/vibrator/Vibration$EndInfo;Z)V +HPLcom/android/server/vibrator/VibratorManagerService;->fillVibrationFallbacks(Lcom/android/server/vibrator/HalVibration;Landroid/os/VibrationEffect;)V+]Landroid/os/vibrator/PrebakedSegment;Landroid/os/vibrator/PrebakedSegment;]Lcom/android/server/vibrator/VibrationSettings;Lcom/android/server/vibrator/VibrationSettings;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/VibrationEffect$Composed;Landroid/os/VibrationEffect$Composed;]Lcom/android/server/vibrator/HalVibration;Lcom/android/server/vibrator/HalVibration; +HPLcom/android/server/vibrator/VibratorManagerService;->fixupVibrationAttributes(Landroid/os/VibrationAttributes;Landroid/os/CombinedVibration;)Landroid/os/VibrationAttributes; +HPLcom/android/server/vibrator/VibratorManagerService;->reportFinishedVibrationLocked(Lcom/android/server/vibrator/Vibration$EndInfo;)V HPLcom/android/server/vibrator/VibratorManagerService;->startVibrationLocked(Lcom/android/server/vibrator/HalVibration;)Lcom/android/server/vibrator/Vibration$EndInfo; +HPLcom/android/server/vibrator/VibratorManagerService;->startVibrationOnThreadLocked(Lcom/android/server/vibrator/VibrationStepConductor;)Lcom/android/server/vibrator/Vibration$EndInfo; HPLcom/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; -HPLcom/android/server/wallpaper/WallpaperDataParser;->writeWallpaperAttributes(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperData;)V -HPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(ZZ)Lcom/android/server/wallpaper/WallpaperData; -HPLcom/android/server/wallpaper/WallpaperManagerService;->-$$Nest$fgetmIsLockscreenLiveWallpaperEnabled(Lcom/android/server/wallpaper/WallpaperManagerService;)Z -HSPLcom/android/server/webkit/SystemImpl$LazyHolder;->-$$Nest$sfgetINSTANCE()Lcom/android/server/webkit/SystemImpl; -HSPLcom/android/server/webkit/SystemImpl$LazyHolder;-><clinit>()V -HSPLcom/android/server/webkit/SystemImpl;-><clinit>()V -HSPLcom/android/server/webkit/SystemImpl;-><init>()V -HSPLcom/android/server/webkit/SystemImpl;-><init>(Lcom/android/server/webkit/SystemImpl-IA;)V -HSPLcom/android/server/webkit/SystemImpl;->getInstance()Lcom/android/server/webkit/SystemImpl; -HSPLcom/android/server/webkit/SystemImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo; -HSPLcom/android/server/webkit/SystemImpl;->readSignatures(Landroid/content/res/XmlResourceParser;)[Ljava/lang/String; -HSPLcom/android/server/webkit/WebViewUpdateService$1;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V -HSPLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V -HSPLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;Lcom/android/server/webkit/WebViewUpdateService$BinderService-IA;)V +HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$$ExternalSyntheticLambda5;->runOrThrow()V +HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->lambda$notifyActivityEventChanged$2(Landroid/os/IBinder;I)V +HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->notifyActivityEventChanged(Landroid/os/IBinder;I)V +HPLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->notifyActivityEventChangedLocked(Landroid/os/IBinder;I)V +HPLcom/android/server/wallpaper/WallpaperDataParser;->writeWallpaperAttributes(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperData;)V+]Ljava/util/Map$Entry;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/app/WallpaperColors;Landroid/app/WallpaperColors;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/Color;Landroid/graphics/Color;]Ljava/util/Map;Ljava/util/Collections$UnmodifiableMap;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/wallpaper/WallpaperDisplayHelper;Lcom/android/server/wallpaper/WallpaperDisplayHelper;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/lang/Float;Ljava/lang/Float;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1; +HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V +HSPLcom/android/server/wallpaper/WallpaperManagerService;->getActiveWallpapers()[Lcom/android/server/wallpaper/WallpaperData; +HSPLcom/android/server/wallpaper/WallpaperManagerService;->notifyScreenTurnedOn(I)V +HSPLcom/android/server/wallpaper/WallpaperManagerService;->notifyScreenTurningOn(I)V +HPLcom/android/server/wallpaper/WallpaperManagerService;->setInAmbientMode(ZJ)V HPLcom/android/server/webkit/WebViewUpdateService$BinderService;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo; HPLcom/android/server/webkit/WebViewUpdateService$BinderService;->grantVisibilityToCaller(Ljava/lang/String;I)V -HSPLcom/android/server/webkit/WebViewUpdateService;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/webkit/WebViewUpdateService;->onStart()V -HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;-><clinit>()V -HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V -HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo; -HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo; -HSPLcom/android/server/wm/AbsAppSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/AbsAppSnapshotController;->initSnapshotScale()F -HSPLcom/android/server/wm/AbsAppSnapshotController;->setSnapshotEnabled(Z)V -HSPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;-><init>(Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Landroid/os/Looper;Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V -HSPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/AbsAppSnapshotController;->shouldDisableSnapshots()Z +HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V +HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;Lcom/android/server/accessibility/magnification/MagnificationController; +HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;->onRectangleOnScreenRequested(ILandroid/graphics/Rect;)V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; HSPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->getInstance(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; +HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->hasWindowManagerEventDispatcher()Z+]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; HSPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->isTracingEnabled(J)Z -HSPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->setUiChangesForAccessibilityCallbacks(Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks;)V -HSPLcom/android/server/wm/AccessibilityController$AccessibilityTracing$LogHandler;-><init>(Lcom/android/server/wm/AccessibilityController$AccessibilityTracing;Landroid/os/Looper;)V -HSPLcom/android/server/wm/AccessibilityController$AccessibilityTracing;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/AccessibilityController$AccessibilityTracing;->getInstance(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityTracing; +HPLcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;->onRectangleOnScreenRequested(ILandroid/graphics/Rect;)V+]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher;]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; HSPLcom/android/server/wm/AccessibilityController;->-$$Nest$sfgetSTATIC_LOCK()Ljava/lang/Object; -HSPLcom/android/server/wm/AccessibilityController;-><clinit>()V -HSPLcom/android/server/wm/AccessibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/AccessibilityController;->getAccessibilityControllerInternal(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; HSPLcom/android/server/wm/AccessibilityController;->hasCallbacks()Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; -HSPLcom/android/server/wm/AccessibilityController;->setFocusedDisplay(I)V -HSPLcom/android/server/wm/AccessibilityWindowsPopulator$MyHandler;-><init>(Lcom/android/server/wm/AccessibilityWindowsPopulator;Landroid/os/Looper;)V -HSPLcom/android/server/wm/AccessibilityWindowsPopulator;-><clinit>()V -HSPLcom/android/server/wm/AccessibilityWindowsPopulator;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AccessibilityController;)V +HPLcom/android/server/wm/AccessibilityController;->onFocusChanged(Lcom/android/server/wm/InputTarget;Lcom/android/server/wm/InputTarget;)V HSPLcom/android/server/wm/ActivityClientController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V +HPLcom/android/server/wm/ActivityClientController;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V +HPLcom/android/server/wm/ActivityClientController;->activityPaused(Landroid/os/IBinder;)V +HPLcom/android/server/wm/ActivityClientController;->activityResumed(Landroid/os/IBinder;Z)V +HPLcom/android/server/wm/ActivityClientController;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V +HPLcom/android/server/wm/ActivityClientController;->activityTopResumedStateLost()V +HPLcom/android/server/wm/ActivityClientController;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z +HPLcom/android/server/wm/ActivityClientController;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z +HPLcom/android/server/wm/ActivityClientController;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V +HPLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;-><init>(IIIIILandroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;)V HPLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;-><init>(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Builder;)V HSPLcom/android/server/wm/ActivityMetricsLaunchObserver;-><init>()V +HPLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;JILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;ZIIZ)V +HPLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;-><init>()V +HPLcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo;-><init>()V +HPLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;Landroid/app/ActivityOptions;IZZIIZ)V +HPLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->calculateDelay(J)I HPLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityRecord;I)V HSPLcom/android/server/wm/ActivityMetricsLogger;-><clinit>()V HSPLcom/android/server/wm/ActivityMetricsLogger;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Looper;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->done(ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Ljava/lang/String;J)V +HPLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo; +HPLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V HPLcom/android/server/wm/ActivityMetricsLogger;->logAppCompatState(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->logAppCompatStateInternal(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityMetricsLogger$PackageCompatStateInfo;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->logAppDisplayed(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V +HPLcom/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 +HPLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Z)V +HPLcom/android/server/wm/ActivityMetricsLogger;->logWindowState()V +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;IZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyBeforePackageUnstopped(Ljava/lang/String;)V HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyBindApplication(Landroid/content/pm/ApplicationInfo;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/ArrayMap;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyWindowsDrawn(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot; HPLcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda10;-><init>()V +HPLcom/android/server/wm/ActivityRecord$AddStartingWindow;->run()V +HPLcom/android/server/wm/ActivityRecord$Builder;->build()Lcom/android/server/wm/ActivityRecord; 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 +HPLcom/android/server/wm/ActivityRecord;->activityPaused(Z)V +HPLcom/android/server/wm/ActivityRecord;->activityResumedLocked(Landroid/os/IBinder;Z)V +HPLcom/android/server/wm/ActivityRecord;->activityStopped(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V +HPLcom/android/server/wm/ActivityRecord;->addStartingWindow(Ljava/lang/String;ILcom/android/server/wm/ActivityRecord;ZZZZZZZ)Z +HPLcom/android/server/wm/ActivityRecord;->addToStopping(ZZLjava/lang/String;)V +HPLcom/android/server/wm/ActivityRecord;->allDrawnStatesConsidered()Z +HPLcom/android/server/wm/ActivityRecord;->applyOptionsAnimation()V HPLcom/android/server/wm/ActivityRecord;->areBoundsLetterboxed()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->asActivityRecord()Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->canAffectSystemUiFlags()Z HPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->canReceiveKeys()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HPLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; -HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/ActivityRecord;->canTurnScreenOn()Z HPLcom/android/server/wm/ActivityRecord;->checkAppWindowsReadyToShow()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->checkKeyguardFlagsChanged()V +HPLcom/android/server/wm/ActivityRecord;->cleanUp(ZZ)V +HPLcom/android/server/wm/ActivityRecord;->clearAllDrawn()V +HPLcom/android/server/wm/ActivityRecord;->commitFinishDrawing(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/ActivityRecord;->commitVisibility(ZZZ)V +HPLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V HPLcom/android/server/wm/ActivityRecord;->containsDismissKeyguardWindow()Z+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->containsShowWhenLockedWindow()Z+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->containsTurnScreenOnWindow()Z+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->continueLaunchTicking()Z +HPLcom/android/server/wm/ActivityRecord;->destroyImmediately(Ljava/lang/String;)Z +HPLcom/android/server/wm/ActivityRecord;->destroySurfaces(Z)V HPLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(IZZZ)Z +HPLcom/android/server/wm/ActivityRecord;->fillsParent()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->findMainWindow()Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->findMainWindow(Z)Lcom/android/server/wm/WindowState;+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/ActivityRecord;->finishIfPossible(ILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;Ljava/lang/String;Z)I +HPLcom/android/server/wm/ActivityRecord;->finishLaunchTickingLocked()V +HPLcom/android/server/wm/ActivityRecord;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V HPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Consumer;Z)V+]Ljava/util/function/Consumer;megamorphic_types HPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Predicate;Z)Z+]Ljava/util/function/Predicate;megamorphic_types HPLcom/android/server/wm/ActivityRecord;->forToken(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HPLcom/android/server/wm/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/ActivityRecord;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;+]Ljava/util/function/Predicate;megamorphic_types HPLcom/android/server/wm/ActivityRecord;->getAppCompatState(Z)I+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->getBounds()Landroid/graphics/Rect;+]Ljava/util/Optional;Ljava/util/Optional;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; +HPLcom/android/server/wm/ActivityRecord;->getCameraCompatControlState()I HPLcom/android/server/wm/ActivityRecord;->getCompatDisplayInsets()Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; +HPLcom/android/server/wm/ActivityRecord;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea; HPLcom/android/server/wm/ActivityRecord;->getDisplayId()I HPLcom/android/server/wm/ActivityRecord;->getInputApplicationHandle(Z)Landroid/view/InputApplicationHandle;+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->getLastParentBeforePip()Lcom/android/server/wm/Task; +HPLcom/android/server/wm/ActivityRecord;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/ActivityRecord;->getLocusId()Landroid/content/LocusId; HPLcom/android/server/wm/ActivityRecord;->getMaxAspectRatio()F HPLcom/android/server/wm/ActivityRecord;->getMinAspectRatio()F HPLcom/android/server/wm/ActivityRecord;->getOrganizedTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HPLcom/android/server/wm/ActivityRecord;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->getOrientation(I)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/ActivityRecord;->getOrientationForReachability()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/ActivityRecord;->getOverrideOrientation()I+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation(Z)I+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation(ZI)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/RootDisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->getRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; HPLcom/android/server/wm/ActivityRecord;->getTask()Lcom/android/server/wm/Task; -HPLcom/android/server/wm/ActivityRecord;->getTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->getTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment; +HPLcom/android/server/wm/ActivityRecord;->getTopFullscreenOpaqueWindow()Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/ActivityRecord;->getTurnScreenOnFlag()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->getUid()I HPLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()V HPLcom/android/server/wm/ActivityRecord;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/ActivityRecord;->hasOverlayOverUntrustedModeEmbedded()Z +HPLcom/android/server/wm/ActivityRecord;->hasProcess()Z HPLcom/android/server/wm/ActivityRecord;->hasSizeCompatBounds()Z HPLcom/android/server/wm/ActivityRecord;->hasStartingWindow()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/ActivityRecord;->hasWallpaperBackgroundForLetterbox()Z +HPLcom/android/server/wm/ActivityRecord;->inSizeCompatMode()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->isDisplaySleepingAndSwapping()Z HPLcom/android/server/wm/ActivityRecord;->isEligibleForLetterboxEducation()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->isEmbedded()Z HPLcom/android/server/wm/ActivityRecord;->isEmbeddedInUntrustedMode()Z HPLcom/android/server/wm/ActivityRecord;->isFocusable()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->isFullyTransparentBarAllowed(Landroid/graphics/Rect;)Z HPLcom/android/server/wm/ActivityRecord;->isInLetterboxAnimation()Z +HPLcom/android/server/wm/ActivityRecord;->isInRootTaskLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->isInTransition()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->isLetterboxedForFixedOrientationAndAspectRatio()Z +HPLcom/android/server/wm/ActivityRecord;->isNoHistory()Z +HPLcom/android/server/wm/ActivityRecord;->isProcessRunning()Z HPLcom/android/server/wm/ActivityRecord;->isRelaunching()Z +HPLcom/android/server/wm/ActivityRecord;->isReportedDrawn()Z +HPLcom/android/server/wm/ActivityRecord;->isResizeable()Z HPLcom/android/server/wm/ActivityRecord;->isResizeable(Z)Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->isState(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;)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 +HPLcom/android/server/wm/ActivityRecord;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z +HPLcom/android/server/wm/ActivityRecord;->isTaskOverlay()Z HPLcom/android/server/wm/ActivityRecord;->isUid(I)Z HPLcom/android/server/wm/ActivityRecord;->isVisible()Z HPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition; HPLcom/android/server/wm/ActivityRecord;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/ActivityRecord;->logAppCompatState()V +HPLcom/android/server/wm/ActivityRecord;->logStartActivity(ILcom/android/server/wm/Task;)V HPLcom/android/server/wm/ActivityRecord;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ClientLifecycleManager;Lcom/android/server/wm/ClientLifecycleManager;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->makeInvisible()V+]Ljava/lang/Enum;Lcom/android/server/wm/ActivityRecord$State;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->needsZBoost()Z +HPLcom/android/server/wm/ActivityRecord;->notifyAppResumed()V HPLcom/android/server/wm/ActivityRecord;->occludesParent()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->occludesParent(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/ActivityRecord;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/ActivityRecord;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;)V HPLcom/android/server/wm/ActivityRecord;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V HPLcom/android/server/wm/ActivityRecord;->onRemovedFromDisplay()V +HPLcom/android/server/wm/ActivityRecord;->onWindowsDrawn()V +HPLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V +HPLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V +HPLcom/android/server/wm/ActivityRecord;->postApplyAnimation(ZZ)V HPLcom/android/server/wm/ActivityRecord;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->providesMaxBounds()Z +HPLcom/android/server/wm/ActivityRecord;->providesOrientation()Z +HPLcom/android/server/wm/ActivityRecord;->removeFromHistory(Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityRecord;->removeLaunchTickRunnable()V+]Landroid/os/Handler;Lcom/android/server/wm/ActivityTaskManagerService$H; +HPLcom/android/server/wm/ActivityRecord;->removePauseTimeout()V +HPLcom/android/server/wm/ActivityRecord;->removeStartingWindow()V +HPLcom/android/server/wm/ActivityRecord;->removeStartingWindowAnimation(Z)V +HPLcom/android/server/wm/ActivityRecord;->removeStopTimeout()V +HPLcom/android/server/wm/ActivityRecord;->removeTimeouts()V +HPLcom/android/server/wm/ActivityRecord;->requestUpdateWallpaperIfNeeded()V +HPLcom/android/server/wm/ActivityRecord;->resolveAspectRatioRestriction(Landroid/content/res/Configuration;)V HPLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/ActivityRecord;->resumeKeyDispatchingLocked()V +HPLcom/android/server/wm/ActivityRecord;->schedulePauseTimeout()V +HPLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)Z +HPLcom/android/server/wm/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityRecord;->setSavedState(Landroid/os/Bundle;)V HPLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityRecord$State;Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V HPLcom/android/server/wm/ActivityRecord;->setVisibility(Z)V HPLcom/android/server/wm/ActivityRecord;->setVisibility(ZZ)V +HPLcom/android/server/wm/ActivityRecord;->setVisible(Z)V +HPLcom/android/server/wm/ActivityRecord;->setVisibleRequested(Z)Z HPLcom/android/server/wm/ActivityRecord;->shouldBeResumed(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->shouldBeVisibleUnchecked()Z+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->shouldCreateCompatDisplayInsets()Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->shouldIgnoreOrientationRequests()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->shouldPauseActivity(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/ActivityRecord;->shouldStartActivity()Z +HPLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZZLcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)V HPLcom/android/server/wm/ActivityRecord;->showToCurrentUser()Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/ActivityRecord;->startLaunchTickingLocked()V +HPLcom/android/server/wm/ActivityRecord;->stopFreezingScreenLocked(Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->stopIfPossible()V +HPLcom/android/server/wm/ActivityRecord;->supportsPictureInPicture()Z HPLcom/android/server/wm/ActivityRecord;->supportsSizeChanges()I+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/android/server/wm/ActivityRecord;->transferSplashScreenIfNeeded()Z +HPLcom/android/server/wm/ActivityRecord;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V +HPLcom/android/server/wm/ActivityRecord;->updateAllDrawn()V HPLcom/android/server/wm/ActivityRecord;->updateCompatDisplayInsets()V HPLcom/android/server/wm/ActivityRecord;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/internal/protolog/ProtoLogGroup;Lcom/android/internal/protolog/ProtoLogGroup;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V HPLcom/android/server/wm/ActivityRecord;->updateReportedVisibilityLocked()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/ActivityRecord;->updateVisibilityIgnoringKeyguard(Z)V +HPLcom/android/server/wm/ActivityRecord;->updateVisibilityIgnoringKeyguard(Z)V+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->updateVisibleForServiceConnection()V -HPLcom/android/server/wm/ActivityRecord;->windowsAreFocusable(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->validateStartingWindowTheme(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z +HPLcom/android/server/wm/ActivityRecord;->windowsAreFocusable()Z +HPLcom/android/server/wm/ActivityRecord;->windowsAreFocusable(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/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 HPLcom/android/server/wm/ActivityRecordInputSink;->getInputWindowHandleWrapper()Lcom/android/server/wm/InputWindowHandleWrapper;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivitySnapshotController;->handleTransitionFinish(Ljava/util/ArrayList;)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 +HPLcom/android/server/wm/ActivityStartController;->startExistingRecents(Landroid/content/Intent;Landroid/app/ActivityOptions;)Z HSPLcom/android/server/wm/ActivityStartInterceptor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V +HPLcom/android/server/wm/ActivityStartInterceptor;->getInterceptorInfo(Ljava/lang/Runnable;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo; +HPLcom/android/server/wm/ActivityStartInterceptor;->interceptLockTaskModeViolationPackageIfNeeded()Z +HPLcom/android/server/wm/ActivityStartInterceptor;->onActivityLaunched(Landroid/app/TaskInfo;Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;->setController(Lcom/android/server/wm/ActivityStartController;)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 +HPLcom/android/server/wm/ActivityStarter;->computeLaunchParams(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)V +HPLcom/android/server/wm/ActivityStarter;->computeLaunchingTaskFlags()V HPLcom/android/server/wm/ActivityStarter;->execute()I HPLcom/android/server/wm/ActivityStarter;->executeRequest(Lcom/android/server/wm/ActivityStarter$Request;)I +HPLcom/android/server/wm/ActivityStarter;->getReusableTask()Lcom/android/server/wm/Task; +HPLcom/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; +HPLcom/android/server/wm/ActivityStarter;->isAllowedToStart(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)I +HPLcom/android/server/wm/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/Task;)V +HPLcom/android/server/wm/ActivityStarter;->recycleTask(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;Lcom/android/server/uri/NeededUriGrants;)I HPLcom/android/server/wm/ActivityStarter;->reset(Z)V HPLcom/android/server/wm/ActivityStarter;->set(Lcom/android/server/wm/ActivityStarter;)V 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 +HPLcom/android/server/wm/ActivityStarter;->setTargetRootTaskIfNeeded(Lcom/android/server/wm/ActivityRecord;)V 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;ILcom/android/server/uri/NeededUriGrants;I)I +HPLcom/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;ILcom/android/server/uri/NeededUriGrants;I)I HSPLcom/android/server/wm/ActivityTaskManagerInternal;-><init>()V HPLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda10;->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/wm/ActivityTaskManagerService$$ExternalSyntheticLambda13;->accept(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 +HPLcom/android/server/wm/ActivityTaskManagerService$H;->handleMessage(Landroid/os/Message;)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 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V +HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->closeSystemDialogs(Ljava/lang/String;)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo; -HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->createSleepTokenAcquirer(Ljava/lang/String;)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepTokenAcquirer; +HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getApplicationConfig(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$PackageConfig; HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTaskToShowPermissionDialogOn(Ljava/lang/String;I)I HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopApp()Lcom/android/server/wm/WindowProcessController; HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->hasSystemAlertWindowPermission(IILjava/lang/String;)Z HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; -HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z +HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isSleeping()Z -HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z +HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z+]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onCleanUpApplicationRecord(Lcom/android/server/wm/WindowProcessController;)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessMapped(ILcom/android/server/wm/WindowProcessController;)V @@ -12622,12 +10860,11 @@ HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRem HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessUnMapped(I)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive(II)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V -HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V -HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerScreenObserver(Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;)V HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->useTopSchedGroupForTopProcess()Z -HSPLcom/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 +HPLcom/android/server/wm/ActivityTaskManagerService$SleepTokenAcquirerImpl;->acquire(IZ)V +HSPLcom/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 HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmRetainPowerModeAndTopProcessState(Lcom/android/server/wm/ActivityTaskManagerService;)Z @@ -12636,6 +10873,7 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$mstart(Lcom/andro HSPLcom/android/server/wm/ActivityTaskManagerService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/wm/ActivityTaskManagerService;->addWindowLayoutReasons(I)V HSPLcom/android/server/wm/ActivityTaskManagerService;->checkCallingPermission(Ljava/lang/String;)I +HPLcom/android/server/wm/ActivityTaskManagerService;->checkCanCloseSystemDialogs(IILjava/lang/String;)Z HSPLcom/android/server/wm/ActivityTaskManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I HSPLcom/android/server/wm/ActivityTaskManagerService;->checkPermission(Ljava/lang/String;II)I HSPLcom/android/server/wm/ActivityTaskManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo; @@ -12644,10 +10882,10 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->createAppWarnings(Landroi HSPLcom/android/server/wm/ActivityTaskManagerService;->createTaskSupervisor()Lcom/android/server/wm/ActivityTaskSupervisor; HSPLcom/android/server/wm/ActivityTaskManagerService;->deferWindowLayout()V HSPLcom/android/server/wm/ActivityTaskManagerService;->enforceTaskPermission(Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->enqueueAssistContext(ILandroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZILandroid/os/Bundle;JI)Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras; HSPLcom/android/server/wm/ActivityTaskManagerService;->ensureConfigAndVisibilityAfterUpdate(Lcom/android/server/wm/ActivityRecord;I)Z HPLcom/android/server/wm/ActivityTaskManagerService;->getAppOpsManager()Landroid/app/AppOpsManager; HPLcom/android/server/wm/ActivityTaskManagerService;->getAppTasks(Ljava/lang/String;I)Ljava/util/List; -HSPLcom/android/server/wm/ActivityTaskManagerService;->getBackgroundActivityStartCallback()Lcom/android/server/wm/BackgroundActivityStartCallback; HPLcom/android/server/wm/ActivityTaskManagerService;->getFocusedRootTaskInfo()Landroid/app/ActivityTaskManager$RootTaskInfo; HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration; HPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForPid(I)Landroid/content/res/Configuration;+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/WindowProcessControllerMap;Lcom/android/server/wm/WindowProcessControllerMap; @@ -12655,141 +10893,159 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalLock()Lcom/andro HPLcom/android/server/wm/ActivityTaskManagerService;->getLastResumedActivityUserId()I HPLcom/android/server/wm/ActivityTaskManagerService;->getLastStopAppSwitchesTime()J HSPLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager; +HSPLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskController()Lcom/android/server/wm/LockTaskController; HPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManager()Landroid/content/pm/IPackageManager; HSPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal; HSPLcom/android/server/wm/ActivityTaskManagerService;->getPermissionPolicyInternal()Lcom/android/server/policy/PermissionPolicyInternal; +HSPLcom/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;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/internal/app/ProcessMap;Lcom/android/internal/app/ProcessMap;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread; HSPLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks()Lcom/android/server/wm/RecentTasks; +HPLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice; +HSPLcom/android/server/wm/ActivityTaskManagerService;->getRootTaskInfo(II)Landroid/app/ActivityTaskManager$RootTaskInfo; HSPLcom/android/server/wm/ActivityTaskManagerService;->getSysUiServiceComponentLocked()Landroid/content/ComponentName; HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskBounds(I)Landroid/graphics/Rect; HSPLcom/android/server/wm/ActivityTaskManagerService;->getTaskChangeNotificationController()Lcom/android/server/wm/TaskChangeNotificationController; -HPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(IZZI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; +HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZZ)Landroid/window/TaskSnapshot; +HSPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(IZZI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; +HPLcom/android/server/wm/ActivityTaskManagerService;->getTopDisplayFocusedRootTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/ActivityTaskManagerService;->getTransitionController()Lcom/android/server/wm/TransitionController; -HSPLcom/android/server/wm/ActivityTaskManagerService;->getUiContext()Landroid/content/Context; -HPLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService; +HSPLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService; HPLcom/android/server/wm/ActivityTaskManagerService;->hasActiveVisibleWindow(I)Z+]Lcom/android/server/wm/MirrorActiveUids;Lcom/android/server/wm/MirrorActiveUids;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker; HPLcom/android/server/wm/ActivityTaskManagerService;->hasSystemAlertWindowPermission(IILjava/lang/String;)Z -HSPLcom/android/server/wm/ActivityTaskManagerService;->increaseAssetConfigurationSeq()I -HSPLcom/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 -HSPLcom/android/server/wm/ActivityTaskManagerService;->installSystemProviders()V +HSPLcom/android/server/wm/ActivityTaskManagerService;->isBooted()Z +HSPLcom/android/server/wm/ActivityTaskManagerService;->isBooting()Z HSPLcom/android/server/wm/ActivityTaskManagerService;->isCallerRecents(I)Z+]Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/RecentTasks; -HPLcom/android/server/wm/ActivityTaskManagerService;->isControllerAMonkey()Z -HPLcom/android/server/wm/ActivityTaskManagerService;->isCrossUserAllowed(II)Z +HSPLcom/android/server/wm/ActivityTaskManagerService;->isCrossUserAllowed(II)Z HSPLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; HSPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingLocked()Z +HPLcom/android/server/wm/ActivityTaskManagerService;->maybeHideLockedProfileActivityLocked()V HSPLcom/android/server/wm/ActivityTaskManagerService;->onActivityManagerInternalAdded()V HSPLcom/android/server/wm/ActivityTaskManagerService;->onInitPowerManagement()V HSPLcom/android/server/wm/ActivityTaskManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLcom/android/server/wm/ActivityTaskManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->resumeAppSwitches()V +HPLcom/android/server/wm/ActivityTaskManagerService;->scheduleAppGcsLocked()V HPLcom/android/server/wm/ActivityTaskManagerService;->setLastResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V HSPLcom/android/server/wm/ActivityTaskManagerService;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V -HSPLcom/android/server/wm/ActivityTaskManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V -HSPLcom/android/server/wm/ActivityTaskManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/ActivityTaskManagerService;->start()V +HPLcom/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 +HPLcom/android/server/wm/ActivityTaskManagerService;->startTimeTrackingFocusedActivityLocked()V HPLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V -HSPLcom/android/server/wm/ActivityTaskManagerService;->updateAssetConfiguration(Ljava/util/List;Z)V HPLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V -HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z -HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z -HSPLcom/android/server/wm/ActivityTaskManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZI)I -HSPLcom/android/server/wm/ActivityTaskManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V +HPLcom/android/server/wm/ActivityTaskManagerService;->updatePreviousProcess(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->updateResumedAppTrace(Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/ActivityTaskManagerService;->updateSleepIfNeededLocked()V +HPLcom/android/server/wm/ActivityTaskManagerService;->updateTopApp(Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Looper;)V +HSPLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;->handleMessage(Landroid/os/Message;)V +HSPLcom/android/server/wm/ActivityTaskSupervisor$ActivityTaskSupervisorHandler;->handleMessageInner(Landroid/os/Message;)Z HSPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;-><init>()V -HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->getVisibleOpaqueActivity(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;->test(Ljava/lang/Object;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper; HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;-><init>()V HPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Lcom/android/server/wm/ActivityRecord;)V+]Landroid/app/TaskInfo;Landroid/app/ActivityManager$RecentTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo;,Landroid/app/ActivityManager$RunningTaskInfo; HPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper; -HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->fillAndReturnTop(Lcom/android/server/wm/Task;Landroid/app/TaskInfo;)Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;->fillAndReturnTop(Lcom/android/server/wm/Task;Landroid/app/TaskInfo;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/ActivityTaskSupervisor;-><clinit>()V HSPLcom/android/server/wm/ActivityTaskSupervisor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V +HPLcom/android/server/wm/ActivityTaskSupervisor;->acquireLaunchWakelock()V HPLcom/android/server/wm/ActivityTaskSupervisor;->activityIdleInternal(Lcom/android/server/wm/ActivityRecord;ZZLandroid/content/res/Configuration;)V HSPLcom/android/server/wm/ActivityTaskSupervisor;->beginActivityVisibilityUpdate()V+]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor; HSPLcom/android/server/wm/ActivityTaskSupervisor;->beginDeferResume()V HPLcom/android/server/wm/ActivityTaskSupervisor;->checkReadyForSleepLocked(Z)V +HPLcom/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 HSPLcom/android/server/wm/ActivityTaskSupervisor;->computeProcessActivityStateBatch()V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/ActivityTaskSupervisor;->endActivityVisibilityUpdate()V+]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor; HSPLcom/android/server/wm/ActivityTaskSupervisor;->endDeferResume()V HSPLcom/android/server/wm/ActivityTaskSupervisor;->getActivityMetricsLogger()Lcom/android/server/wm/ActivityMetricsLogger; HSPLcom/android/server/wm/ActivityTaskSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController; -HSPLcom/android/server/wm/ActivityTaskSupervisor;->getNextTaskIdForUser()I HSPLcom/android/server/wm/ActivityTaskSupervisor;->getNextTaskIdForUser(I)I +HPLcom/android/server/wm/ActivityTaskSupervisor;->handleTopResumedStateReleased(Z)V HSPLcom/android/server/wm/ActivityTaskSupervisor;->inActivityVisibilityUpdate()Z HSPLcom/android/server/wm/ActivityTaskSupervisor;->initPowerManagement()V HSPLcom/android/server/wm/ActivityTaskSupervisor;->initialize()V -HSPLcom/android/server/wm/ActivityTaskSupervisor;->nextTaskIdForUser(II)I +HSPLcom/android/server/wm/ActivityTaskSupervisor;->isRootVisibilityUpdateDeferred()Z +HPLcom/android/server/wm/ActivityTaskSupervisor;->onProcessActivityStateChanged(Lcom/android/server/wm/WindowProcessController;Z)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/ActivityTaskSupervisor;->processStoppingAndFinishingActivities(Lcom/android/server/wm/ActivityRecord;ZLjava/lang/String;)V +HSPLcom/android/server/wm/ActivityTaskSupervisor;->readyToResume()Z HPLcom/android/server/wm/ActivityTaskSupervisor;->realStartActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;ZZ)Z HSPLcom/android/server/wm/ActivityTaskSupervisor;->removeHistoryRecords(Lcom/android/server/wm/WindowProcessController;)V +HPLcom/android/server/wm/ActivityTaskSupervisor;->reportResumedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/ActivityTaskSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo; +HPLcom/android/server/wm/ActivityTaskSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIII)Landroid/content/pm/ResolveInfo; +HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleIdle()V +HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleIdleTimeout(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleProcessStoppingAndFinishingActivitiesIfNeeded()V +HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedActivityStateIfNeeded()V +HSPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedActivityStateLossIfNeeded()V +HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedStateLossTimeout(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityTaskSupervisor;->setLaunchSource(I)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 -HSPLcom/android/server/wm/ActivityTaskSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/ActivityTaskSupervisor;->updateTopResumedActivityIfNeeded(Ljava/lang/String;)V HSPLcom/android/server/wm/AnimatingActivityRegistry;-><init>()V -HSPLcom/android/server/wm/AnrController;-><clinit>()V -HSPLcom/android/server/wm/AnrController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/AppSnapshotLoader;-><init>(Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V +HPLcom/android/server/wm/AnrController;->onFocusChanged(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/AppTaskImpl;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo; HSPLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda2;-><init>()V -HSPLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/AppTransition;)V -HSPLcom/android/server/wm/AppTransition;-><clinit>()V -HSPLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/AppTransition;->isReady()Z HSPLcom/android/server/wm/AppTransition;->isRunning()Z HPLcom/android/server/wm/AppTransition;->isTransitionSet()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V -HSPLcom/android/server/wm/AppTransitionController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/AppTransition;->loadAnimationAttr(Landroid/view/WindowManager$LayoutParams;II)Landroid/view/animation/Animation; +HPLcom/android/server/wm/AppTransition;->prepareAppTransition(II)Z HSPLcom/android/server/wm/AppWarnings$UiHandler;-><init>(Lcom/android/server/wm/AppWarnings;Landroid/os/Looper;)V -HSPLcom/android/server/wm/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V -HSPLcom/android/server/wm/AppWarnings$UiHandler;->hideUnsupportedDisplaySizeDialog()V -HSPLcom/android/server/wm/AppWarnings;->-$$Nest$mhideUnsupportedDisplaySizeDialogUiThread(Lcom/android/server/wm/AppWarnings;)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 HSPLcom/android/server/wm/AppWarnings;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)V -HSPLcom/android/server/wm/AppWarnings;->hideUnsupportedDisplaySizeDialogUiThread()V -HSPLcom/android/server/wm/AppWarnings;->onDensityChanged()V HSPLcom/android/server/wm/AppWarnings;->readConfigFromFileAmsThread()V +HPLcom/android/server/wm/AppWarnings;->showDeprecatedAbiDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;-><init>(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Landroid/util/ArraySet;Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;->onCommitted(Landroid/view/SurfaceControl$Transaction;)V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$mtryFinish(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;-><init>(Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;ILjava/lang/String;)V HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->addToSync(Lcom/android/server/wm/WindowContainer;)V HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->finishNow()V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->setReady(Z)Z HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->tryFinish()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/wm/BLASTSyncEngine;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HSPLcom/android/server/wm/BLASTSyncEngine;->addToSyncSet(ILcom/android/server/wm/WindowContainer;)V +HSPLcom/android/server/wm/BLASTSyncEngine;->getSyncGroup(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;+]Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine; HSPLcom/android/server/wm/BLASTSyncEngine;->getSyncSet(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/BLASTSyncEngine;->onSurfacePlacement()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/wm/BackNavigationController$AnimationHandler;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HSPLcom/android/server/wm/BLASTSyncEngine;->prepareSyncSet(Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;Ljava/lang/String;)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup; +HSPLcom/android/server/wm/BLASTSyncEngine;->setReady(IZ)Z +HSPLcom/android/server/wm/BLASTSyncEngine;->startSyncSet(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;JZ)V +HPLcom/android/server/wm/BackNavigationController$AnimationHandler;->-$$Nest$fgetmComposed(Lcom/android/server/wm/BackNavigationController$AnimationHandler;)Z 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 +HPLcom/android/server/wm/BackNavigationController$NavigationMonitor;->atSameDisplay(Lcom/android/server/wm/WindowState;)Z +HPLcom/android/server/wm/BackNavigationController$NavigationMonitor;->isMonitorAnimationOrTransition()Z +HPLcom/android/server/wm/BackNavigationController$NavigationMonitor;->isMonitorForRemote()Z +HPLcom/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 HSPLcom/android/server/wm/BackNavigationController;->checkAnimationReady(Lcom/android/server/wm/WallpaperController;)V -HSPLcom/android/server/wm/BackNavigationController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/BackNavigationController;->isMonitoringTransition()Z +HPLcom/android/server/wm/BackNavigationController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z +HPLcom/android/server/wm/BackNavigationController;->onBackNavigationDone(Landroid/os/Bundle;I)V +HPLcom/android/server/wm/BackNavigationController;->startBackNavigation(Landroid/os/RemoteCallback;Landroid/window/BackAnimationAdapter;)Landroid/window/BackNavigationInfo; HSPLcom/android/server/wm/BackgroundActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V +HPLcom/android/server/wm/BackgroundActivityStartController;->checkBackgroundActivityStart(IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;Landroid/app/BackgroundStartPrivileges;Landroid/content/Intent;Landroid/app/ActivityOptions;)I HPLcom/android/server/wm/BackgroundActivityStartController;->logStartAllowedAndReturnCode(IZIILandroid/content/Intent;ILjava/lang/String;)I HPLcom/android/server/wm/BackgroundActivityStartController;->logStartAllowedAndReturnCode(IZIILandroid/content/Intent;Ljava/lang/String;)I HPLcom/android/server/wm/BackgroundActivityStartController;->logStartAllowedAndReturnCode(IZIILandroid/content/Intent;Ljava/lang/String;Ljava/lang/String;)I HPLcom/android/server/wm/BackgroundActivityStartController;->statsLogBalAllowed(IIILandroid/content/Intent;)V HSPLcom/android/server/wm/BackgroundLaunchProcessController;-><init>(Ljava/util/function/IntPredicate;Lcom/android/server/wm/BackgroundActivityStartCallback;)V HSPLcom/android/server/wm/BackgroundLaunchProcessController;->addBoundClientUid(ILjava/lang/String;J)V+]Landroid/util/IntArray;Landroid/util/IntArray; +HPLcom/android/server/wm/BackgroundLaunchProcessController;->addOrUpdateAllowBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V HPLcom/android/server/wm/BackgroundLaunchProcessController;->areBackgroundActivityStartsAllowed(IILjava/lang/String;IZZZJJJ)I+]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController; HSPLcom/android/server/wm/BackgroundLaunchProcessController;->clearBalOptInBoundClientUids()V+]Landroid/util/IntArray;Landroid/util/IntArray; -HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBackgroundStartAllowedByToken(ILjava/lang/String;Z)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges; -HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z+]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/function/IntPredicate;Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda2;,Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda3; +HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBackgroundStartAllowedByToken(ILjava/lang/String;Z)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/BackgroundStartPrivileges;Landroid/app/BackgroundStartPrivileges;]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/BackgroundActivityStartCallback;Lcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback; +HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z+]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/function/IntPredicate;Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda3;,Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda2; HSPLcom/android/server/wm/BackgroundLaunchProcessController;->removeAllowBackgroundStartPrivileges(Landroid/os/Binder;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;-><init>(Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver;Ljava/lang/String;ZFZ)V -HSPLcom/android/server/wm/BaseAppSnapshotPersister;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V -HSPLcom/android/server/wm/BlurController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/BlurController;)V -HSPLcom/android/server/wm/BlurController$1;-><init>(Lcom/android/server/wm/BlurController;Ljava/util/concurrent/Executor;)V -HSPLcom/android/server/wm/BlurController$1;->onTunnelModeEnabledChanged(Z)V -HSPLcom/android/server/wm/BlurController$2;-><init>(Lcom/android/server/wm/BlurController;Landroid/os/PowerManager;)V -HSPLcom/android/server/wm/BlurController$3;-><init>(Lcom/android/server/wm/BlurController;Landroid/os/Handler;)V -HSPLcom/android/server/wm/BlurController;->-$$Nest$fputmTunnelModeEnabled(Lcom/android/server/wm/BlurController;Z)V -HSPLcom/android/server/wm/BlurController;->-$$Nest$mupdateBlurEnabled(Lcom/android/server/wm/BlurController;)V -HSPLcom/android/server/wm/BlurController;-><init>(Landroid/content/Context;Landroid/os/PowerManager;)V -HSPLcom/android/server/wm/BlurController;->getBlurDisabledSetting()Z -HSPLcom/android/server/wm/BlurController;->notifyBlurEnabledChangedLocked(Z)V -HSPLcom/android/server/wm/BlurController;->updateBlurEnabled()V HSPLcom/android/server/wm/ClientLifecycleManager;-><init>()V -HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V 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 @@ -12798,31 +11054,23 @@ HSPLcom/android/server/wm/CompatModePackages;->getCompatScale(Ljava/lang/String; HSPLcom/android/server/wm/CompatModePackages;->getPackageCompatModeEnabledLocked(Landroid/content/pm/ApplicationInfo;)Z HSPLcom/android/server/wm/CompatModePackages;->getPackageFlags(Ljava/lang/String;)I HSPLcom/android/server/wm/ConfigurationContainer;-><init>()V -HSPLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideBounds(Landroid/graphics/Rect;)I -HSPLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideMaxBounds(Landroid/graphics/Rect;)I -HSPLcom/android/server/wm/ConfigurationContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/ConfigurationContainer;Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z -HSPLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideBounds(Landroid/graphics/Rect;)Z -HSPLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideMaxBounds(Landroid/graphics/Rect;)Z HSPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V HSPLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration; HSPLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration; HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration; -HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideMaxBounds()Landroid/graphics/Rect; -HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideWindowingMode()I HPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration; HSPLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->hasChild()Z+]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types -HSPLcom/android/server/wm/ConfigurationContainer;->hasOverrideBounds()Z HSPLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeDream()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment; HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHomeOrRecents()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; @@ -12832,61 +11080,38 @@ HSPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landro HSPLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V+]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLcom/android/server/wm/ConfigurationContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V HSPLcom/android/server/wm/ConfigurationContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/ConfigurationContainer;->providesMaxBounds()Z HSPLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;Z)V HSPLcom/android/server/wm/ConfigurationContainer;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V+]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HSPLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V -HSPLcom/android/server/wm/ConfigurationContainer;->setWindowingMode(I)V HSPLcom/android/server/wm/ConfigurationContainer;->updateRequestedOverrideConfiguration(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/ConfigurationContainerListener;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/ContentRecordingController;-><init>()V HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;-><clinit>()V -HSPLcom/android/server/wm/DeviceStateController$DeviceState;->$values()[Lcom/android/server/wm/DeviceStateController$DeviceState; -HSPLcom/android/server/wm/DeviceStateController$DeviceState;-><clinit>()V -HSPLcom/android/server/wm/DeviceStateController$DeviceState;-><init>(Ljava/lang/String;I)V -HSPLcom/android/server/wm/Dimmer$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;)V -HSPLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;)V +HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;->isDesktopModeSupported()Z +HPLcom/android/server/wm/DeviceStateController;->shouldReverseRotationDirectionAroundZAxis(Lcom/android/server/wm/DisplayContent;)Z HSPLcom/android/server/wm/Dimmer;->getDimBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/Dimmer;->resetDimStates()V -HSPLcom/android/server/wm/DisplayArea$1;-><clinit>()V -HSPLcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/wm/DisplayArea$Dimmable;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V -HSPLcom/android/server/wm/DisplayArea$Dimmable;->lambda$prepareSurfaces$0(Lcom/android/server/wm/Task;)Z +HPLcom/android/server/wm/Dimmer;->updateDims(Landroid/view/SurfaceControl$Transaction;)Z HSPLcom/android/server/wm/DisplayArea$Dimmable;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayArea$Dimmable;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/DisplayArea$Dimmable;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea$Dimmable;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; -HSPLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayArea$Tokens;)V HSPLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/wm/DisplayArea$Tokens;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;)V -HSPLcom/android/server/wm/DisplayArea$Tokens;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V -HSPLcom/android/server/wm/DisplayArea$Tokens;->asTokens()Lcom/android/server/wm/DisplayArea$Tokens; HSPLcom/android/server/wm/DisplayArea$Tokens;->getDisplayContent()Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayArea$Tokens;->getOrientation(I)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayArea$Tokens;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; -HSPLcom/android/server/wm/DisplayArea$Tokens;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/DisplayArea$Tokens;->getSurfaceControl()Landroid/view/SurfaceControl; -HSPLcom/android/server/wm/DisplayArea$Tokens;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/DisplayArea$Tokens;->lambda$new$0(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition; -HSPLcom/android/server/wm/DisplayArea$Type;->$values()[Lcom/android/server/wm/DisplayArea$Type; -HSPLcom/android/server/wm/DisplayArea$Type;-><clinit>()V -HSPLcom/android/server/wm/DisplayArea$Type;-><init>(Ljava/lang/String;I)V HSPLcom/android/server/wm/DisplayArea$Type;->checkChild(Lcom/android/server/wm/DisplayArea$Type;Lcom/android/server/wm/DisplayArea$Type;)V HSPLcom/android/server/wm/DisplayArea$Type;->checkSiblings(Lcom/android/server/wm/DisplayArea$Type;Lcom/android/server/wm/DisplayArea$Type;)V HSPLcom/android/server/wm/DisplayArea$Type;->typeOf(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/DisplayArea$Type;+]Lcom/android/server/wm/WindowContainer;megamorphic_types -HSPLcom/android/server/wm/DisplayArea$Type;->values()[Lcom/android/server/wm/DisplayArea$Type; -HSPLcom/android/server/wm/DisplayArea;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V HSPLcom/android/server/wm/DisplayArea;->asDisplayArea()Lcom/android/server/wm/DisplayArea; -HSPLcom/android/server/wm/DisplayArea;->asTokens()Lcom/android/server/wm/DisplayArea$Tokens; HSPLcom/android/server/wm/DisplayArea;->fillsParent()Z -HSPLcom/android/server/wm/DisplayArea;->forAllDisplayAreas(Ljava/util/function/Consumer;)V +HPLcom/android/server/wm/DisplayArea;->findMaxPositionForChildDisplayArea(Lcom/android/server/wm/DisplayArea;)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/DisplayArea$Dimmable;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/DisplayArea;->findMinPositionForChildDisplayArea(Lcom/android/server/wm/DisplayArea;)I +HPLcom/android/server/wm/DisplayArea;->findPositionForChildDisplayArea(ILcom/android/server/wm/DisplayArea;)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/DisplayArea;->forAllLeafTasks(Ljava/util/function/Predicate;)Z -HSPLcom/android/server/wm/DisplayArea;->forAllTasks(Ljava/util/function/Predicate;)Z -HSPLcom/android/server/wm/DisplayArea;->getDisplayArea()Lcom/android/server/wm/DisplayArea; +HPLcom/android/server/wm/DisplayArea;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z +HPLcom/android/server/wm/DisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea$Tokens;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable; +HPLcom/android/server/wm/DisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Predicate;Z)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea$Tokens;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/DisplayArea;->getDisplayContent()Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayArea;->getIgnoreOrientationRequest()Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; -HSPLcom/android/server/wm/DisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/DisplayArea;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/DisplayArea;->getName()Ljava/lang/String; -HSPLcom/android/server/wm/DisplayArea;->getOrientation(I)I+]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/DisplayArea$Dimmable; +HSPLcom/android/server/wm/DisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayArea;megamorphic_types +HSPLcom/android/server/wm/DisplayArea;->getOrientation(I)I+]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable; HSPLcom/android/server/wm/DisplayArea;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/DisplayArea;->getSurfaceControl()Landroid/view/SurfaceControl; HSPLcom/android/server/wm/DisplayArea;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction; @@ -12895,99 +11120,32 @@ HSPLcom/android/server/wm/DisplayArea;->isOrganized()Z HSPLcom/android/server/wm/DisplayArea;->needsZBoost()Z HSPLcom/android/server/wm/DisplayArea;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V HSPLcom/android/server/wm/DisplayArea;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayArea;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayArea;->providesMaxBounds()Z -HSPLcom/android/server/wm/DisplayArea;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;Z)Ljava/lang/Object; +HPLcom/android/server/wm/DisplayArea;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z +HPLcom/android/server/wm/DisplayArea;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V HSPLcom/android/server/wm/DisplayArea;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/DisplayArea;->shouldIgnoreOrientationRequest(I)Z+]Lcom/android/server/wm/DisplayArea;megamorphic_types -HPLcom/android/server/wm/DisplayArea;->shouldRespectOrientationRequestDueToPerAppOverride()Z +HPLcom/android/server/wm/DisplayArea;->toString()Ljava/lang/String; HSPLcom/android/server/wm/DisplayAreaOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V -HSPLcom/android/server/wm/DisplayAreaOrganizerController;->getOrganizerByFeature(I)Landroid/window/IDisplayAreaOrganizer; -HSPLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/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; -HSPLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;-><init>()V -HSPLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->configureTrustedHierarchyBuilder(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V -HSPLcom/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; -HSPLcom/android/server/wm/DisplayAreaPolicy$Provider;->fromResources(Landroid/content/res/Resources;)Lcom/android/server/wm/DisplayAreaPolicy$Provider; -HSPLcom/android/server/wm/DisplayAreaPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/RootDisplayArea;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectRootForWindowFunction;-><init>(Lcom/android/server/wm/RootDisplayArea;Ljava/util/List;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectTaskDisplayAreaFunction;-><init>(Lcom/android/server/wm/TaskDisplayArea;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/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; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;-><init>(Lcom/android/server/policy/WindowManagerPolicy;Ljava/lang/String;I)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->all()Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->and([I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->build()Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->except([I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->layerFromType(IZ)I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->set(IZ)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->setNewDisplayAreaSupplier(Lcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder;->upTo(I)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmId(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmName(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Ljava/lang/String; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmNewDisplayAreaSupplier(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->-$$Nest$fgetmWindowLayers(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)[Z -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;-><init>(Ljava/lang/String;I[ZLcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;-><init>(Ljava/lang/String;I[ZLcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier;Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature-IA;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;->getId()I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmFeatures(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Ljava/util/ArrayList; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmImeContainer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/DisplayArea$Tokens; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmRoot(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/RootDisplayArea; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$fgetmTaskDisplayAreas(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Ljava/util/ArrayList; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->-$$Nest$mbuild(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Ljava/util/List;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;-><init>(Lcom/android/server/wm/RootDisplayArea;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addDisplayAreaGroupsToApplicationLayer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;Ljava/util/List;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addFeature(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->addTaskDisplayAreasToApplicationLayer(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->build(Ljava/util/List;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->setImeContainer(Lcom/android/server/wm/DisplayArea$Tokens;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->setTaskDisplayAreas(Ljava/util/List;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;->typeOfLayer(Lcom/android/server/policy/WindowManagerPolicy;I)I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;-><init>(Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature;ILcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->computeMaxLayer()I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->createArea(Lcom/android/server/wm/DisplayArea;[Lcom/android/server/wm/DisplayArea$Tokens;)Lcom/android/server/wm/DisplayArea; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->fillAreaForLayers(Lcom/android/server/wm/DisplayArea$Tokens;[Lcom/android/server/wm/DisplayArea$Tokens;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->instantiateChildren(Lcom/android/server/wm/DisplayArea;[Lcom/android/server/wm/DisplayArea$Tokens;ILjava/util/Map;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;->lambda$instantiateChildren$0(Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea;)I -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/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 HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDisplayAreas(I)Ljava/util/List; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->getDisplayAreas(Lcom/android/server/wm/RootDisplayArea;ILjava/util/List;)V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->lambda$new$0(Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/TaskDisplayArea; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;-><init>()V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->build(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->containsDefaultTaskDisplayArea(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Z -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->setRootHierarchy(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;)Lcom/android/server/wm/DisplayAreaPolicyBuilder; -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->validate()V -HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->validateIds(Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder;Ljava/util/Set;Ljava/util/Set;)V -HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda15;->accept(Ljava/lang/Object;)V HPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda26;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda6;-><init>(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayContent$1;-><init>()V -HSPLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>()V -HSPLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>(Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState-IA;)V +HPLcom/android/server/wm/DisplayContent$2;->onVisibleRequestedChanged(Z)V HSPLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;->reset()V -HSPLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;-><init>(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;->shouldDeferRotation()Z -HSPLcom/android/server/wm/DisplayContent$ImeContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V HSPLcom/android/server/wm/DisplayContent$ImeContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V +HPLcom/android/server/wm/DisplayContent$ImeContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;IZ)V HSPLcom/android/server/wm/DisplayContent$ImeContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z HSPLcom/android/server/wm/DisplayContent$ImeContainer;->getOrientation(I)I+]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$ImeContainer; HSPLcom/android/server/wm/DisplayContent$ImeContainer;->setNeedsLayer()V HSPLcom/android/server/wm/DisplayContent$ImeContainer;->skipImeWindowsDuringTraversal(Lcom/android/server/wm/DisplayContent;)Z -HSPLcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;-><init>()V +HSPLcom/android/server/wm/DisplayContent$ImeContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V +HPLcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;->notifyInsetsChanged()V HSPLcom/android/server/wm/DisplayContent;->-$$Nest$fgetmImeLayeringTarget(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/DisplayContent;-><clinit>()V -HSPLcom/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+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;III)V +HSPLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V +HPLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V HSPLcom/android/server/wm/DisplayContent;->amendWindowTapExcludeRegion(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;]Lcom/android/server/wm/ImeInsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/wm/WallpaperVisibilityListeners;Lcom/android/server/wm/WallpaperVisibilityListeners;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V @@ -12995,199 +11153,160 @@ HSPLcom/android/server/wm/DisplayContent;->assignRelativeLayerForIme(Landroid/vi HPLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V HSPLcom/android/server/wm/DisplayContent;->beginHoldScreenUpdate()V HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Landroid/view/DisplayCutout; -HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationAndDisplaySizeUncached(Landroid/view/DisplayCutout;III)Lcom/android/server/wm/utils/WmDisplayCutout; -HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout; HSPLcom/android/server/wm/DisplayContent;->calculateDisplayShapeForRotation(I)Landroid/view/DisplayShape; -HSPLcom/android/server/wm/DisplayContent;->calculateDisplayShapeForRotationUncached(Landroid/view/DisplayShape;I)Landroid/view/DisplayShape; HSPLcom/android/server/wm/DisplayContent;->calculatePrivacyIndicatorBoundsForRotation(I)Landroid/view/PrivacyIndicatorBounds; -HSPLcom/android/server/wm/DisplayContent;->calculatePrivacyIndicatorBoundsForRotationUncached(Landroid/view/PrivacyIndicatorBounds;I)Landroid/view/PrivacyIndicatorBounds; HSPLcom/android/server/wm/DisplayContent;->calculateRoundedCornersForRotation(I)Landroid/view/RoundedCorners; -HSPLcom/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+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; -HPLcom/android/server/wm/DisplayContent;->canShowWithInsecureKeyguard()Z -HSPLcom/android/server/wm/DisplayContent;->canStealTopFocus()Z +HPLcom/android/server/wm/DisplayContent;->canShowWithInsecureKeyguard()Z+]Landroid/view/Display;Landroid/view/Display; +HPLcom/android/server/wm/DisplayContent;->canUpdateImeTarget()Z HSPLcom/android/server/wm/DisplayContent;->clearLayoutNeeded()V -HSPLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZII)I +HPLcom/android/server/wm/DisplayContent;->computeImeControlTarget()Lcom/android/server/wm/InsetsControlTarget; HSPLcom/android/server/wm/DisplayContent;->computeImeParent()Landroid/view/SurfaceControl; HSPLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/DisplayContent;->computeScreenAppConfiguration(Landroid/content/res/Configuration;III)V HSPLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayContent;->computeSizeRanges(Landroid/view/DisplayInfo;ZIIFLandroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V -HSPLcom/android/server/wm/DisplayContent;->configureSurfaces(Landroid/view/SurfaceControl$Transaction;)V -HSPLcom/android/server/wm/DisplayContent;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V -HSPLcom/android/server/wm/DisplayContent;->fillsParent()Z +HSPLcom/android/server/wm/DisplayContent;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; +HPLcom/android/server/wm/DisplayContent;->executeAppTransition()V HSPLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded(I)Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/DisplayContent;->finishHoldScreenUpdate()V+]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock; HPLcom/android/server/wm/DisplayContent;->forAllImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z -HSPLcom/android/server/wm/DisplayContent;->forceDesktopMode()Z HPLcom/android/server/wm/DisplayContent;->getAsyncRotationController()Lcom/android/server/wm/AsyncRotationController; HSPLcom/android/server/wm/DisplayContent;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;+]Lcom/android/server/wm/DisplayAreaPolicy;Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result; -HSPLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display; HSPLcom/android/server/wm/DisplayContent;->getDisplayId()I HSPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo; HSPLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy; HSPLcom/android/server/wm/DisplayContent;->getDisplayRotation()Lcom/android/server/wm/DisplayRotation; -HSPLcom/android/server/wm/DisplayContent;->getDisplayUiContext()Landroid/content/Context; HSPLcom/android/server/wm/DisplayContent;->getFocusedRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/DisplayContent;->getImeHostOrFallback(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget; HSPLcom/android/server/wm/DisplayContent;->getImeInputTarget()Lcom/android/server/wm/InputTarget; HSPLcom/android/server/wm/DisplayContent;->getImePolicy()I HSPLcom/android/server/wm/DisplayContent;->getImeTarget(I)Lcom/android/server/wm/InsetsControlTarget; -HSPLcom/android/server/wm/DisplayContent;->getInitialDisplayDensity()I +HPLcom/android/server/wm/DisplayContent;->getInputMethodWindowVisibleHeight()I HSPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor; HSPLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy; HSPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController; -HSPLcom/android/server/wm/DisplayContent;->getKeepClearAreas(Ljava/util/Set;Ljava/util/Set;)V -HSPLcom/android/server/wm/DisplayContent;->getMetricsLogger()Lcom/android/internal/logging/MetricsLogger; -HSPLcom/android/server/wm/DisplayContent;->getMinimalTaskSizeDp()I -HSPLcom/android/server/wm/DisplayContent;->getName()Ljava/lang/String; +HSPLcom/android/server/wm/DisplayContent;->getKeepClearAreas(Ljava/util/Set;Ljava/util/Set;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; HSPLcom/android/server/wm/DisplayContent;->getOrientation()I+]Lcom/android/server/wm/DisplayRotationCompatPolicy;Lcom/android/server/wm/DisplayRotationCompatPolicy;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayContent;->getOrientationRequestingTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea; -HSPLcom/android/server/wm/DisplayContent;->getRelativeDisplayRotation()I +HPLcom/android/server/wm/DisplayContent;->getRootTask(I)Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/DisplayContent;->getRootTask(II)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/DisplayContent;->getRootTaskCount()I -HSPLcom/android/server/wm/DisplayContent;->getRotation()I +HSPLcom/android/server/wm/DisplayContent;->getRotation()I+]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation; HSPLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession; +HPLcom/android/server/wm/DisplayContent;->getStableRect(Landroid/graphics/Rect;)V +HSPLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;+]Ljava/util/HashMap;Ljava/util/HashMap; +HPLcom/android/server/wm/DisplayContent;->handleActivitySizeCompatModeIfNeeded(Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/DisplayContent;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/DisplayContent;->handleTopActivityLaunchingInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/DisplayContent;->handlesOrientationChangeFromDescendant(I)Z+]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayContent;->hasAccess(I)Z HSPLcom/android/server/wm/DisplayContent;->hasOwnFocus()Z HSPLcom/android/server/wm/DisplayContent;->inTransition()Z -HSPLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V HSPLcom/android/server/wm/DisplayContent;->isImeControlledByApp()Z+]Lcom/android/server/wm/InputTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow; +HPLcom/android/server/wm/DisplayContent;->isInputMethodClientFocus(II)Z HSPLcom/android/server/wm/DisplayContent;->isKeyguardGoingAway()Z+]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor; HPLcom/android/server/wm/DisplayContent;->isKeyguardLocked()Z HSPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z +HPLcom/android/server/wm/DisplayContent;->isNextTransitionForward()Z HSPLcom/android/server/wm/DisplayContent;->isPrivate()Z HSPLcom/android/server/wm/DisplayContent;->isReady()Z HSPLcom/android/server/wm/DisplayContent;->isRemoved()Z HSPLcom/android/server/wm/DisplayContent;->isRemoving()Z +HPLcom/android/server/wm/DisplayContent;->isRotationChanging()Z HSPLcom/android/server/wm/DisplayContent;->isSleeping()Z HSPLcom/android/server/wm/DisplayContent;->isTrusted()Z -HSPLcom/android/server/wm/DisplayContent;->isVisible()Z HSPLcom/android/server/wm/DisplayContent;->isVisibleRequested()Z HSPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/DisplayContent;->lambda$new$2(Lcom/android/server/wm/WindowState;)V+]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H; +HSPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayContent;->lambda$new$5(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/DisplayContent;->lambda$new$6(Lcom/android/server/wm/WindowState;)Z HSPLcom/android/server/wm/DisplayContent;->lambda$new$7(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HSPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/RefreshRatePolicy;Lcom/android/server/wm/RefreshRatePolicy;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/RefreshRatePolicy;Lcom/android/server/wm/RefreshRatePolicy;]Ljava/util/LinkedList;Ljava/util/LinkedList;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/DisplayContent;->lambda$updateTouchExcludeRegion$20(Lcom/android/server/wm/Task;ILcom/android/server/wm/Task;)V +HPLcom/android/server/wm/DisplayContent;->logsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;)Z HSPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/DisplayContent;->needsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;Z)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/DisplayContent;->notifyInsetsChanged(Ljava/util/function/Consumer;)V HPLcom/android/server/wm/DisplayContent;->okToAnimate(ZZ)Z HPLcom/android/server/wm/DisplayContent;->okToDisplay(ZZ)Z -HSPLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayContent;->onDescendantOverrideConfigurationChanged()V HSPLcom/android/server/wm/DisplayContent;->onDisplayChanged()V HSPLcom/android/server/wm/DisplayContent;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/DisplayContent;->onDisplayInfoChanged()V -HSPLcom/android/server/wm/DisplayContent;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V -HSPLcom/android/server/wm/DisplayContent;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayContent;->onResize()V -HSPLcom/android/server/wm/DisplayContent;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;)I +HPLcom/android/server/wm/DisplayContent;->onImeInsetsClientVisibilityUpdate()Z HSPLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayContent;->performLayoutNoTrace(ZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor; HSPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V+]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/DisplayContent;->processTaskForTouchExcludeRegion(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;I)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea; -HSPLcom/android/server/wm/DisplayContent;->providesMaxBounds()Z -HSPLcom/android/server/wm/DisplayContent;->reconfigureDisplayLocked()V -HSPLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IILandroid/util/DisplayMetrics;II)I -HSPLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V -HSPLcom/android/server/wm/DisplayContent;->sendNewConfiguration()V +HPLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/DisplayContent;->rotationForActivityInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;)I +HPLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V HSPLcom/android/server/wm/DisplayContent;->setDisplayMirroring()Z+]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService; -HSPLcom/android/server/wm/DisplayContent;->setIgnoreOrientationRequest(Z)Z +HPLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/DisplayContent;->setImeInputTarget(Lcom/android/server/wm/InputTarget;)V HSPLcom/android/server/wm/DisplayContent;->setImeLayeringTargetInner(Lcom/android/server/wm/WindowState;)V HSPLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V HSPLcom/android/server/wm/DisplayContent;->shouldDeferRemoval()Z HSPLcom/android/server/wm/DisplayContent;->shouldImeAttachedToApp()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$ImeContainer; HSPLcom/android/server/wm/DisplayContent;->shouldSleep()Z -HSPLcom/android/server/wm/DisplayContent;->supportsSystemDecorations()Z -HPLcom/android/server/wm/DisplayContent;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(IIIFF)V +HPLcom/android/server/wm/DisplayContent;->toString()Ljava/lang/String; HSPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded()V HSPLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(Landroid/content/res/Configuration;)Landroid/view/DisplayInfo; -HSPLcom/android/server/wm/DisplayContent;->updateDisplayAreaOrganizers()V HSPLcom/android/server/wm/DisplayContent;->updateDisplayFrames(Lcom/android/server/wm/DisplayFrames;III)Z HSPLcom/android/server/wm/DisplayContent;->updateDisplayFrames(Z)V HSPLcom/android/server/wm/DisplayContent;->updateDisplayInfo()V -HSPLcom/android/server/wm/DisplayContent;->updateDisplayOverrideConfigurationLocked()Z HSPLcom/android/server/wm/DisplayContent;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z HSPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZI)Z HPLcom/android/server/wm/DisplayContent;->updateImeControlTarget(Z)V +HPLcom/android/server/wm/DisplayContent;->updateImeInputAndControlTarget(Lcom/android/server/wm/InputTarget;)V HSPLcom/android/server/wm/DisplayContent;->updateImeParent()V HSPLcom/android/server/wm/DisplayContent;->updateKeepClearAreas()V+]Lcom/android/server/wm/DisplayWindowListenerController;Lcom/android/server/wm/DisplayWindowListenerController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/Set;Landroid/util/ArraySet; -HSPLcom/android/server/wm/DisplayContent;->updateOrientation()Z -HSPLcom/android/server/wm/DisplayContent;->updateOrientation(Z)Z +HSPLcom/android/server/wm/DisplayContent;->updateOrientation()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/DisplayContent;->updateOrientation(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayRotationReversionController;Lcom/android/server/wm/DisplayRotationReversionController;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/DisplayContent;->updateRecording()V -HSPLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z HSPLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusion()Z+]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/view/ISystemGestureExclusionListener;Landroid/view/ISystemGestureExclusionListener$Stub$Proxy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusionLimit()V HSPLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskTapPointerEventListener;Lcom/android/server/wm/TaskTapPointerEventListener;]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator()V -HSPLcom/android/server/wm/DisplayFrames;-><clinit>()V -HSPLcom/android/server/wm/DisplayFrames;-><init>()V -HSPLcom/android/server/wm/DisplayFrames;-><init>(Landroid/view/InsetsState;Landroid/view/DisplayInfo;Landroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;)V HSPLcom/android/server/wm/DisplayFrames;->update(IIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;)Z -HSPLcom/android/server/wm/DisplayHashController$Handler;-><init>(Lcom/android/server/wm/DisplayHashController;Landroid/os/Looper;)V -HSPLcom/android/server/wm/DisplayHashController;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda10;->run()V -HSPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda12;-><init>(Lcom/android/internal/policy/ForceShowNavBarSettingsObserver;)V -HSPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda12;->run()V HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda13;-><init>()V HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda13;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda9;-><init>(Lcom/android/server/wm/DisplayPolicy;)V -HSPLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V -HSPLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V -HSPLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V -HSPLcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/DisplayPolicy$1;)V -HSPLcom/android/server/wm/DisplayPolicy$1;-><init>(Lcom/android/server/wm/DisplayPolicy;)V -HSPLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/DisplayPolicy$2;I)V -HSPLcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/DisplayPolicy$2;I)V -HSPLcom/android/server/wm/DisplayPolicy$2;-><init>(Lcom/android/server/wm/DisplayPolicy;I)V -HSPLcom/android/server/wm/DisplayPolicy$3;-><init>(Lcom/android/server/wm/DisplayPolicy;)V -HSPLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;->-$$Nest$fgetmNeedUpdate(Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info;)Z -HSPLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;-><init>()V +HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda5;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HPLcom/android/server/wm/DisplayPolicy$1;->onFling(I)V +HPLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionStartingLocked(JJ)I HSPLcom/android/server/wm/DisplayPolicy$DecorInsets$Info;->update(Lcom/android/server/wm/DisplayContent;III)V -HSPLcom/android/server/wm/DisplayPolicy$DecorInsets;-><clinit>()V -HSPLcom/android/server/wm/DisplayPolicy$DecorInsets;-><init>(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayPolicy$DecorInsets;->get(III)Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info; -HSPLcom/android/server/wm/DisplayPolicy$PolicyHandler;-><init>(Lcom/android/server/wm/DisplayPolicy;Landroid/os/Looper;)V -HSPLcom/android/server/wm/DisplayPolicy;-><clinit>()V -HSPLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V HPLcom/android/server/wm/DisplayPolicy;->addSystemBarColorApp(Lcom/android/server/wm/WindowState;)V +HSPLcom/android/server/wm/DisplayPolicy;->addWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V HSPLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V HSPLcom/android/server/wm/DisplayPolicy;->applyKeyguardPolicy(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/ImeInsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/DisplayPolicy;->areTypesForciblyShownTransiently(I)Z HSPLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/DisplayPolicy;->calculateInsetsFrame(Landroid/graphics/Rect;Landroid/graphics/Insets;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; +HPLcom/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; HPLcom/android/server/wm/DisplayPolicy;->chooseNavigationColorWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZ)I+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; HPLcom/android/server/wm/DisplayPolicy;->configureStatusBarOpacity(I)I+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/DisplayPolicy;->drawsBarBackground(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/DisplayPolicy;->finishPostLayoutPolicyLw()V+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HPLcom/android/server/wm/DisplayPolicy;->focusChangedLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V HPLcom/android/server/wm/DisplayPolicy;->getBarContentFrameForWindow(Lcom/android/server/wm/WindowState;I)Landroid/graphics/Rect;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout; -HSPLcom/android/server/wm/DisplayPolicy;->getContext()Landroid/content/Context; -HSPLcom/android/server/wm/DisplayPolicy;->getCurrentUserResources()Landroid/content/res/Resources; -HSPLcom/android/server/wm/DisplayPolicy;->getDecorInsetsInfo(III)Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info; HSPLcom/android/server/wm/DisplayPolicy;->getDisplayId()I+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/DisplayPolicy;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/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; HPLcom/android/server/wm/DisplayPolicy;->getStatusBar()Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal; -HSPLcom/android/server/wm/DisplayPolicy;->getSystemUiContext()Landroid/content/Context; HPLcom/android/server/wm/DisplayPolicy;->getTopFullscreenOpaqueWindow()Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/DisplayPolicy;->getWindowCornerRadius()F HPLcom/android/server/wm/DisplayPolicy;->intersectsAnyInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;I)Z+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; HSPLcom/android/server/wm/DisplayPolicy;->isAwake()Z HPLcom/android/server/wm/DisplayPolicy;->isForceShowNavigationBarEnabled()Z HPLcom/android/server/wm/DisplayPolicy;->isFullyTransparentAllowed(Lcom/android/server/wm/WindowState;I)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; -HPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(Lcom/android/server/wm/WindowState;)Z +HPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy; HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardDrawComplete()Z HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardShowing()Z @@ -13195,132 +11314,71 @@ HPLcom/android/server/wm/DisplayPolicy;->isLightBarAllowed(Lcom/android/server/w HPLcom/android/server/wm/DisplayPolicy;->isOverlappingWithNavBar(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/DisplayPolicy;->isRemoteInsetsControllerControllingSystemBars()Z HSPLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z +HPLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z HSPLcom/android/server/wm/DisplayPolicy;->isShowingDreamLw()Z -HSPLcom/android/server/wm/DisplayPolicy;->isWindowExcludedFromContent(Lcom/android/server/wm/WindowState;)Z HSPLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z -HPLcom/android/server/wm/DisplayPolicy;->lambda$getFrameProvider$1(Lcom/android/server/wm/WindowState;IILcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Rect;)Ljava/lang/Integer;+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/InsetsFrameProvider$InsetsSizeOverride;Landroid/view/InsetsFrameProvider$InsetsSizeOverride;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider; +HPLcom/android/server/wm/DisplayPolicy;->lambda$getFrameProvider$1(Lcom/android/server/wm/WindowState;IILcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Rect;)Ljava/lang/Integer;+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Landroid/view/InsetsFrameProvider$InsetsSizeOverride;Landroid/view/InsetsFrameProvider$InsetsSizeOverride; +HPLcom/android/server/wm/DisplayPolicy;->lambda$getImeSourceFrameProvider$2(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Rect;)Ljava/lang/Integer; HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemBarsLw$8(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/DisplayPolicy;->layoutWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/DisplayPolicy;->navigationBarPosition(I)I -HSPLcom/android/server/wm/DisplayPolicy;->onConfigurationChanged()V HSPLcom/android/server/wm/DisplayPolicy;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V -HSPLcom/android/server/wm/DisplayPolicy;->setHdmiPlugged(ZZ)V -HSPLcom/android/server/wm/DisplayPolicy;->setLidState(I)V +HPLcom/android/server/wm/DisplayPolicy;->onUserActivityEventTouch()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; +HPLcom/android/server/wm/DisplayPolicy;->removeWindowLw(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/DisplayPolicy;->requestTransientBars(Lcom/android/server/wm/WindowState;Z)V +HSPLcom/android/server/wm/DisplayPolicy;->screenTurnedOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V +HPLcom/android/server/wm/DisplayPolicy;->setAwake(Z)V HSPLcom/android/server/wm/DisplayPolicy;->shouldBeHiddenByKeyguard(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HSPLcom/android/server/wm/DisplayPolicy;->simulateLayoutDisplay(Lcom/android/server/wm/DisplayFrames;)V -HPLcom/android/server/wm/DisplayPolicy;->topAppHidesSystemBar(I)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/DisplayPolicy;->updateConfigurationAndScreenSizeDependentBehaviors()V -HSPLcom/android/server/wm/DisplayPolicy;->updateCurrentUserResources()V +HPLcom/android/server/wm/DisplayPolicy;->topAppHidesSystemBar(I)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; HPLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;)I -HSPLcom/android/server/wm/DisplayPolicy;->updateSystemBarAttributes()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/ImmersiveModeConfirmation;Lcom/android/server/wm/ImmersiveModeConfirmation;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/wm/DisplayPolicy;->updateSystemBarAttributes()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ImmersiveModeConfirmation;Lcom/android/server/wm/ImmersiveModeConfirmation; HPLcom/android/server/wm/DisplayPolicy;->updateSystemBarsLw(Lcom/android/server/wm/WindowState;I)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/statusbar/StatusBarManagerInternal;Lcom/android/server/statusbar/StatusBarManagerService$1;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/ImmersiveModeConfirmation;Lcom/android/server/wm/ImmersiveModeConfirmation;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HSPLcom/android/server/wm/DisplayRotation$OrientationListener;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/content/Context;Landroid/os/Handler;I)V +HSPLcom/android/server/wm/DisplayPolicy;->validateAddingWindowLw(Landroid/view/WindowManager$LayoutParams;II)I HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V -HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->run()V -HSPLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>()V -HSPLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>(Lcom/android/server/wm/DisplayRotation$RotationAnimationPair-IA;)V -HSPLcom/android/server/wm/DisplayRotation$RotationHistory;-><init>()V -HSPLcom/android/server/wm/DisplayRotation$RotationHistory;-><init>(Lcom/android/server/wm/DisplayRotation$RotationHistory-IA;)V -HSPLcom/android/server/wm/DisplayRotation$SettingsObserver;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/os/Handler;)V -HSPLcom/android/server/wm/DisplayRotation$SettingsObserver;->observe()V -HSPLcom/android/server/wm/DisplayRotation;->-$$Nest$fgetmContext(Lcom/android/server/wm/DisplayRotation;)Landroid/content/Context; -HSPLcom/android/server/wm/DisplayRotation;->-$$Nest$mupdateSettings(Lcom/android/server/wm/DisplayRotation;)Z -HSPLcom/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 -HSPLcom/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 -HSPLcom/android/server/wm/DisplayRotation;->configure(II)V -HSPLcom/android/server/wm/DisplayRotation;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy; HSPLcom/android/server/wm/DisplayRotation;->getRotation()I -HSPLcom/android/server/wm/DisplayRotation;->initImmersiveAppCompatPolicy(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayRotationImmersiveAppCompatPolicy; HSPLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z HSPLcom/android/server/wm/DisplayRotation;->isRotatingSeamlessly()Z -HSPLcom/android/server/wm/DisplayRotation;->readDefaultDisplayRotation(Landroid/view/DisplayAddress;)I -HSPLcom/android/server/wm/DisplayRotation;->readRotation(I)I -HSPLcom/android/server/wm/DisplayRotation;->resetAllowAllRotations()V -HSPLcom/android/server/wm/DisplayRotation;->restoreSettings(III)V +HPLcom/android/server/wm/DisplayRotation;->needSensorRunning()Z HPLcom/android/server/wm/DisplayRotation;->rotationForOrientation(II)I HSPLcom/android/server/wm/DisplayRotation;->updateOrientation(IZ)Z+]Lcom/android/server/wm/DisplayRotation;Lcom/android/server/wm/DisplayRotation; +HSPLcom/android/server/wm/DisplayRotation;->updateOrientationListener()V HSPLcom/android/server/wm/DisplayRotation;->updateOrientationListenerLw()V HSPLcom/android/server/wm/DisplayRotation;->updateRotationUnchecked(Z)Z -HSPLcom/android/server/wm/DisplayRotation;->updateSettings()Z -HSPLcom/android/server/wm/DisplayRotation;->updateUserDependentConfiguration(Landroid/content/res/Resources;)V -HPLcom/android/server/wm/DisplayRotationCompatPolicy;->isTreatmentEnabledForDisplay()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/view/Display;Landroid/view/Display; -HSPLcom/android/server/wm/DisplayRotationCoordinator;-><init>()V HSPLcom/android/server/wm/DisplayRotationCoordinator;->isSecondaryInternalDisplay(Lcom/android/server/wm/DisplayContent;)Z -HSPLcom/android/server/wm/DisplayRotationCoordinator;->setDefaultDisplayDefaultRotation(I)V -HSPLcom/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; HPLcom/android/server/wm/DisplayRotationReversionController;->isRotationReversionEnabled()Z -HSPLcom/android/server/wm/DisplayWindowListenerController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayAdded(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayChanged(Lcom/android/server/wm/DisplayContent;Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/DisplayWindowPolicyControllerHelper;-><init>(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;-><init>()V -HSPLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;-><init>(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;)V -HSPLcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;->setTo(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;)Z -HSPLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider;)V -HSPLcom/android/server/wm/DisplayWindowSettings;->applyRotationSettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;Z)V +HPLcom/android/server/wm/DisplayWindowListenerController;->dispatchKeepClearAreasChanged(Lcom/android/server/wm/DisplayContent;Ljava/util/Set;Ljava/util/Set;)V +HSPLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->hasController()Z HSPLcom/android/server/wm/DisplayWindowSettings;->getImePolicyLocked(Lcom/android/server/wm/DisplayContent;)I -HSPLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry;Lcom/android/server/wm/DisplayContent;)I -HSPLcom/android/server/wm/DisplayWindowSettings;->shouldShowSystemDecorsLocked(Lcom/android/server/wm/DisplayContent;)Z -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$AtomicFileStorage;-><init>(Landroid/util/AtomicFile;)V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$AtomicFileStorage;->openRead()Ljava/io/InputStream; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->getIdentifier(Landroid/view/DisplayInfo;)Ljava/lang/String; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->getSettingsEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings;->loadSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettings;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettingsStorage;)V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettings;->getOrCreateSettingsEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;->-$$Nest$smreadSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;-><init>()V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;-><init>(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettingsStorage;)V -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;->getOverrideSettingsFile()Landroid/util/AtomicFile; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;->getSettings(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;->getVendorSettingsFile()Landroid/util/AtomicFile; -HSPLcom/android/server/wm/DisplayWindowSettingsProvider;->readSettings(Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage;)Lcom/android/server/wm/DisplayWindowSettingsProvider$FileData; -HSPLcom/android/server/wm/DragDropController$1;-><init>(Lcom/android/server/wm/DragDropController;)V -HSPLcom/android/server/wm/DragDropController$DragHandler;-><init>(Lcom/android/server/wm/DragDropController;Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V -HSPLcom/android/server/wm/DragDropController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V HSPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z -HSPLcom/android/server/wm/EmbeddedWindowController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V -HSPLcom/android/server/wm/EnsureActivitiesVisibleHelper;-><init>(Lcom/android/server/wm/TaskFragment;)V -HSPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->process(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;,Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->reset(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->setActivityVisibilityState(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/EventLogTags;->writeWmTaskCreated(I)V -HSPLcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateDenylist;)V -HSPLcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateDenylist;Lcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener-IA;)V -HSPLcom/android/server/wm/HighRefreshRateDenylist;-><init>(Landroid/content/res/Resources;Landroid/provider/DeviceConfigInterface;)V -HSPLcom/android/server/wm/HighRefreshRateDenylist;->create(Landroid/content/res/Resources;)Lcom/android/server/wm/HighRefreshRateDenylist; +HPLcom/android/server/wm/EmbeddedWindowController;->get(Landroid/os/IBinder;)Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow; +HSPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->process(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;,Ljava/util/ArrayList;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->reset(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->setActivityVisibilityState(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/EventLogTags;->writeWmSetKeyguardShown(IIIIILjava/lang/String;)V +HSPLcom/android/server/wm/EventLogTags;->writeWmTaskMoved(IIIII)V +HPLcom/android/server/wm/FadeAnimationController$1;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V HPLcom/android/server/wm/HighRefreshRateDenylist;->isDenylisted(Ljava/lang/String;)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/wm/HighRefreshRateDenylist;->updateDenylist(Ljava/lang/String;)V -HSPLcom/android/server/wm/ImeInsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/ImeInsetsSourceProvider;->checkShowImePostLayout()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ImeInsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/Runnable;Lcom/android/server/wm/ImeInsetsSourceProvider$$ExternalSyntheticLambda0; HPLcom/android/server/wm/ImeInsetsSourceProvider;->getControl(Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsSourceControl; HPLcom/android/server/wm/ImeInsetsSourceProvider;->isReadyToShowIme()Z+]Lcom/android/server/wm/ImeInsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/ImeInsetsSourceProvider;->lambda$scheduleShowImePostLayout$0()V HPLcom/android/server/wm/ImeInsetsSourceProvider;->onSourceChanged()V+]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H;]Landroid/os/Message;Landroid/os/Message;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HPLcom/android/server/wm/ImeInsetsSourceProvider;->scheduleShowImePostLayout(Lcom/android/server/wm/InsetsControlTarget;Landroid/view/inputmethod/ImeTracker$Token;)V HPLcom/android/server/wm/ImeInsetsSourceProvider;->setServerVisible(Z)V +HPLcom/android/server/wm/ImeInsetsSourceProvider;->updateClientVisibility(Lcom/android/server/wm/InsetsControlTarget;)Z HPLcom/android/server/wm/ImeInsetsSourceProvider;->updateVisibility()V -HSPLcom/android/server/wm/ImeTargetVisibilityPolicy;-><init>()V HSPLcom/android/server/wm/ImeTargetVisibilityPolicy;->canComputeImeParent(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/InputTarget;)Z -HSPLcom/android/server/wm/ImmersiveModeConfirmation$1;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;)V -HSPLcom/android/server/wm/ImmersiveModeConfirmation$H;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;Landroid/os/Looper;)V -HSPLcom/android/server/wm/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;Landroid/os/Looper;ZZ)V +HPLcom/android/server/wm/ImeTargetVisibilityPolicy;->shouldComputeImeParentForEmbeddedActivity(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/InputTarget;)Z HPLcom/android/server/wm/InputConfigAdapter;->applyMapping(ILjava/util/List;)I+]Ljava/util/List;Ljava/util/ImmutableCollections$ListN;]Ljava/util/Iterator;Ljava/util/ImmutableCollections$ListItr; HPLcom/android/server/wm/InputConfigAdapter;->getInputConfigFromWindowParams(III)I HPLcom/android/server/wm/InputConfigAdapter;->getMask()I -HSPLcom/android/server/wm/InputManagerCallback;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I -HSPLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V -HSPLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z +HPLcom/android/server/wm/InputManagerCallback;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V+]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H;]Landroid/os/Message;Landroid/os/Message; HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->-$$Nest$mupdateInputWindows(Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;Z)V -HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;)V -HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer-IA;)V -HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Ljava/util/Map;Ljava/util/Collections$SynchronizedMap;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor; +HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;]Ljava/util/Map;Ljava/util/Collections$SynchronizedMap;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/InputConsumerImpl;Lcom/android/server/wm/InputConsumerImpl;]Landroid/view/InputWindowHandle;Landroid/view/InputWindowHandle; HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer; HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/ActivityRecord;]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/InputConsumerImpl;Lcom/android/server/wm/InputConsumerImpl;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;)V -HSPLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$UpdateInputWindows-IA;)V HSPLcom/android/server/wm/InputMonitor$UpdateInputWindows;->run()V+]Lcom/android/server/wm/DragDropController;Lcom/android/server/wm/DragDropController; HSPLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmActiveRecentsActivity(Lcom/android/server/wm/InputMonitor;)Ljava/lang/ref/WeakReference; HSPLcom/android/server/wm/InputMonitor;->-$$Nest$fgetmDisplayContent(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/DisplayContent; @@ -13333,18 +11391,22 @@ HSPLcom/android/server/wm/InputMonitor;->-$$Nest$fputmUpdateInputWindowsNeeded(L HSPLcom/android/server/wm/InputMonitor;->-$$Nest$fputmUpdateInputWindowsPending(Lcom/android/server/wm/InputMonitor;Z)V HSPLcom/android/server/wm/InputMonitor;->-$$Nest$mupdateInputFocusRequest(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputConsumerImpl;)V HSPLcom/android/server/wm/InputMonitor;->-$$Nest$smgetWeak(Ljava/lang/ref/WeakReference;)Ljava/lang/Object; -HSPLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/InputMonitor;->getInputConsumer(Ljava/lang/String;)Lcom/android/server/wm/InputConsumerImpl;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/wm/InputMonitor;->getWeak(Ljava/lang/ref/WeakReference;)Ljava/lang/Object;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; -HSPLcom/android/server/wm/InputMonitor;->layoutInputConsumers(II)V HPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/InputMonitor;->populateOverlayInputInfo(Lcom/android/server/wm/InputWindowHandleWrapper;)V+]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper; HPLcom/android/server/wm/InputMonitor;->requestFocus(Landroid/os/IBinder;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/InputMonitor;->resetInputConsumers(Landroid/view/SurfaceControl$Transaction;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/InputConsumerImpl;Lcom/android/server/wm/InputConsumerImpl; HSPLcom/android/server/wm/InputMonitor;->scheduleUpdateInputWindows()V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/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 HSPLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V HSPLcom/android/server/wm/InputMonitor;->updateInputFocusRequest(Lcom/android/server/wm/InputConsumerImpl;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/inputmethod/InputMethodManagerInternal;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor; HSPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V+]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor; +HSPLcom/android/server/wm/InputWindowHandleWrapper;-><init>(Landroid/view/InputWindowHandle;)V +HPLcom/android/server/wm/InputWindowHandleWrapper;->applyChangesToSurface(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V +HPLcom/android/server/wm/InputWindowHandleWrapper;->clearTouchableRegion()V +HSPLcom/android/server/wm/InputWindowHandleWrapper;->getDisplayId()I HPLcom/android/server/wm/InputWindowHandleWrapper;->hasWallpaper()Z HPLcom/android/server/wm/InputWindowHandleWrapper;->isChanged()Z HSPLcom/android/server/wm/InputWindowHandleWrapper;->isFocusable()Z @@ -13356,7 +11418,11 @@ 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 +HSPLcom/android/server/wm/InputWindowHandleWrapper;->setLayoutParamsType(I)V HSPLcom/android/server/wm/InputWindowHandleWrapper;->setName(Ljava/lang/String;)V +HSPLcom/android/server/wm/InputWindowHandleWrapper;->setOwnerPid(I)V +HSPLcom/android/server/wm/InputWindowHandleWrapper;->setOwnerUid(I)V +HSPLcom/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 @@ -13367,85 +11433,87 @@ HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegion(Landroid/ HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegionCrop(Landroid/view/SurfaceControl;)V+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Landroid/view/InputWindowHandle;Landroid/view/InputWindowHandle; HPLcom/android/server/wm/InputWindowHandleWrapper;->setWindowToken(Landroid/view/IWindow;)V HPLcom/android/server/wm/InsetsPolicy$BarWindow;->-$$Nest$mupdateVisibility(Lcom/android/server/wm/InsetsPolicy$BarWindow;Lcom/android/server/wm/InsetsControlTarget;I)V+]Lcom/android/server/wm/InsetsPolicy$BarWindow;Lcom/android/server/wm/InsetsPolicy$BarWindow; -HSPLcom/android/server/wm/InsetsPolicy$BarWindow;-><init>(Lcom/android/server/wm/InsetsPolicy;I)V HPLcom/android/server/wm/InsetsPolicy$BarWindow;->setVisible(Z)V+]Lcom/android/server/statusbar/StatusBarManagerInternal;Lcom/android/server/statusbar/StatusBarManagerService$1;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HPLcom/android/server/wm/InsetsPolicy$BarWindow;->updateVisibility(Lcom/android/server/wm/InsetsControlTarget;I)V+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsPolicy$BarWindow;Lcom/android/server/wm/InsetsPolicy$BarWindow; -HSPLcom/android/server/wm/InsetsPolicy;-><clinit>()V -HSPLcom/android/server/wm/InsetsPolicy;-><init>(Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/InsetsPolicy$BarWindow;->updateVisibility(Lcom/android/server/wm/InsetsControlTarget;I)V+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/InsetsPolicy$ControlTarget;]Lcom/android/server/wm/InsetsPolicy$BarWindow;Lcom/android/server/wm/InsetsPolicy$BarWindow; +HPLcom/android/server/wm/InsetsPolicy$ControlTarget;->notifyInsetsControlChanged()V HSPLcom/android/server/wm/InsetsPolicy;->adjustInsetsForRoundedCorners(Lcom/android/server/wm/WindowToken;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/InsetsPolicy;->adjustInsetsForWindow(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;Z)Landroid/view/InsetsState; -HPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSource(Landroid/view/InsetsState;ILandroid/view/InsetsSource;Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsState; -HSPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSources(Landroid/view/InsetsState;)Landroid/view/InsetsState; +HPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSource(Landroid/view/InsetsState;ILandroid/view/InsetsSource;Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsState;+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState; +HSPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForFakeControllingSources(Landroid/view/InsetsState;)Landroid/view/InsetsState;+]Landroid/view/InsetsState;Landroid/view/InsetsState; HSPLcom/android/server/wm/InsetsPolicy;->adjustVisibilityForIme(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;Z)Landroid/view/InsetsState;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/InsetsPolicy;->areTypesForciblyShowing(I)Z HPLcom/android/server/wm/InsetsPolicy;->canBeTopFullscreenOpaqueWindow(Lcom/android/server/wm/WindowState;)Z+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/InsetsPolicy;->enforceInsetsPolicyForTarget(Landroid/view/WindowManager$LayoutParams;IZLandroid/view/InsetsState;)Landroid/view/InsetsState;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; 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;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy; -HPLcom/android/server/wm/InsetsPolicy;->getStatusControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HSPLcom/android/server/wm/InsetsPolicy;->getInsetsForWindowMetrics(Lcom/android/server/wm/WindowToken;Landroid/view/InsetsState;)V+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/InsetsPolicy;->getNavControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HPLcom/android/server/wm/InsetsPolicy;->getStatusControlTarget(Lcom/android/server/wm/WindowState;Z)Lcom/android/server/wm/InsetsControlTarget;+]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/InsetsPolicy;->hasHiddenSources(I)Z+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; HSPLcom/android/server/wm/InsetsPolicy;->isTransient(I)Z +HPLcom/android/server/wm/InsetsPolicy;->onRequestedVisibleTypesChanged(Lcom/android/server/wm/InsetsControlTarget;)V HPLcom/android/server/wm/InsetsPolicy;->remoteInsetsControllerControlsSystemBars(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; HPLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; -HPLcom/android/server/wm/InsetsPolicy;->updateSystemBars(Lcom/android/server/wm/WindowState;ZZ)V -HSPLcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/InsetsSourceProvider;)V +HPLcom/android/server/wm/InsetsPolicy;->updateSystemBars(Lcom/android/server/wm/WindowState;ZZ)V+]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; +HPLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;-><init>(Lcom/android/server/wm/InsetsSourceProvider;Landroid/graphics/Point;)V +HPLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->onAnimationCancelled(Landroid/view/SurfaceControl;)V HPLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V -HSPLcom/android/server/wm/InsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V -HPLcom/android/server/wm/InsetsSourceProvider;->getInsetsHint()Landroid/graphics/Insets; +HPLcom/android/server/wm/InsetsSourceProvider;->getControl(Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsSourceControl;+]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl; +HPLcom/android/server/wm/InsetsSourceProvider;->getControlTarget()Lcom/android/server/wm/InsetsControlTarget; +HPLcom/android/server/wm/InsetsSourceProvider;->getInsetsHint()Landroid/graphics/Insets;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource; -HPLcom/android/server/wm/InsetsSourceProvider;->getWindowFrameSurfacePosition()Landroid/graphics/Point;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/InsetsSourceProvider;->getWindowFrameSurfacePosition()Landroid/graphics/Point;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/InsetsSourceProvider;->isClientVisible()Z -HSPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Insets;Landroid/graphics/Insets;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Ljava/util/function/Consumer;Lcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; +HSPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Insets;Landroid/graphics/Insets;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Ljava/util/function/Consumer;Lcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/InsetsSourceProvider;->onSurfaceTransactionApplied()V HSPLcom/android/server/wm/InsetsSourceProvider;->overridesFrame(I)Z +HPLcom/android/server/wm/InsetsSourceProvider;->setClientVisible(Z)V HPLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V -HPLcom/android/server/wm/InsetsSourceProvider;->updateClientVisibility(Lcom/android/server/wm/InsetsControlTarget;)Z+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/InsetsStateController$1;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HPLcom/android/server/wm/InsetsSourceProvider;->updateClientVisibility(Lcom/android/server/wm/InsetsControlTarget;)Z+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/InsetsPolicy$ControlTarget;,Lcom/android/server/wm/InsetsStateController$1;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; HPLcom/android/server/wm/InsetsSourceProvider;->updateControlForTarget(Lcom/android/server/wm/InsetsControlTarget;Z)V -HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrame(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/internal/util/function/TriFunction;Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda5;,Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda2;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrame(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Lcom/android/internal/util/function/TriFunction;Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda5;,Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda2;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/SparseArray;Landroid/util/SparseArray; HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrameForServerVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource; HPLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V+]Landroid/view/InsetsSource;Landroid/view/InsetsSource; -HSPLcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda3;-><init>()V -HSPLcom/android/server/wm/InsetsStateController$1;-><init>(Lcom/android/server/wm/InsetsStateController;)V -HSPLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V HPLcom/android/server/wm/InsetsStateController;->addToControlMaps(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsSourceProvider;Z)V HSPLcom/android/server/wm/InsetsStateController;->getControlsForDispatch(Lcom/android/server/wm/InsetsControlTarget;)[Landroid/view/InsetsSourceControl;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;+]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; -HSPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/wm/InsetsStateController;->getRawInsetsState()Landroid/view/InsetsState; -HPLcom/android/server/wm/InsetsStateController;->lambda$notifyPendingInsetsControlChanged$3()V+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/InsetsStateController$1;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; +HPLcom/android/server/wm/InsetsStateController;->lambda$new$0(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/InsetsStateController;->lambda$notifyPendingInsetsControlChanged$3()V+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/InsetsPolicy$ControlTarget;,Lcom/android/server/wm/InsetsStateController$1;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; HSPLcom/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+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; HPLcom/android/server/wm/InsetsStateController;->onControlTargetChanged(Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsControlTarget;Z)V+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; +HPLcom/android/server/wm/InsetsStateController;->onImeControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;)V HSPLcom/android/server/wm/InsetsStateController;->onPostLayout()V+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController; -HPLcom/android/server/wm/InsetsStateController;->onRequestedVisibleTypesChanged(Lcom/android/server/wm/InsetsControlTarget;)V +HPLcom/android/server/wm/InsetsStateController;->onRequestedVisibleTypesChanged(Lcom/android/server/wm/InsetsControlTarget;)V+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/InsetsStateController;->removeFromControlMaps(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsSourceProvider;Z)V HPLcom/android/server/wm/InsetsStateController;->setForcedConsumingTypes(I)V HSPLcom/android/server/wm/InsetsStateController;->updateAboveInsetsState(Z)V HSPLcom/android/server/wm/KeyguardController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/KeyguardController;)V HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z +HPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmAodShowing(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z HSPLcom/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 HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->-$$Nest$fgetmRequestDismissKeyguard(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z -HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->getRootTaskForControllingOccluding(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->getRootTaskForControllingOccluding(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->lambda$getRootTaskForControllingOccluding$0(Lcom/android/server/wm/Task;)Z -HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->updateVisibility(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->updateVisibility(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController; 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+]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/KeyguardController;->getDisplayState(I)Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HPLcom/android/server/wm/KeyguardController;->isAodShowing(I)Z HSPLcom/android/server/wm/KeyguardController;->isKeyguardGoingAway(I)Z HPLcom/android/server/wm/KeyguardController;->isKeyguardLocked(I)Z+]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController; HPLcom/android/server/wm/KeyguardController;->isKeyguardOrAodShowing(I)Z+]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController; +HPLcom/android/server/wm/KeyguardController;->keyguardGoingAway(II)V HPLcom/android/server/wm/KeyguardController;->setKeyguardShown(IZZ)V -HSPLcom/android/server/wm/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken()V HSPLcom/android/server/wm/KeyguardController;->updateVisibility()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/KeyguardController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;Lcom/android/server/wm/KeyguardController$KeyguardDisplayState; -HSPLcom/android/server/wm/KeyguardDisableHandler$1;-><init>(Lcom/android/server/wm/KeyguardDisableHandler;)V -HSPLcom/android/server/wm/KeyguardDisableHandler$2;-><init>(Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/pm/UserManagerInternal;)V -HSPLcom/android/server/wm/KeyguardDisableHandler;-><init>(Lcom/android/server/wm/KeyguardDisableHandler$Injector;Landroid/os/Handler;)V -HSPLcom/android/server/wm/KeyguardDisableHandler;->create(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/Handler;)Lcom/android/server/wm/KeyguardDisableHandler; HSPLcom/android/server/wm/LaunchObserverRegistryImpl;-><init>(Landroid/os/Looper;)V HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;-><init>()V +HPLcom/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 HSPLcom/android/server/wm/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/wm/ActivityTaskSupervisor;)V @@ -13453,59 +11521,50 @@ HSPLcom/android/server/wm/LaunchParamsController;->registerModifier(Lcom/android HSPLcom/android/server/wm/LaunchParamsPersister$$ExternalSyntheticLambda3;-><init>()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 -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda4;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda4;->get()Ljava/lang/Object; -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda5;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda5;->get()Ljava/lang/Object; -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda6;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda6;->get()Ljava/lang/Object; -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda7;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda7;->get()Ljava/lang/Object; -HSPLcom/android/server/wm/LetterboxConfiguration;-><init>(Landroid/content/Context;)V -HSPLcom/android/server/wm/LetterboxConfiguration;-><init>(Landroid/content/Context;Lcom/android/server/wm/LetterboxConfigurationPersister;)V -HPLcom/android/server/wm/LetterboxConfiguration;->getDefaultLetterboxBackgroundType()I +HPLcom/android/server/wm/LaunchParamsPersister;->getLaunchParams(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V +HPLcom/android/server/wm/LaunchParamsUtil;->adjustBoundsToFitInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;ILandroid/content/pm/ActivityInfo$WindowLayout;Landroid/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; +HPLcom/android/server/wm/Letterbox;->layout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Point;)V +HPLcom/android/server/wm/LetterboxConfiguration;->getDefaultLetterboxBackgroundType()I+]Lcom/android/server/wm/SynchedDeviceConfig;Lcom/android/server/wm/SynchedDeviceConfig; +HPLcom/android/server/wm/LetterboxConfiguration;->getIsEducationEnabled()Z +HPLcom/android/server/wm/LetterboxConfiguration;->getIsHorizontalReachabilityEnabled()Z +HPLcom/android/server/wm/LetterboxConfiguration;->getIsVerticalReachabilityEnabled()Z HPLcom/android/server/wm/LetterboxConfiguration;->getLetterboxBackgroundType()I -HPLcom/android/server/wm/LetterboxConfiguration;->isIgnoreOrientationRequestAllowed()Z +HPLcom/android/server/wm/LetterboxConfiguration;->isCompatFakeFocusEnabled()Z HPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioFullscreenEnabled()Z -HSPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioSettingsEnabled()Z+]Lcom/android/server/wm/SynchedDeviceConfig;Lcom/android/server/wm/SynchedDeviceConfig; -HSPLcom/android/server/wm/LetterboxConfiguration;->lambda$new$0(Landroid/content/Context;)Ljava/lang/Integer; -HSPLcom/android/server/wm/LetterboxConfiguration;->lambda$new$1(Landroid/content/Context;)Ljava/lang/Integer; -HSPLcom/android/server/wm/LetterboxConfiguration;->lambda$new$2(Landroid/content/Context;)Ljava/lang/Integer; -HSPLcom/android/server/wm/LetterboxConfiguration;->lambda$new$3(Landroid/content/Context;)Ljava/lang/Integer; -HSPLcom/android/server/wm/LetterboxConfiguration;->readLetterboxBackgroundTypeFromConfig(Landroid/content/Context;)I -HSPLcom/android/server/wm/LetterboxConfiguration;->readLetterboxHorizontalReachabilityPositionFromConfig(Landroid/content/Context;Z)I -HSPLcom/android/server/wm/LetterboxConfiguration;->readLetterboxVerticalReachabilityPositionFromConfig(Landroid/content/Context;Z)I -HSPLcom/android/server/wm/LetterboxConfiguration;->setDefaultMinAspectRatioForUnresizableApps(F)V -HSPLcom/android/server/wm/LetterboxConfigurationPersister;->readCurrentConfiguration()V -HSPLcom/android/server/wm/LetterboxConfigurationPersister;->start()V -HSPLcom/android/server/wm/LetterboxConfigurationPersister;->useDefaultValue()V +HPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioSettingsEnabled()Z+]Lcom/android/server/wm/SynchedDeviceConfig;Lcom/android/server/wm/SynchedDeviceConfig; +HPLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda0;-><init>()V +HPLcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda0;->getAsBoolean()Z 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;+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/LetterboxUiController;->getCropBoundsIfNeeded(Lcom/android/server/wm/WindowState;)Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/LetterboxUiController;->getCropBoundsIfNeeded(Lcom/android/server/wm/WindowState;)Landroid/graphics/Rect;+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/LetterboxUiController;->getLetterboxDetails()Lcom/android/internal/statusbar/LetterboxDetails;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/LetterboxUiController;->getRoundedCornersRadius(Lcom/android/server/wm/WindowState;)I+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; -HPLcom/android/server/wm/LetterboxUiController;->getUserMinAspectRatioOverrideCode()I+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; +HPLcom/android/server/wm/LetterboxUiController;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/Letterbox;Lcom/android/server/wm/Letterbox;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/LetterboxUiController;->getRoundedCornersRadius(Lcom/android/server/wm/WindowState;)I+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/LetterboxUiController;->hasInheritedLetterboxBehavior()Z HPLcom/android/server/wm/LetterboxUiController;->hasInheritedOrientation()Z +HPLcom/android/server/wm/LetterboxUiController;->hasWallpaperBackgroundForLetterbox()Z HPLcom/android/server/wm/LetterboxUiController;->isFromDoubleTap()Z +HPLcom/android/server/wm/LetterboxUiController;->isFullyTransparentBarAllowed(Landroid/graphics/Rect;)Z HPLcom/android/server/wm/LetterboxUiController;->isHorizontalReachabilityEnabled()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; HPLcom/android/server/wm/LetterboxUiController;->isHorizontalReachabilityEnabled(Landroid/content/res/Configuration;)Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/LetterboxUiController;->isLetterboxDoubleTapEducationEnabled()Z+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; -HPLcom/android/server/wm/LetterboxUiController;->isLetterboxedNotForDisplayCutout(Lcom/android/server/wm/WindowState;)Z +HPLcom/android/server/wm/LetterboxUiController;->isLetterboxedNotForDisplayCutout(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/LetterboxUiController;->isSurfaceReadyToShow(Lcom/android/server/wm/WindowState;)Z HPLcom/android/server/wm/LetterboxUiController;->isSurfaceVisible(Lcom/android/server/wm/WindowState;)Z HPLcom/android/server/wm/LetterboxUiController;->isVerticalReachabilityEnabled()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; HPLcom/android/server/wm/LetterboxUiController;->isVerticalReachabilityEnabled(Landroid/content/res/Configuration;)Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/LetterboxUiController;->lambda$shouldUseDisplayLandscapeNaturalOrientation$9()Z -HPLcom/android/server/wm/LetterboxUiController;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/Letterbox;Lcom/android/server/wm/Letterbox;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/LetterboxUiController;->overrideOrientationIfNeeded(I)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; -HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserFullscreenOverride()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; -HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserMinAspectRatioOverride()Z -HPLcom/android/server/wm/LetterboxUiController;->shouldEnableUserAspectRatioSettings()Z +HPLcom/android/server/wm/LetterboxUiController;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Letterbox;Lcom/android/server/wm/Letterbox;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/LetterboxUiController;->overrideOrientationIfNeeded(I)I+]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/wm/LetterboxUiController;->requiresRoundedCorners(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; +HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserFullscreenOverride()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HPLcom/android/server/wm/LetterboxUiController;->shouldApplyUserMinAspectRatioOverride()Z+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; +HPLcom/android/server/wm/LetterboxUiController;->shouldEnableUserAspectRatioSettings()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Ljava/lang/Boolean;Ljava/lang/Boolean; HPLcom/android/server/wm/LetterboxUiController;->shouldEnableWithOptInOverrideAndOptOutProperty(Ljava/util/function/BooleanSupplier;ZLjava/lang/Boolean;)Z+]Ljava/util/function/BooleanSupplier;megamorphic_types]Ljava/lang/Boolean;Ljava/lang/Boolean; HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideForceNonResizeApp()Z HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideForceResizeApp()Z HPLcom/android/server/wm/LetterboxUiController;->shouldOverrideMinAspectRatio()Z +HPLcom/android/server/wm/LetterboxUiController;->shouldSendFakeFocus()Z HPLcom/android/server/wm/LetterboxUiController;->shouldShowLetterboxUi(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; 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 @@ -13515,9 +11574,11 @@ 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 -HSPLcom/android/server/wm/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V +HSPLcom/android/server/wm/LockTaskController;->getLockTaskAuth(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)I +HPLcom/android/server/wm/LockTaskController;->getRootTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/MirrorActiveUids;-><init>()V HPLcom/android/server/wm/MirrorActiveUids;->hasNonAppVisibleWindow(I)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HPLcom/android/server/wm/MirrorActiveUids;->onNonAppSurfaceVisibilityChanged(IZ)V HSPLcom/android/server/wm/MirrorActiveUids;->onUidActive(II)V HSPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HSPLcom/android/server/wm/PackageConfigPersister;-><clinit>()V @@ -13529,82 +11590,57 @@ HSPLcom/android/server/wm/PendingRemoteAnimationRegistry;-><init>(Lcom/android/s 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 HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V -HSPLcom/android/server/wm/PersisterQueue;->-$$Nest$fgetmListeners(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList; -HSPLcom/android/server/wm/PersisterQueue;->-$$Nest$fgetmWriteQueue(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList; -HSPLcom/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 HSPLcom/android/server/wm/PersisterQueue;->addListener(Lcom/android/server/wm/PersisterQueue$Listener;)V HSPLcom/android/server/wm/PersisterQueue;->processNextItem()V -HSPLcom/android/server/wm/PersisterQueue;->startPersisting()V -HSPLcom/android/server/wm/PhysicalDisplaySwitchTransitionLauncher;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/TransitionController;)V -HSPLcom/android/server/wm/PinnedTaskController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/PinnedTaskController;)V -HSPLcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedTaskController;)V -HSPLcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedTaskController;Lcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler-IA;)V -HSPLcom/android/server/wm/PinnedTaskController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/PinnedTaskController;->isFreezingTaskConfig(Lcom/android/server/wm/Task;)Z -HSPLcom/android/server/wm/PinnedTaskController;->onPostDisplayConfigurationChanged()V -HSPLcom/android/server/wm/PinnedTaskController;->reloadResources()V -HSPLcom/android/server/wm/PointerEventDispatcher;-><init>(Landroid/view/InputChannel;)V +HPLcom/android/server/wm/PinnedTaskController;->setAdjustedForIme(ZI)V HPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V+]Landroid/view/InputEventReceiver;Lcom/android/server/wm/PointerEventDispatcher;]Landroid/view/WindowManagerPolicyConstants$PointerEventListener;Lcom/android/server/wm/TaskTapPointerEventListener;,Lcom/android/server/wm/RecentTasks$1;,Lcom/android/server/wm/WindowManagerService$MousePositionTracker;,Lcom/android/server/wm/SystemGesturesPointerEventListener;]Landroid/view/InputEvent;Landroid/view/MotionEvent; -HSPLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V -HSPLcom/android/server/wm/PossibleDisplayInfoMapper;-><init>(Landroid/hardware/display/DisplayManagerInternal;)V HSPLcom/android/server/wm/PossibleDisplayInfoMapper;->removePossibleDisplayInfos(I)V -HSPLcom/android/server/wm/ProtoLogCache$$ExternalSyntheticLambda0;-><init>()V -HSPLcom/android/server/wm/ProtoLogCache;-><clinit>()V -HSPLcom/android/server/wm/ProtoLogCache;->update()V HSPLcom/android/server/wm/RecentTasks$1;-><init>(Lcom/android/server/wm/RecentTasks;)V -HPLcom/android/server/wm/RecentTasks$1;->onPointerEvent(Landroid/view/MotionEvent;)V +HPLcom/android/server/wm/RecentTasks$1;->onPointerEvent(Landroid/view/MotionEvent;)V+]Landroid/os/Handler;Lcom/android/server/wm/ActivityTaskManagerService$H;]Lcom/android/internal/util/function/pooled/PooledRunnable;Lcom/android/internal/util/function/pooled/PooledLambdaImpl;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; +HPLcom/android/server/wm/RecentTasks;->-$$Nest$fgetmFreezeTaskListReordering(Lcom/android/server/wm/RecentTasks;)Z HSPLcom/android/server/wm/RecentTasks;-><clinit>()V HSPLcom/android/server/wm/RecentTasks;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskSupervisor;)V HPLcom/android/server/wm/RecentTasks;->add(Lcom/android/server/wm/Task;)V -HSPLcom/android/server/wm/RecentTasks;->containsTaskId(II)Z -HPLcom/android/server/wm/RecentTasks;->getAppTasksList(ILjava/lang/String;)Ljava/util/ArrayList; -HSPLcom/android/server/wm/RecentTasks;->getInputListener()Landroid/view/WindowManagerPolicyConstants$PointerEventListener; +HPLcom/android/server/wm/RecentTasks;->createRecentTaskInfo(Lcom/android/server/wm/Task;ZZ)Landroid/app/ActivityManager$RecentTaskInfo; +HPLcom/android/server/wm/RecentTasks;->getAppTasksList(ILjava/lang/String;)Ljava/util/ArrayList;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/IAppTask$Stub;Lcom/android/server/wm/AppTaskImpl; +HPLcom/android/server/wm/RecentTasks;->getProfileIds(I)Ljava/util/Set; +HPLcom/android/server/wm/RecentTasks;->getRecentTasksImpl(IIZII)Ljava/util/ArrayList;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/RecentTasks;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/wm/RecentTasks;->getTask(I)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z +HPLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/Task;IIZ)Z +HPLcom/android/server/wm/RecentTasks;->isVisibleRecentTask(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/LockTaskController;Lcom/android/server/wm/LockTaskController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V -HSPLcom/android/server/wm/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V +HPLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V HSPLcom/android/server/wm/RecentTasks;->registerCallback(Lcom/android/server/wm/RecentTasks$Callbacks;)V HPLcom/android/server/wm/RecentTasks;->syncPersistentTaskIdsLocked()V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->refreshRateEquals(F)Z HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->reset()Z -HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->update(FI)Z -HSPLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;-><init>(Lcom/android/server/wm/RefreshRatePolicy;)V +HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->update(FI)Z+]Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote;Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote; HPLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;->get(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange;+]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLcom/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 -HSPLcom/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+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate; HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredMinRefreshRate(Lcom/android/server/wm/WindowState;)F+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate; HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredModeId(Lcom/android/server/wm/WindowState;)I HPLcom/android/server/wm/RefreshRatePolicy;->updateFrameRateVote(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/HighRefreshRateDenylist;Lcom/android/server/wm/HighRefreshRateDenylist;]Landroid/hardware/display/DisplayManagerInternal;Lcom/android/server/display/DisplayManagerService$LocalService;]Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote;Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote; -HSPLcom/android/server/wm/RemoteDisplayChangeController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/RemoteDisplayChangeController;)V -HSPLcom/android/server/wm/RemoteDisplayChangeController;-><init>(Lcom/android/server/wm/WindowManagerService;I)V -HSPLcom/android/server/wm/RemoteDisplayChangeController;->isWaitingForRemoteDisplayChange()Z -HSPLcom/android/server/wm/ResetTargetTaskHelper;-><init>()V -HSPLcom/android/server/wm/RootDisplayArea;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;I)V -HSPLcom/android/server/wm/RootDisplayArea;->onHierarchyBuilt(Ljava/util/ArrayList;[Lcom/android/server/wm/DisplayArea$Tokens;Ljava/util/Map;)V +HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda16;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda1;-><init>(Landroid/util/ArrayMap;)V HSPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda22;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda33;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/wm/RootWindowContainer$1;-><init>(Lcom/android/server/wm/RootWindowContainer;)V -HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;)V -HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer$AttachApplicationHelper-IA;)V -HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Lcom/android/server/wm/Task;)V -HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Ljava/lang/Object;)V +HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Lcom/android/server/wm/Task;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;Lcom/android/server/wm/RootWindowContainer$AttachApplicationHelper; HSPLcom/android/server/wm/RootWindowContainer$AttachApplicationHelper;->process(Lcom/android/server/wm/WindowProcessController;)Z HSPLcom/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 -HSPLcom/android/server/wm/RootWindowContainer$FindTaskResult;-><init>()V -HSPLcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper;-><init>(Lcom/android/server/wm/RootWindowContainer;)V -HSPLcom/android/server/wm/RootWindowContainer$MyHandler;-><init>(Lcom/android/server/wm/RootWindowContainer;Landroid/os/Looper;)V +HPLcom/android/server/wm/RootWindowContainer$FindTaskResult;->process(Lcom/android/server/wm/WindowContainer;)V +HPLcom/android/server/wm/RootWindowContainer$FindTaskResult;->test(Lcom/android/server/wm/Task;)Z HSPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V+]Landroid/os/PowerManagerInternal;Lcom/android/server/power/PowerManagerService$LocalService;]Ljava/lang/Long;Ljava/lang/Long; -HSPLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;-><init>(Lcom/android/server/wm/RootWindowContainer;)V -HSPLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;-><init>(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable-IA;)V -HSPLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;->run()V +HPLcom/android/server/wm/RootWindowContainer;->allPausedActivitiesComplete()Z HPLcom/android/server/wm/RootWindowContainer;->allResumedActivitiesIdle()Z HSPLcom/android/server/wm/RootWindowContainer;->anyTaskForId(II)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/RootWindowContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/Task; @@ -13613,142 +11649,157 @@ HSPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction() HSPLcom/android/server/wm/RootWindowContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z HSPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition; HSPLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z -HSPLcom/android/server/wm/RootWindowContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/ConfigurationContainer;Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/RootWindowContainer;->dispatchConfigurationToChild(Lcom/android/server/wm/DisplayContent;Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/RootWindowContainer;->createSleepToken(Ljava/lang/String;IZ)Lcom/android/server/wm/RootWindowContainer$SleepToken; +HSPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZ)V HSPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/RootWindowContainer;->ensureVisibilityAndConfig(Lcom/android/server/wm/ActivityRecord;IZZ)Z +HPLcom/android/server/wm/RootWindowContainer;->executeAppTransitionForAllDisplay()V HSPLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/RootWindowContainer;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/RootWindowContainer;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea; HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer; -HSPLcom/android/server/wm/RootWindowContainer;->getDisplayRotationCoordinator()Lcom/android/server/wm/DisplayRotationCoordinator; +HPLcom/android/server/wm/RootWindowContainer;->getRootTask(I)Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/RootWindowContainer;->getRootTask(II)Lcom/android/server/wm/Task; HPLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityTaskManager$RootTaskInfo; -HPLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;IILandroid/util/ArraySet;I)V +HSPLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;IILandroid/util/ArraySet;I)V HSPLcom/android/server/wm/RootWindowContainer;->getTaskToShowPermissionDialogOn(Ljava/lang/String;I)I HSPLcom/android/server/wm/RootWindowContainer;->getTopDisplayFocusedRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HSPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; +HPLcom/android/server/wm/RootWindowContainer;->getTopFocusedDisplayContent()Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/RootWindowContainer;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/RootWindowContainer;->hasAwakeDisplay()Z HSPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/RootWindowContainer;->invalidateTaskLayers()V -HSPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/RootWindowContainer;->lambda$getRootTaskInfo$22([ILandroid/app/ActivityTaskManager$RootTaskInfo;Lcom/android/server/wm/Task;)V HSPLcom/android/server/wm/RootWindowContainer;->lambda$performSurfacePlacementNoTrace$7(Lcom/android/server/wm/DisplayContent;)V HPLcom/android/server/wm/RootWindowContainer;->lambda$rankTaskLayers$28(Lcom/android/server/wm/Task;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/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+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/RootWindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V +HSPLcom/android/server/wm/RootWindowContainer;->lambda$updateDisplayImePolicyCache$25(Landroid/util/ArrayMap;Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/RootWindowContainer;->onDisplayChanged(I)V HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement()V+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacementNoTrace()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Handler;Lcom/android/server/wm/RootWindowContainer$MyHandler;]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/TaskFragmentOrganizerController;Lcom/android/server/wm/TaskFragmentOrganizerController;]Lcom/android/server/wm/TaskOrganizerController;Lcom/android/server/wm/TaskOrganizerController;]Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;,Ljava/util/ArrayList; HPLcom/android/server/wm/RootWindowContainer;->rankTaskLayers()V +HPLcom/android/server/wm/RootWindowContainer;->removeSleepToken(Lcom/android/server/wm/RootWindowContainer$SleepToken;)V HSPLcom/android/server/wm/RootWindowContainer;->resumeFocusedTasksTopActivities(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z -HSPLcom/android/server/wm/RootWindowContainer;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/RootWindowContainer;->updateDisplayImePolicyCache()V -HSPLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService; HSPLcom/android/server/wm/RootWindowContainer;->updateUIDsPresentOnDisplay()V -HSPLcom/android/server/wm/RotationWatcherController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HPLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/RunningTasks;)V -HPLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V +HSPLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/RunningTasks;)V +HSPLcom/android/server/wm/RunningTasks$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/RunningTasks;-><init>()V -HPLcom/android/server/wm/RunningTasks;->accept(Lcom/android/server/wm/Task;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/wm/RunningTasks;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/RunningTasks; +HSPLcom/android/server/wm/RunningTasks;->accept(Lcom/android/server/wm/Task;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/wm/RunningTasks;->accept(Ljava/lang/Object;)V+]Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/RunningTasks; HPLcom/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+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/RunningTasks;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; -HPLcom/android/server/wm/RunningTasks;->lambda$getTasks$0(Lcom/android/server/wm/DisplayContent;)V +HSPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;ILcom/android/server/wm/RecentTasks;Lcom/android/server/wm/WindowContainer;ILandroid/util/ArraySet;)V+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/RunningTasks;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; +HSPLcom/android/server/wm/RunningTasks;->lambda$getTasks$0(Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V +HPLcom/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 HPLcom/android/server/wm/SafeActivityOptions;->setCallerOptions(Landroid/app/ActivityOptions;)V HPLcom/android/server/wm/Session$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;)V -HPLcom/android/server/wm/Session;->actionOnWallpaper(Landroid/os/IBinder;Ljava/util/function/BiConsumer;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Ljava/util/function/BiConsumer;Lcom/android/server/wm/Session$$ExternalSyntheticLambda5;,Lcom/android/server/wm/Session$$ExternalSyntheticLambda4;,Lcom/android/server/wm/Session$$ExternalSyntheticLambda3; +HSPLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V +HPLcom/android/server/wm/Session;->actionOnWallpaper(Landroid/os/IBinder;Ljava/util/function/BiConsumer;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Ljava/util/function/BiConsumer;Lcom/android/server/wm/Session$$ExternalSyntheticLambda5;,Lcom/android/server/wm/Session$$ExternalSyntheticLambda4;,Lcom/android/server/wm/Session$$ExternalSyntheticLambda3;,Lcom/android/server/wm/Session$$ExternalSyntheticLambda1; +HPLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;I)V +HPLcom/android/server/wm/Session;->lambda$setWallpaperZoomOut$1(FLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/Session;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; HSPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z +HPLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V HSPLcom/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+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/Session;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V +HPLcom/android/server/wm/Session;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V +HSPLcom/android/server/wm/Session;->setOnBackInvokedCallbackInfo(Landroid/view/IWindow;Landroid/window/OnBackInvokedCallbackInfo;)V HPLcom/android/server/wm/Session;->setWallpaperZoomOut(Landroid/os/IBinder;F)V+]Lcom/android/server/wm/Session;Lcom/android/server/wm/Session; +HPLcom/android/server/wm/Session;->updateRequestedVisibleTypes(Landroid/view/IWindow;I)V +HSPLcom/android/server/wm/Session;->windowAddedLocked()V HPLcom/android/server/wm/SnapshotCache;->getSnapshot(Ljava/lang/Integer;)Landroid/window/TaskSnapshot; -HSPLcom/android/server/wm/SnapshotPersistQueue$1;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Ljava/lang/String;)V -HSPLcom/android/server/wm/SnapshotPersistQueue;-><init>()V -HSPLcom/android/server/wm/SnapshotPersistQueue;->getLock()Ljava/lang/Object; -HSPLcom/android/server/wm/SplashScreenExceptionList$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SplashScreenExceptionList;)V -HSPLcom/android/server/wm/SplashScreenExceptionList;-><clinit>()V -HSPLcom/android/server/wm/SplashScreenExceptionList;-><init>(Ljava/util/concurrent/Executor;)V -HSPLcom/android/server/wm/SplashScreenExceptionList;->parseDeviceConfigPackageList(Ljava/lang/String;)V -HSPLcom/android/server/wm/SplashScreenExceptionList;->updateDeviceConfig(Ljava/lang/String;)V -HSPLcom/android/server/wm/StartingSurfaceController;-><clinit>()V -HSPLcom/android/server/wm/StartingSurfaceController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V -HSPLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V -HSPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;Landroid/os/PowerManagerInternal;)V -HSPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Ljava/util/function/Supplier;Landroid/os/PowerManagerInternal;)V -HSPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0()V +HPLcom/android/server/wm/SnapshotController;->onTransactionReady(ILjava/util/ArrayList;)V +HPLcom/android/server/wm/SnapshotController;->onTransitionFinish(ILjava/util/ArrayList;)V +HSPLcom/android/server/wm/SnapshotPersistQueue$1;->run()V +HPLcom/android/server/wm/SnapshotPersistQueue$StoreWriteQueueItem;->writeBuffer()Z +HPLcom/android/server/wm/SnapshotPersistQueue$StoreWriteQueueItem;->writeProto()Z +HPLcom/android/server/wm/SnapshotPersistQueue;->setPaused(Z)V +HPLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda6;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V +HPLcom/android/server/wm/SurfaceAnimationRunner;->applyTransformation(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/view/SurfaceControl$Transaction;J)V +HPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$4(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V+]Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner;]Landroid/animation/ValueAnimator;Lcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator; +HPLcom/android/server/wm/SurfaceAnimationRunner;->onAnimationLeashLost(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/SurfaceAnimationRunner;->scheduleApplyTransaction()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; +HPLcom/android/server/wm/SurfaceAnimationRunner;->startAnimation(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Ljava/lang/Runnable;)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; HSPLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V HSPLcom/android/server/wm/SurfaceAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimator$Animatable;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Lcom/android/server/wm/WindowManagerService;)V +HPLcom/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; HSPLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback; HSPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z HSPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z +HPLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;ILcom/android/server/wm/AnimationAdapter;)V HPLcom/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 -HSPLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V +HPLcom/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 HSPLcom/android/server/wm/SurfaceFreezer;-><init>(Lcom/android/server/wm/SurfaceFreezer$Freezable;Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/SurfaceFreezer;->hasLeash()Z -HSPLcom/android/server/wm/SurfaceSyncGroupController;-><init>()V +HPLcom/android/server/wm/SurfaceFreezer;->takeLeashForAnimation()Landroid/view/SurfaceControl; +HPLcom/android/server/wm/SurfaceFreezer;->unfreeze(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/SurfaceFreezer;->unfreezeInner(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->-$$Nest$mgetValue(Lcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;)Z HSPLcom/android/server/wm/SynchedDeviceConfig$SynchedDeviceConfigEntry;->getValue()Z HSPLcom/android/server/wm/SynchedDeviceConfig;->findEntry(Ljava/lang/String;)Ljava/util/Optional; HSPLcom/android/server/wm/SynchedDeviceConfig;->getFlagValue(Ljava/lang/String;)Z+]Ljava/util/Optional;Ljava/util/Optional;]Lcom/android/server/wm/SynchedDeviceConfig;Lcom/android/server/wm/SynchedDeviceConfig;]Ljava/lang/Boolean;Ljava/lang/Boolean; -HSPLcom/android/server/wm/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;)V -HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->checkNull(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; +HPLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z +HPLcom/android/server/wm/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V+]Lcom/android/server/wm/SystemGesturesPointerEventListener;Lcom/android/server/wm/SystemGesturesPointerEventListener;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(IJFF)I HPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I+]Lcom/android/server/wm/SystemGesturesPointerEventListener;Lcom/android/server/wm/SystemGesturesPointerEventListener;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; +HPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectTrackpadThreeFingerSwipe(Landroid/view/MotionEvent;)I HPLcom/android/server/wm/SystemGesturesPointerEventListener;->findIndex(I)I HPLcom/android/server/wm/SystemGesturesPointerEventListener;->isTrackpadThreeFingerSwipe(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->onConfigurationChanged()V HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V HPLcom/android/server/wm/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V+]Landroid/view/GestureDetector;Lcom/android/server/wm/SystemGesturesPointerEventListener$1;]Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;Lcom/android/server/wm/DisplayPolicy$1;]Lcom/android/server/wm/SystemGesturesPointerEventListener;Lcom/android/server/wm/SystemGesturesPointerEventListener;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; +HPLcom/android/server/wm/Task$$ExternalSyntheticLambda18;-><init>()V +HPLcom/android/server/wm/Task$$ExternalSyntheticLambda30;->accept(Ljava/lang/Object;)V HPLcom/android/server/wm/Task$$ExternalSyntheticLambda36;->accept(Ljava/lang/Object;)V HPLcom/android/server/wm/Task$$ExternalSyntheticLambda37;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/Task$$ExternalSyntheticLambda3;-><init>()V HPLcom/android/server/wm/Task$$ExternalSyntheticLambda8;-><init>(Z[I)V -HSPLcom/android/server/wm/Task$ActivityTaskHandler;-><init>(Lcom/android/server/wm/Task;Landroid/os/Looper;)V -HSPLcom/android/server/wm/Task$Builder;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V +HPLcom/android/server/wm/Task$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/Task$Builder;->build()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task$Builder;->buildInner()Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/Task$Builder;->setActivityOptions(Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task$Builder; -HSPLcom/android/server/wm/Task$Builder;->setActivityType(I)Lcom/android/server/wm/Task$Builder; -HSPLcom/android/server/wm/Task$Builder;->setOnTop(Z)Lcom/android/server/wm/Task$Builder; -HSPLcom/android/server/wm/Task$Builder;->setParent(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/Task$Builder; -HSPLcom/android/server/wm/Task$Builder;->setWindowingMode(I)Lcom/android/server/wm/Task$Builder; HSPLcom/android/server/wm/Task$Builder;->validateRootTask(Lcom/android/server/wm/TaskDisplayArea;)V -HSPLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;)V -HSPLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task$FindRootHelper-IA;)V HSPLcom/android/server/wm/Task$FindRootHelper;->findRoot(ZZ)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HPLcom/android/server/wm/Task$FindRootHelper;->test(Lcom/android/server/wm/ActivityRecord;)Z+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo; HPLcom/android/server/wm/Task$FindRootHelper;->test(Ljava/lang/Object;)Z+]Lcom/android/server/wm/Task$FindRootHelper;Lcom/android/server/wm/Task$FindRootHelper; -HSPLcom/android/server/wm/Task;->-$$Nest$fputmHasBeenVisible(Lcom/android/server/wm/Task;Z)V -HSPLcom/android/server/wm/Task;-><clinit>()V HSPLcom/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;ZZZIILjava/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 -HSPLcom/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;ZZZIILjava/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 HSPLcom/android/server/wm/Task;->adjustBoundsForDisplayChangeIfNeeded(Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/Task;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/Task;->asTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z -HSPLcom/android/server/wm/Task;->canBeOrganized()Z -HPLcom/android/server/wm/Task;->checkTranslucentActivityWaiting(Lcom/android/server/wm/ActivityRecord;)V +HSPLcom/android/server/wm/Task;->checkReadyForSleep()V +HPLcom/android/server/wm/Task;->checkTranslucentActivityWaiting(Lcom/android/server/wm/ActivityRecord;)V+]Landroid/os/Handler;Lcom/android/server/wm/Task$ActivityTaskHandler;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/Task;->cropWindowsToRootTaskBounds()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->dispatchTaskInfoChangedIfNeeded(Z)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskOrganizerController;Lcom/android/server/wm/TaskOrganizerController; HSPLcom/android/server/wm/Task;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;Z)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;ZLcom/android/server/wm/TaskDisplayArea;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;Lcom/android/server/wm/ActivityTaskSupervisor$TaskInfoHelper;]Landroid/app/TaskInfo;Landroid/app/ActivityManager$RecentTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo;,Landroid/app/ActivityManager$RunningTaskInfo;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/PictureInPictureParams;Landroid/app/PictureInPictureParams;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Lcom/android/server/wm/WindowContainer$RemoteToken;Lcom/android/server/wm/WindowContainer$RemoteToken;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda31;,Lcom/android/server/wm/RootWindowContainer$FindTaskResult;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/Task;->forAllLeafTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda35;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda31;,Lcom/android/server/wm/RootWindowContainer$FindTaskResult;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/Task;->forAllLeafTasksAndLeafTaskFragments(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->forAllRootTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Consumer;megamorphic_types +HPLcom/android/server/wm/Task;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda30;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda15; HSPLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Consumer;Z)V+]Ljava/util/function/Consumer;Lcom/android/server/wm/TaskSnapshotController$$ExternalSyntheticLambda1;,Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda39;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda27; -HSPLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Predicate;)Z+]Ljava/util/function/Predicate;Lcom/android/server/wm/Transition$$ExternalSyntheticLambda0;,Lcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0; HPLcom/android/server/wm/Task;->getAdjacentTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getBaseIntent()Landroid/content/Intent;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/Task;->getDescendantTaskCount()I HSPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getDisplayCutoutInsets()Landroid/graphics/Rect;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getDisplayInfo()Landroid/view/DisplayInfo;+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; @@ -13756,67 +11807,69 @@ HSPLcom/android/server/wm/Task;->getHasBeenVisible()Z HSPLcom/android/server/wm/Task;->getLaunchBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/Task;->getName()Ljava/lang/String; HPLcom/android/server/wm/Task;->getOrganizedTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/Task;->getPictureInPictureParams(Lcom/android/server/wm/ActivityRecord;)Landroid/app/PictureInPictureParams; -HSPLcom/android/server/wm/Task;->getRelativePosition()Landroid/graphics/Point; +HSPLcom/android/server/wm/Task;->getPictureInPictureParams(Lcom/android/server/wm/ActivityRecord;)Landroid/app/PictureInPictureParams;+]Landroid/app/PictureInPictureParams;Landroid/app/PictureInPictureParams; +HSPLcom/android/server/wm/Task;->getRelativePosition()Landroid/graphics/Point;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getRootActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/Task;->getRootActivity(Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getRootActivity(ZZ)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/Task$FindRootHelper;Lcom/android/server/wm/Task$FindRootHelper; HSPLcom/android/server/wm/Task;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;megamorphic_types +HSPLcom/android/server/wm/Task;->getRootTaskId()I +HPLcom/android/server/wm/Task;->getStartingWindowInfo(Lcom/android/server/wm/ActivityRecord;)Landroid/window/StartingWindowInfo; HSPLcom/android/server/wm/Task;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Ljava/util/function/Predicate;megamorphic_types HSPLcom/android/server/wm/Task;->getTaskDescription()Landroid/app/ActivityManager$TaskDescription; HSPLcom/android/server/wm/Task;->getTaskInfo()Landroid/app/ActivityManager$RunningTaskInfo; HPLcom/android/server/wm/Task;->getTopLeafTask()Lcom/android/server/wm/Task; -HPLcom/android/server/wm/Task;->getTopPausingActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/Task;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/Task;->getTopPausingActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/Task;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->getTopVisibleAppMainWindow()Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/Task;->hasVisibleChildren()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->isAlwaysOnTop()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HPLcom/android/server/wm/Task;->isCompatible(II)Z -HSPLcom/android/server/wm/Task;->isDragResizing()Z HSPLcom/android/server/wm/Task;->isFocused()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/Task;->isForceHidden()Z HPLcom/android/server/wm/Task;->isForceTranslucent()Z +HPLcom/android/server/wm/Task;->isInTask(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/Task;->isLeafTask()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/Task;->isOrganized()Z HSPLcom/android/server/wm/Task;->isResizeable()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->isResizeable(Z)Z HSPLcom/android/server/wm/Task;->isRootTask()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/Task;->isTaskId(I)Z +HPLcom/android/server/wm/Task;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/Task;)V +HSPLcom/android/server/wm/Task;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z HSPLcom/android/server/wm/Task;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/Task;->onConfigurationChangedInner(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/Task;->onDescendantActivityAdded(ZILcom/android/server/wm/ActivityRecord;)V +HSPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController; HSPLcom/android/server/wm/Task;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V HSPLcom/android/server/wm/Task;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; +HPLcom/android/server/wm/Task;->removeLaunchTickMessages()V HSPLcom/android/server/wm/Task;->resolveLeafTaskOnlyOverrideConfigs(Landroid/content/res/Configuration;Landroid/graphics/Rect;)V HSPLcom/android/server/wm/Task;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z HSPLcom/android/server/wm/Task;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Z)Z -HSPLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded()V -HSPLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/Task;->sendTaskAppeared()V -HSPLcom/android/server/wm/Task;->sendTaskFragmentParentInfoChangedIfNeeded()V +HPLcom/android/server/wm/Task;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V +HSPLcom/android/server/wm/Task;->sendTaskFragmentParentInfoChangedIfNeeded()V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I -HSPLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)I -HSPLcom/android/server/wm/Task;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V HSPLcom/android/server/wm/Task;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V -HSPLcom/android/server/wm/Task;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V -HSPLcom/android/server/wm/Task;->setSurfaceControl(Landroid/view/SurfaceControl;)V +HSPLcom/android/server/wm/Task;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/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+]Landroid/app/ActivityManager$TaskDescription;Landroid/app/ActivityManager$TaskDescription;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/Task;->setTaskOrganizer(Landroid/window/ITaskOrganizer;Z)Z HPLcom/android/server/wm/Task;->shouldIgnoreInput()Z HSPLcom/android/server/wm/Task;->shouldSleepActivities()Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; -HSPLcom/android/server/wm/Task;->shouldStartChangeTransition(ILandroid/graphics/Rect;)Z -HSPLcom/android/server/wm/Task;->showSurfaceOnCreation()Z +HPLcom/android/server/wm/Task;->startActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;ZZLandroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/Task;->toString()Ljava/lang/String; HSPLcom/android/server/wm/Task;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/Task;->touchActiveTime()V HSPLcom/android/server/wm/Task;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect; -HSPLcom/android/server/wm/Task;->updateSurfaceBounds()V -HSPLcom/android/server/wm/Task;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V +HSPLcom/android/server/wm/Task;->updateSurfaceBounds()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/Task;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; HPLcom/android/server/wm/Task;->updateTaskDescription()V -HSPLcom/android/server/wm/Task;->updateTaskOrganizerState()Z +HSPLcom/android/server/wm/Task;->updateTaskMovement(ZZI)V HSPLcom/android/server/wm/Task;->updateTaskOrganizerState(Z)Z HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda10;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda11;-><init>()V -HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda11;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda12;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda13;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda14;-><init>()V @@ -13825,6 +11878,7 @@ HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLam HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda17;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda18;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda19;-><init>()V +HPLcom/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 @@ -13842,7 +11896,6 @@ HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLam HSPLcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda9;-><init>()V HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;-><init>(Lcom/android/server/wm/TaskChangeNotificationController;Landroid/os/Looper;)V HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs; -HSPLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskCreated(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer; HSPLcom/android/server/wm/TaskChangeNotificationController;->-$$Nest$fgetmNotifyTaskDisplayChanged(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer; HSPLcom/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 @@ -13850,242 +11903,314 @@ HSPLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListener HSPLcom/android/server/wm/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V+]Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;megamorphic_types]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$1(Landroid/app/ITaskStackListener;Landroid/os/Message;)V HSPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$17(Landroid/app/ITaskStackListener;Landroid/os/Message;)V+]Landroid/app/ITaskStackListener;megamorphic_types +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V+]Landroid/app/ITaskStackListener;megamorphic_types HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V -HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDisplayChanged(II)V +HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(Landroid/app/TaskInfo;)V +HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDisplayChanged(II)V+]Landroid/os/Handler;Lcom/android/server/wm/TaskChangeNotificationController$MainHandler;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController; +HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V HSPLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V -HSPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda3;-><init>(Lcom/android/server/wm/TaskDisplayArea;I)V -HSPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda3;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/wm/TaskDisplayArea;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;I)V -HSPLcom/android/server/wm/TaskDisplayArea;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;IZZ)V -HSPLcom/android/server/wm/TaskDisplayArea;->addChild(Lcom/android/server/wm/WindowContainer;I)V +HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)V HSPLcom/android/server/wm/TaskDisplayArea;->addChildTask(Lcom/android/server/wm/Task;I)V -HSPLcom/android/server/wm/TaskDisplayArea;->addRootTaskReferenceIfNeeded(Lcom/android/server/wm/Task;)V HSPLcom/android/server/wm/TaskDisplayArea;->adjustRootTaskLayer(Landroid/view/SurfaceControl$Transaction;Ljava/util/ArrayList;I)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/wm/TaskDisplayArea;->allResumedActivitiesComplete()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/TaskDisplayArea;->allResumedActivitiesComplete()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/TaskDisplayArea;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea; HSPLcom/android/server/wm/TaskDisplayArea;->assignRootTaskOrdering(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;,Ljava/util/ArrayList; -HSPLcom/android/server/wm/TaskDisplayArea;->canHostHomeTask()Z HSPLcom/android/server/wm/TaskDisplayArea;->canSpecifyOrientation(I)Z+]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; -HSPLcom/android/server/wm/TaskDisplayArea;->createRootTask(IIZ)Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskDisplayArea;->createRootTask(IIZLandroid/app/ActivityOptions;)Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskDisplayArea;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V HSPLcom/android/server/wm/TaskDisplayArea;->findMaxPositionForRootTask(Lcom/android/server/wm/Task;)I HSPLcom/android/server/wm/TaskDisplayArea;->findMinPositionForRootTask(Lcom/android/server/wm/Task;)I HSPLcom/android/server/wm/TaskDisplayArea;->findPositionForRootTask(ILcom/android/server/wm/Task;Z)I HSPLcom/android/server/wm/TaskDisplayArea;->getDisplayId()I +HPLcom/android/server/wm/TaskDisplayArea;->getFocusedActivity()Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/TaskDisplayArea;->getFocusedRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/TaskDisplayArea;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object; -HSPLcom/android/server/wm/TaskDisplayArea;->getLaunchRootTask(IILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;I)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/TaskDisplayArea;->getLaunchRootTask(IILandroid/app/ActivityOptions;Lcom/android/server/wm/Task;ILcom/android/server/wm/Task;)Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskDisplayArea;->getNextRootTaskId()I -HSPLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootHomeTask(Z)Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootTask(IIZLcom/android/server/wm/Task;Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;I)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/TaskDisplayArea;->getOrientation(I)I+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea; +HSPLcom/android/server/wm/TaskDisplayArea;->getPriority(Lcom/android/server/wm/WindowContainer;)I HSPLcom/android/server/wm/TaskDisplayArea;->getRootHomeTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/TaskDisplayArea;->getRootTask(II)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskDisplayArea; +HPLcom/android/server/wm/TaskDisplayArea;->getTopRootTask()Lcom/android/server/wm/Task; HPLcom/android/server/wm/TaskDisplayArea;->getTopRootTaskInWindowingMode(I)Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskDisplayArea;->isLargeEnoughForMultiWindow()Z HSPLcom/android/server/wm/TaskDisplayArea;->isRemoved()Z HPLcom/android/server/wm/TaskDisplayArea;->isRootTaskVisible(I)Z -HSPLcom/android/server/wm/TaskDisplayArea;->isWindowingModeSupported(IZZZ)Z -HSPLcom/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 HSPLcom/android/server/wm/TaskDisplayArea;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V +HSPLcom/android/server/wm/TaskDisplayArea;->onLeafTaskMoved(Lcom/android/server/wm/Task;ZZ)V HSPLcom/android/server/wm/TaskDisplayArea;->onRootTaskOrderChanged(Lcom/android/server/wm/Task;)V -HSPLcom/android/server/wm/TaskDisplayArea;->onRootTaskWindowingModeChanged(Lcom/android/server/wm/Task;)V HPLcom/android/server/wm/TaskDisplayArea;->positionChildTaskAt(ILcom/android/server/wm/Task;Z)V -HSPLcom/android/server/wm/TaskDisplayArea;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;Z)Ljava/lang/Object; -HSPLcom/android/server/wm/TaskDisplayArea;->removeRootTaskReferenceIfNeeded(Lcom/android/server/wm/Task;)V -HSPLcom/android/server/wm/TaskDisplayArea;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V -HSPLcom/android/server/wm/TaskDisplayArea;->setWindowingMode(I)V HSPLcom/android/server/wm/TaskDisplayArea;->supportsActivityMinWidthHeightMultiWindow(IILandroid/content/pm/ActivityInfo;)Z+]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo; HPLcom/android/server/wm/TaskDisplayArea;->supportsNonResizableMultiWindow()Z -HPLcom/android/server/wm/TaskDisplayArea;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/TaskFpsCallbackController;-><init>(Landroid/content/Context;)V +HSPLcom/android/server/wm/TaskDisplayArea;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/TaskDisplayArea;->updateLastFocusedRootTask(Lcom/android/server/wm/Task;Ljava/lang/String;)V HSPLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda1;-><init>()V HPLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z -HSPLcom/android/server/wm/TaskFragment$EnsureVisibleActivitiesConfigHelper;-><init>(Lcom/android/server/wm/TaskFragment;)V -HSPLcom/android/server/wm/TaskFragment$EnsureVisibleActivitiesConfigHelper;-><init>(Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment$EnsureVisibleActivitiesConfigHelper-IA;)V +HPLcom/android/server/wm/TaskFragment$$ExternalSyntheticLambda4;->test(Ljava/lang/Object;)Z HSPLcom/android/server/wm/TaskFragment;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/IBinder;ZZ)V +HSPLcom/android/server/wm/TaskFragment;->addChild(Lcom/android/server/wm/WindowContainer;I)V HSPLcom/android/server/wm/TaskFragment;->asTaskFragment()Lcom/android/server/wm/TaskFragment; HSPLcom/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 +HPLcom/android/server/wm/TaskFragment;->canBeResumed(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; HSPLcom/android/server/wm/TaskFragment;->canSpecifyOrientation()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->canStartChangeTransition()Z HPLcom/android/server/wm/TaskFragment;->completePause(ZLcom/android/server/wm/ActivityRecord;)V -HSPLcom/android/server/wm/TaskFragment;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/TaskFragment;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/view/DisplayInfo;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V -HSPLcom/android/server/wm/TaskFragment;->fillsParent()Z -HPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Ljava/util/function/Predicate;Lcom/android/server/wm/Task$$ExternalSyntheticLambda34;,Lcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda30;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda25;,Lcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda29;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/TaskFragment;->containsStoppingActivity()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/TaskFragment;->fillsParent()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment; +HSPLcom/android/server/wm/TaskFragment;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/function/Predicate;Lcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda29;,Lcom/android/server/wm/Task$$ExternalSyntheticLambda34;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda25;,Lcom/android/server/wm/ActivityRecord$$ExternalSyntheticLambda30;,Lcom/android/server/wm/TaskFragmentOrganizerController$$ExternalSyntheticLambda0;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/TaskFragment;->getActivityType()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->getAdjacentTaskFragment()Lcom/android/server/wm/TaskFragment; -HSPLcom/android/server/wm/TaskFragment;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/TaskFragment;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea; -HSPLcom/android/server/wm/TaskFragment;->getDisplayId()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/TaskFragment;->getDisplayId()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HPLcom/android/server/wm/TaskFragment;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/TaskFragment;->getOrganizerProcessIfDifferent(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/WindowProcessController; HSPLcom/android/server/wm/TaskFragment;->getOrientation(I)I+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskFragment;->getPausingActivity()Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/TaskFragment;->getResumedActivity()Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/TaskFragment;->getRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->getRootTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->getTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment; -HSPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity(Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; -HSPLcom/android/server/wm/TaskFragment;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->hasRunningActivity(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/TaskFragment;->getTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/TaskFragment;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;+]Ljava/util/function/Predicate;Lcom/android/server/wm/Task$$ExternalSyntheticLambda3; +HSPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HSPLcom/android/server/wm/TaskFragment;->getTopNonFinishingActivity(Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HSPLcom/android/server/wm/TaskFragment;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; +HSPLcom/android/server/wm/TaskFragment;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HPLcom/android/server/wm/TaskFragment;->hasDirectChildActivities()Z +HSPLcom/android/server/wm/TaskFragment;->hasRunningActivity(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V -HSPLcom/android/server/wm/TaskFragment;->isAttached()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea; +HSPLcom/android/server/wm/TaskFragment;->isAttached()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea; +HSPLcom/android/server/wm/TaskFragment;->isEmbedded()Z HSPLcom/android/server/wm/TaskFragment;->isFocusableAndVisible()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; -HPLcom/android/server/wm/TaskFragment;->isLeafTaskFragment()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/TaskFragment;->isLeafTaskFragment()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/TaskFragment;->isOrganizedTaskFragment()Z -HSPLcom/android/server/wm/TaskFragment;->isTopActivityFocusable()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/TaskFragment;->isTopActivityLaunchedBehind()Z -HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/TaskFragment;->isTopActivityFocusable()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/TaskFragment;->isTopActivityLaunchedBehind()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HPLcom/android/server/wm/TaskFragment;->isTranslucent(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/TaskFragment;->lambda$getTopNonFinishingActivity$2(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/TaskFragment;->lambda$topRunningActivity$4(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/TaskFragment;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord$State;Ljava/lang/String;)V -HSPLcom/android/server/wm/TaskFragment;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/TaskFragment;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment; +HSPLcom/android/server/wm/TaskFragment;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; HSPLcom/android/server/wm/TaskFragment;->providesOrientation()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment; HSPLcom/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 +HPLcom/android/server/wm/TaskFragment;->schedulePauseActivity(Lcom/android/server/wm/ActivityRecord;ZZZLjava/lang/String;)V HSPLcom/android/server/wm/TaskFragment;->sendTaskFragmentInfoChanged()V -HSPLcom/android/server/wm/TaskFragment;->setSurfaceControl(Landroid/view/SurfaceControl;)V -HSPLcom/android/server/wm/TaskFragment;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; -HSPLcom/android/server/wm/TaskFragment;->shouldDeferRemoval()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskFragment;->setResumedActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V +HSPLcom/android/server/wm/TaskFragment;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; +HSPLcom/android/server/wm/TaskFragment;->shouldDeferRemoval()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->shouldReportOrientationUnspecified()Z +HPLcom/android/server/wm/TaskFragment;->shouldSleepOrShutDownActivities()Z +HPLcom/android/server/wm/TaskFragment;->sleepIfPossible(Z)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor; HPLcom/android/server/wm/TaskFragment;->startPausing(ZZLcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z HSPLcom/android/server/wm/TaskFragment;->supportsMultiWindow()Z HSPLcom/android/server/wm/TaskFragment;->supportsMultiWindowInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea; HSPLcom/android/server/wm/TaskFragment;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/TaskFragment;->updateActivityVisibilities(Lcom/android/server/wm/ActivityRecord;IZZ)V+]Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/EnsureActivitiesVisibleHelper;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor; -HSPLcom/android/server/wm/TaskFragment;->updateOrganizedTaskFragmentSurface()V +HPLcom/android/server/wm/TaskFragment;->warnForNonLeafTaskFragment(Ljava/lang/String;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/server/wm/TaskFragmentOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowOrganizerController;)V HSPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Lcom/android/server/wm/TaskFragmentOrganizerController;Lcom/android/server/wm/TaskFragmentOrganizerController; -HPLcom/android/server/wm/TaskFragmentOrganizerController;->dispatchPendingEvents(Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Ljava/util/List;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;]Landroid/window/TaskFragmentTransaction;Landroid/window/TaskFragmentTransaction;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/TaskFragmentOrganizerController;Lcom/android/server/wm/TaskFragmentOrganizerController;]Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder;Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent$Builder; -HPLcom/android/server/wm/TaskFragmentOrganizerController;->shouldDeferPendingEvents(Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Ljava/util/List;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/TaskFragmentOrganizerController;Lcom/android/server/wm/TaskFragmentOrganizerController; -HPLcom/android/server/wm/TaskFragmentOrganizerController;->shouldSendEventWhenTaskInvisible(Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskFragmentOrganizerController$TaskFragmentOrganizerState;Lcom/android/server/wm/TaskFragmentOrganizerController$PendingTaskFragmentEvent;)Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;]Landroid/window/TaskFragmentInfo;Landroid/window/TaskFragmentInfo;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/window/TaskFragmentParentInfo;Landroid/window/TaskFragmentParentInfo;]Ljava/util/Map;Ljava/util/WeakHashMap; HSPLcom/android/server/wm/TaskLaunchParamsModifier;-><init>(Lcom/android/server/wm/ActivityTaskSupervisor;)V +HPLcom/android/server/wm/TaskLaunchParamsModifier;->adjustBoundsToAvoidConflictInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;Landroid/graphics/Rect;)V 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 +HPLcom/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 +HSPLcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;-><init>(Lcom/android/server/wm/Task;I)V +HSPLcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;-><init>(Lcom/android/server/wm/Task;Landroid/window/ITaskOrganizer;I)V +HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->onTaskInfoChanged(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$RunningTaskInfo;)V +HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->addPendingTaskEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V +HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchPendingEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchPendingEvents()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue; HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->dispatchTaskInfoChanged(Lcom/android/server/wm/Task;Z)V HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->getPendingLifecycleTaskEvent(Lcom/android/server/wm/Task;)Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;+]Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;->removePendingTaskEvent(Lcom/android/server/wm/TaskOrganizerController$PendingTaskEvent;)V HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->-$$Nest$fgetmPendingEventsQueue(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue; HSPLcom/android/server/wm/TaskOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V HSPLcom/android/server/wm/TaskOrganizerController;->dispatchPendingEvents()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue; HSPLcom/android/server/wm/TaskOrganizerController;->getTaskOrganizer()Landroid/window/ITaskOrganizer; HSPLcom/android/server/wm/TaskOrganizerController;->onTaskInfoChanged(Lcom/android/server/wm/Task;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/window/ITaskOrganizer;Landroid/window/ITaskOrganizer$Stub$Proxy;]Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue;Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueue; +HPLcom/android/server/wm/TaskOrganizerController;->removeStartingWindow(Lcom/android/server/wm/Task;Landroid/window/ITaskOrganizer;Z)V +HPLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->process()V 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 -HSPLcom/android/server/wm/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File; -HSPLcom/android/server/wm/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray; -HSPLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/TaskSnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AppSnapshotLoader;)V -HSPLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/SnapshotPersistQueue;)V -HSPLcom/android/server/wm/TaskSnapshotController;->createPersistInfoProvider(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver;)Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider; -HSPLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/SnapshotPersistQueue;Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;)V -HSPLcom/android/server/wm/TaskSystemBarsListenerController;-><init>()V -HSPLcom/android/server/wm/TaskTapPointerEventListener;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V +HPLcom/android/server/wm/TaskPersister;->wakeup(Lcom/android/server/wm/Task;Z)V +HPLcom/android/server/wm/TaskPersister;->writeTaskIdsFiles()V +HPLcom/android/server/wm/TaskSnapshotCache;->getSnapshot(IIZZ)Landroid/window/TaskSnapshot; +HPLcom/android/server/wm/TaskSnapshotCache;->putSnapshot(Lcom/android/server/wm/Task;Landroid/window/TaskSnapshot;)V +HPLcom/android/server/wm/TaskSnapshotController;->getSnapshot(IIZZ)Landroid/window/TaskSnapshot; +HPLcom/android/server/wm/TaskSnapshotController;->snapshotForSleeping(I)V +HPLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region; +HPLcom/android/server/wm/Transition$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z HPLcom/android/server/wm/Transition$ChangeInfo;-><init>(Lcom/android/server/wm/WindowContainer;)V HPLcom/android/server/wm/Transition$ChangeInfo;->getChangeFlags(Lcom/android/server/wm/WindowContainer;)I -HPLcom/android/server/wm/Transition$ChangeInfo;->hasChanged()Z +HPLcom/android/server/wm/Transition$ChangeInfo;->hasChanged()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HPLcom/android/server/wm/Transition$ReadyTracker;-><init>()V +HPLcom/android/server/wm/Transition$ReadyTracker;->addGroup(Lcom/android/server/wm/WindowContainer;)V HPLcom/android/server/wm/Transition$ReadyTracker;->allReady()Z +HPLcom/android/server/wm/Transition$ReadyTracker;->setReadyFrom(Lcom/android/server/wm/WindowContainer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/wm/Transition$Targets;->add(Lcom/android/server/wm/Transition$ChangeInfo;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/wm/Transition$Targets;->getListSortedByZ()Ljava/util/ArrayList; +HPLcom/android/server/wm/Transition$Targets;->remove(I)V HPLcom/android/server/wm/Transition;-><init>(IILcom/android/server/wm/TransitionController;Lcom/android/server/wm/BLASTSyncEngine;)V +HPLcom/android/server/wm/Transition;->addOnTopTasks(Lcom/android/server/wm/DisplayContent;Ljava/util/ArrayList;)V +HPLcom/android/server/wm/Transition;->addOnTopTasks(Lcom/android/server/wm/Task;Ljava/util/ArrayList;)V +HPLcom/android/server/wm/Transition;->applyDisplayChangeIfNeeded()V HPLcom/android/server/wm/Transition;->applyReady()V +HPLcom/android/server/wm/Transition;->buildCleanupTransaction(Landroid/view/SurfaceControl$Transaction;Landroid/window/TransitionInfo;)V HPLcom/android/server/wm/Transition;->buildFinishTransaction(Landroid/view/SurfaceControl$Transaction;Landroid/window/TransitionInfo;)V HPLcom/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; HPLcom/android/server/wm/Transition;->calculateTransitionRoots(Landroid/window/TransitionInfo;Ljava/util/ArrayList;Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/Transition;->canPromote(Lcom/android/server/wm/Transition$ChangeInfo;Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)Z +HPLcom/android/server/wm/Transition;->checkEnterPipOnFinish(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/Transition;->cleanUpInternal()V HPLcom/android/server/wm/Transition;->collect(Lcom/android/server/wm/WindowContainer;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/Transition$ReadyTracker;Lcom/android/server/wm/Transition$ReadyTracker;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/BLASTSyncEngine;Lcom/android/server/wm/BLASTSyncEngine; +HPLcom/android/server/wm/Transition;->collectExistenceChange(Lcom/android/server/wm/WindowContainer;)V HPLcom/android/server/wm/Transition;->collectOrderChanges(Z)V -HPLcom/android/server/wm/Transition;->finishTransition()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/TaskSnapshotController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/inputmethod/InputMethodManagerInternal;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/ActivitySnapshotController;Lcom/android/server/wm/ActivitySnapshotController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor;]Lcom/android/server/wm/DisplayRotationCompatPolicy;Lcom/android/server/wm/DisplayRotationCompatPolicy;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/TransitionTracer;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/Transition;->isInTransientHide(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/Transition;->commitVisibleActivities(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/Transition;->commitVisibleWallpapers()V +HPLcom/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+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/TaskSnapshotController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/inputmethod/InputMethodManagerInternal;Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;]Lcom/android/server/wm/ActivityTaskSupervisor;Lcom/android/server/wm/ActivityTaskSupervisor;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/ActivitySnapshotController;Lcom/android/server/wm/ActivitySnapshotController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor;]Lcom/android/server/wm/DisplayRotationCompatPolicy;Lcom/android/server/wm/DisplayRotationCompatPolicy;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/ActivityRecordInputSink;Lcom/android/server/wm/ActivityRecordInputSink;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/TransitionTracer;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/SnapshotController;Lcom/android/server/wm/SnapshotController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController; +HPLcom/android/server/wm/Transition;->fromBinder(Landroid/os/IBinder;)Lcom/android/server/wm/Transition; +HPLcom/android/server/wm/Transition;->getAnimatableParent(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/WindowContainer;+]Lcom/android/server/wm/WindowContainer;megamorphic_types +HPLcom/android/server/wm/Transition;->getDisplayId(Lcom/android/server/wm/WindowContainer;)I+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/Transition;->getLayoutParamsForAnimationsStyle(ILjava/util/ArrayList;)Landroid/view/WindowManager$LayoutParams; +HPLcom/android/server/wm/Transition;->getLeashSurface(Lcom/android/server/wm/WindowContainer;Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl; +HPLcom/android/server/wm/Transition;->handleLegacyRecentsStartBehavior(Lcom/android/server/wm/DisplayContent;Landroid/window/TransitionInfo;)V +HPLcom/android/server/wm/Transition;->isCollecting()Z +HPLcom/android/server/wm/Transition;->isInTransientHide(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/Transition;->isInTransition(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/wm/Transition;->isTransientVisible(Lcom/android/server/wm/Task;)Z -HPLcom/android/server/wm/Transition;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/TaskSnapshotController;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/window/TransitionInfo$Root;Landroid/window/TransitionInfo$Root;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;]Landroid/window/TransitionInfo;Landroid/window/TransitionInfo;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/TransitionTracer;]Landroid/window/ITransitionPlayer;Landroid/window/ITransitionPlayer$Stub$Proxy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/window/TransitionInfo$AnimationOptions;Landroid/window/TransitionInfo$AnimationOptions;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/Transition;->isTransientLaunch(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/Transition;->isTransientVisible(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;Lcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/Transition;->lambda$addOnTopTasks$1(Lcom/android/server/wm/Task;)Z +HPLcom/android/server/wm/Transition;->legacyRestoreNavigationBarFromApp()V +HPLcom/android/server/wm/Transition;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/TaskSnapshotController;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/window/TransitionInfo$Root;Landroid/window/TransitionInfo$Root;]Lcom/android/server/wm/AsyncRotationController;Lcom/android/server/wm/AsyncRotationController;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/BackNavigationController;Lcom/android/server/wm/BackNavigationController;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Ljava/util/function/Supplier;Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;]Landroid/window/TransitionInfo;Landroid/window/TransitionInfo;]Lcom/android/server/wm/TransitionTracer;Lcom/android/server/wm/TransitionTracer;]Landroid/window/ITransitionPlayer;Landroid/window/ITransitionPlayer$Stub$Proxy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/window/TransitionInfo$AnimationOptions;Landroid/window/TransitionInfo$AnimationOptions;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/SnapshotController;Lcom/android/server/wm/SnapshotController;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/wm/Transition;->populateParentChanges(Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)V +HPLcom/android/server/wm/Transition;->recordDisplay(Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/Transition;->reportStartReasonsToLogger()V +HPLcom/android/server/wm/Transition;->setReady(Lcom/android/server/wm/WindowContainer;Z)V +HPLcom/android/server/wm/Transition;->shouldWallpaperBeVisible()Z +HPLcom/android/server/wm/Transition;->start()V +HPLcom/android/server/wm/Transition;->startCollecting(J)V +HPLcom/android/server/wm/Transition;->tryPromote(Lcom/android/server/wm/Transition$Targets;Landroid/util/ArrayMap;)V +HPLcom/android/server/wm/Transition;->updateDisplayLayers(Lcom/android/server/wm/DisplayContent;Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/Transition;->updateTransientFlags(Lcom/android/server/wm/Transition$ChangeInfo;)V HSPLcom/android/server/wm/TransitionController$Lock;-><init>(Lcom/android/server/wm/TransitionController;)V HPLcom/android/server/wm/TransitionController$Logger;->buildOnFinishLog()Ljava/lang/String; +HPLcom/android/server/wm/TransitionController$Logger;->buildOnSendLog()Ljava/lang/String; +HPLcom/android/server/wm/TransitionController$Logger;->logOnFinish()V +HPLcom/android/server/wm/TransitionController$Logger;->logOnSend()V +HPLcom/android/server/wm/TransitionController$Logger;->toMsString(J)Ljava/lang/String; HSPLcom/android/server/wm/TransitionController$RemotePlayer;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V +HPLcom/android/server/wm/TransitionController$RemotePlayer;->clear()V +HPLcom/android/server/wm/TransitionController$RemotePlayer;->update(Lcom/android/server/wm/WindowProcessController;ZZ)V HSPLcom/android/server/wm/TransitionController$TransitionMetricsReporter;-><init>()V HSPLcom/android/server/wm/TransitionController;-><clinit>()V HSPLcom/android/server/wm/TransitionController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V +HPLcom/android/server/wm/TransitionController;->assignTrack(Lcom/android/server/wm/Transition;Landroid/window/TransitionInfo;)V HSPLcom/android/server/wm/TransitionController;->canAssignLayers(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; -HSPLcom/android/server/wm/TransitionController;->collectForDisplayAreaChange(Lcom/android/server/wm/DisplayArea;)V +HPLcom/android/server/wm/TransitionController;->collect(Lcom/android/server/wm/WindowContainer;)V +HPLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionFinished(Lcom/android/server/wm/ActivityRecord;)V+]Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;Lcom/android/server/policy/PhoneWindowManager$5;,Lcom/android/server/wm/DisplayPolicy$2;,Lcom/android/server/wm/WindowManagerService$4;,Lcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionPending()V +HPLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionStarting(Landroid/window/TransitionInfo;J)V +HPLcom/android/server/wm/TransitionController;->finishTransition(Lcom/android/server/wm/Transition;)V HSPLcom/android/server/wm/TransitionController;->inCollectingTransition(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->inPlayingTransition(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/TransitionController;->inTransition()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->inTransition(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; HSPLcom/android/server/wm/TransitionController;->isCollecting()Z +HPLcom/android/server/wm/TransitionController;->isCollecting(Lcom/android/server/wm/WindowContainer;)Z HSPLcom/android/server/wm/TransitionController;->isPlaying()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->isShellTransitionsEnabled()Z -HSPLcom/android/server/wm/TransitionController;->isTransientHide(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/TransitionController;->isTransientCollect(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/TransitionController;->isTransientLaunch(Lcom/android/server/wm/ActivityRecord;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->isTransientVisible(Lcom/android/server/wm/Task;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->isTransitionOnDisplay(Lcom/android/server/wm/DisplayContent;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLcom/android/server/wm/TransitionController;->registerLegacyListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V -HSPLcom/android/server/wm/TransitionController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/TransitionController;->moveToCollecting(Lcom/android/server/wm/Transition;)V +HPLcom/android/server/wm/TransitionController;->moveToPlaying(Lcom/android/server/wm/Transition;)V +HPLcom/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; +HPLcom/android/server/wm/TransitionController;->setReady(Lcom/android/server/wm/WindowContainer;Z)V HPLcom/android/server/wm/TransitionController;->shouldKeepFocus(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/Transition;Lcom/android/server/wm/Transition;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/wm/TransitionController;->tryStartCollectFromQueue()V +HPLcom/android/server/wm/TransitionController;->updateAnimatingState(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/TransitionController;->updateRunningRemoteAnimation(Lcom/android/server/wm/Transition;Z)V HSPLcom/android/server/wm/TransitionController;->useShellTransitionsRotation()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; -HSPLcom/android/server/wm/TransitionTracer;-><init>()V +HPLcom/android/server/wm/TransitionController;->validateStates()V HPLcom/android/server/wm/TransitionTracer;->dumpTransitionTargetsToProto(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/wm/Transition;Ljava/util/ArrayList;)V -HSPLcom/android/server/wm/UnknownAppVisibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/TransitionTracer;->logFinishedTransition(Lcom/android/server/wm/Transition;)V +HPLcom/android/server/wm/TransitionTracer;->logSentTransition(Lcom/android/server/wm/Transition;Ljava/util/ArrayList;)V +HPLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Predicate;Lcom/android/server/wm/VisibleActivityProcessTracker$$ExternalSyntheticLambda0; +HPLcom/android/server/wm/VisibleActivityProcessTracker;->onActivityResumedWhileVisible(Lcom/android/server/wm/WindowProcessController;)V +HPLcom/android/server/wm/VisibleActivityProcessTracker;->onAnyActivityVisible(Lcom/android/server/wm/WindowProcessController;)V HSPLcom/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 -HSPLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WallpaperController;)V -HSPLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WallpaperController;)V -HSPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>()V -HSPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult-IA;)V -HSPLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda2;->apply(Ljava/lang/Object;)Z +HPLcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->getTopWallpaper(Z)Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->reset()V HPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows()V HPLcom/android/server/wm/WallpaperController;->computeLastWallpaperZoomOut()V HPLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V +HPLcom/android/server/wm/WallpaperController;->getDisplayWidthOffset(ILandroid/graphics/Rect;Z)I+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Landroid/graphics/Rect;Landroid/graphics/Rect; HPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/WallpaperController;->isBackNavigationTarget(Lcom/android/server/wm/WindowState;)Z +HPLcom/android/server/wm/WallpaperController;->isRecentsTransitionTarget(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/WallpaperController;->lambda$new$0(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult; HPLcom/android/server/wm/WallpaperController;->lambda$new$1(Lcom/android/server/wm/WindowState;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager;]Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/WallpaperController;->resetLargestDisplay(Landroid/view/Display;)V -HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/Object;Lcom/android/server/wm/WindowManagerGlobalLock;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy; -HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/wm/WallpaperController;->lambda$new$2(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/WallpaperController;->setWallpaperZoomOut(Lcom/android/server/wm/WindowState;F)V +HPLcom/android/server/wm/WallpaperController;->setWindowWallpaperPosition(Lcom/android/server/wm/WindowState;FFFF)V +HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/Object;Lcom/android/server/wm/WindowManagerGlobalLock;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(ZZ)V -HSPLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V +HPLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V +HPLcom/android/server/wm/WallpaperController;->zoomOutToScale(F)F +HPLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/WallpaperWindowToken;->commitVisibility(Z)V+]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken; HPLcom/android/server/wm/WallpaperWindowToken;->isVisible()Z+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken; HPLcom/android/server/wm/WallpaperWindowToken;->setVisibility(Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition; +HPLcom/android/server/wm/WallpaperWindowToken;->setVisible(Z)V HPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(Z)V+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V +HPLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Landroid/graphics/Rect;ZIZF)V HPLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation;]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Landroid/view/animation/Animation;Landroid/view/animation/AnimationSet;,Landroid/view/animation/TranslateAnimation;,Landroid/view/animation/AlphaAnimation; -HSPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowAnimator;)V -HSPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda0;->run()V -HSPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowAnimator;)V HSPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1;->doFrame(J)V -HSPLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HPLcom/android/server/wm/WindowAnimator;->addAfterPrepareSurfacesRunnable(Ljava/lang/Runnable;)V HSPLcom/android/server/wm/WindowAnimator;->animate(J)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer;]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Lcom/android/server/wm/TaskOrganizerController;Lcom/android/server/wm/TaskOrganizerController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; HSPLcom/android/server/wm/WindowAnimator;->cancelAnimation()V HSPLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Runnable;Lcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda2; -HSPLcom/android/server/wm/WindowAnimator;->lambda$new$0()V HSPLcom/android/server/wm/WindowAnimator;->lambda$new$1(J)V+]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator; -HSPLcom/android/server/wm/WindowAnimator;->ready()V HSPLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HPLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda6;-><init>()V +HPLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda6;->test(Ljava/lang/Object;)Z +HSPLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda7;->test(Ljava/lang/Object;)Z HSPLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda8;-><init>()V -HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;)V -HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper-IA;)V HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Lcom/android/server/wm/WindowState;)Z+]Ljava/util/function/Consumer;megamorphic_types HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z+]Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper; HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->release()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->setConsumer(Ljava/util/function/Consumer;)V -HSPLcom/android/server/wm/WindowContainer$RemoteToken;-><init>(Lcom/android/server/wm/WindowContainer;)V +HPLcom/android/server/wm/WindowContainer$RemoteToken;->toString()Ljava/lang/String; HSPLcom/android/server/wm/WindowContainer$RemoteToken;->toWindowContainerToken()Landroid/window/WindowContainerToken; HSPLcom/android/server/wm/WindowContainer;->-$$Nest$fgetmConsumerWrapperPool(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool; HSPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V +HSPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V +HPLcom/android/server/wm/WindowContainer;->allSyncFinished()Z +HSPLcom/android/server/wm/WindowContainer;->asActivityRecord()Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowContainer;->asDisplayArea()Lcom/android/server/wm/DisplayArea; HSPLcom/android/server/wm/WindowContainer;->asTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/WindowContainer;->asTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea; @@ -14099,65 +12224,73 @@ HPLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/Sur HSPLcom/android/server/wm/WindowContainer;->canStartChangeTransition()Z HPLcom/android/server/wm/WindowContainer;->cancelAnimation()V HSPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->computeScreenLayout(III)I +HPLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I+]Ljava/util/LinkedList;Ljava/util/LinkedList;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->createMergedSparseArray(Landroid/util/SparseArray;Landroid/util/SparseArray;)Landroid/util/SparseArray;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/wm/WindowContainer;->createSurfaceControl(Z)V +HPLcom/android/server/wm/WindowContainer;->doAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V HSPLcom/android/server/wm/WindowContainer;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V+]Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer; +HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer;,Lcom/android/server/wm/TaskFragment; HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/RootWindowContainer; HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Predicate;Z)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->forAllDisplayAreas(Ljava/util/function/Consumer;)V HSPLcom/android/server/wm/WindowContainer;->forAllLeafTaskFragments(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HPLcom/android/server/wm/WindowContainer;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/WindowContainer;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/WindowContainer;->forAllLeafTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Consumer;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer; +HSPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Consumer;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/RootWindowContainer; HSPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/Predicate;Z)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/WindowContainer;->forAllTaskFragments(Ljava/util/function/Consumer;Z)V HSPLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;)V HSPLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Predicate;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper; -HSPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/RootWindowContainer; +HSPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer;,Lcom/android/server/wm/TaskFragment; 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;+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HPLcom/android/server/wm/WindowContainer;->getActivityBelow(Lcom/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;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea; HSPLcom/android/server/wm/WindowContainer;->getAnimatingContainer(II)Lcom/android/server/wm/WindowContainer;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getChildCount()I+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/WindowContainer;->getControllableInsetProvider()Lcom/android/server/wm/InsetsSourceProvider; HSPLcom/android/server/wm/WindowContainer;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getDisplayContent()Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/WindowContainer;->getInsetsSourceProviders()Landroid/util/SparseArray; HSPLcom/android/server/wm/WindowContainer;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;)Ljava/lang/Object;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer; +HPLcom/android/server/wm/WindowContainer;->getItemFromTaskDisplayAreas(Ljava/util/function/Function;Z)Ljava/lang/Object; HSPLcom/android/server/wm/WindowContainer;->getLastOrientationSource()Lcom/android/server/wm/WindowContainer;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getOrientation()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowContainer;->getOrientation(I)I+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getOverrideOrientation()I HSPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer; +HPLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/DisplayArea$Tokens;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getRelativeDisplayRotation()I HSPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Point;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Rect;Landroid/graphics/Point;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types -HPLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation(ZI)I+]Lcom/android/server/wm/RootDisplayArea;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/WindowContainer;->getRootDisplayArea()Lcom/android/server/wm/RootDisplayArea;+]Lcom/android/server/wm/WindowContainer;megamorphic_types -HSPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/TaskDisplayArea; HSPLcom/android/server/wm/WindowContainer;->getRootTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl; +HPLcom/android/server/wm/WindowContainer;->getSurfaceHeight()I +HPLcom/android/server/wm/WindowContainer;->getSurfaceWidth()I HSPLcom/android/server/wm/WindowContainer;->getSyncGroup()Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/RootWindowContainer; HSPLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HSPLcom/android/server/wm/WindowContainer;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/WindowContainer;->getTaskFragment(Ljava/util/function/Predicate;)Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer; HSPLcom/android/server/wm/WindowContainer;->getTopMostActivity()Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/WindowContainer;->getTopMostTask()Lcom/android/server/wm/Task; HSPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/WindowContainer;->hasActivity()Z HPLcom/android/server/wm/WindowContainer;->hasChild(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HPLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z HSPLcom/android/server/wm/WindowContainer;->hasInsetsSourceProvider()Z @@ -14171,193 +12304,163 @@ HPLcom/android/server/wm/WindowContainer;->isDescendantOf(Lcom/android/server/wm HSPLcom/android/server/wm/WindowContainer;->isExitAnimationRunningSelfOrChild()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->isFocusable()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types HPLcom/android/server/wm/WindowContainer;->isOnTop()Z -HSPLcom/android/server/wm/WindowContainer;->isOrganized()Z HSPLcom/android/server/wm/WindowContainer;->isSelfAnimating(II)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator; -HSPLcom/android/server/wm/WindowContainer;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z +HSPLcom/android/server/wm/WindowContainer;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z+]Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->isVisible()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->isVisibleRequested()Z HSPLcom/android/server/wm/WindowContainer;->isWaitingForTransitionStart()Z +HPLcom/android/server/wm/WindowContainer;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder; HSPLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;+]Landroid/view/SurfaceControl$Builder;Landroid/view/SurfaceControl$Builder;]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->needsZBoost()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->obtainConsumerWrapper(Ljava/util/function/Consumer;)Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;+]Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; +HPLcom/android/server/wm/WindowContainer;->okToAnimate()Z +HPLcom/android/server/wm/WindowContainer;->okToAnimate(ZZ)Z +HPLcom/android/server/wm/WindowContainer;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V HPLcom/android/server/wm/WindowContainer;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowContainer;->onChildAdded(Lcom/android/server/wm/WindowContainer;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types -HSPLcom/android/server/wm/WindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V HSPLcom/android/server/wm/WindowContainer;->onChildRemoved(Lcom/android/server/wm/WindowContainer;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types +HPLcom/android/server/wm/WindowContainer;->onChildVisibilityRequested(Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/SurfaceFreezer;Lcom/android/server/wm/SurfaceFreezer; HSPLcom/android/server/wm/WindowContainer;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V HSPLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/WindowContainerListener;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;,Lcom/android/server/wm/DisplayContent$2;,Lcom/android/server/wm/WindowContainer$2;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V -HSPLcom/android/server/wm/WindowContainer;->onParentResize()V -HSPLcom/android/server/wm/WindowContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/WindowContainer;->onResize()V HSPLcom/android/server/wm/WindowContainer;->onSyncReparent(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer;)V +HSPLcom/android/server/wm/WindowContainer;->onSyncTransactionCommitted(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/WindowContainer;->onUnfrozen()V+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V HSPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HSPLcom/android/server/wm/WindowContainer;->prepareSync()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types +HPLcom/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; HSPLcom/android/server/wm/WindowContainer;->providesOrientation()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types -HSPLcom/android/server/wm/WindowContainer;->reduceOnAllTaskDisplayAreas(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/lang/Object; +HSPLcom/android/server/wm/WindowContainer;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/DisplayArea$Tokens;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowContainer;->registerWindowContainerListener(Lcom/android/server/wm/WindowContainerListener;Z)V +HSPLcom/android/server/wm/WindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V HPLcom/android/server/wm/WindowContainer;->removeImmediately()V +HPLcom/android/server/wm/WindowContainer;->resetSurfacePositionForAnimationLeash(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContainer;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V -HSPLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V -HSPLcom/android/server/wm/WindowContainer;->setOrientation(I)V HSPLcom/android/server/wm/WindowContainer;->setOrientation(ILcom/android/server/wm/WindowContainer;)V -HSPLcom/android/server/wm/WindowContainer;->setOverrideOrientation(I)V HSPLcom/android/server/wm/WindowContainer;->setParent(Lcom/android/server/wm/WindowContainer;)V +HPLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V HSPLcom/android/server/wm/WindowContainer;->setSurfaceControl(Landroid/view/SurfaceControl;)V +HSPLcom/android/server/wm/WindowContainer;->setSyncGroup(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)V HSPLcom/android/server/wm/WindowContainer;->setVisibleRequested(Z)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/wm/WindowContainerListener;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;,Lcom/android/server/wm/DisplayContent$2;,Lcom/android/server/wm/WindowContainer$2; -HSPLcom/android/server/wm/WindowContainer;->showSurfaceOnCreation()Z HPLcom/android/server/wm/WindowContainer;->showWallpaper()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/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 HSPLcom/android/server/wm/WindowContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/WindowContainer;->updateOverlayInsetsState(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types HSPLcom/android/server/wm/WindowContainer;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowContainer;->updateSurfacePositionNonOrganized()V+]Lcom/android/server/wm/WindowContainer;megamorphic_types -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;-><init>(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;)V -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;-><init>(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient-IA;)V -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient;->linkToDeath()V -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->-$$Nest$mregister(Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;Z)V -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V -HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->onMergedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V +HSPLcom/android/server/wm/WindowContainer;->useBLASTSync()Z +HSPLcom/android/server/wm/WindowContainer;->waitForSyncTransactionCommit(Landroid/util/ArraySet;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;->register(Z)V -HSPLcom/android/server/wm/WindowContextListenerController;-><init>()V HSPLcom/android/server/wm/WindowFrames;-><init>()V +HPLcom/android/server/wm/WindowFrames;->clearReportResizeHints()V HPLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect; HPLcom/android/server/wm/WindowFrames;->hasContentChanged()Z HSPLcom/android/server/wm/WindowFrames;->hasInsetsChanged()Z +HSPLcom/android/server/wm/WindowFrames;->onResizeHandled()V +HPLcom/android/server/wm/WindowFrames;->parentFrameWasClippedByDisplayCutout()Z HSPLcom/android/server/wm/WindowFrames;->setContentChanged(Z)V HSPLcom/android/server/wm/WindowFrames;->setParentFrameWasClippedByDisplayCutout(Z)V HPLcom/android/server/wm/WindowFrames;->setReportResizeHints()Z HSPLcom/android/server/wm/WindowList;-><init>()V HSPLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object; -HSPLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V -HSPLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V -HSPLcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerGlobalLock;Ljava/lang/Runnable;Landroid/provider/DeviceConfigInterface;)V -HSPLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/provider/DeviceConfigInterface;)V -HSPLcom/android/server/wm/WindowManagerConstants;->start(Ljava/util/concurrent/Executor;)V -HSPLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExcludedByPreQStickyImmersive()V -HSPLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLimitDp()V -HSPLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLogDebounceMillis()V HSPLcom/android/server/wm/WindowManagerGlobalLock;-><init>()V -HSPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;-><init>()V -HSPLcom/android/server/wm/WindowManagerInternal;-><init>()V -HSPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda19;-><init>()V -HSPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda19;->accept(Ljava/lang/Object;)V -HSPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21;-><init>()V -HSPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda22;->apply(Ljava/lang/Object;)Ljava/lang/Object; -HSPLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$5;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$5;->run()V -HSPLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$8;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HPLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HSPLcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl-IA;)V -HSPLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;)V -HSPLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$LocalService-IA;)V -HSPLcom/android/server/wm/WindowManagerService$LocalService;->getAccessibilityController()Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal; -HSPLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V +HPLcom/android/server/wm/WindowManagerService$4;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V +HPLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/wm/WindowManagerService$LocalService;->getTopFocusedDisplayId()I +HPLcom/android/server/wm/WindowManagerService$LocalService;->hasInputMethodClientFocus(Landroid/os/IBinder;III)I +HPLcom/android/server/wm/WindowManagerService$LocalService;->hideIme(Landroid/os/IBinder;ILandroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/wm/WindowManagerService$LocalService;->isHardKeyboardAvailable()Z +HPLcom/android/server/wm/WindowManagerService$LocalService;->isKeyguardShowingAndNotOccluded()Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/WindowManagerService$LocalService;->isUidFocused(I)Z +HPLcom/android/server/wm/WindowManagerService$LocalService;->onToggleImeRequested(ZLandroid/os/IBinder;Landroid/os/IBinder;I)Lcom/android/server/wm/WindowManagerInternal$ImeTargetInfo; HSPLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V -HSPLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>()V -HSPLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>(Lcom/android/server/wm/WindowManagerService$MousePositionTracker-IA;)V +HPLcom/android/server/wm/WindowManagerService$LocalService;->showImePostLayout(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodTargetWindow(Landroid/os/IBinder;Landroid/os/IBinder;)V +HPLcom/android/server/wm/WindowManagerService$LocalService;->waitForAllWindowsDrawn(Landroid/os/Message;JI)V HPLcom/android/server/wm/WindowManagerService$MousePositionTracker;->onPointerEvent(Landroid/view/MotionEvent;)V+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; -HSPLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/WindowManagerService;-><clinit>()V -HSPLcom/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 HSPLcom/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 -HSPLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()Z HSPLcom/android/server/wm/WindowManagerService;->boostPriorityForLockedSection()V+]Lcom/android/server/wm/WindowManagerThreadPriorityBooster;Lcom/android/server/wm/WindowManagerThreadPriorityBooster; HSPLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V+]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/WindowManagerService;->closeSurfaceTransaction(Ljava/lang/String;)V+]Lcom/android/server/wm/WindowTracing;Lcom/android/server/wm/WindowTracing; -HSPLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration; -HSPLcom/android/server/wm/WindowManagerService;->computeNewConfigurationLocked(I)Landroid/content/res/Configuration; -HSPLcom/android/server/wm/WindowManagerService;->createWatermark()V -HSPLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z +HPLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I HPLcom/android/server/wm/WindowManagerService;->dipToPixel(ILandroid/util/DisplayMetrics;)I -HSPLcom/android/server/wm/WindowManagerService;->displayReady()V +HPLcom/android/server/wm/WindowManagerService;->dispatchImeInputTargetVisibilityChanged(Landroid/os/IBinder;ZZ)V HSPLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V HPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;I)V -HSPLcom/android/server/wm/WindowManagerService;->getAnimatorDurationScaleSetting()F -HSPLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V HSPLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;+]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; -HSPLcom/android/server/wm/WindowManagerService;->getDisplayAreaPolicyProvider()Lcom/android/server/wm/DisplayAreaPolicy$Provider; -HSPLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I -HSPLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback; -HSPLcom/android/server/wm/WindowManagerService;->getInsetsSourceControls(Lcom/android/server/wm/WindowState;Landroid/view/InsetsSourceControl$Array;)V -HSPLcom/android/server/wm/WindowManagerService;->getLidState()I +HSPLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/WindowManagerService;->getInputTargetFromToken(Landroid/os/IBinder;)Lcom/android/server/wm/InputTarget;+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/wm/EmbeddedWindowController;Lcom/android/server/wm/EmbeddedWindowController; +HPLcom/android/server/wm/WindowManagerService;->getInputTargetFromWindowTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/InputTarget; +HSPLcom/android/server/wm/WindowManagerService;->getInsetsSourceControls(Lcom/android/server/wm/WindowState;Landroid/view/InsetsSourceControl$Array;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController; -HSPLcom/android/server/wm/WindowManagerService;->getTransitionAnimationScaleSetting()F -HSPLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleSetting()F -HSPLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object; -HSPLcom/android/server/wm/WindowManagerService;->hasHdrSupport()Z -HSPLcom/android/server/wm/WindowManagerService;->hasWideColorGamutSupport()Z -HSPLcom/android/server/wm/WindowManagerService;->initPolicy()V -HPLcom/android/server/wm/WindowManagerService;->isIgnoreOrientationRequestDisabled()Z -HPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; +HPLcom/android/server/wm/WindowManagerService;->getTaskSnapshot(IIZZ)Landroid/window/TaskSnapshot; +HSPLcom/android/server/wm/WindowManagerService;->getWindowInsets(ILandroid/os/IBinder;Landroid/view/InsetsState;)Z+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowManagerService;->hasNavigationBar(I)Z +HSPLcom/android/server/wm/WindowManagerService;->isInTouchMode(I)Z +HSPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; HPLcom/android/server/wm/WindowManagerService;->isKeyguardSecure(I)Z +HPLcom/android/server/wm/WindowManagerService;->isKeyguardShowingAndNotOccluded()Z HSPLcom/android/server/wm/WindowManagerService;->isUserVisible(I)Z+]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService; -HSPLcom/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 -HSPLcom/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; -HSPLcom/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; HSPLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder; +HPLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V HPLcom/android/server/wm/WindowManagerService;->mapOrientationRequest(I)I -HPLcom/android/server/wm/WindowManagerService;->monitor()V -HSPLcom/android/server/wm/WindowManagerService;->onInitReady()V +HPLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V +HPLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V +HPLcom/android/server/wm/WindowManagerService;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl;Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; HSPLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLcom/android/server/wm/WindowManagerService;->openSurfaceTransaction()V HPLcom/android/server/wm/WindowManagerService;->postWindowRemoveCleanupLocked(Lcom/android/server/wm/WindowState;)V HSPLcom/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+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowSurfaceController;Lcom/android/server/wm/WindowSurfaceController;]Landroid/os/Bundle;Landroid/os/Bundle;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;Lcom/android/server/wm/DisplayWindowPolicyControllerHelper;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Landroid/view/InsetsFrameProvider$InsetsSizeOverride;Landroid/view/InsetsFrameProvider$InsetsSizeOverride;]Lcom/android/server/wm/UnknownAppVisibilityController;Lcom/android/server/wm/UnknownAppVisibilityController;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Landroid/view/InsetsFrameProvider;Landroid/view/InsetsFrameProvider;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/WindowManagerService;->reportSystemGestureExclusionChanged(Lcom/android/server/wm/Session;Landroid/view/IWindow;Ljava/util/List;)V +HPLcom/android/server/wm/WindowManagerService;->removeWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V +HPLcom/android/server/wm/WindowManagerService;->reportFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V +HPLcom/android/server/wm/WindowManagerService;->reportSystemGestureExclusionChanged(Lcom/android/server/wm/Session;Landroid/view/IWindow;Ljava/util/List;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/WindowManagerService;->requestTraversal()V HSPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V+]Lcom/android/server/wm/WindowManagerThreadPriorityBooster;Lcom/android/server/wm/WindowManagerThreadPriorityBooster; HSPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V+]Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator; -HSPLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V -HSPLcom/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 -HSPLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V HSPLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V +HPLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V HSPLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z HPLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V -HSPLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V HSPLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;+]Ljava/util/HashMap;Ljava/util/HashMap; HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Landroid/view/IWindow;Landroid/view/ViewRootImpl$W;,Landroid/view/IWindow$Stub$Proxy; HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->reset()V +HSPLcom/android/server/wm/WindowOrganizerController$CallerInfo;-><init>()V HSPLcom/android/server/wm/WindowOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V +HSPLcom/android/server/wm/WindowOrganizerController;->applyHierarchyOp(Landroid/window/WindowContainerTransaction$HierarchyOp;IILcom/android/server/wm/Transition;ZLcom/android/server/wm/WindowOrganizerController$CallerInfo;Landroid/os/IBinder;Landroid/window/ITaskFragmentOrganizer;Lcom/android/server/wm/Transition;)I HSPLcom/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 +HPLcom/android/server/wm/WindowOrganizerController;->finishTransition(Landroid/os/IBinder;Landroid/window/WindowContainerTransaction;)V HSPLcom/android/server/wm/WindowOrganizerController;->getTransitionController()Lcom/android/server/wm/TransitionController; -HSPLcom/android/server/wm/WindowOrientationListener$OrientationJudge;-><init>(Lcom/android/server/wm/WindowOrientationListener;)V -HSPLcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge$2;-><init>(Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge;)V -HSPLcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge;-><init>(Lcom/android/server/wm/WindowOrientationListener;)V -HSPLcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge;->readRotationResolverParameters()V -HSPLcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge;->setupRotationResolverParameters()V -HSPLcom/android/server/wm/WindowOrientationListener;-><clinit>()V -HSPLcom/android/server/wm/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V -HSPLcom/android/server/wm/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;II)V +HPLcom/android/server/wm/WindowOrganizerController;->startTransition(ILandroid/os/IBinder;Landroid/window/WindowContainerTransaction;)Landroid/os/IBinder; +HPLcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge;->onTouchEndLocked(J)V HSPLcom/android/server/wm/WindowOrientationListener;->canDetectOrientation()Z HSPLcom/android/server/wm/WindowOrientationListener;->disable()V -HSPLcom/android/server/wm/WindowOrientationListener;->getHandler()Landroid/os/Handler; -HSPLcom/android/server/wm/WindowOrientationListener;->setCurrentRotation(I)V +HPLcom/android/server/wm/WindowOrientationListener;->getProposedRotation()I +HPLcom/android/server/wm/WindowOrientationListener;->onTouchEnd()V+]Lcom/android/server/wm/WindowOrientationListener$OrientationJudge;Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge; +HPLcom/android/server/wm/WindowOrientationListener;->onTouchStart()V+]Lcom/android/server/wm/WindowOrientationListener$OrientationJudge;Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge; +HPLcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V HSPLcom/android/server/wm/WindowProcessController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;IILjava/lang/Object;Lcom/android/server/wm/WindowProcessListener;)V HSPLcom/android/server/wm/WindowProcessController;->addBoundClientUid(ILjava/lang/String;J)V+]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController; HSPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V +HPLcom/android/server/wm/WindowProcessController;->addToPendingTop()V HPLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed(IZ)I+]Lcom/android/server/wm/BackgroundLaunchProcessController;Lcom/android/server/wm/BackgroundLaunchProcessController;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; HSPLcom/android/server/wm/WindowProcessController;->clearActivities()V HSPLcom/android/server/wm/WindowProcessController;->clearRecentTasks()V HPLcom/android/server/wm/WindowProcessController;->computeOomAdjFromActivities(Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;)I+]Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback; -HPLcom/android/server/wm/WindowProcessController;->computeProcessActivityState()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowProcessController;->computeProcessActivityState()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/VisibleActivityProcessTracker;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/wm/WindowProcessController;->dispatchConfiguration(Landroid/content/res/Configuration;)V -HSPLcom/android/server/wm/WindowProcessController;->getChildCount()I +HPLcom/android/server/wm/WindowProcessController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLcom/android/server/wm/WindowProcessController;->getParent()Lcom/android/server/wm/ConfigurationContainer; +HPLcom/android/server/wm/WindowProcessController;->getThread()Landroid/app/IApplicationThread; HSPLcom/android/server/wm/WindowProcessController;->getTopActivityDeviceId()I HSPLcom/android/server/wm/WindowProcessController;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowProcessController;->handleAppDied()Z @@ -14365,25 +12468,31 @@ HSPLcom/android/server/wm/WindowProcessController;->hasActivities()Z HSPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z HPLcom/android/server/wm/WindowProcessController;->hasActivityInVisibleTask()Z HSPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z +HPLcom/android/server/wm/WindowProcessController;->hasResumedActivity()Z +HPLcom/android/server/wm/WindowProcessController;->hasThread()Z HSPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z HSPLcom/android/server/wm/WindowProcessController;->isHeavyWeightProcess()Z HSPLcom/android/server/wm/WindowProcessController;->isHomeProcess()Z HSPLcom/android/server/wm/WindowProcessController;->isPreviousProcess()Z -HSPLcom/android/server/wm/WindowProcessController;->isRemoved()Z HSPLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/WindowProcessController;->onServiceStarted(Landroid/content/pm/ServiceInfo;)V+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; +HPLcom/android/server/wm/WindowProcessController;->onStartActivity(ILandroid/content/pm/ActivityInfo;)V +HPLcom/android/server/wm/WindowProcessController;->prepareOomAdjustment()V HSPLcom/android/server/wm/WindowProcessController;->registeredForDisplayAreaConfigChanges()Z +HPLcom/android/server/wm/WindowProcessController;->removeActivity(Lcom/android/server/wm/ActivityRecord;Z)V HSPLcom/android/server/wm/WindowProcessController;->removeBackgroundStartPrivileges(Landroid/os/Binder;)V HSPLcom/android/server/wm/WindowProcessController;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/WindowProcessController;->scheduleConfigurationChange(Landroid/app/IApplicationThread;Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/WindowProcessController;->setAnimating(Z)V HSPLcom/android/server/wm/WindowProcessController;->setCurrentAdj(I)V HSPLcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V HSPLcom/android/server/wm/WindowProcessController;->setCurrentSchedulingGroup(I)V HSPLcom/android/server/wm/WindowProcessController;->setFgInteractionTime(J)V HSPLcom/android/server/wm/WindowProcessController;->setInteractionEventTime(J)V HSPLcom/android/server/wm/WindowProcessController;->setLastReportedConfiguration(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V +HPLcom/android/server/wm/WindowProcessController;->setPendingUiCleanAndForceProcessStateUpTo(I)V HSPLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V -HSPLcom/android/server/wm/WindowProcessController;->setPersistent(Z)V HSPLcom/android/server/wm/WindowProcessController;->setPid(I)V HSPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; HSPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V @@ -14391,18 +12500,21 @@ HSPLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V HPLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V HSPLcom/android/server/wm/WindowProcessController;->unregisterConfigurationListeners()V HSPLcom/android/server/wm/WindowProcessController;->updateActivityConfigurationListener()V -HSPLcom/android/server/wm/WindowProcessController;->updateAssetConfiguration(I)V +HPLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZZ)V HPLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z HSPLcom/android/server/wm/WindowProcessControllerMap;-><init>()V -HSPLcom/android/server/wm/WindowProcessControllerMap;->getPidMap()Landroid/util/SparseArray; HSPLcom/android/server/wm/WindowProcessControllerMap;->getProcess(I)Lcom/android/server/wm/WindowProcessController;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/wm/WindowProcessController;)V HSPLcom/android/server/wm/WindowProcessControllerMap;->remove(I)V HSPLcom/android/server/wm/WindowProcessControllerMap;->removeProcessFromUidMap(Lcom/android/server/wm/WindowProcessController;)V HSPLcom/android/server/wm/WindowState$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V HPLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;->reset()V +HSPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V +HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;ILandroid/view/WindowManager$LayoutParams;IIIZ)V HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;ILandroid/view/WindowManager$LayoutParams;IIIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V -HPLcom/android/server/wm/WindowState;->applyDims()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; +HPLcom/android/server/wm/WindowState;->adjustRegionInFreefromWindowMode(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V +HPLcom/android/server/wm/WindowState;->applyDims()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; HSPLcom/android/server/wm/WindowState;->applyImeWindowsIfNeeded(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/WindowState;->applyInOrderWithImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/internal/util/ToBooleanFunction;megamorphic_types HPLcom/android/server/wm/WindowState;->areAppWindowBoundsLetterboxed()Z @@ -14414,18 +12526,26 @@ HSPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z+]Lcom/android/ HSPLcom/android/server/wm/WindowState;->canBeHiddenByKeyguard()Z+]Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/policy/PhoneWindowManager; HPLcom/android/server/wm/WindowState;->canBeImeTarget()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->canReceiveKeys()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; -HSPLcom/android/server/wm/WindowState;->canReceiveKeys(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/WindowState;->canReceiveKeys(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->canReceiveTouchInput()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowState;->canShowWhenLocked()Z +HSPLcom/android/server/wm/WindowState;->cancelAndRedraw()Z HPLcom/android/server/wm/WindowState;->computeDragResizing()Z+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->cropRegionToRootTaskBoundsIfNeeded(Landroid/graphics/Region;)V+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HPLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z +HPLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V HPLcom/android/server/wm/WindowState;->disposeInputChannel()V +HPLcom/android/server/wm/WindowState;->executeDrawHandlers(Landroid/view/SurfaceControl$Transaction;I)Z HSPLcom/android/server/wm/WindowState;->fillClientWindowFramesAndConfiguration(Landroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;ZZ)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->fillsDisplay()Z HPLcom/android/server/wm/WindowState;->finishDrawing(Landroid/view/SurfaceControl$Transaction;I)Z +HPLcom/android/server/wm/WindowState;->forAllWindowTopToBottom(Lcom/android/internal/util/ToBooleanFunction;)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/WindowState;->freezeInsetsState()V +HPLcom/android/server/wm/WindowState;->getActivityRecord()Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowState;->getAnimationLeashParent()Landroid/view/SurfaceControl; HSPLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams; -HSPLcom/android/server/wm/WindowState;->getBaseType()I +HSPLcom/android/server/wm/WindowState;->getBaseType()I+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->getCompatInsetsState()Landroid/view/InsetsState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->getCompatScaleForClient()F+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; @@ -14433,6 +12553,7 @@ HSPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/C HPLcom/android/server/wm/WindowState;->getDisableFlags()I HSPLcom/android/server/wm/WindowState;->getDisplayContent()Lcom/android/server/wm/DisplayContent;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->getDisplayFrames(Lcom/android/server/wm/DisplayFrames;)Lcom/android/server/wm/DisplayFrames;+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/WindowState;->getDisplayId()I+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HPLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo; HPLcom/android/server/wm/WindowState;->getEffectiveTouchableRegion(Landroid/graphics/Region;)V HSPLcom/android/server/wm/WindowState;->getFrame()Landroid/graphics/Rect; @@ -14440,6 +12561,7 @@ HPLcom/android/server/wm/WindowState;->getImeInputTarget()Lcom/android/server/wm HPLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutMillis()J HSPLcom/android/server/wm/WindowState;->getInsetsState()Landroid/view/InsetsState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->getInsetsState(Z)Landroid/view/InsetsState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowState;->getInsetsStateWithVisibilityOverride()Landroid/view/InsetsState; HPLcom/android/server/wm/WindowState;->getKeepClearAreas(Ljava/util/Collection;Ljava/util/Collection;Landroid/graphics/Matrix;[F)V HSPLcom/android/server/wm/WindowState;->getKeyInterceptionInfo()Lcom/android/internal/policy/KeyInterceptionInfo;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLcom/android/server/wm/WindowState;->getMergedInsetsState()Landroid/view/InsetsState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/InsetsStateController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; @@ -14452,24 +12574,28 @@ HPLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/c HPLcom/android/server/wm/WindowState;->getRectsInScreenSpace(Ljava/util/List;Landroid/graphics/Matrix;[F)Ljava/util/List;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLcom/android/server/wm/WindowState;->getRequestedVisibleTypes()I HPLcom/android/server/wm/WindowState;->getRootTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession; HPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/graphics/Region;Landroid/view/WindowManager$LayoutParams;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/DisplayContent; -HPLcom/android/server/wm/WindowState;->getSystemGestureExclusion()Ljava/util/List; +HPLcom/android/server/wm/WindowState;->getSyncMethod()I HPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowState;->getTaskFragment()Lcom/android/server/wm/TaskFragment;+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; -HPLcom/android/server/wm/WindowState;->getTouchOcclusionMode()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WindowState;->getTouchOcclusionMode()I HPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/WallpaperWindowToken; HSPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;+]Ljava/util/function/Predicate;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; -HPLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames; HSPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLcom/android/server/wm/WindowState;->getWindowType()I HSPLcom/android/server/wm/WindowState;->handleCompleteDeferredRemoval()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V+]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/IWindow;Landroid/view/IWindow$Stub$Proxy;,Landroid/view/ViewRootImpl$W; +HSPLcom/android/server/wm/WindowState;->hasCompatScale()Z HPLcom/android/server/wm/WindowState;->hasContentToDisplay()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/AppTransition;Lcom/android/server/wm/AppTransition; HSPLcom/android/server/wm/WindowState;->hasMoved()Z+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; HSPLcom/android/server/wm/WindowState;->hasWallpaper()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->hasWallpaperForLetterboxBackground()Z -HSPLcom/android/server/wm/WindowState;->hide(ZZ)Z +HSPLcom/android/server/wm/WindowState;->hide(ZZ)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WindowToken;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; +HPLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z +HPLcom/android/server/wm/WindowState;->inRelaunchingActivity()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->isAnimationRunningSelfOrParent()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->isChildWindow()Z HPLcom/android/server/wm/WindowState;->isDimming()Z @@ -14482,6 +12608,7 @@ HSPLcom/android/server/wm/WindowState;->isFullyTransparent()Z HPLcom/android/server/wm/WindowState;->isFullyTransparentBarAllowed(Landroid/graphics/Rect;)Z HSPLcom/android/server/wm/WindowState;->isGoneForLayout()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->isImeLayeringTarget()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowState;->isImeOverlayLayeringTarget()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isImplicitlyExcludingAllSystemGestures()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isInteresting()Z HSPLcom/android/server/wm/WindowState;->isLaidOut()Z @@ -14489,147 +12616,160 @@ HPLcom/android/server/wm/WindowState;->isLastConfigReportedToClient()Z HSPLcom/android/server/wm/WindowState;->isLegacyPolicyVisibility()Z HPLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutout()Z+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isObscuringDisplay()Z -HSPLcom/android/server/wm/WindowState;->isOnScreen()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/WindowState;->isOnScreen()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WallpaperWindowToken;Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isParentWindowGoneForLayout()Z HPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isReadyForDisplay()Z +HPLcom/android/server/wm/WindowState;->isReadyToDispatchInsetsState()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->isRequestedVisible(I)Z +HPLcom/android/server/wm/WindowState;->isRtl()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; +HPLcom/android/server/wm/WindowState;->isSecureLocked()Z HSPLcom/android/server/wm/WindowState;->isSelfAnimating(II)Z -HPLcom/android/server/wm/WindowState;->isStartingWindowAssociatedToTask()Z +HSPLcom/android/server/wm/WindowState;->isStartingWindowAssociatedToTask()Z +HPLcom/android/server/wm/WindowState;->isSyncFinished(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)Z HSPLcom/android/server/wm/WindowState;->isVisible()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->isVisibleByPolicy()Z HSPLcom/android/server/wm/WindowState;->isVisibleByPolicyOrInsets()Z+]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WindowState;->isVisibleNow()Z HSPLcom/android/server/wm/WindowState;->isVisibleRequested()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->isVisibleRequestedOrAdding()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->lambda$new$1(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowState;->lambda$updateAboveInsetsState$3(Landroid/view/InsetsState;Landroid/util/ArraySet;Landroid/util/SparseArray;Lcom/android/server/wm/WindowState;)V+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HPLcom/android/server/wm/WindowState;->logExclusionRestrictions(I)V HPLcom/android/server/wm/WindowState;->matchesDisplayAreaBounds()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskDisplayArea;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent$ImeContainer;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/WindowState;->needsZBoost()Z+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->notifyInsetsChanged()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H; HPLcom/android/server/wm/WindowState;->notifyInsetsControlChanged()V +HPLcom/android/server/wm/WindowState;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V +HPLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)V HSPLcom/android/server/wm/WindowState;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/WindowState;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/WindowState;->onExitAnimationDone()V +HSPLcom/android/server/wm/WindowState;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V +HSPLcom/android/server/wm/WindowState;->onResizeHandled()V HPLcom/android/server/wm/WindowState;->onSurfaceShownChanged(Z)V HSPLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V -HPLcom/android/server/wm/WindowState;->performShowLocked()Z +HPLcom/android/server/wm/WindowState;->performShowLocked()Z+]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowState;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->prepareSync()Z +HPLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V HSPLcom/android/server/wm/WindowState;->registeredForDisplayAreaConfigChanges()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; HPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(I)I HPLcom/android/server/wm/WindowState;->removeIfPossible()V HPLcom/android/server/wm/WindowState;->removeImmediately()V HPLcom/android/server/wm/WindowState;->reportResized()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/ActivityRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/wm/AccessibilityController;Lcom/android/server/wm/AccessibilityController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Landroid/view/IWindow;Landroid/view/ViewRootImpl$W;,Landroid/view/IWindow$Stub$Proxy;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HPLcom/android/server/wm/WindowState;->requestUpdateWallpaperIfNeeded()V HSPLcom/android/server/wm/WindowState;->resetContentChanged()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames; +HPLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V HSPLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V +HSPLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V HSPLcom/android/server/wm/WindowState;->setFrames(Landroid/window/ClientWindowFrames;II)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowState;->setHasSurface(Z)V +HSPLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V HPLcom/android/server/wm/WindowState;->setLastExclusionHeights(III)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HSPLcom/android/server/wm/WindowState;->setOnBackInvokedCallbackInfo(Landroid/window/OnBackInvokedCallbackInfo;)V HPLcom/android/server/wm/WindowState;->setReportResizeHints()Z +HSPLcom/android/server/wm/WindowState;->setRequestedSize(II)V +HPLcom/android/server/wm/WindowState;->setSystemGestureExclusion(Ljava/util/List;)Z +HSPLcom/android/server/wm/WindowState;->setViewVisibility(I)V HPLcom/android/server/wm/WindowState;->setWallpaperOffset(IIF)Z HSPLcom/android/server/wm/WindowState;->setWindowScale(II)V HSPLcom/android/server/wm/WindowState;->shouldCheckTokenVisibleRequested()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken; HPLcom/android/server/wm/WindowState;->shouldControlIme()Z HPLcom/android/server/wm/WindowState;->shouldDrawBlurBehind()Z -HPLcom/android/server/wm/WindowState;->shouldSendRedrawForSync()Z +HPLcom/android/server/wm/WindowState;->shouldSendRedrawForSync()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->show(ZZ)Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; HPLcom/android/server/wm/WindowState;->showForAllUsers()Z -HPLcom/android/server/wm/WindowState;->showToCurrentUser()Z +HPLcom/android/server/wm/WindowState;->showToCurrentUser()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; HPLcom/android/server/wm/WindowState;->showWallpaper()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->skipLayout()Z +HPLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/animation/Animation;)V HPLcom/android/server/wm/WindowState;->subtractTouchExcludeRegionIfNeeded(Landroid/graphics/Region;)V+]Landroid/graphics/Region;Landroid/graphics/Region; HSPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String; -HPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V +HSPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Point;Landroid/graphics/Point;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V HSPLcom/android/server/wm/WindowState;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->updateFrameRateSelectionPriorityIfNeeded()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/RefreshRatePolicy;Lcom/android/server/wm/RefreshRatePolicy;]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowState;->updateGlobalScale()V HSPLcom/android/server/wm/WindowState;->updateLastFrames()V HPLcom/android/server/wm/WindowState;->updateRegionForModalActivityWindow(Landroid/graphics/Region;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task;]Landroid/graphics/Region;Landroid/graphics/Region;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowState;->updateScaleIfNeeded()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/WallpaperWindowToken;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/WindowState;->updateSourceFrame(Landroid/graphics/Rect;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/util/function/Consumer;Lcom/android/server/wm/WindowState$$ExternalSyntheticLambda1;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowFrames;Lcom/android/server/wm/WindowFrames;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/SurfaceAnimator;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/util/function/Consumer;Lcom/android/server/wm/WindowState$$ExternalSyntheticLambda1;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->useBLASTSync()Z+]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->wouldBeVisibleRequestedIfPolicyIgnored()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WallpaperWindowToken;,Lcom/android/server/wm/WindowToken;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V HPLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z +HPLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V HPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V HPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked()Lcom/android/server/wm/WindowSurfaceController; +HPLcom/android/server/wm/WindowStateAnimator;->destroySurface(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked(Landroid/view/SurfaceControl$Transaction;)Z HSPLcom/android/server/wm/WindowStateAnimator;->getShown()Z HSPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z+]Lcom/android/server/wm/WindowSurfaceController;Lcom/android/server/wm/WindowSurfaceController; +HPLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V +HPLcom/android/server/wm/WindowStateAnimator;->onAnimationFinished()V HPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]Lcom/android/server/wm/WindowStateAnimator;Lcom/android/server/wm/WindowStateAnimator;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/WindowSurfaceController;Lcom/android/server/wm/WindowSurfaceController;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V +HPLcom/android/server/wm/WindowStateAnimator;->setColorSpaceAgnosticLocked(Z)V HPLcom/android/server/wm/WindowSurfaceController;-><init>(Ljava/lang/String;IILcom/android/server/wm/WindowStateAnimator;I)V +HPLcom/android/server/wm/WindowSurfaceController;->destroy(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/WindowSurfaceController;->getShown()Z +HPLcom/android/server/wm/WindowSurfaceController;->getSurfaceControl(Landroid/view/SurfaceControl;)V HPLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z -HPLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(Landroid/view/SurfaceControl$Transaction;F)Z +HPLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/WindowSurfaceController;->setColorSpaceAgnostic(Landroid/view/SurfaceControl$Transaction;Z)V HPLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V -HSPLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;)V -HSPLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer$Traverser-IA;)V +HPLcom/android/server/wm/WindowSurfaceController;->showRobustly(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowSurfacePlacer$Traverser;->run()V+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer; HSPLcom/android/server/wm/WindowSurfacePlacer;->-$$Nest$fgetmService(Lcom/android/server/wm/WindowSurfacePlacer;)Lcom/android/server/wm/WindowManagerService; -HSPLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V HSPLcom/android/server/wm/WindowSurfacePlacer;->continueLayout(Z)V HSPLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V HSPLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement()V+]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer; HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer; -HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; +HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer;]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H; HSPLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/WindowToken;Z)V +HPLcom/android/server/wm/WindowToken$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V +HSPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZZLandroid/os/Bundle;)V +HSPLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V HSPLcom/android/server/wm/WindowToken;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V -HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayBounds()Landroid/graphics/Rect;+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayBounds()Landroid/graphics/Rect;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayFrames()Lcom/android/server/wm/DisplayFrames; HSPLcom/android/server/wm/WindowToken;->getFixedRotationTransformInsetsState()Landroid/view/InsetsState; +HSPLcom/android/server/wm/WindowToken;->getWindowLayerFromType()I +HPLcom/android/server/wm/WindowToken;->hasFixedRotationTransform()Z HPLcom/android/server/wm/WindowToken;->isClientVisible()Z +HPLcom/android/server/wm/WindowToken;->isFinishingFixedRotationTransform()Z HSPLcom/android/server/wm/WindowToken;->isFixedRotationTransforming()Z -HSPLcom/android/server/wm/WindowTracing$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/WindowTracing;)V -HSPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;I)V -HSPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V -HSPLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;)Lcom/android/server/wm/WindowTracing; +HPLcom/android/server/wm/WindowToken;->lambda$setInsetsFrozen$1(ZLcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/WindowToken;->prepareSync()Z +HPLcom/android/server/wm/WindowToken;->setClientVisible(Z)V +HPLcom/android/server/wm/WindowToken;->setInsetsFrozen(Z)V +HSPLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String; +HSPLcom/android/server/wm/WindowToken;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V HSPLcom/android/server/wm/WindowTracing;->isEnabled()Z -HSPLcom/android/server/wm/WindowTracing;->logAndPrintln(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)V -HSPLcom/android/server/wm/WindowTracing;->setBufferCapacity(ILjava/io/PrintWriter;)V -HSPLcom/android/server/wm/WindowTracing;->setLogLevel(ILjava/io/PrintWriter;)V -HSPLcom/android/server/wm/utils/InsetUtils;->rotateInsets(Landroid/graphics/Rect;I)V +HPLcom/android/server/wm/utils/InsetUtils;->addInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)V HPLcom/android/server/wm/utils/RegionUtils;->forEachRectReverse(Landroid/graphics/Region;Ljava/util/function/Consumer;)V+]Landroid/graphics/RegionIterator;Landroid/graphics/RegionIterator;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/wm/utils/RegionUtils;->rectListToRegion(Ljava/util/List;Landroid/graphics/Region;)V -HSPLcom/android/server/wm/utils/RotationCache;-><init>(Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;)V HSPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object; -HSPLcom/android/server/wm/utils/WmDisplayCutout;-><clinit>()V -HSPLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V -HSPLcom/android/server/wm/utils/WmDisplayCutout;->computeSafeInsets(Landroid/view/DisplayCutout;II)Lcom/android/server/wm/utils/WmDisplayCutout; -HSPLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout; Landroid/app/ActivityThread$ApplicationThread; Landroid/app/ApplicationPackageManager; -Landroid/app/usage/UsageStatsManagerInternal$UsageEventListener; -Landroid/app/usage/UsageStatsManagerInternal; Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy; -Landroid/content/pm/PackageManagerInternal$PackageListObserver; Landroid/content/pm/PackageManagerInternal; Landroid/content/pm/TestUtilityService; -Landroid/hardware/authsecret/IAuthSecret; -Landroid/hardware/health/BatteryHealthData$1; -Landroid/hardware/health/BatteryHealthData; -Landroid/hardware/health/DiskStats$1; -Landroid/hardware/health/DiskStats; -Landroid/hardware/health/HealthInfo$1; -Landroid/hardware/health/HealthInfo; -Landroid/hardware/health/IHealth$Stub$Proxy; -Landroid/hardware/health/IHealth$Stub; -Landroid/hardware/health/IHealth; -Landroid/hardware/health/IHealthInfoCallback$Stub; -Landroid/hardware/health/IHealthInfoCallback; -Landroid/hardware/health/StorageInfo$1; -Landroid/hardware/health/StorageInfo; -Landroid/hardware/health/V2_0/IHealthInfoCallback; -Landroid/hardware/health/V2_1/IHealthInfoCallback$Stub; -Landroid/hardware/health/V2_1/IHealthInfoCallback; Landroid/hardware/light/HwLight$1; Landroid/hardware/light/HwLight; Landroid/hardware/light/ILights; @@ -14642,75 +12782,25 @@ Landroid/hardware/power/stats/IPowerStats$Stub; Landroid/hardware/power/stats/IPowerStats; Landroid/hardware/power/stats/PowerEntity; Landroid/hardware/power/stats/StateResidencyResult; -Landroid/hidl/base/V1_0/IBase; Landroid/net/ConnectivityModuleConnector$Dependencies; Landroid/net/ConnectivityModuleConnector$DependenciesImpl; Landroid/net/ConnectivityModuleConnector; Landroid/os/BatteryStatsInternal; Landroid/os/BinderProxy; +Landroid/os/IInstalld$Stub$Proxy; Landroid/power/PowerStatsInternal; Landroid/sysprop/SurfaceFlingerProperties; -Lcom/android/internal/util/jobs/StatLogger; Lcom/android/modules/utils/build/SdkLevel; Lcom/android/modules/utils/build/UnboundedSdkLevel; -Lcom/android/server/AccessibilityManagerInternal$1; -Lcom/android/server/AccessibilityManagerInternal; -Lcom/android/server/AlarmManagerInternal; Lcom/android/server/AnimationThread; Lcom/android/server/AppFuseMountException; -Lcom/android/server/AppSchedulingModuleThread; -Lcom/android/server/AppStateTrackerImpl$Listener; -Lcom/android/server/BatteryService$$ExternalSyntheticLambda0; -Lcom/android/server/BatteryService$$ExternalSyntheticLambda1; -Lcom/android/server/BatteryService$$ExternalSyntheticLambda3; -Lcom/android/server/BatteryService$1; -Lcom/android/server/BatteryService$2; -Lcom/android/server/BatteryService$BatteryPropertiesRegistrar; -Lcom/android/server/BatteryService$BinderService; -Lcom/android/server/BatteryService$Led; Lcom/android/server/BatteryService$LocalService; -Lcom/android/server/BatteryService$Shell; -Lcom/android/server/BatteryService; Lcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl$$ExternalSyntheticLambda0; -Lcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl$1; -Lcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl; -Lcom/android/server/BinaryTransparencyService$BiometricLogger; -Lcom/android/server/BinaryTransparencyService$PackageUpdatedReceiver; -Lcom/android/server/BinaryTransparencyService; -Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider; -Lcom/android/server/BinderCallsStatsService$BinderCallsStatsShellCommand; -Lcom/android/server/BinderCallsStatsService$Internal; -Lcom/android/server/BinderCallsStatsService$LifeCycle; -Lcom/android/server/BinderCallsStatsService; Lcom/android/server/BundleUtils; -Lcom/android/server/CachedDeviceStateService$1; -Lcom/android/server/CachedDeviceStateService; Lcom/android/server/ConsumerIrService; -Lcom/android/server/DeviceIdleController$LocalService; Lcom/android/server/DisplayThread; -Lcom/android/server/DropBoxManagerInternal$EntrySource; -Lcom/android/server/DropBoxManagerInternal; -Lcom/android/server/DropBoxManagerService$1$1; -Lcom/android/server/DropBoxManagerService$1; -Lcom/android/server/DropBoxManagerService$2; -Lcom/android/server/DropBoxManagerService$3; -Lcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler; -Lcom/android/server/DropBoxManagerService$DropBoxManagerInternalImpl; -Lcom/android/server/DropBoxManagerService$EntryFile; -Lcom/android/server/DropBoxManagerService$FileList; -Lcom/android/server/DropBoxManagerService$ShellCmd; -Lcom/android/server/DropBoxManagerService$SimpleEntrySource; -Lcom/android/server/DropBoxManagerService; -Lcom/android/server/DynamicSystemService; -Lcom/android/server/EntropyMixer$1; -Lcom/android/server/EntropyMixer$2; -Lcom/android/server/EntropyMixer; Lcom/android/server/EventLogTags; Lcom/android/server/ExplicitHealthCheckController; -Lcom/android/server/ExtconStateObserver; -Lcom/android/server/ExtconUEventObserver$ExtconInfo$$ExternalSyntheticLambda0; -Lcom/android/server/ExtconUEventObserver$ExtconInfo; -Lcom/android/server/ExtconUEventObserver; Lcom/android/server/FgThread; Lcom/android/server/HardwarePropertiesManagerService; Lcom/android/server/IntentResolver$1; @@ -14720,10 +12810,6 @@ Lcom/android/server/LocalManagerRegistry$ManagerNotFoundException; Lcom/android/server/LocalManagerRegistry; Lcom/android/server/LockGuard$LockInfo; Lcom/android/server/LockGuard; -Lcom/android/server/LooperStatsService$Lifecycle; -Lcom/android/server/LooperStatsService$LooperShellCommand; -Lcom/android/server/LooperStatsService$SettingsObserver; -Lcom/android/server/LooperStatsService; Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda1; Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda2; Lcom/android/server/PackageWatchdog$$ExternalSyntheticLambda3; @@ -14735,85 +12821,28 @@ Lcom/android/server/PackageWatchdog$ObserverInternal; Lcom/android/server/PackageWatchdog$PackageHealthObserver; Lcom/android/server/PackageWatchdog$SystemClock; Lcom/android/server/PackageWatchdog; -Lcom/android/server/PersistentDataBlockService; -Lcom/android/server/PinnerService$$ExternalSyntheticLambda1; -Lcom/android/server/PinnerService$1; -Lcom/android/server/PinnerService$2; -Lcom/android/server/PinnerService$3; -Lcom/android/server/PinnerService$BinderService; -Lcom/android/server/PinnerService$PinRange; -Lcom/android/server/PinnerService$PinRangeSource; -Lcom/android/server/PinnerService$PinRangeSourceStatic; -Lcom/android/server/PinnerService$PinRangeSourceStream; -Lcom/android/server/PinnerService$PinnedFile; -Lcom/android/server/PinnerService$PinnerHandler; -Lcom/android/server/PinnerService; -Lcom/android/server/RescueParty$RescuePartyMonitorCallback; Lcom/android/server/RescueParty$RescuePartyObserver; Lcom/android/server/RescueParty; Lcom/android/server/SerialService; Lcom/android/server/ServiceThread; -Lcom/android/server/StorageManagerService$1; -Lcom/android/server/StorageManagerService$2; -Lcom/android/server/StorageManagerService$3; -Lcom/android/server/StorageManagerService$4; -Lcom/android/server/StorageManagerService$5; -Lcom/android/server/StorageManagerService$6; -Lcom/android/server/StorageManagerService$AppFuseMountScope; -Lcom/android/server/StorageManagerService$Callbacks; -Lcom/android/server/StorageManagerService$Lifecycle; -Lcom/android/server/StorageManagerService$ObbActionHandler; Lcom/android/server/StorageManagerService$StorageManagerInternalImpl; -Lcom/android/server/StorageManagerService$StorageManagerServiceHandler; -Lcom/android/server/StorageManagerService$WatchedLockedUsers; -Lcom/android/server/StorageManagerService; Lcom/android/server/SystemClockTime; Lcom/android/server/SystemConfig$PermissionEntry; Lcom/android/server/SystemConfig$SharedLibraryEntry; Lcom/android/server/SystemConfig; -Lcom/android/server/SystemConfigService$1; -Lcom/android/server/SystemConfigService; Lcom/android/server/SystemServer$$ExternalSyntheticLambda0; Lcom/android/server/SystemServer$$ExternalSyntheticLambda1; Lcom/android/server/SystemServer$$ExternalSyntheticLambda2; -Lcom/android/server/SystemServer$$ExternalSyntheticLambda3; -Lcom/android/server/SystemServer$$ExternalSyntheticLambda4; -Lcom/android/server/SystemServer$$ExternalSyntheticLambda5; Lcom/android/server/SystemServer$SystemServerDumper; Lcom/android/server/SystemServer; -Lcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda0; Lcom/android/server/SystemServerInitThreadPool$$ExternalSyntheticLambda1; Lcom/android/server/SystemServerInitThreadPool; -Lcom/android/server/SystemService$TargetUser; Lcom/android/server/SystemService; Lcom/android/server/SystemServiceManager; Lcom/android/server/SystemTimeZone; -Lcom/android/server/TelephonyRegistry$1; -Lcom/android/server/TelephonyRegistry$2; -Lcom/android/server/TelephonyRegistry$ConfigurationProvider; -Lcom/android/server/TelephonyRegistry; Lcom/android/server/ThreadPriorityBooster$1; Lcom/android/server/ThreadPriorityBooster$PriorityState; Lcom/android/server/ThreadPriorityBooster; -Lcom/android/server/UiModeManagerInternal; -Lcom/android/server/UiModeManagerService$$ExternalSyntheticLambda0; -Lcom/android/server/UiModeManagerService$$ExternalSyntheticLambda2; -Lcom/android/server/UiModeManagerService$10; -Lcom/android/server/UiModeManagerService$11; -Lcom/android/server/UiModeManagerService$12; -Lcom/android/server/UiModeManagerService$1; -Lcom/android/server/UiModeManagerService$2; -Lcom/android/server/UiModeManagerService$3; -Lcom/android/server/UiModeManagerService$4; -Lcom/android/server/UiModeManagerService$5; -Lcom/android/server/UiModeManagerService$6; -Lcom/android/server/UiModeManagerService$7; -Lcom/android/server/UiModeManagerService$8; -Lcom/android/server/UiModeManagerService$9; -Lcom/android/server/UiModeManagerService$Injector; -Lcom/android/server/UiModeManagerService$LocalService; -Lcom/android/server/UiModeManagerService$Shell; -Lcom/android/server/UiModeManagerService; Lcom/android/server/UiThread; Lcom/android/server/Watchdog$$ExternalSyntheticLambda0; Lcom/android/server/Watchdog$1; @@ -14824,111 +12853,8 @@ Lcom/android/server/Watchdog$Monitor; Lcom/android/server/Watchdog$RebootRequestReceiver; Lcom/android/server/Watchdog$SettingsObserver; Lcom/android/server/Watchdog; -Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport; -Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection; -Lcom/android/server/accessibility/AccessibilityInputFilter; -Lcom/android/server/accessibility/AccessibilityManagerService$1; -Lcom/android/server/accessibility/AccessibilityManagerService$2; -Lcom/android/server/accessibility/AccessibilityManagerService$3; -Lcom/android/server/accessibility/AccessibilityManagerService$4; -Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver; -Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener; -Lcom/android/server/accessibility/AccessibilityManagerService$Lifecycle; -Lcom/android/server/accessibility/AccessibilityManagerService$LocalServiceImpl; -Lcom/android/server/accessibility/AccessibilityManagerService$MainHandler; -Lcom/android/server/accessibility/AccessibilityManagerService; -Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager; -Lcom/android/server/accessibility/AccessibilitySecurityPolicy; -Lcom/android/server/accessibility/AccessibilityServiceConnection; -Lcom/android/server/accessibility/AccessibilityShellCommand; -Lcom/android/server/accessibility/AccessibilityTraceManager; -Lcom/android/server/accessibility/AccessibilityUserState$ServiceInfoChangeListener; -Lcom/android/server/accessibility/AccessibilityWindowManager$AccessibilityEventSender; -Lcom/android/server/accessibility/AccessibilityWindowManager; -Lcom/android/server/accessibility/CaptioningManagerImpl; -Lcom/android/server/accessibility/EventStreamTransformation; -Lcom/android/server/accessibility/FingerprintGestureDispatcher$FingerprintGestureClient; -Lcom/android/server/accessibility/FlashNotificationsController$1; -Lcom/android/server/accessibility/FlashNotificationsController$2; -Lcom/android/server/accessibility/FlashNotificationsController$3; -Lcom/android/server/accessibility/FlashNotificationsController$4; -Lcom/android/server/accessibility/FlashNotificationsController$FlashBroadcastReceiver; -Lcom/android/server/accessibility/FlashNotificationsController$FlashContentObserver; -Lcom/android/server/accessibility/FlashNotificationsController; -Lcom/android/server/accessibility/KeyEventDispatcher$KeyEventFilter; -Lcom/android/server/accessibility/PolicyWarningUIController$NotificationController; -Lcom/android/server/accessibility/PolicyWarningUIController; -Lcom/android/server/accessibility/ProxyAccessibilityServiceConnection; -Lcom/android/server/accessibility/ProxyManager; -Lcom/android/server/accessibility/SystemActionPerformer$SystemActionsChangedListener; -Lcom/android/server/accessibility/UiAutomationManager$1; -Lcom/android/server/accessibility/UiAutomationManager$UiAutomationService; -Lcom/android/server/accessibility/UiAutomationManager; -Lcom/android/server/accessibility/magnification/AlwaysOnMagnificationFeatureFlag; -Lcom/android/server/accessibility/magnification/FullScreenMagnificationController$MagnificationInfoChangedCallback; -Lcom/android/server/accessibility/magnification/MagnificationController$$ExternalSyntheticLambda0; Lcom/android/server/accessibility/magnification/MagnificationController; -Lcom/android/server/accessibility/magnification/MagnificationGestureHandler$Callback; -Lcom/android/server/accessibility/magnification/MagnificationProcessor; -Lcom/android/server/accessibility/magnification/MagnificationScaleProvider; -Lcom/android/server/accessibility/magnification/WindowMagnificationManager$Callback; -Lcom/android/server/accounts/AccountAuthenticatorCache$MySerializer; -Lcom/android/server/accounts/AccountAuthenticatorCache; -Lcom/android/server/accounts/AccountManagerService$10; -Lcom/android/server/accounts/AccountManagerService$11; -Lcom/android/server/accounts/AccountManagerService$12; -Lcom/android/server/accounts/AccountManagerService$13; -Lcom/android/server/accounts/AccountManagerService$14; -Lcom/android/server/accounts/AccountManagerService$15; -Lcom/android/server/accounts/AccountManagerService$16; -Lcom/android/server/accounts/AccountManagerService$1; -Lcom/android/server/accounts/AccountManagerService$2; -Lcom/android/server/accounts/AccountManagerService$3; -Lcom/android/server/accounts/AccountManagerService$4; -Lcom/android/server/accounts/AccountManagerService$5; -Lcom/android/server/accounts/AccountManagerService$6; -Lcom/android/server/accounts/AccountManagerService$7; -Lcom/android/server/accounts/AccountManagerService$8; -Lcom/android/server/accounts/AccountManagerService$9; -Lcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl; -Lcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession; -Lcom/android/server/accounts/AccountManagerService$Injector; -Lcom/android/server/accounts/AccountManagerService$Lifecycle; -Lcom/android/server/accounts/AccountManagerService$MessageHandler; -Lcom/android/server/accounts/AccountManagerService$RemoveAccountSession; -Lcom/android/server/accounts/AccountManagerService$Session; -Lcom/android/server/accounts/AccountManagerService$StartAccountSession; -Lcom/android/server/accounts/AccountManagerService$TestFeaturesSession; -Lcom/android/server/accounts/AccountManagerService; -Lcom/android/server/accounts/AccountManagerServiceShellCommand; -Lcom/android/server/accounts/IAccountAuthenticatorCache; Lcom/android/server/adb/AdbDebuggingManager$PairingThread; -Lcom/android/server/alarm/Alarm; -Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3; -Lcom/android/server/alarm/AlarmManagerService$1; -Lcom/android/server/alarm/AlarmManagerService$2; -Lcom/android/server/alarm/AlarmManagerService$3; -Lcom/android/server/alarm/AlarmManagerService$5; -Lcom/android/server/alarm/AlarmManagerService$8; -Lcom/android/server/alarm/AlarmManagerService$AlarmHandler; -Lcom/android/server/alarm/AlarmManagerService$AlarmThread; -Lcom/android/server/alarm/AlarmManagerService$AppStandbyTracker; -Lcom/android/server/alarm/AlarmManagerService$AppWakeupHistory; -Lcom/android/server/alarm/AlarmManagerService$ChargingReceiver; -Lcom/android/server/alarm/AlarmManagerService$ClockReceiver; -Lcom/android/server/alarm/AlarmManagerService$Constants; -Lcom/android/server/alarm/AlarmManagerService$DeliveryTracker; -Lcom/android/server/alarm/AlarmManagerService$Injector; -Lcom/android/server/alarm/AlarmManagerService$InteractiveStateReceiver; -Lcom/android/server/alarm/AlarmManagerService$LocalService; -Lcom/android/server/alarm/AlarmManagerService$ShellCmd; -Lcom/android/server/alarm/AlarmManagerService$TemporaryQuotaReserve; -Lcom/android/server/alarm/AlarmManagerService$UninstallReceiver; -Lcom/android/server/alarm/AlarmManagerService; -Lcom/android/server/alarm/AlarmStore; -Lcom/android/server/alarm/LazyAlarmStore$$ExternalSyntheticLambda0; -Lcom/android/server/alarm/LazyAlarmStore; -Lcom/android/server/alarm/MetricsHelper; Lcom/android/server/am/ActiveServices$1; Lcom/android/server/am/ActiveServices$5; Lcom/android/server/am/ActiveServices$MediaProjectionFgsTypeCustomPermission; @@ -14945,22 +12871,16 @@ Lcom/android/server/am/ActivityManagerGlobalLock; Lcom/android/server/am/ActivityManagerLocal; Lcom/android/server/am/ActivityManagerProcLock; Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda22; -Lcom/android/server/am/ActivityManagerService$$ExternalSyntheticLambda4; 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$4; -Lcom/android/server/am/ActivityManagerService$5; Lcom/android/server/am/ActivityManagerService$6; Lcom/android/server/am/ActivityManagerService$8; -Lcom/android/server/am/ActivityManagerService$CacheBinder; -Lcom/android/server/am/ActivityManagerService$DbBinder; Lcom/android/server/am/ActivityManagerService$FgsTempAllowListItem; Lcom/android/server/am/ActivityManagerService$GetBackgroundStartPrivilegesFunctor; -Lcom/android/server/am/ActivityManagerService$GraphicsBinder; Lcom/android/server/am/ActivityManagerService$HiddenApiSettings; Lcom/android/server/am/ActivityManagerService$Injector; Lcom/android/server/am/ActivityManagerService$IntentFirewallInterface; @@ -14968,12 +12888,8 @@ 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$MemBinder$1; -Lcom/android/server/am/ActivityManagerService$MemBinder; -Lcom/android/server/am/ActivityManagerService$PermissionController; Lcom/android/server/am/ActivityManagerService$PidMap; Lcom/android/server/am/ActivityManagerService$ProcessChangeItem; -Lcom/android/server/am/ActivityManagerService$ProcessInfoService; Lcom/android/server/am/ActivityManagerService$UiHandler; Lcom/android/server/am/ActivityManagerService; Lcom/android/server/am/ActivityManagerShellCommand; @@ -15018,8 +12934,6 @@ 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$CpuBinder$1; -Lcom/android/server/am/AppProfiler$CpuBinder; Lcom/android/server/am/AppProfiler$ProcessCpuThread; Lcom/android/server/am/AppProfiler$ProfileData; Lcom/android/server/am/AppProfiler; @@ -15038,7 +12952,6 @@ 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/AppWaitingForDebuggerDialog; Lcom/android/server/am/BaseAppStateDurations; Lcom/android/server/am/BaseAppStateDurationsTracker$SimplePackageDurations; Lcom/android/server/am/BaseAppStateDurationsTracker$UidStateDurations; @@ -15059,10 +12972,6 @@ 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$$ExternalSyntheticLambda41; -Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda46; -Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda5; -Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda96; Lcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda98; Lcom/android/server/am/BatteryStatsService$1; Lcom/android/server/am/BatteryStatsService$2; @@ -15075,7 +12984,6 @@ Lcom/android/server/am/BroadcastConstants; Lcom/android/server/am/BroadcastDeliveryFailedException; Lcom/android/server/am/BroadcastFilter; Lcom/android/server/am/BroadcastHistory; -Lcom/android/server/am/BroadcastLoopers; Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer; Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate; Lcom/android/server/am/BroadcastProcessQueue; @@ -15083,7 +12991,6 @@ Lcom/android/server/am/BroadcastQueue; Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda10; Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda11; 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$$ExternalSyntheticLambda7; @@ -15098,12 +13005,9 @@ 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$RankedProcessRecord; Lcom/android/server/am/CacheOomRanker$RssComparator; Lcom/android/server/am/CacheOomRanker$ScoreComparator; Lcom/android/server/am/CacheOomRanker; -Lcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda0; -Lcom/android/server/am/CachedAppOptimizer$$ExternalSyntheticLambda1; Lcom/android/server/am/CachedAppOptimizer$1; Lcom/android/server/am/CachedAppOptimizer$2; Lcom/android/server/am/CachedAppOptimizer$3; @@ -15121,27 +13025,18 @@ 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$$ExternalSyntheticLambda2; Lcom/android/server/am/ComponentAliasResolver$1; Lcom/android/server/am/ComponentAliasResolver; Lcom/android/server/am/ContentProviderConnection; -Lcom/android/server/am/ContentProviderHelper$DevelopmentSettingsObserver; Lcom/android/server/am/ContentProviderHelper; -Lcom/android/server/am/ContentProviderRecord; -Lcom/android/server/am/CoreSettingsObserver$$ExternalSyntheticLambda0; -Lcom/android/server/am/CoreSettingsObserver$DeviceConfigEntry; -Lcom/android/server/am/CoreSettingsObserver; Lcom/android/server/am/DropboxRateLimiter$Clock; Lcom/android/server/am/DropboxRateLimiter$DefaultClock; Lcom/android/server/am/DropboxRateLimiter; -Lcom/android/server/am/ErrorDialogController; -Lcom/android/server/am/EventLogTags; 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$1; Lcom/android/server/am/LmkdConnection$LmkdConnectionListener; Lcom/android/server/am/LmkdConnection; Lcom/android/server/am/LowMemDetector$LowMemThread; @@ -15150,25 +13045,17 @@ 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$$ExternalSyntheticLambda3; Lcom/android/server/am/OomAdjuster$1; Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback; Lcom/android/server/am/OomAdjuster; -Lcom/android/server/am/PackageList; Lcom/android/server/am/PendingIntentController; -Lcom/android/server/am/PendingIntentRecord$Key; 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/PlatformCompatCache$CacheItem; -Lcom/android/server/am/PlatformCompatCache; Lcom/android/server/am/PreBootBroadcaster; -Lcom/android/server/am/ProcessCachedOptimizerRecord; -Lcom/android/server/am/ProcessErrorStateRecord; -Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda2; Lcom/android/server/am/ProcessList$$ExternalSyntheticLambda4; Lcom/android/server/am/ProcessList$1; Lcom/android/server/am/ProcessList$ImperceptibleKillRunner$H; @@ -15179,15 +13066,8 @@ 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$ProcStateMemTracker; Lcom/android/server/am/ProcessList; -Lcom/android/server/am/ProcessProfileRecord$$ExternalSyntheticLambda0; -Lcom/android/server/am/ProcessProfileRecord; -Lcom/android/server/am/ProcessProviderRecord; -Lcom/android/server/am/ProcessReceiverRecord; Lcom/android/server/am/ProcessRecord; -Lcom/android/server/am/ProcessServiceRecord; -Lcom/android/server/am/ProcessStateRecord; Lcom/android/server/am/ProcessStatsService$1; Lcom/android/server/am/ProcessStatsService$3; Lcom/android/server/am/ProcessStatsService$4; @@ -15195,18 +13075,12 @@ 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/SameProcessApplicationThread; Lcom/android/server/am/ServiceRecord; -Lcom/android/server/am/SettingsToPropertiesMapper$$ExternalSyntheticLambda0; -Lcom/android/server/am/SettingsToPropertiesMapper$1; -Lcom/android/server/am/SettingsToPropertiesMapper; Lcom/android/server/am/TraceErrorLogger; Lcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0; Lcom/android/server/am/UidObserverController$ChangeRecord; -Lcom/android/server/am/UidObserverController$UidObserverRegistration; Lcom/android/server/am/UidObserverController; Lcom/android/server/am/UidProcessMap; -Lcom/android/server/am/UidRecord; Lcom/android/server/am/UserController$1; Lcom/android/server/am/UserController$Injector$1; Lcom/android/server/am/UserController$Injector; @@ -15214,19 +13088,8 @@ Lcom/android/server/am/UserController$UserProgressListener; Lcom/android/server/am/UserController; Lcom/android/server/am/UserState; Lcom/android/server/app/GameManagerService; -Lcom/android/server/apphibernation/AppHibernationManagerInternal; +Lcom/android/server/app/GameServiceProviderInstanceImpl$4; Lcom/android/server/apphibernation/AppHibernationService$$ExternalSyntheticLambda5; -Lcom/android/server/apphibernation/AppHibernationService$1; -Lcom/android/server/apphibernation/AppHibernationService$AppHibernationServiceStub; -Lcom/android/server/apphibernation/AppHibernationService$Injector; -Lcom/android/server/apphibernation/AppHibernationService$InjectorImpl; -Lcom/android/server/apphibernation/AppHibernationService$LocalService; -Lcom/android/server/apphibernation/AppHibernationService; -Lcom/android/server/apphibernation/AppHibernationShellCommand; -Lcom/android/server/apphibernation/GlobalLevelHibernationProto; -Lcom/android/server/apphibernation/HibernationStateDiskStore; -Lcom/android/server/apphibernation/ProtoReadWriter; -Lcom/android/server/apphibernation/UserLevelHibernationProto; Lcom/android/server/appop/AppOpsCheckingServiceImpl$1$1; Lcom/android/server/appop/AppOpsCheckingServiceImpl$1; Lcom/android/server/appop/AppOpsCheckingServiceImpl; @@ -15235,37 +13098,24 @@ Lcom/android/server/appop/AppOpsCheckingServiceTracingDecorator; Lcom/android/server/appop/AppOpsManagerLocal; Lcom/android/server/appop/AppOpsRestrictions; Lcom/android/server/appop/AppOpsRestrictionsImpl; -Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda10; -Lcom/android/server/appop/AppOpsService$$ExternalSyntheticLambda11; Lcom/android/server/appop/AppOpsService$1$1; Lcom/android/server/appop/AppOpsService$1; Lcom/android/server/appop/AppOpsService$2; Lcom/android/server/appop/AppOpsService$5; Lcom/android/server/appop/AppOpsService$8; -Lcom/android/server/appop/AppOpsService$ActiveCallback; Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl; Lcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl; +Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda11; Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda3; Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; Lcom/android/server/appop/AppOpsService$Constants; Lcom/android/server/appop/AppOpsService$ModeCallback; -Lcom/android/server/appop/AppOpsService$NotedCallback; Lcom/android/server/appop/AppOpsService$Op; Lcom/android/server/appop/AppOpsService$Ops; -Lcom/android/server/appop/AppOpsService$PackageVerificationResult; Lcom/android/server/appop/AppOpsService$Shell; -Lcom/android/server/appop/AppOpsService$StartedCallback; Lcom/android/server/appop/AppOpsService$UidState; Lcom/android/server/appop/AppOpsService; -Lcom/android/server/appop/AppOpsUidStateTracker$UidStateChangedCallback; Lcom/android/server/appop/AppOpsUidStateTracker; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$$ExternalSyntheticLambda1; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$1$$ExternalSyntheticLambda0; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$1; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$DelayableExecutor; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda1; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog$$ExternalSyntheticLambda2; -Lcom/android/server/appop/AppOpsUidStateTrackerImpl$EventLog; Lcom/android/server/appop/AppOpsUidStateTrackerImpl; Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool; Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool; @@ -15277,22 +13127,14 @@ 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/biometrics/sensors/fingerprint/aidl/FingerprintProvider$BiometricTaskStackListener; 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/camera/CameraServiceProxy$$ExternalSyntheticLambda0; -Lcom/android/server/camera/CameraServiceProxy$1; -Lcom/android/server/camera/CameraServiceProxy$2; -Lcom/android/server/camera/CameraServiceProxy$DisplayWindowListener; -Lcom/android/server/camera/CameraServiceProxy; Lcom/android/server/companion/virtual/InputController; -Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal$AppsOnVirtualDeviceListener; -Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal$VirtualDisplayListener; -Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal; Lcom/android/server/compat/CompatChange$ChangeListener; Lcom/android/server/compat/CompatChange; -Lcom/android/server/compat/CompatConfig$$ExternalSyntheticLambda0; Lcom/android/server/compat/CompatConfig; Lcom/android/server/compat/OverrideValidatorImpl$SettingsObserver; Lcom/android/server/compat/OverrideValidatorImpl; @@ -15302,20 +13144,7 @@ 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/DefaultNetworkMetrics; -Lcom/android/server/connectivity/IpConnectivityMetrics$$ExternalSyntheticLambda0; -Lcom/android/server/connectivity/IpConnectivityMetrics$Impl; -Lcom/android/server/connectivity/IpConnectivityMetrics; -Lcom/android/server/connectivity/MultipathPolicyTracker$2; Lcom/android/server/connectivity/Vpn; -Lcom/android/server/content/ContentService$$ExternalSyntheticLambda1; -Lcom/android/server/content/ContentService$1; -Lcom/android/server/content/ContentService$Lifecycle; -Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry; -Lcom/android/server/content/ContentService$ObserverNode; -Lcom/android/server/content/ContentService; -Lcom/android/server/content/ContentShellCommand; -Lcom/android/server/content/SyncManager; Lcom/android/server/coverage/CoverageService; Lcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda0; Lcom/android/server/criticalevents/CriticalEventLog$$ExternalSyntheticLambda1; @@ -15324,32 +13153,7 @@ 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/devicestate/DeviceState; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda0; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda1; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda2; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda3; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda4; -Lcom/android/server/devicestate/DeviceStateManagerService$$ExternalSyntheticLambda7; -Lcom/android/server/devicestate/DeviceStateManagerService$BinderService; -Lcom/android/server/devicestate/DeviceStateManagerService$DeviceStateProviderListener; -Lcom/android/server/devicestate/DeviceStateManagerService$LocalService; -Lcom/android/server/devicestate/DeviceStateManagerService$OverrideRequestScreenObserver; -Lcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$$ExternalSyntheticLambda1; -Lcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord$DeathListener; -Lcom/android/server/devicestate/DeviceStateManagerService$ProcessRecord; -Lcom/android/server/devicestate/DeviceStateManagerService$SystemPropertySetter; -Lcom/android/server/devicestate/DeviceStateManagerService; -Lcom/android/server/devicestate/DeviceStateManagerShellCommand; -Lcom/android/server/devicestate/DeviceStateNotificationController; -Lcom/android/server/devicestate/DeviceStatePolicy$DefaultProvider; -Lcom/android/server/devicestate/DeviceStatePolicy$Provider; -Lcom/android/server/devicestate/DeviceStatePolicy; -Lcom/android/server/devicestate/DeviceStateProvider$Listener; -Lcom/android/server/devicestate/DeviceStateProvider; -Lcom/android/server/devicestate/OverrideRequest; -Lcom/android/server/devicestate/OverrideRequestController$StatusChangeListener; -Lcom/android/server/devicestate/OverrideRequestController; +Lcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl; Lcom/android/server/display/DeviceStateToLayoutMap; Lcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda0; Lcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1; @@ -15361,21 +13165,16 @@ Lcom/android/server/display/DisplayDevice; Lcom/android/server/display/DisplayDeviceConfig$1; Lcom/android/server/display/DisplayDeviceConfig$HighBrightnessModeData; Lcom/android/server/display/DisplayDeviceConfig$SensorData; -Lcom/android/server/display/DisplayDeviceConfig$ThermalBrightnessThrottlingData$ThrottlingLevel; -Lcom/android/server/display/DisplayDeviceConfig$ThermalBrightnessThrottlingData; 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$$ExternalSyntheticLambda0; 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$CallbackRecord; -Lcom/android/server/display/DisplayManagerService$DeviceStateListener; Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler; Lcom/android/server/display/DisplayManagerService$Injector; Lcom/android/server/display/DisplayManagerService$LocalService; @@ -15384,7 +13183,6 @@ 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/DisplayPowerControllerInterface; Lcom/android/server/display/HighBrightnessModeMetadataMapper; Lcom/android/server/display/LocalDisplayAdapter$BacklightAdapter; Lcom/android/server/display/LocalDisplayAdapter$DisplayEventListener; @@ -15407,6 +13205,7 @@ 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$MediaProjectionCallback; Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory; @@ -15421,9 +13220,6 @@ Lcom/android/server/display/config/HbmTiming; Lcom/android/server/display/config/HighBrightnessMode; Lcom/android/server/display/config/NitsMap; Lcom/android/server/display/config/Point; -Lcom/android/server/display/config/PredefinedBrightnessLimitNames; -Lcom/android/server/display/config/SdrHdrRatioMap; -Lcom/android/server/display/config/SdrHdrRatioPoint; Lcom/android/server/display/config/ThermalStatus; Lcom/android/server/display/config/ThermalThrottling; Lcom/android/server/display/config/Thresholds; @@ -15439,7 +13235,6 @@ Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$Externa Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda16; Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda17; Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda2; -Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda4; Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda5; Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda6; Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda7; @@ -15533,145 +13328,22 @@ 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$PackageReceiver; Lcom/android/server/gpu/GpuService; -Lcom/android/server/grammaticalinflection/GrammaticalInflectionBackupHelper; -Lcom/android/server/grammaticalinflection/GrammaticalInflectionManagerInternal; -Lcom/android/server/grammaticalinflection/GrammaticalInflectionService$GrammaticalInflectionManagerInternalImpl; -Lcom/android/server/grammaticalinflection/GrammaticalInflectionService; Lcom/android/server/graphics/fonts/FontManagerService$Lifecycle; -Lcom/android/server/health/HealthHalCallbackHidl; -Lcom/android/server/health/HealthInfoCallback; -Lcom/android/server/health/HealthRegCallbackAidl$HalInfoCallback; -Lcom/android/server/health/HealthRegCallbackAidl; -Lcom/android/server/health/HealthServiceWrapper$1; -Lcom/android/server/health/HealthServiceWrapper$2; -Lcom/android/server/health/HealthServiceWrapper$3; -Lcom/android/server/health/HealthServiceWrapper; -Lcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback$$ExternalSyntheticLambda0; -Lcom/android/server/health/HealthServiceWrapperAidl$ServiceCallback; -Lcom/android/server/health/HealthServiceWrapperAidl$ServiceManagerStub; -Lcom/android/server/health/HealthServiceWrapperAidl; -Lcom/android/server/health/HealthServiceWrapperHidl$Callback; -Lcom/android/server/health/HealthServiceWrapperHidl$IHealthSupplier; -Lcom/android/server/health/HealthServiceWrapperHidl$IServiceManagerSupplier; -Lcom/android/server/health/HealthServiceWrapperHidl; -Lcom/android/server/input/BatteryController$$ExternalSyntheticLambda1; -Lcom/android/server/input/BatteryController$1; -Lcom/android/server/input/BatteryController$BluetoothBatteryManager$BluetoothBatteryListener; -Lcom/android/server/input/BatteryController$BluetoothBatteryManager; -Lcom/android/server/input/BatteryController$LocalBluetoothBatteryManager$1; -Lcom/android/server/input/BatteryController$LocalBluetoothBatteryManager; -Lcom/android/server/input/BatteryController$State; -Lcom/android/server/input/BatteryController; -Lcom/android/server/input/FocusEventDebugView; -Lcom/android/server/input/InputManagerInternal$LidSwitchCallback; Lcom/android/server/input/InputManagerInternal; -Lcom/android/server/input/InputManagerService$$ExternalSyntheticLambda2; -Lcom/android/server/input/InputManagerService$2; Lcom/android/server/input/InputManagerService$3; Lcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties; -Lcom/android/server/input/InputManagerService$Injector; -Lcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord; Lcom/android/server/input/InputManagerService$InputFilterHost; Lcom/android/server/input/InputManagerService$InputManagerHandler; -Lcom/android/server/input/InputManagerService$KeyboardBacklightControllerInterface; Lcom/android/server/input/InputManagerService$LocalService; -Lcom/android/server/input/InputManagerService$WindowManagerCallbacks; Lcom/android/server/input/InputManagerService; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda0; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda1; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda2; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda3; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda4; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda5; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda6; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda7; -Lcom/android/server/input/InputSettingsObserver$$ExternalSyntheticLambda8; -Lcom/android/server/input/InputSettingsObserver$1; -Lcom/android/server/input/InputSettingsObserver; Lcom/android/server/input/InputShellCommand; -Lcom/android/server/input/KeyRemapper$$ExternalSyntheticLambda1; -Lcom/android/server/input/KeyRemapper; -Lcom/android/server/input/KeyboardBacklightController; -Lcom/android/server/input/KeyboardLayoutManager$1; -Lcom/android/server/input/KeyboardLayoutManager; Lcom/android/server/input/NativeInputManagerService$NativeImpl; Lcom/android/server/input/NativeInputManagerService; -Lcom/android/server/input/PersistentDataStore$Injector; -Lcom/android/server/input/PersistentDataStore$InputDeviceState; -Lcom/android/server/input/PersistentDataStore; -Lcom/android/server/inputmethod/AdditionalSubtypeUtils; -Lcom/android/server/inputmethod/AutofillSuggestionsController; -Lcom/android/server/inputmethod/DefaultImeVisibilityApplier; -Lcom/android/server/inputmethod/HandwritingModeController; -Lcom/android/server/inputmethod/ImePlatformCompatUtils; -Lcom/android/server/inputmethod/ImeTrackerService$History; -Lcom/android/server/inputmethod/ImeTrackerService; -Lcom/android/server/inputmethod/ImeVisibilityApplier; -Lcom/android/server/inputmethod/ImeVisibilityStateComputer$$ExternalSyntheticLambda0; -Lcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityPolicy; -Lcom/android/server/inputmethod/ImeVisibilityStateComputer; -Lcom/android/server/inputmethod/ImfLock; -Lcom/android/server/inputmethod/InputMethodBindingController$1; -Lcom/android/server/inputmethod/InputMethodBindingController$2; -Lcom/android/server/inputmethod/InputMethodBindingController; -Lcom/android/server/inputmethod/InputMethodDeviceConfigs$$ExternalSyntheticLambda0; -Lcom/android/server/inputmethod/InputMethodDeviceConfigs; -Lcom/android/server/inputmethod/InputMethodManagerInternal$1; -Lcom/android/server/inputmethod/InputMethodManagerInternal; -Lcom/android/server/inputmethod/InputMethodManagerService$2; -Lcom/android/server/inputmethod/InputMethodManagerService$3; -Lcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator; -Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers; -Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser; -Lcom/android/server/inputmethod/InputMethodManagerService$InkWindowInitializer; -Lcom/android/server/inputmethod/InputMethodManagerService$Lifecycle; Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl; -Lcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor; -Lcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver; -Lcom/android/server/inputmethod/InputMethodManagerService$ShellCommandImpl; -Lcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry; -Lcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory; -Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry; -Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory; -Lcom/android/server/inputmethod/InputMethodManagerService; -Lcom/android/server/inputmethod/InputMethodMenuController$ImeSubtypeListAdapter; -Lcom/android/server/inputmethod/InputMethodMenuController; -Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl; -Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList; -Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList; -Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList; -Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController; -Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings; -Lcom/android/server/integrity/AppIntegrityManagerService; -Lcom/android/server/integrity/AppIntegrityManagerServiceImpl$$ExternalSyntheticLambda0; -Lcom/android/server/integrity/AppIntegrityManagerServiceImpl$1; -Lcom/android/server/integrity/AppIntegrityManagerServiceImpl; -Lcom/android/server/integrity/IntegrityFileManager; -Lcom/android/server/integrity/engine/RuleEvaluationEngine; -Lcom/android/server/integrity/model/BitInputStream; -Lcom/android/server/integrity/model/ByteTrackedOutputStream; -Lcom/android/server/integrity/model/RuleMetadata; -Lcom/android/server/integrity/parser/BinaryFileOperations; -Lcom/android/server/integrity/parser/LimitInputStream; -Lcom/android/server/integrity/parser/RandomAccessInputStream; -Lcom/android/server/integrity/parser/RuleBinaryParser; -Lcom/android/server/integrity/parser/RuleIndexingController; -Lcom/android/server/integrity/parser/RuleMetadataParser; -Lcom/android/server/integrity/parser/RuleParseException; -Lcom/android/server/integrity/parser/RuleParser; -Lcom/android/server/integrity/serializer/RuleBinarySerializer; -Lcom/android/server/integrity/serializer/RuleSerializeException; -Lcom/android/server/integrity/serializer/RuleSerializer; Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda3; -Lcom/android/server/job/JobSchedulerService$LocalService; -Lcom/android/server/job/controllers/ConnectivityController$3; Lcom/android/server/job/controllers/PrefetchController$1; -Lcom/android/server/job/controllers/PrefetchController$ThresholdAlarmListener; -Lcom/android/server/job/controllers/QuotaController$InQuotaAlarmQueue; Lcom/android/server/job/controllers/QuotaController$UsageEventTracker; -Lcom/android/server/job/controllers/TareController$$ExternalSyntheticLambda0; Lcom/android/server/lights/LightsManager; Lcom/android/server/lights/LightsService$1; Lcom/android/server/lights/LightsService$LightImpl; @@ -15679,116 +13351,24 @@ 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/locales/LocaleManagerBackupHelper$UserMonitor; -Lcom/android/server/locales/LocaleManagerBackupHelper; -Lcom/android/server/locales/LocaleManagerInternal; -Lcom/android/server/locales/LocaleManagerService$1; -Lcom/android/server/locales/LocaleManagerService$LocaleManagerBinderService; -Lcom/android/server/locales/LocaleManagerService$LocaleManagerInternalImpl; -Lcom/android/server/locales/LocaleManagerService; -Lcom/android/server/locales/LocaleManagerServicePackageMonitor; -Lcom/android/server/locales/LocaleManagerShellCommand; -Lcom/android/server/locales/SystemAppUpdateTracker; 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/LockSettingsService$2; -Lcom/android/server/locksettings/LockSettingsService$4; -Lcom/android/server/locksettings/LockSettingsService$5; -Lcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver; -Lcom/android/server/locksettings/LockSettingsService$Injector; -Lcom/android/server/locksettings/LockSettingsService$Lifecycle; -Lcom/android/server/locksettings/LockSettingsService; -Lcom/android/server/locksettings/LockSettingsShellCommand; -Lcom/android/server/locksettings/SyntheticPasswordCrypto; Lcom/android/server/locksettings/SyntheticPasswordManager; -Lcom/android/server/locksettings/recoverablekeystore/InsecureUserException; -Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy; -Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl; -Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager; -Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStorageException; -Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager; -Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage; -Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper; -Lcom/android/server/locksettings/recoverablekeystore/certificate/CertParsingException; -Lcom/android/server/locksettings/recoverablekeystore/certificate/CertValidationException; -Lcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotParserException; -Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage; -Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager; -Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb; -Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper; -Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage; -Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage; -Lcom/android/server/logcat/LogcatManagerService$BinderService; -Lcom/android/server/logcat/LogcatManagerService$Injector$$ExternalSyntheticLambda0; -Lcom/android/server/logcat/LogcatManagerService$Injector; -Lcom/android/server/logcat/LogcatManagerService$LogAccessDialogCallback; -Lcom/android/server/logcat/LogcatManagerService$LogAccessRequestHandler; -Lcom/android/server/logcat/LogcatManagerService; -Lcom/android/server/net/NetworkManagementInternal; -Lcom/android/server/net/NetworkManagementService$NetdUnsolicitedEventListener; +Lcom/android/server/media/projection/MediaProjectionManagerService$1; Lcom/android/server/net/watchlist/NetworkWatchlistService$1; -Lcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle; -Lcom/android/server/net/watchlist/NetworkWatchlistService; -Lcom/android/server/net/watchlist/NetworkWatchlistShellCommand; -Lcom/android/server/net/watchlist/WatchlistConfig; -Lcom/android/server/net/watchlist/WatchlistLoggingHandler; -Lcom/android/server/net/watchlist/WatchlistReportDbHelper; -Lcom/android/server/net/watchlist/WatchlistSettings; Lcom/android/server/notification/NotificationManagerService$13; -Lcom/android/server/om/IdmapDaemon$$ExternalSyntheticLambda0; -Lcom/android/server/om/IdmapDaemon$Connection$$ExternalSyntheticLambda0; -Lcom/android/server/om/IdmapDaemon$Connection; -Lcom/android/server/om/IdmapDaemon; -Lcom/android/server/om/IdmapManager; +Lcom/android/server/notification/NotificationManagerService$NotificationTrampolineCallback; Lcom/android/server/om/OverlayActorEnforcer$ActorState; Lcom/android/server/om/OverlayActorEnforcer; -Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda0; -Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda1; -Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda2; -Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda3; Lcom/android/server/om/OverlayManagerService$$ExternalSyntheticLambda4; -Lcom/android/server/om/OverlayManagerService$1; -Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$$ExternalSyntheticLambda0; -Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl$PackageStateUsers; -Lcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl; -Lcom/android/server/om/OverlayManagerService$UserReceiver; Lcom/android/server/om/OverlayManagerService; -Lcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda0; -Lcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda2; -Lcom/android/server/om/OverlayManagerServiceImpl$$ExternalSyntheticLambda3; -Lcom/android/server/om/OverlayManagerServiceImpl$OperationFailedException; -Lcom/android/server/om/OverlayManagerServiceImpl; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda10; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda11; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda12; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda2; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda3; -Lcom/android/server/om/OverlayManagerSettings$$ExternalSyntheticLambda4; -Lcom/android/server/om/OverlayManagerSettings$BadKeyException; -Lcom/android/server/om/OverlayManagerSettings$Serializer; -Lcom/android/server/om/OverlayManagerSettings$SettingsItem; -Lcom/android/server/om/OverlayManagerSettings; -Lcom/android/server/om/OverlayManagerShellCommand; Lcom/android/server/om/OverlayReferenceMapper$1; Lcom/android/server/om/OverlayReferenceMapper$Provider; Lcom/android/server/om/OverlayReferenceMapper; -Lcom/android/server/om/PackageManagerHelper; -Lcom/android/server/os/BugreportManagerService; -Lcom/android/server/os/BugreportManagerServiceImpl$BugreportFileManager; -Lcom/android/server/os/BugreportManagerServiceImpl$Injector; -Lcom/android/server/os/BugreportManagerServiceImpl; Lcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy; Lcom/android/server/os/DeviceIdentifiersPolicyService; -Lcom/android/server/os/NativeTombstoneManager$1; -Lcom/android/server/os/NativeTombstoneManager$2; -Lcom/android/server/os/NativeTombstoneManager$TombstoneWatcher; -Lcom/android/server/os/NativeTombstoneManager; -Lcom/android/server/os/NativeTombstoneManagerService; -Lcom/android/server/os/SchedulingPolicyService$$ExternalSyntheticLambda0; -Lcom/android/server/os/SchedulingPolicyService$1; -Lcom/android/server/os/SchedulingPolicyService; Lcom/android/server/permission/access/AccessCheckingService; Lcom/android/server/permission/access/AccessPersistence$Companion; Lcom/android/server/permission/access/AccessPersistence$WriteHandler; @@ -15825,12 +13405,8 @@ Lcom/android/server/pm/ApexManager$ApexManagerImpl; Lcom/android/server/pm/ApexManager$ScanResult; Lcom/android/server/pm/ApexManager; Lcom/android/server/pm/ApexSystemServiceInfo; -Lcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda1; -Lcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda2; -Lcom/android/server/pm/AppDataHelper$$ExternalSyntheticLambda3; Lcom/android/server/pm/AppDataHelper; Lcom/android/server/pm/AppIdSettingMap; -Lcom/android/server/pm/AppStateHelper; Lcom/android/server/pm/AppsFilterBase; Lcom/android/server/pm/AppsFilterImpl$$ExternalSyntheticLambda0; Lcom/android/server/pm/AppsFilterImpl$1; @@ -15838,16 +13414,13 @@ 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/AppsFilterUtils; Lcom/android/server/pm/BackgroundDexOptService; Lcom/android/server/pm/BroadcastHelper; Lcom/android/server/pm/ChangedPackagesTracker; -Lcom/android/server/pm/CompilerStats$PackageStats; Lcom/android/server/pm/CompilerStats; Lcom/android/server/pm/Computer; Lcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda0; -Lcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda1; Lcom/android/server/pm/ComputerEngine$Settings; Lcom/android/server/pm/ComputerEngine; Lcom/android/server/pm/ComputerLocked; @@ -15873,8 +13446,6 @@ Lcom/android/server/pm/DexOptHelper; Lcom/android/server/pm/DistractingPackageHelper; Lcom/android/server/pm/DomainVerificationConnection; Lcom/android/server/pm/FeatureConfig; -Lcom/android/server/pm/GentleUpdateHelper; -Lcom/android/server/pm/IPackageManagerBase; Lcom/android/server/pm/IncrementalProgressListener; Lcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda1; Lcom/android/server/pm/InitAppsHelper$$ExternalSyntheticLambda2; @@ -15885,7 +13456,6 @@ Lcom/android/server/pm/InstallPackageHelper; Lcom/android/server/pm/InstallRequest; Lcom/android/server/pm/InstallSource; Lcom/android/server/pm/Installer$$ExternalSyntheticLambda0; -Lcom/android/server/pm/Installer$Batch; Lcom/android/server/pm/Installer$InstallerException; Lcom/android/server/pm/Installer$LegacyDexoptDisabledException; Lcom/android/server/pm/Installer; @@ -15893,23 +13463,14 @@ 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$ConnectionException; -Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1; -Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller; -Lcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection; Lcom/android/server/pm/InstantAppResolverConnection; Lcom/android/server/pm/InstructionSets; Lcom/android/server/pm/KeySetHandle; 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/OtaDexoptService$1; -Lcom/android/server/pm/OtaDexoptService$OTADexoptPackageDexOptimizer; -Lcom/android/server/pm/OtaDexoptService; -Lcom/android/server/pm/OtaDexoptShellCommand; Lcom/android/server/pm/PackageAbiHelper$Abis; Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths; Lcom/android/server/pm/PackageAbiHelper; @@ -15920,21 +13481,14 @@ Lcom/android/server/pm/PackageDexOptimizer$Injector; Lcom/android/server/pm/PackageDexOptimizer; Lcom/android/server/pm/PackageFreezer; Lcom/android/server/pm/PackageHandler; -Lcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda2; -Lcom/android/server/pm/PackageInstallerService$$ExternalSyntheticLambda5; Lcom/android/server/pm/PackageInstallerService$1; -Lcom/android/server/pm/PackageInstallerService$BroadcastCookie; -Lcom/android/server/pm/PackageInstallerService$Callbacks; -Lcom/android/server/pm/PackageInstallerService$InternalCallback; Lcom/android/server/pm/PackageInstallerService$Lifecycle; Lcom/android/server/pm/PackageInstallerService$PackageDeleteObserverAdapter; Lcom/android/server/pm/PackageInstallerService; Lcom/android/server/pm/PackageKeySetData; -Lcom/android/server/pm/PackageList; Lcom/android/server/pm/PackageManagerException; Lcom/android/server/pm/PackageManagerInternalBase; Lcom/android/server/pm/PackageManagerLocal; -Lcom/android/server/pm/PackageManagerNative; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda11; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda1; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda26; @@ -15963,7 +13517,6 @@ Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda47; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda48; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda49; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda50; -Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda51; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda52; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda53; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda54; @@ -15971,11 +13524,10 @@ Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda55; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda56; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda57; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda58; -Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda60; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda62; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda63; -Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda64; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda65; +Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda66; Lcom/android/server/pm/PackageManagerService$1; Lcom/android/server/pm/PackageManagerService$2; Lcom/android/server/pm/PackageManagerService$3; @@ -15984,8 +13536,6 @@ Lcom/android/server/pm/PackageManagerService$5; Lcom/android/server/pm/PackageManagerService$6; Lcom/android/server/pm/PackageManagerService$DefaultSystemWrapper; Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; -Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda0; -Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda3; Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; Lcom/android/server/pm/PackageManagerService$Snapshot; Lcom/android/server/pm/PackageManagerService; @@ -16001,7 +13551,6 @@ Lcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda1; Lcom/android/server/pm/PackageManagerServiceUtils$$ExternalSyntheticLambda2; Lcom/android/server/pm/PackageManagerServiceUtils$1; Lcom/android/server/pm/PackageManagerServiceUtils; -Lcom/android/server/pm/PackageManagerShellCommand; Lcom/android/server/pm/PackageManagerShellCommandDataLoader; Lcom/android/server/pm/PackageManagerTracedLock; Lcom/android/server/pm/PackageMetrics; @@ -16009,7 +13558,6 @@ Lcom/android/server/pm/PackageObserverHelper; Lcom/android/server/pm/PackageProperty; Lcom/android/server/pm/PackageSender; Lcom/android/server/pm/PackageSessionProvider; -Lcom/android/server/pm/PackageSessionVerifier; Lcom/android/server/pm/PackageSetting$1; Lcom/android/server/pm/PackageSetting; Lcom/android/server/pm/PackageSignatures; @@ -16033,7 +13581,6 @@ Lcom/android/server/pm/PreferredIntentResolver; Lcom/android/server/pm/PrepareFailure; Lcom/android/server/pm/ProcessLoggingHandler; Lcom/android/server/pm/ProtectedPackages; -Lcom/android/server/pm/QueryIntentActivitiesResult; Lcom/android/server/pm/ReconcileFailure; Lcom/android/server/pm/ReconcilePackageUtils; Lcom/android/server/pm/ReconciledPackage; @@ -16048,14 +13595,12 @@ Lcom/android/server/pm/ScanPartition; Lcom/android/server/pm/ScanRequest; Lcom/android/server/pm/ScanResult; Lcom/android/server/pm/SettingBase; -Lcom/android/server/pm/Settings$$ExternalSyntheticLambda0; Lcom/android/server/pm/Settings$$ExternalSyntheticLambda1; Lcom/android/server/pm/Settings$$ExternalSyntheticLambda2; Lcom/android/server/pm/Settings$1; Lcom/android/server/pm/Settings$2; Lcom/android/server/pm/Settings$3; Lcom/android/server/pm/Settings$KeySetToValueMap; -Lcom/android/server/pm/Settings$RuntimePermissionPersistence$$ExternalSyntheticLambda0; Lcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler; Lcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler; Lcom/android/server/pm/Settings$RuntimePermissionPersistence; @@ -16064,12 +13609,8 @@ 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$Serializer; -Lcom/android/server/pm/SettingsXml$WriteSection; -Lcom/android/server/pm/SettingsXml$WriteSectionImpl; Lcom/android/server/pm/SettingsXml; Lcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda0; -Lcom/android/server/pm/SharedLibrariesImpl$$ExternalSyntheticLambda1; Lcom/android/server/pm/SharedLibrariesImpl$1; Lcom/android/server/pm/SharedLibrariesImpl$2; Lcom/android/server/pm/SharedLibrariesImpl; @@ -16079,13 +13620,10 @@ Lcom/android/server/pm/SharedUidMigration; Lcom/android/server/pm/SharedUserSetting$1; Lcom/android/server/pm/SharedUserSetting$2; Lcom/android/server/pm/SharedUserSetting; -Lcom/android/server/pm/SilentUpdatePolicy; 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/StagingManager$2; -Lcom/android/server/pm/StagingManager; Lcom/android/server/pm/StorageEventHelper; Lcom/android/server/pm/SuspendPackageHelper; Lcom/android/server/pm/SystemDeleteException; @@ -16093,14 +13631,11 @@ 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$UserRestrictionsListener; Lcom/android/server/pm/UserManagerInternal; -Lcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda2; Lcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda3; Lcom/android/server/pm/UserManagerService$$ExternalSyntheticLambda5; Lcom/android/server/pm/UserManagerService$1; Lcom/android/server/pm/UserManagerService$2; -Lcom/android/server/pm/UserManagerService$LifeCycle; Lcom/android/server/pm/UserManagerService$LocalService; Lcom/android/server/pm/UserManagerService$MainHandler; Lcom/android/server/pm/UserManagerService$UserData; @@ -16121,9 +13656,7 @@ 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$PackageCodeLocations; Lcom/android/server/pm/dex/DexManager; -Lcom/android/server/pm/dex/DynamicCodeLogger$$ExternalSyntheticLambda0; Lcom/android/server/pm/dex/DynamicCodeLogger; Lcom/android/server/pm/dex/PackageDexUsage; Lcom/android/server/pm/dex/PackageDynamicCodeLoading; @@ -16131,7 +13664,6 @@ Lcom/android/server/pm/dex/ViewCompiler; Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl; Lcom/android/server/pm/local/PackageManagerLocalImpl; Lcom/android/server/pm/parsing/PackageCacher; -Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator; Lcom/android/server/pm/parsing/PackageInfoUtils; Lcom/android/server/pm/parsing/PackageParser2$$ExternalSyntheticLambda0; Lcom/android/server/pm/parsing/PackageParser2$$ExternalSyntheticLambda1; @@ -16139,7 +13671,6 @@ Lcom/android/server/pm/parsing/PackageParser2$$ExternalSyntheticLambda2; Lcom/android/server/pm/parsing/PackageParser2$1; Lcom/android/server/pm/parsing/PackageParser2$Callback; Lcom/android/server/pm/parsing/PackageParser2; -Lcom/android/server/pm/parsing/ParsedComponentStateUtils; Lcom/android/server/pm/parsing/library/AndroidHidlUpdater; Lcom/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdater; Lcom/android/server/pm/parsing/library/AndroidTestBaseUpdater; @@ -16165,8 +13696,6 @@ Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy; Lcom/android/server/pm/permission/DevicePermissionState; Lcom/android/server/pm/permission/LegacyPermission; Lcom/android/server/pm/permission/LegacyPermissionDataProvider; -Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$PackagesProvider; -Lcom/android/server/pm/permission/LegacyPermissionManagerInternal$SyncAdapterPackagesProvider; Lcom/android/server/pm/permission/LegacyPermissionManagerInternal; Lcom/android/server/pm/permission/LegacyPermissionManagerService$Injector; Lcom/android/server/pm/permission/LegacyPermissionManagerService$Internal; @@ -16181,11 +13710,7 @@ Lcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegi 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/PermissionManagerServiceImpl$$ExternalSyntheticLambda11; Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda13; -Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda5; -Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda6; -Lcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda8; Lcom/android/server/pm/permission/PermissionManagerServiceImpl$1; Lcom/android/server/pm/permission/PermissionManagerServiceImpl$2; Lcom/android/server/pm/permission/PermissionManagerServiceImpl$OnPermissionChangeListeners; @@ -16198,8 +13723,6 @@ Lcom/android/server/pm/permission/PermissionState; Lcom/android/server/pm/permission/UidPermissionState; Lcom/android/server/pm/permission/UserPermissionState; Lcom/android/server/pm/pkg/AndroidPackage; -Lcom/android/server/pm/pkg/AndroidPackageSplit; -Lcom/android/server/pm/pkg/AndroidPackageSplitImpl; Lcom/android/server/pm/pkg/PackageState; Lcom/android/server/pm/pkg/PackageStateInternal; Lcom/android/server/pm/pkg/PackageStateUnserialized; @@ -16233,8 +13756,6 @@ Lcom/android/server/pm/pkg/component/ParsedComponent; Lcom/android/server/pm/pkg/component/ParsedComponentImpl; Lcom/android/server/pm/pkg/component/ParsedComponentUtils; Lcom/android/server/pm/pkg/component/ParsedInstrumentation; -Lcom/android/server/pm/pkg/component/ParsedInstrumentationImpl$1; -Lcom/android/server/pm/pkg/component/ParsedInstrumentationImpl; Lcom/android/server/pm/pkg/component/ParsedIntentInfo; Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl$1; Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl; @@ -16265,7 +13786,6 @@ Lcom/android/server/pm/pkg/component/ParsedUsesPermission$UsesPermissionFlags; Lcom/android/server/pm/pkg/component/ParsedUsesPermission; Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl$1; Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl; -Lcom/android/server/pm/pkg/mutate/PackageStateMutator$Result; Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper$UserStateWriteWrapper; Lcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper; Lcom/android/server/pm/pkg/mutate/PackageStateMutator; @@ -16290,13 +13810,10 @@ 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/split/DefaultSplitAssetLoader; Lcom/android/server/pm/split/SplitAssetDependencyLoader; Lcom/android/server/pm/split/SplitAssetLoader; -Lcom/android/server/pm/utils/RequestThrottle$$ExternalSyntheticLambda0; -Lcom/android/server/pm/utils/RequestThrottle; Lcom/android/server/pm/verify/domain/DomainVerificationCollector$$ExternalSyntheticLambda2; Lcom/android/server/pm/verify/domain/DomainVerificationCollector; Lcom/android/server/pm/verify/domain/DomainVerificationDebug; @@ -16320,74 +13837,13 @@ 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/DomainVerificationProxyCombined; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyUnavailable; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1$Connection; -Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2$Connection; -Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2; -Lcom/android/server/policy/DeviceStatePolicyImpl; -Lcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda0; -Lcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda1; -Lcom/android/server/policy/DeviceStateProviderImpl$$ExternalSyntheticLambda2; -Lcom/android/server/policy/DeviceStateProviderImpl$1; -Lcom/android/server/policy/DeviceStateProviderImpl; -Lcom/android/server/policy/DisplayFoldController$$ExternalSyntheticLambda1; -Lcom/android/server/policy/DisplayFoldController; -Lcom/android/server/policy/DisplayFoldDurationLogger; -Lcom/android/server/policy/GlobalKeyManager; -Lcom/android/server/policy/KeyCombinationManager$TwoKeysCombinationRule; -Lcom/android/server/policy/KeyCombinationManager; -Lcom/android/server/policy/ModifierShortcutManager; -Lcom/android/server/policy/PermissionPolicyInternal; -Lcom/android/server/policy/PhoneWindowManager$10; -Lcom/android/server/policy/PhoneWindowManager$11; -Lcom/android/server/policy/PhoneWindowManager$14; -Lcom/android/server/policy/PhoneWindowManager$15; -Lcom/android/server/policy/PhoneWindowManager$1; -Lcom/android/server/policy/PhoneWindowManager$2; -Lcom/android/server/policy/PhoneWindowManager$3; -Lcom/android/server/policy/PhoneWindowManager$4; -Lcom/android/server/policy/PhoneWindowManager$5; -Lcom/android/server/policy/PhoneWindowManager$6; -Lcom/android/server/policy/PhoneWindowManager$7; -Lcom/android/server/policy/PhoneWindowManager$8; -Lcom/android/server/policy/PhoneWindowManager$9; -Lcom/android/server/policy/PhoneWindowManager$BackKeyRule; -Lcom/android/server/policy/PhoneWindowManager$HdmiVideoExtconUEventObserver; -Lcom/android/server/policy/PhoneWindowManager$Injector$$ExternalSyntheticLambda0; -Lcom/android/server/policy/PhoneWindowManager$Injector; -Lcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener; -Lcom/android/server/policy/PhoneWindowManager$PolicyHandler; -Lcom/android/server/policy/PhoneWindowManager$PowerKeyRule; -Lcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout; -Lcom/android/server/policy/PhoneWindowManager$SettingsObserver; -Lcom/android/server/policy/PhoneWindowManager$StemPrimaryKeyRule; Lcom/android/server/policy/PhoneWindowManager; -Lcom/android/server/policy/SideFpsEventHandler$$ExternalSyntheticLambda0; -Lcom/android/server/policy/SideFpsEventHandler$$ExternalSyntheticLambda1; -Lcom/android/server/policy/SideFpsEventHandler$1; -Lcom/android/server/policy/SideFpsEventHandler$DialogProvider; -Lcom/android/server/policy/SideFpsEventHandler; -Lcom/android/server/policy/SideFpsToast; -Lcom/android/server/policy/SingleKeyGestureDetector$KeyHandler; -Lcom/android/server/policy/SingleKeyGestureDetector$SingleKeyRule; -Lcom/android/server/policy/SingleKeyGestureDetector; -Lcom/android/server/policy/WakeGestureListener$1; -Lcom/android/server/policy/WakeGestureListener$2; -Lcom/android/server/policy/WakeGestureListener; Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo; Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs; Lcom/android/server/policy/WindowManagerPolicy$WindowState; -Lcom/android/server/policy/WindowManagerPolicy; -Lcom/android/server/policy/devicestate/config/Conditions; -Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$1; -Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener; -Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState; -Lcom/android/server/policy/keyguard/KeyguardServiceDelegate; -Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback; -Lcom/android/server/policy/role/RoleServicePlatformHelperImpl$MessageDigestOutputStream; -Lcom/android/server/policy/role/RoleServicePlatformHelperImpl; Lcom/android/server/power/AmbientDisplaySuppressionController$AmbientDisplaySuppressionChangedCallback; Lcom/android/server/power/AmbientDisplaySuppressionController; Lcom/android/server/power/AttentionDetector$1; @@ -16437,7 +13893,6 @@ 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$UidState; Lcom/android/server/power/PowerManagerService$UserSwitchedReceiver; Lcom/android/server/power/PowerManagerService; Lcom/android/server/power/PowerManagerShellCommand; @@ -16445,7 +13900,6 @@ 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$$ExternalSyntheticLambda1; Lcom/android/server/power/ThermalManagerService$1; Lcom/android/server/power/ThermalManagerService$TemperatureWatcher; Lcom/android/server/power/ThermalManagerService$ThermalHal10Wrapper; @@ -16473,10 +13927,7 @@ Lcom/android/server/power/hint/HintManagerService$MyUidObserver; Lcom/android/server/power/hint/HintManagerService$NativeWrapper; Lcom/android/server/power/hint/HintManagerService; Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda0; -Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda1; -Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda2; Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda3; -Lcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda8; Lcom/android/server/power/stats/BatteryExternalStatsWorker$1; Lcom/android/server/power/stats/BatteryExternalStatsWorker$2; Lcom/android/server/power/stats/BatteryExternalStatsWorker$Injector; @@ -16486,7 +13937,6 @@ Lcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda4; 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$BatteryResetListener; @@ -16528,8 +13978,6 @@ 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/BatteryUsageStatsStore$$ExternalSyntheticLambda0; -Lcom/android/server/power/stats/BatteryUsageStatsStore; Lcom/android/server/power/stats/BluetoothPowerCalculator; Lcom/android/server/power/stats/CpuPowerCalculator; Lcom/android/server/power/stats/EnergyConsumerSnapshot; @@ -16555,141 +14003,29 @@ Lcom/android/server/powerstats/PowerStatsHALWrapper; Lcom/android/server/powerstats/PowerStatsService$Injector; Lcom/android/server/powerstats/PowerStatsService$LocalService; Lcom/android/server/powerstats/PowerStatsService; -Lcom/android/server/profcollect/IProviderStatusCallback$Stub; -Lcom/android/server/profcollect/IProviderStatusCallback; -Lcom/android/server/profcollect/ProfcollectForwardingService$1; -Lcom/android/server/profcollect/ProfcollectForwardingService$2; -Lcom/android/server/profcollect/ProfcollectForwardingService$AppLaunchObserver; -Lcom/android/server/profcollect/ProfcollectForwardingService$ProfcollectdHandler; -Lcom/android/server/profcollect/ProfcollectForwardingService; 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$1; Lcom/android/server/resources/ResourcesManagerService; -Lcom/android/server/resources/ResourcesManagerShellCommand; -Lcom/android/server/role/RoleServicePlatformHelper; -Lcom/android/server/rollback/AppDataRollbackHelper; -Lcom/android/server/rollback/RollbackManagerInternal; -Lcom/android/server/rollback/RollbackManagerService; -Lcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda10; -Lcom/android/server/rollback/RollbackManagerServiceImpl$$ExternalSyntheticLambda11; -Lcom/android/server/rollback/RollbackManagerServiceImpl$1; -Lcom/android/server/rollback/RollbackManagerServiceImpl$2; -Lcom/android/server/rollback/RollbackManagerServiceImpl$3; -Lcom/android/server/rollback/RollbackManagerServiceImpl$4; -Lcom/android/server/rollback/RollbackManagerServiceImpl$5; -Lcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback; -Lcom/android/server/rollback/RollbackManagerServiceImpl; -Lcom/android/server/rollback/RollbackPackageHealthObserver; -Lcom/android/server/rollback/RollbackStore; -Lcom/android/server/security/FileIntegrity; Lcom/android/server/security/FileIntegrityService$1; Lcom/android/server/security/FileIntegrityService$FileIntegrityServiceShellCommand; Lcom/android/server/security/FileIntegrityService; -Lcom/android/server/security/KeyAttestationApplicationIdProviderService; -Lcom/android/server/security/KeyChainSystemService$1; -Lcom/android/server/security/KeyChainSystemService; -Lcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl; -Lcom/android/server/security/rkp/RemoteProvisioningService; -Lcom/android/server/sensorprivacy/AllSensorStateController$$ExternalSyntheticLambda0; -Lcom/android/server/sensorprivacy/AllSensorStateController; -Lcom/android/server/sensorprivacy/PersistedState$$ExternalSyntheticLambda0; -Lcom/android/server/sensorprivacy/PersistedState$PVersion0; -Lcom/android/server/sensorprivacy/PersistedState$PVersion1; -Lcom/android/server/sensorprivacy/PersistedState$PVersion2; -Lcom/android/server/sensorprivacy/PersistedState$TypeUserSensor; -Lcom/android/server/sensorprivacy/PersistedState; -Lcom/android/server/sensorprivacy/SensorPrivacyService$DeathRecipient; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyHandler; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyManagerInternalImpl; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda0; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$$ExternalSyntheticLambda1; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$1; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$2; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$3; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl$4; -Lcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceImpl; Lcom/android/server/sensorprivacy/SensorPrivacyService; -Lcom/android/server/sensorprivacy/SensorPrivacyStateController$AllSensorPrivacyListener; -Lcom/android/server/sensorprivacy/SensorPrivacyStateController$SensorPrivacyListener; -Lcom/android/server/sensorprivacy/SensorPrivacyStateController; -Lcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl; -Lcom/android/server/sensorprivacy/SensorState; Lcom/android/server/sensors/SensorManagerInternal$ProximityActiveListener; Lcom/android/server/sensors/SensorManagerInternal$RuntimeSensorCallback; -Lcom/android/server/sensors/SensorManagerInternal; -Lcom/android/server/sensors/SensorService$$ExternalSyntheticLambda0; -Lcom/android/server/sensors/SensorService$LocalService; -Lcom/android/server/sensors/SensorService$ProximityListenerDelegate; Lcom/android/server/sensors/SensorService; -Lcom/android/server/signedconfig/SignedConfigService$UpdateReceiver; -Lcom/android/server/signedconfig/SignedConfigService; 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$MountScope; +Lcom/android/server/statusbar/StatusBarManagerService$1; Lcom/android/server/storage/AppFuseBridge; -Lcom/android/server/storage/CacheQuotaStrategy; -Lcom/android/server/storage/StorageSessionController$ExternalStorageServiceException; -Lcom/android/server/storage/StorageSessionController; -Lcom/android/server/tare/Agent$AgentHandler; -Lcom/android/server/tare/Agent$BalanceThresholdAlarmQueue; -Lcom/android/server/tare/Agent$OngoingEventUpdater; -Lcom/android/server/tare/Agent$TotalDeltaCalculator; -Lcom/android/server/tare/Agent$TrendCalculator; -Lcom/android/server/tare/Agent; -Lcom/android/server/tare/AlarmManagerEconomicPolicy; -Lcom/android/server/tare/Analyst$Report; -Lcom/android/server/tare/Analyst; -Lcom/android/server/tare/ChargingModifier$ChargingTracker; -Lcom/android/server/tare/ChargingModifier; -Lcom/android/server/tare/CompleteEconomicPolicy$CompleteInjector; -Lcom/android/server/tare/CompleteEconomicPolicy; -Lcom/android/server/tare/DeviceIdleModifier$DeviceIdleTracker; -Lcom/android/server/tare/DeviceIdleModifier; -Lcom/android/server/tare/EconomicPolicy$Action; -Lcom/android/server/tare/EconomicPolicy$Injector; -Lcom/android/server/tare/EconomicPolicy$Reward; -Lcom/android/server/tare/EconomicPolicy; -Lcom/android/server/tare/EconomyManagerInternal$AffordabilityChangeListener; -Lcom/android/server/tare/EconomyManagerInternal$TareStateChangeListener; -Lcom/android/server/tare/EconomyManagerInternal; -Lcom/android/server/tare/InternalResourceService$1; -Lcom/android/server/tare/InternalResourceService$2; -Lcom/android/server/tare/InternalResourceService$3; -Lcom/android/server/tare/InternalResourceService$4; -Lcom/android/server/tare/InternalResourceService$ConfigObserver; -Lcom/android/server/tare/InternalResourceService$EconomyManagerStub; -Lcom/android/server/tare/InternalResourceService$IrsHandler; Lcom/android/server/tare/InternalResourceService$LocalService; -Lcom/android/server/tare/InternalResourceService; -Lcom/android/server/tare/JobSchedulerEconomicPolicy; -Lcom/android/server/tare/Modifier; -Lcom/android/server/tare/PowerSaveModeModifier$PowerSaveModeTracker; -Lcom/android/server/tare/PowerSaveModeModifier; -Lcom/android/server/tare/ProcessStateModifier$1; -Lcom/android/server/tare/ProcessStateModifier; -Lcom/android/server/tare/Scribe$$ExternalSyntheticLambda0; -Lcom/android/server/tare/Scribe$$ExternalSyntheticLambda1; -Lcom/android/server/tare/Scribe; -Lcom/android/server/tare/TareHandlerThread; -Lcom/android/server/tare/TareShellCommand; -Lcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda0; -Lcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda1; -Lcom/android/server/telecom/TelecomLoaderService$$ExternalSyntheticLambda2; -Lcom/android/server/telecom/TelecomLoaderService$1; -Lcom/android/server/telecom/TelecomLoaderService; -Lcom/android/server/textclassifier/IconsContentProvider$$ExternalSyntheticLambda0; -Lcom/android/server/textclassifier/IconsContentProvider; Lcom/android/server/tv/TvInputHal; Lcom/android/server/tv/UinputBridge; -Lcom/android/server/twilight/TwilightListener; -Lcom/android/server/twilight/TwilightManager; Lcom/android/server/uri/UriGrantsManagerInternal; Lcom/android/server/uri/UriGrantsManagerService$H; Lcom/android/server/uri/UriGrantsManagerService$Lifecycle; @@ -16697,51 +14033,8 @@ 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/usage/AppIdleHistory; -Lcom/android/server/usage/AppStandbyController$2; -Lcom/android/server/usage/AppStandbyController$AppStandbyHandler; -Lcom/android/server/usage/AppStandbyController$DeviceStateReceiver; -Lcom/android/server/usage/AppStandbyController$Injector; -Lcom/android/server/usage/AppStandbyController$Lock; -Lcom/android/server/usage/AppStandbyController$PackageReceiver; Lcom/android/server/usage/AppStandbyController; -Lcom/android/server/usage/AppTimeLimitController$AppUsageGroup; -Lcom/android/server/usage/AppTimeLimitController$AppUsageLimitGroup; -Lcom/android/server/usage/AppTimeLimitController$Lock; -Lcom/android/server/usage/AppTimeLimitController$MyHandler; -Lcom/android/server/usage/AppTimeLimitController$SessionUsageGroup; -Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener; -Lcom/android/server/usage/AppTimeLimitController$UsageGroup; -Lcom/android/server/usage/AppTimeLimitController; -Lcom/android/server/usage/BroadcastResponseStatsLogger$BroadcastEvent; -Lcom/android/server/usage/BroadcastResponseStatsLogger$Data; -Lcom/android/server/usage/BroadcastResponseStatsLogger$LogBuffer; -Lcom/android/server/usage/BroadcastResponseStatsLogger$NotificationEvent; -Lcom/android/server/usage/BroadcastResponseStatsLogger; -Lcom/android/server/usage/BroadcastResponseStatsTracker$$ExternalSyntheticLambda0; -Lcom/android/server/usage/BroadcastResponseStatsTracker; -Lcom/android/server/usage/StorageStatsManagerLocal; -Lcom/android/server/usage/StorageStatsService$$ExternalSyntheticLambda3; -Lcom/android/server/usage/StorageStatsService$1; -Lcom/android/server/usage/StorageStatsService$2; -Lcom/android/server/usage/StorageStatsService$H; -Lcom/android/server/usage/StorageStatsService$Lifecycle; -Lcom/android/server/usage/StorageStatsService$LocalService; -Lcom/android/server/usage/StorageStatsService; -Lcom/android/server/usage/UsageStatsService$1; -Lcom/android/server/usage/UsageStatsService$2; -Lcom/android/server/usage/UsageStatsService$3; -Lcom/android/server/usage/UsageStatsService$BinderService; -Lcom/android/server/usage/UsageStatsService$H; -Lcom/android/server/usage/UsageStatsService$Injector; -Lcom/android/server/usage/UsageStatsService$LaunchTimeAlarmQueue; Lcom/android/server/usage/UsageStatsService$LocalService; -Lcom/android/server/usage/UsageStatsService$MyPackageMonitor; -Lcom/android/server/usage/UsageStatsService$UidRemovedReceiver; -Lcom/android/server/usage/UsageStatsService$UserActionsReceiver; -Lcom/android/server/usage/UsageStatsService; -Lcom/android/server/usage/UsageStatsShellCommand; -Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener; Lcom/android/server/usb/UsbAlsaJackDetector; Lcom/android/server/usb/UsbAlsaMidiDevice$2; Lcom/android/server/usb/UsbAlsaMidiDevice$3; @@ -16751,11 +14044,7 @@ 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/AlarmQueue$1; -Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue$$ExternalSyntheticLambda0; -Lcom/android/server/utils/AlarmQueue$AlarmPriorityQueue; -Lcom/android/server/utils/AlarmQueue$Injector; -Lcom/android/server/utils/AlarmQueue; +Lcom/android/server/utils/FoldSettingProvider; Lcom/android/server/utils/PriorityDump$PriorityDumper; Lcom/android/server/utils/Slogf; Lcom/android/server/utils/Snappable; @@ -16763,11 +14052,7 @@ 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/UserTokenWatcher$Callback; -Lcom/android/server/utils/UserTokenWatcher$InnerTokenWatcher; -Lcom/android/server/utils/UserTokenWatcher; Lcom/android/server/utils/Watchable; Lcom/android/server/utils/WatchableImpl; Lcom/android/server/utils/Watched; @@ -16786,63 +14071,17 @@ Lcom/android/server/utils/WatchedSparseBooleanMatrix; Lcom/android/server/utils/WatchedSparseIntArray; Lcom/android/server/utils/WatchedSparseSetArray; Lcom/android/server/utils/Watcher; -Lcom/android/server/vibrator/ClippingAmplitudeAndFrequencyAdapter; -Lcom/android/server/vibrator/HalVibration; -Lcom/android/server/vibrator/InputDeviceDelegate; -Lcom/android/server/vibrator/RampDownAdapter; -Lcom/android/server/vibrator/RampToStepAdapter; -Lcom/android/server/vibrator/StepToRampAdapter; -Lcom/android/server/vibrator/Vibration$Status; -Lcom/android/server/vibrator/Vibration; -Lcom/android/server/vibrator/VibrationScaler$ScaleLevel; -Lcom/android/server/vibrator/VibrationScaler; -Lcom/android/server/vibrator/VibrationSettings$SettingsBroadcastReceiver; -Lcom/android/server/vibrator/VibrationSettings$SettingsContentObserver; -Lcom/android/server/vibrator/VibrationSettings$VirtualDeviceListener; -Lcom/android/server/vibrator/VibrationSettings; -Lcom/android/server/vibrator/VibrationThread$VibratorManagerHooks; -Lcom/android/server/vibrator/VibrationThread; Lcom/android/server/vibrator/VibratorController$NativeWrapper; Lcom/android/server/vibrator/VibratorController$OnVibrationCompleteListener; -Lcom/android/server/vibrator/VibratorController; -Lcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda0; -Lcom/android/server/vibrator/VibratorFrameworkStatsLogger; -Lcom/android/server/vibrator/VibratorManagerService$1; -Lcom/android/server/vibrator/VibratorManagerService$ExternalVibrationHolder; -Lcom/android/server/vibrator/VibratorManagerService$ExternalVibratorService; -Lcom/android/server/vibrator/VibratorManagerService$Injector; -Lcom/android/server/vibrator/VibratorManagerService$Lifecycle; -Lcom/android/server/vibrator/VibratorManagerService$NativeWrapper; Lcom/android/server/vibrator/VibratorManagerService$OnSyncedVibrationCompleteListener; -Lcom/android/server/vibrator/VibratorManagerService$VibrationCompleteListener; -Lcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks; -Lcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords; -Lcom/android/server/vibrator/VibratorManagerService$VibratorManagerShellCommand; Lcom/android/server/vibrator/VibratorManagerService; Lcom/android/server/vr/EnabledComponentsObserver$EnabledComponentChangeListener; Lcom/android/server/vr/VrManagerService; -Lcom/android/server/webkit/SystemImpl$LazyHolder; -Lcom/android/server/webkit/SystemImpl; -Lcom/android/server/webkit/SystemInterface; -Lcom/android/server/webkit/WebViewUpdateService$1; -Lcom/android/server/webkit/WebViewUpdateService$BinderService; -Lcom/android/server/webkit/WebViewUpdateService; -Lcom/android/server/webkit/WebViewUpdateServiceImpl$WebViewPackageMissingException; -Lcom/android/server/webkit/WebViewUpdateServiceImpl; -Lcom/android/server/webkit/WebViewUpdateServiceShellCommand; Lcom/android/server/wm/AbsAppSnapshotController; -Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl$UiChangesForAccessibilityCallbacksDispatcher; -Lcom/android/server/wm/AccessibilityController$AccessibilityControllerInternalImpl; -Lcom/android/server/wm/AccessibilityController$AccessibilityTracing$LogHandler; -Lcom/android/server/wm/AccessibilityController$AccessibilityTracing; -Lcom/android/server/wm/AccessibilityController; -Lcom/android/server/wm/AccessibilityWindowsPopulator$MyHandler; -Lcom/android/server/wm/AccessibilityWindowsPopulator; 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$State; Lcom/android/server/wm/ActivityRecord; Lcom/android/server/wm/ActivityStartController; Lcom/android/server/wm/ActivityStartInterceptor; @@ -16855,7 +14094,6 @@ 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$SettingObserver; Lcom/android/server/wm/ActivityTaskManagerService$SleepTokenAcquirerImpl; Lcom/android/server/wm/ActivityTaskManagerService$UiHandler; Lcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult; @@ -16864,192 +14102,38 @@ 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/AnimatingActivityRegistry; -Lcom/android/server/wm/AnrController$$ExternalSyntheticLambda1; -Lcom/android/server/wm/AnrController$1; -Lcom/android/server/wm/AnrController; -Lcom/android/server/wm/AppSnapshotLoader; Lcom/android/server/wm/AppTaskImpl; -Lcom/android/server/wm/AppTransition$$ExternalSyntheticLambda2; -Lcom/android/server/wm/AppTransition$$ExternalSyntheticLambda3; -Lcom/android/server/wm/AppTransition; -Lcom/android/server/wm/AppTransitionController; 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$SyncGroup; Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener; -Lcom/android/server/wm/BLASTSyncEngine; -Lcom/android/server/wm/BackNavigationController$AnimationHandler; Lcom/android/server/wm/BackNavigationController$NavigationMonitor; Lcom/android/server/wm/BackNavigationController; -Lcom/android/server/wm/BackgroundActivityStartCallback; Lcom/android/server/wm/BackgroundActivityStartController; -Lcom/android/server/wm/BackgroundLaunchProcessController; -Lcom/android/server/wm/BaseAppSnapshotPersister$DirectoryResolver; -Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider; -Lcom/android/server/wm/BaseAppSnapshotPersister; -Lcom/android/server/wm/BlurController$$ExternalSyntheticLambda0; -Lcom/android/server/wm/BlurController$1; -Lcom/android/server/wm/BlurController$2; -Lcom/android/server/wm/BlurController$3; -Lcom/android/server/wm/BlurController; 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/ContentRecordingController; Lcom/android/server/wm/DeprecatedAbiDialog; Lcom/android/server/wm/DeprecatedTargetSdkVersionDialog; Lcom/android/server/wm/DesktopModeLaunchParamsModifier; -Lcom/android/server/wm/DeviceStateController$DeviceState; -Lcom/android/server/wm/DeviceStateController; -Lcom/android/server/wm/Dimmer$$ExternalSyntheticLambda0; -Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter; -Lcom/android/server/wm/Dimmer; -Lcom/android/server/wm/DisplayArea$1; -Lcom/android/server/wm/DisplayArea$Dimmable$$ExternalSyntheticLambda0; Lcom/android/server/wm/DisplayArea$Dimmable; -Lcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1; -Lcom/android/server/wm/DisplayArea$Tokens; -Lcom/android/server/wm/DisplayArea$Type; Lcom/android/server/wm/DisplayArea; -Lcom/android/server/wm/DisplayAreaOrganizerController$DisplayAreaOrganizerState; Lcom/android/server/wm/DisplayAreaOrganizerController; -Lcom/android/server/wm/DisplayAreaPolicy$DefaultProvider$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayAreaPolicy$DefaultProvider; -Lcom/android/server/wm/DisplayAreaPolicy$Provider; -Lcom/android/server/wm/DisplayAreaPolicy; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectRootForWindowFunction; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$DefaultSelectTaskDisplayAreaFunction; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature$Builder; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$Feature; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$HierarchyBuilder; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$NewDisplayAreaSupplier; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result; -Lcom/android/server/wm/DisplayAreaPolicyBuilder; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda10; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda11; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda12; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda13; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda14; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda15; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda27; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda29; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda2; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda30; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda3; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda43; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda4; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda5; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda6; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda7; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda8; -Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda9; -Lcom/android/server/wm/DisplayContent$1; -Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState; -Lcom/android/server/wm/DisplayContent$FixedRotationTransitionListener; -Lcom/android/server/wm/DisplayContent$ImeContainer; -Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget; -Lcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult; Lcom/android/server/wm/DisplayContent; -Lcom/android/server/wm/DisplayFrames; -Lcom/android/server/wm/DisplayHashController$Handler; -Lcom/android/server/wm/DisplayHashController; -Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda10; -Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda11; -Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda12; -Lcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda9; -Lcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda1; -Lcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda2; -Lcom/android/server/wm/DisplayPolicy$1$$ExternalSyntheticLambda3; -Lcom/android/server/wm/DisplayPolicy$1; -Lcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda0; -Lcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda1; -Lcom/android/server/wm/DisplayPolicy$2$$ExternalSyntheticLambda2; -Lcom/android/server/wm/DisplayPolicy$2; -Lcom/android/server/wm/DisplayPolicy$3; -Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info; -Lcom/android/server/wm/DisplayPolicy$DecorInsets; -Lcom/android/server/wm/DisplayPolicy$PolicyHandler; -Lcom/android/server/wm/DisplayPolicy; -Lcom/android/server/wm/DisplayRotation$$ExternalSyntheticLambda2; -Lcom/android/server/wm/DisplayRotation$OrientationListener; -Lcom/android/server/wm/DisplayRotation$RotationAnimationPair; -Lcom/android/server/wm/DisplayRotation$RotationHistory; -Lcom/android/server/wm/DisplayRotation$SettingsObserver; -Lcom/android/server/wm/DisplayRotation; -Lcom/android/server/wm/DisplayRotationCompatPolicy; -Lcom/android/server/wm/DisplayRotationCoordinator; -Lcom/android/server/wm/DisplayRotationImmersiveAppCompatPolicy; -Lcom/android/server/wm/DisplayWindowListenerController; -Lcom/android/server/wm/DisplayWindowPolicyControllerHelper; -Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider$SettingsEntry; -Lcom/android/server/wm/DisplayWindowSettings$SettingsProvider; -Lcom/android/server/wm/DisplayWindowSettings; -Lcom/android/server/wm/DisplayWindowSettingsProvider$AtomicFileStorage; -Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettings; -Lcom/android/server/wm/DisplayWindowSettingsProvider$ReadableSettingsStorage; -Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettings; -Lcom/android/server/wm/DisplayWindowSettingsProvider$WritableSettingsStorage; -Lcom/android/server/wm/DisplayWindowSettingsProvider; -Lcom/android/server/wm/DragDropController$1; -Lcom/android/server/wm/DragDropController$DragHandler; -Lcom/android/server/wm/DragDropController; -Lcom/android/server/wm/EmbeddedWindowController; -Lcom/android/server/wm/EnsureActivitiesVisibleHelper; -Lcom/android/server/wm/EventLogTags; Lcom/android/server/wm/FactoryErrorDialog; -Lcom/android/server/wm/HighRefreshRateDenylist$OnPropertiesChangedListener; -Lcom/android/server/wm/HighRefreshRateDenylist; -Lcom/android/server/wm/ImeInsetsSourceProvider; -Lcom/android/server/wm/ImeTargetVisibilityPolicy; -Lcom/android/server/wm/ImmersiveModeConfirmation$1; -Lcom/android/server/wm/ImmersiveModeConfirmation$ClingWindowView; -Lcom/android/server/wm/ImmersiveModeConfirmation$H; -Lcom/android/server/wm/ImmersiveModeConfirmation; -Lcom/android/server/wm/InputConsumerImpl; -Lcom/android/server/wm/InputManagerCallback$$ExternalSyntheticLambda2; -Lcom/android/server/wm/InputManagerCallback; -Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer; -Lcom/android/server/wm/InputMonitor$UpdateInputWindows; -Lcom/android/server/wm/InputMonitor; Lcom/android/server/wm/InputTarget; Lcom/android/server/wm/InsetsControlTarget; -Lcom/android/server/wm/InsetsPolicy$BarWindow; -Lcom/android/server/wm/InsetsPolicy; -Lcom/android/server/wm/InsetsSourceProvider$$ExternalSyntheticLambda0; -Lcom/android/server/wm/InsetsSourceProvider; -Lcom/android/server/wm/InsetsStateController$$ExternalSyntheticLambda3; -Lcom/android/server/wm/InsetsStateController$1; -Lcom/android/server/wm/InsetsStateController; Lcom/android/server/wm/KeyguardController$$ExternalSyntheticLambda0; Lcom/android/server/wm/KeyguardController; -Lcom/android/server/wm/KeyguardDisableHandler$1; -Lcom/android/server/wm/KeyguardDisableHandler$2; -Lcom/android/server/wm/KeyguardDisableHandler$Injector; -Lcom/android/server/wm/KeyguardDisableHandler; 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$$ExternalSyntheticLambda3; Lcom/android/server/wm/LaunchParamsPersister; -Lcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda4; -Lcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda5; -Lcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda6; -Lcom/android/server/wm/LetterboxConfiguration$$ExternalSyntheticLambda7; -Lcom/android/server/wm/LetterboxConfiguration; -Lcom/android/server/wm/LetterboxConfigurationPersister; Lcom/android/server/wm/LockTaskController$LockTaskToken; Lcom/android/server/wm/LockTaskController; Lcom/android/server/wm/MirrorActiveUids; @@ -17060,73 +14144,17 @@ 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/PhysicalDisplaySwitchTransitionLauncher; -Lcom/android/server/wm/PinnedTaskController$$ExternalSyntheticLambda0; -Lcom/android/server/wm/PinnedTaskController$PinnedTaskListenerDeathHandler; -Lcom/android/server/wm/PinnedTaskController; -Lcom/android/server/wm/PointerEventDispatcher; -Lcom/android/server/wm/PossibleDisplayInfoMapper; -Lcom/android/server/wm/ProtoLogCache$$ExternalSyntheticLambda0; -Lcom/android/server/wm/ProtoLogCache; 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/RecentsAnimationController; -Lcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate; -Lcom/android/server/wm/RefreshRatePolicy; -Lcom/android/server/wm/RemoteDisplayChangeController$$ExternalSyntheticLambda0; -Lcom/android/server/wm/RemoteDisplayChangeController; -Lcom/android/server/wm/ResetTargetTaskHelper; Lcom/android/server/wm/RootDisplayArea; -Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda1; -Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda43; -Lcom/android/server/wm/RootWindowContainer$1; -Lcom/android/server/wm/RootWindowContainer$AttachApplicationHelper; -Lcom/android/server/wm/RootWindowContainer$FindTaskResult; -Lcom/android/server/wm/RootWindowContainer$FinishDisabledPackageActivitiesHelper; -Lcom/android/server/wm/RootWindowContainer$MyHandler; -Lcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable; Lcom/android/server/wm/RootWindowContainer; -Lcom/android/server/wm/RotationWatcherController$DisplayRotationWatcher; -Lcom/android/server/wm/RotationWatcherController$ProposedRotationListener; -Lcom/android/server/wm/RotationWatcherController$RotationWatcher; -Lcom/android/server/wm/RotationWatcherController; Lcom/android/server/wm/RunningTasks; -Lcom/android/server/wm/SafeActivityOptions; -Lcom/android/server/wm/Session; -Lcom/android/server/wm/SnapshotPersistQueue$1; -Lcom/android/server/wm/SnapshotPersistQueue$DeleteWriteQueueItem; -Lcom/android/server/wm/SnapshotPersistQueue$StoreWriteQueueItem; -Lcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem; -Lcom/android/server/wm/SnapshotPersistQueue; -Lcom/android/server/wm/SplashScreenExceptionList$$ExternalSyntheticLambda0; -Lcom/android/server/wm/SplashScreenExceptionList; -Lcom/android/server/wm/StartingSurfaceController; -Lcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda1; -Lcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda2; -Lcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda3; -Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory; -Lcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator; -Lcom/android/server/wm/SurfaceAnimationRunner; Lcom/android/server/wm/SurfaceAnimationThread; -Lcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda0; Lcom/android/server/wm/SurfaceAnimator$Animatable; -Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback; -Lcom/android/server/wm/SurfaceAnimator; Lcom/android/server/wm/SurfaceFreezer$Freezable; -Lcom/android/server/wm/SurfaceFreezer$Snapshot; -Lcom/android/server/wm/SurfaceFreezer; -Lcom/android/server/wm/SurfaceSyncGroupController; -Lcom/android/server/wm/SystemGesturesPointerEventListener$1; -Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks; -Lcom/android/server/wm/SystemGesturesPointerEventListener; -Lcom/android/server/wm/Task$$ExternalSyntheticLambda14; -Lcom/android/server/wm/Task$$ExternalSyntheticLambda3; -Lcom/android/server/wm/Task$ActivityTaskHandler; -Lcom/android/server/wm/Task$Builder; -Lcom/android/server/wm/Task$FindRootHelper; Lcom/android/server/wm/Task; Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda0; Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda10; @@ -17156,124 +14184,56 @@ Lcom/android/server/wm/TaskChangeNotificationController$$ExternalSyntheticLambda Lcom/android/server/wm/TaskChangeNotificationController$MainHandler; Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer; Lcom/android/server/wm/TaskChangeNotificationController; -Lcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda3; Lcom/android/server/wm/TaskDisplayArea; Lcom/android/server/wm/TaskFpsCallbackController; -Lcom/android/server/wm/TaskFragment$EnsureVisibleActivitiesConfigHelper; 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/TaskPositioningController; -Lcom/android/server/wm/TaskSnapshotCache; Lcom/android/server/wm/TaskSnapshotController; -Lcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem; -Lcom/android/server/wm/TaskSnapshotPersister; -Lcom/android/server/wm/TaskSystemBarsListenerController; -Lcom/android/server/wm/TaskTapPointerEventListener; Lcom/android/server/wm/Transition; Lcom/android/server/wm/TransitionController$$ExternalSyntheticLambda0; 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/TransitionTracer; -Lcom/android/server/wm/UnknownAppVisibilityController; 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/WallpaperController$$ExternalSyntheticLambda1; -Lcom/android/server/wm/WallpaperController$$ExternalSyntheticLambda2; -Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult; -Lcom/android/server/wm/WallpaperController; -Lcom/android/server/wm/WallpaperVisibilityListeners; -Lcom/android/server/wm/WallpaperWindowToken; -Lcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda0; -Lcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1; -Lcom/android/server/wm/WindowAnimator; -Lcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda4; -Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper; -Lcom/android/server/wm/WindowContainer$RemoteToken; Lcom/android/server/wm/WindowContainer; -Lcom/android/server/wm/WindowContainerListener; -Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl$DeathRecipient; -Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl; -Lcom/android/server/wm/WindowContextListenerController; Lcom/android/server/wm/WindowList; -Lcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda0; -Lcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda1; -Lcom/android/server/wm/WindowManagerConstants$$ExternalSyntheticLambda2; -Lcom/android/server/wm/WindowManagerConstants; Lcom/android/server/wm/WindowManagerGlobalLock; -Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal$UiChangesForAccessibilityCallbacks; -Lcom/android/server/wm/WindowManagerInternal$AccessibilityControllerInternal; Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener; -Lcom/android/server/wm/WindowManagerInternal$IDragDropCallback; -Lcom/android/server/wm/WindowManagerInternal; -Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda19; -Lcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda21; -Lcom/android/server/wm/WindowManagerService$1; Lcom/android/server/wm/WindowManagerService$2; -Lcom/android/server/wm/WindowManagerService$3; Lcom/android/server/wm/WindowManagerService$4; -Lcom/android/server/wm/WindowManagerService$5; -Lcom/android/server/wm/WindowManagerService$6; -Lcom/android/server/wm/WindowManagerService$7; Lcom/android/server/wm/WindowManagerService$8; Lcom/android/server/wm/WindowManagerService$AppFreezeListener; Lcom/android/server/wm/WindowManagerService$H; -Lcom/android/server/wm/WindowManagerService$ImeTargetVisibilityPolicyImpl; -Lcom/android/server/wm/WindowManagerService$LocalService; -Lcom/android/server/wm/WindowManagerService$MousePositionTracker; -Lcom/android/server/wm/WindowManagerService$SettingsObserver; Lcom/android/server/wm/WindowManagerService; Lcom/android/server/wm/WindowManagerShellCommand; Lcom/android/server/wm/WindowManagerThreadPriorityBooster; Lcom/android/server/wm/WindowOrganizerController; -Lcom/android/server/wm/WindowOrientationListener$AccelSensorJudge; -Lcom/android/server/wm/WindowOrientationListener$OrientationJudge; -Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge$$ExternalSyntheticLambda0; -Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge$2; -Lcom/android/server/wm/WindowOrientationListener$OrientationSensorJudge; -Lcom/android/server/wm/WindowOrientationListener; 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/WindowSurfacePlacer$Traverser; -Lcom/android/server/wm/WindowSurfacePlacer; Lcom/android/server/wm/WindowToken; -Lcom/android/server/wm/WindowTracing$$ExternalSyntheticLambda0; -Lcom/android/server/wm/WindowTracing; -Lcom/android/server/wm/utils/InsetUtils; -Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation; -Lcom/android/server/wm/utils/RotationCache; -Lcom/android/server/wm/utils/WmDisplayCutout; -[Landroid/hardware/health/DiskStats; -[Landroid/hardware/health/StorageInfo; [Landroid/hardware/power/stats/EnergyConsumer; -[Lcom/android/server/ExtconUEventObserver$ExtconInfo; [Lcom/android/server/am/ActivityManagerService$ProcessChangeItem; -[Lcom/android/server/am/BroadcastFilter; [Lcom/android/server/am/BroadcastProcessQueue; [Lcom/android/server/am/BroadcastQueue; [Lcom/android/server/am/BroadcastRecord; -[Lcom/android/server/am/CacheOomRanker$RankedProcessRecord; [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/devicestate/DeviceState; -[Lcom/android/server/display/config/PredefinedBrightnessLimitNames; [Lcom/android/server/display/config/ThermalStatus; [Lcom/android/server/firewall/FilterFactory; [Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver; -[Lcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry; -[Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry; [Lcom/android/server/lights/LightsService$LightImpl; [Lcom/android/server/om/OverlayActorEnforcer$ActorState; [Lcom/android/server/pm/CrossProfileIntentFilter; @@ -17288,14 +14248,6 @@ Lcom/android/server/wm/utils/WmDisplayCutout; [Lcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats; [Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; [Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; -[Lcom/android/server/tare/Analyst$Report; -[Lcom/android/server/tare/Modifier; [Lcom/android/server/wm/ActivityRecord; -[Lcom/android/server/wm/DeviceStateController$DeviceState; -[Lcom/android/server/wm/DisplayArea$Tokens; -[Lcom/android/server/wm/DisplayArea$Type; -[Lcom/android/server/wm/DisplayAreaPolicyBuilder$PendingArea; -[Lcom/android/server/wm/DisplayPolicy$DecorInsets$Info; -[Lcom/android/server/wm/WindowManagerService; [[Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter; [[Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer; diff --git a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java index 852e36dcc605..8c728f1eeffd 100644 --- a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java +++ b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java @@ -118,6 +118,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController private final Object mGenericWindowPolicyControllerLock = new Object(); @Nullable private final ActivityBlockedCallback mActivityBlockedCallback; private int mDisplayId = Display.INVALID_DISPLAY; + private boolean mIsMirrorDisplay = false; @NonNull @GuardedBy("mGenericWindowPolicyControllerLock") @@ -203,8 +204,9 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController /** * Expected to be called once this object is associated with a newly created display. */ - public void setDisplayId(int displayId) { + void setDisplayId(int displayId, boolean isMirrorDisplay) { mDisplayId = displayId; + mIsMirrorDisplay = isMirrorDisplay; } /** @@ -256,9 +258,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController @Nullable Intent intent, @WindowConfiguration.WindowingMode int windowingMode, int launchingFromDisplayId, boolean isNewTask) { if (!canContainActivity(activityInfo, windowingMode, launchingFromDisplayId, isNewTask)) { - if (mActivityBlockedCallback != null) { - mActivityBlockedCallback.onActivityBlocked(mDisplayId, activityInfo); - } + notifyActivityBlocked(activityInfo); return false; } if (mIntentListenerCallback != null && intent != null @@ -273,6 +273,11 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController public boolean canContainActivity(@NonNull ActivityInfo activityInfo, @WindowConfiguration.WindowingMode int windowingMode, int launchingFromDisplayId, boolean isNewTask) { + // Mirror displays cannot contain activities. + if (mIsMirrorDisplay) { + Slog.d(TAG, "Mirror virtual displays cannot contain activities."); + return false; + } if (!isWindowingModeSupported(windowingMode)) { Slog.d(TAG, "Virtual device doesn't support windowing mode " + windowingMode); return false; @@ -344,9 +349,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController // TODO(b/201712607): Add checks for the apps that use SurfaceView#setSecure. if ((windowFlags & FLAG_SECURE) != 0 || (systemWindowFlags & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS) != 0) { - if (mActivityBlockedCallback != null) { - mActivityBlockedCallback.onActivityBlocked(mDisplayId, activityInfo); - } + notifyActivityBlocked(activityInfo); return false; } } @@ -428,6 +431,14 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController && mDisplayCategories.contains(activityInfo.requiredDisplayCategory); } + private void notifyActivityBlocked(ActivityInfo activityInfo) { + // Don't trigger activity blocked callback for mirror displays, because we can't show + // any activity or presentation on it anyway. + if (!mIsMirrorDisplay && mActivityBlockedCallback != null) { + mActivityBlockedCallback.onActivityBlocked(mDisplayId, activityInfo); + } + } + private static boolean isAllowedByPolicy(boolean allowedByDefault, Set<ComponentName> exemptions, ComponentName component) { // Either allowed and the exemptions do not contain the component, diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java index 4298c079a63e..70c449fe147c 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java @@ -167,7 +167,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub private final VirtualDeviceLog mVirtualDeviceLog; private final String mOwnerPackageName; private final int mDeviceId; - private @Nullable final String mPersistentDeviceId; + @Nullable + private final String mPersistentDeviceId; // Thou shall not hold the mVirtualDeviceLock over the mInputController calls. // Holding the lock can lead to lock inversion with GlobalWindowManagerLock. // 1. After display is created the window manager calls into VDM during construction @@ -191,6 +192,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub private final IVirtualDeviceActivityListener mActivityListener; private final IVirtualDeviceSoundEffectListener mSoundEffectListener; private final DisplayManagerGlobal mDisplayManager; + private final DisplayManagerInternal mDisplayManagerInternal; @GuardedBy("mVirtualDeviceLock") private final Map<IBinder, IntentFilter> mIntentInterceptors = new ArrayMap<>(); @NonNull @@ -313,6 +315,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub mParams = params; mDevicePolicies = params.getDevicePolicies(); mDisplayManager = displayManager; + mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); if (inputController == null) { mInputController = new InputController( context.getMainThreadHandler(), @@ -971,8 +974,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub @NonNull Set<String> displayCategories) { final boolean activityLaunchAllowedByDefault = Flags.dynamicPolicy() - ? getDevicePolicy(POLICY_TYPE_ACTIVITY) == DEVICE_POLICY_DEFAULT - : mParams.getDefaultActivityPolicy() == ACTIVITY_POLICY_DEFAULT_ALLOWED; + ? getDevicePolicy(POLICY_TYPE_ACTIVITY) == DEVICE_POLICY_DEFAULT + : mParams.getDefaultActivityPolicy() == ACTIVITY_POLICY_DEFAULT_ALLOWED; final boolean crossTaskNavigationAllowedByDefault = mParams.getDefaultNavigationPolicy() == NAVIGATION_POLICY_DEFAULT_ALLOWED; final boolean showTasksInHostDeviceRecents = @@ -987,7 +990,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub activityLaunchAllowedByDefault, mActivityPolicyExemptions, crossTaskNavigationAllowedByDefault, - /*crossTaskNavigationExemptions=*/crossTaskNavigationAllowedByDefault + /* crossTaskNavigationExemptions= */crossTaskNavigationAllowedByDefault ? mParams.getBlockedCrossTaskNavigations() : mParams.getAllowedCrossTaskNavigations(), mPermissionDialogComponent, @@ -1016,12 +1019,12 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub synchronized (mVirtualDeviceLock) { gwpc = createWindowPolicyControllerLocked(virtualDisplayConfig.getDisplayCategories()); } - DisplayManagerInternal displayManager = LocalServices.getService( - DisplayManagerInternal.class); int displayId; - displayId = displayManager.createVirtualDisplay(virtualDisplayConfig, callback, + displayId = mDisplayManagerInternal.createVirtualDisplay(virtualDisplayConfig, callback, this, gwpc, packageName); - gwpc.setDisplayId(displayId); + gwpc.setDisplayId(displayId, /* isMirrorDisplay= */ Flags.interactiveScreenMirror() + && mDisplayManagerInternal.getDisplayIdToMirror(displayId) + != Display.INVALID_DISPLAY); boolean showPointer; synchronized (mVirtualDeviceLock) { diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java index 5cb100a1bfa5..3031a840f4b1 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java @@ -42,6 +42,7 @@ import android.companion.virtualnative.IVirtualDeviceManagerNative; import android.content.AttributionSource; import android.content.Context; import android.content.Intent; +import android.hardware.display.DisplayManagerInternal; import android.hardware.display.IVirtualDisplayCallback; import android.hardware.display.VirtualDisplayConfig; import android.os.Binder; @@ -65,6 +66,8 @@ import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.DumpUtils; +import com.android.modules.expresslog.Counter; +import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.companion.virtual.VirtualDeviceImpl.PendingTrampoline; import com.android.server.wm.ActivityInterceptorCallback; @@ -390,6 +393,9 @@ public class VirtualDeviceManagerService extends SystemService { deviceId, cameraAccessController, mPendingTrampolineCallback, activityListener, soundEffectListener, runningAppsChangedCallback, params); + if (Flags.expressMetrics()) { + Counter.logIncrement("virtual_devices.virtual_devices_created_count"); + } synchronized (mVirtualDeviceManagerLock) { if (mVirtualDevices.size() == 0) { @@ -541,6 +547,17 @@ public class VirtualDeviceManagerService extends SystemService { } } + @Override // Binder call + public boolean isVirtualDeviceOwnedMirrorDisplay(int displayId) { + if (getDeviceIdForDisplayId(displayId) == Context.DEVICE_ID_DEFAULT) { + return false; + } + + DisplayManagerInternal displayManager = LocalServices.getService( + DisplayManagerInternal.class); + return displayManager.getDisplayIdToMirror(displayId) != Display.INVALID_DISPLAY; + } + @Nullable private AssociationInfo getAssociationInfo(String packageName, int associationId) { final UserHandle userHandle = getCallingUserHandle(); diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java index 76ebdf4d4c1c..9f4528b113e7 100644 --- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java +++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java @@ -20,6 +20,8 @@ import static android.Manifest.permission.MANAGE_CONTENT_CAPTURE; import static android.content.Context.CONTENT_CAPTURE_MANAGER_SERVICE; import static android.service.contentcapture.ContentCaptureService.setClientState; import static android.view.contentcapture.ContentCaptureHelper.toList; +import static android.view.contentcapture.ContentCaptureManager.DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS; +import static android.view.contentcapture.ContentCaptureManager.DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS; import static android.view.contentcapture.ContentCaptureManager.DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_CONFIG; import static android.view.contentcapture.ContentCaptureManager.DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD; import static android.view.contentcapture.ContentCaptureManager.DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_REQUIRED_GROUPS_CONFIG; @@ -219,6 +221,12 @@ public class ContentCaptureManagerService extends @GuardedBy("mLock") int mDevCfgContentProtectionOptionalGroupsThreshold; + @GuardedBy("mLock") + long mDevCfgContentProtectionAllowlistDelayMs; + + @GuardedBy("mLock") + long mDevCfgContentProtectionAllowlistTimeoutMs; + private final Executor mDataShareExecutor = Executors.newCachedThreadPool(); private final Handler mHandler = new Handler(Looper.getMainLooper()); @@ -231,11 +239,17 @@ public class ContentCaptureManagerService extends final GlobalContentCaptureOptions mGlobalContentCaptureOptions = new GlobalContentCaptureOptions(); - @Nullable private final ComponentName mContentProtectionServiceComponentName; + @GuardedBy("mLock") + @Nullable + private ComponentName mContentProtectionServiceComponentName; - @Nullable private final ContentProtectionAllowlistManager mContentProtectionAllowlistManager; + @GuardedBy("mLock") + @Nullable + private ContentProtectionAllowlistManager mContentProtectionAllowlistManager; - @Nullable private final ContentProtectionConsentManager mContentProtectionConsentManager; + @GuardedBy("mLock") + @Nullable + private ContentProtectionConsentManager mContentProtectionConsentManager; public ContentCaptureManagerService(@NonNull Context context) { super(context, new FrameworkResourcesServiceNameResolver(context, @@ -279,21 +293,6 @@ public class ContentCaptureManagerService extends mServiceNameResolver.getServiceName(userId), mServiceNameResolver.isTemporary(userId)); } - - if (getEnableContentProtectionReceiverLocked()) { - mContentProtectionServiceComponentName = getContentProtectionServiceComponentName(); - if (mContentProtectionServiceComponentName != null) { - mContentProtectionAllowlistManager = createContentProtectionAllowlistManager(); - mContentProtectionConsentManager = createContentProtectionConsentManager(); - } else { - mContentProtectionAllowlistManager = null; - mContentProtectionConsentManager = null; - } - } else { - mContentProtectionServiceComponentName = null; - mContentProtectionAllowlistManager = null; - mContentProtectionConsentManager = null; - } } @Override // from AbstractMasterSystemService @@ -442,6 +441,8 @@ public class ContentCaptureManagerService extends case DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_REQUIRED_GROUPS_CONFIG: case DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_CONFIG: case DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD: + case DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS: + case DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS: setFineTuneParamsFromDeviceConfig(); return; default: @@ -453,8 +454,15 @@ public class ContentCaptureManagerService extends /** @hide */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) protected void setFineTuneParamsFromDeviceConfig() { + boolean enableContentProtectionReceiverOld; + boolean enableContentProtectionReceiverNew; String contentProtectionRequiredGroupsConfig; String contentProtectionOptionalGroupsConfig; + int contentProtectionOptionalGroupsThreshold; + long contentProtectionAllowlistDelayMs; + long contentProtectionAllowlistTimeoutMs; + ContentProtectionAllowlistManager contentProtectionAllowlistManagerOld; + synchronized (mLock) { mDevCfgMaxBufferSize = DeviceConfig.getInt( @@ -488,12 +496,9 @@ public class ContentCaptureManagerService extends ContentCaptureManager .DEVICE_CONFIG_PROPERTY_DISABLE_FLUSH_FOR_VIEW_TREE_APPEARING, false); - mDevCfgEnableContentProtectionReceiver = - DeviceConfig.getBoolean( - DeviceConfig.NAMESPACE_CONTENT_CAPTURE, - ContentCaptureManager - .DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER, - ContentCaptureManager.DEFAULT_ENABLE_CONTENT_PROTECTION_RECEIVER); + + enableContentProtectionReceiverOld = mDevCfgEnableContentProtectionReceiver; + enableContentProtectionReceiverNew = getDeviceConfigEnableContentProtectionReceiver(); mDevCfgContentProtectionBufferSize = DeviceConfig.getInt( DeviceConfig.NAMESPACE_CONTENT_CAPTURE, @@ -512,12 +517,25 @@ public class ContentCaptureManagerService extends DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_CONFIG, ContentCaptureManager .DEFAULT_CONTENT_PROTECTION_OPTIONAL_GROUPS_CONFIG); - mDevCfgContentProtectionOptionalGroupsThreshold = + contentProtectionOptionalGroupsThreshold = DeviceConfig.getInt( DeviceConfig.NAMESPACE_CONTENT_CAPTURE, DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD, ContentCaptureManager .DEFAULT_CONTENT_PROTECTION_OPTIONAL_GROUPS_THRESHOLD); + contentProtectionAllowlistDelayMs = + DeviceConfig.getLong( + DeviceConfig.NAMESPACE_CONTENT_CAPTURE, + DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS, + ContentCaptureManager.DEFAULT_CONTENT_PROTECTION_ALLOWLIST_DELAY_MS); + contentProtectionAllowlistTimeoutMs = + DeviceConfig.getLong( + DeviceConfig.NAMESPACE_CONTENT_CAPTURE, + DEVICE_CONFIG_PROPERTY_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS, + ContentCaptureManager.DEFAULT_CONTENT_PROTECTION_ALLOWLIST_TIMEOUT_MS); + + contentProtectionAllowlistManagerOld = mContentProtectionAllowlistManager; + if (verbose) { Slog.v( TAG, @@ -535,7 +553,7 @@ public class ContentCaptureManagerService extends + ", disableFlushForViewTreeAppearing=" + mDevCfgDisableFlushForViewTreeAppearing + ", enableContentProtectionReceiver=" - + mDevCfgEnableContentProtectionReceiver + + enableContentProtectionReceiverNew + ", contentProtectionBufferSize=" + mDevCfgContentProtectionBufferSize + ", contentProtectionRequiredGroupsConfig=" @@ -543,7 +561,11 @@ public class ContentCaptureManagerService extends + ", contentProtectionOptionalGroupsConfig=" + contentProtectionOptionalGroupsConfig + ", contentProtectionOptionalGroupsThreshold=" - + mDevCfgContentProtectionOptionalGroupsThreshold); + + contentProtectionOptionalGroupsThreshold + + ", contentProtectionAllowlistDelayMs=" + + contentProtectionAllowlistDelayMs + + ", contentProtectionAllowlistTimeoutMs=" + + contentProtectionAllowlistTimeoutMs); } } @@ -551,9 +573,37 @@ public class ContentCaptureManagerService extends parseContentProtectionGroupsConfig(contentProtectionRequiredGroupsConfig); List<List<String>> contentProtectionOptionalGroups = parseContentProtectionGroupsConfig(contentProtectionOptionalGroupsConfig); + ComponentName contentProtectionServiceComponentNameNew = null; + ContentProtectionAllowlistManager contentProtectionAllowlistManagerNew = null; + ContentProtectionConsentManager contentProtectionConsentManagerNew = null; + + if (contentProtectionAllowlistManagerOld != null && !enableContentProtectionReceiverNew) { + contentProtectionAllowlistManagerOld.stop(); + } + if (!enableContentProtectionReceiverOld && enableContentProtectionReceiverNew) { + contentProtectionServiceComponentNameNew = getContentProtectionServiceComponentName(); + if (contentProtectionServiceComponentNameNew != null) { + contentProtectionAllowlistManagerNew = + createContentProtectionAllowlistManager( + contentProtectionAllowlistTimeoutMs); + contentProtectionAllowlistManagerNew.start(contentProtectionAllowlistDelayMs); + contentProtectionConsentManagerNew = createContentProtectionConsentManager(); + } + } + synchronized (mLock) { + mDevCfgEnableContentProtectionReceiver = enableContentProtectionReceiverNew; mDevCfgContentProtectionRequiredGroups = contentProtectionRequiredGroups; mDevCfgContentProtectionOptionalGroups = contentProtectionOptionalGroups; + mDevCfgContentProtectionOptionalGroupsThreshold = + contentProtectionOptionalGroupsThreshold; + mDevCfgContentProtectionAllowlistDelayMs = contentProtectionAllowlistDelayMs; + + if (enableContentProtectionReceiverOld ^ enableContentProtectionReceiverNew) { + mContentProtectionServiceComponentName = contentProtectionServiceComponentNameNew; + mContentProtectionAllowlistManager = contentProtectionAllowlistManagerNew; + mContentProtectionConsentManager = contentProtectionConsentManagerNew; + } } } @@ -837,27 +887,34 @@ public class ContentCaptureManagerService extends pw.print(prefix2); pw.print("contentProtectionOptionalGroupsThreshold: "); pw.println(mDevCfgContentProtectionOptionalGroupsThreshold); + pw.print(prefix2); + pw.print("contentProtectionAllowlistDelayMs: "); + pw.println(mDevCfgContentProtectionAllowlistDelayMs); + pw.print(prefix2); + pw.print("contentProtectionAllowlistTimeoutMs: "); + pw.println(mDevCfgContentProtectionAllowlistTimeoutMs); pw.print(prefix); pw.println("Global Options:"); mGlobalContentCaptureOptions.dump(prefix2, pw); } - /** - * Used by the constructor in order to be able to override the value in the tests. - * - * @hide - */ + /** @hide */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) - @GuardedBy("mLock") - protected boolean getEnableContentProtectionReceiverLocked() { - return mDevCfgEnableContentProtectionReceiver; + protected boolean getDeviceConfigEnableContentProtectionReceiver() { + return DeviceConfig.getBoolean( + DeviceConfig.NAMESPACE_CONTENT_CAPTURE, + ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER, + ContentCaptureManager.DEFAULT_ENABLE_CONTENT_PROTECTION_RECEIVER); } /** @hide */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) @NonNull - protected ContentProtectionAllowlistManager createContentProtectionAllowlistManager() { - return new ContentProtectionAllowlistManager(); + protected ContentProtectionAllowlistManager createContentProtectionAllowlistManager( + long timeoutMs) { + // Same handler as used by AbstractMasterSystemService + return new ContentProtectionAllowlistManager( + this, BackgroundThread.getHandler(), timeoutMs); } /** @hide */ @@ -874,6 +931,9 @@ public class ContentCaptureManagerService extends @Nullable private ComponentName getContentProtectionServiceComponentName() { String flatComponentName = getContentProtectionServiceFlatComponentName(); + if (flatComponentName == null) { + return null; + } return ComponentName.unflattenFromString(flatComponentName); } @@ -898,27 +958,27 @@ public class ContentCaptureManagerService extends getContext(), componentName, /* isTemp= */ false, UserHandle.getCallingUserId()); } + /** @hide */ @Nullable - private RemoteContentProtectionService createRemoteContentProtectionService() { - if (mContentProtectionServiceComponentName == null) { - // This case should not be possible but make sure - return null; - } + public RemoteContentProtectionService createRemoteContentProtectionService() { + ComponentName componentName; synchronized (mLock) { - if (!mDevCfgEnableContentProtectionReceiver) { + if (!mDevCfgEnableContentProtectionReceiver + || mContentProtectionServiceComponentName == null) { return null; } + componentName = mContentProtectionServiceComponentName; } // Check permissions by trying to construct {@link ContentCaptureServiceInfo} try { - createContentProtectionServiceInfo(mContentProtectionServiceComponentName); + createContentProtectionServiceInfo(componentName); } catch (Exception ex) { // Swallow, exception was already logged return null; } - return createRemoteContentProtectionService(mContentProtectionServiceComponentName); + return createRemoteContentProtectionService(componentName); } /** @hide */ @@ -976,6 +1036,16 @@ public class ContentCaptureManagerService extends .toList(); } + @GuardedBy("mLock") + private boolean isContentProtectionEnabledLocked() { + return mDevCfgEnableContentProtectionReceiver + && mContentProtectionServiceComponentName != null + && mContentProtectionAllowlistManager != null + && mContentProtectionConsentManager != null + && !(mDevCfgContentProtectionRequiredGroups.isEmpty() + && mDevCfgContentProtectionOptionalGroups.isEmpty()); + } + final class ContentCaptureManagerServiceStub extends IContentCaptureManager.Stub { @Override @@ -1406,22 +1476,17 @@ public class ContentCaptureManagerService extends private boolean isContentProtectionReceiverEnabled( @UserIdInt int userId, @NonNull String packageName) { - if (mContentProtectionServiceComponentName == null - || mContentProtectionAllowlistManager == null - || mContentProtectionConsentManager == null) { - return false; - } + ContentProtectionConsentManager consentManager; + ContentProtectionAllowlistManager allowlistManager; synchronized (mLock) { - if (!mDevCfgEnableContentProtectionReceiver) { - return false; - } - if (mDevCfgContentProtectionRequiredGroups.isEmpty() - && mDevCfgContentProtectionOptionalGroups.isEmpty()) { + if (!isContentProtectionEnabledLocked()) { return false; } + consentManager = mContentProtectionConsentManager; + allowlistManager = mContentProtectionAllowlistManager; } - return mContentProtectionConsentManager.isConsentGranted(userId) - && mContentProtectionAllowlistManager.isAllowed(packageName); + return consentManager.isConsentGranted(userId) + && allowlistManager.isAllowed(packageName); } } diff --git a/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionAllowlistManager.java b/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionAllowlistManager.java index 59af5263fa9e..f77430dae26b 100644 --- a/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionAllowlistManager.java +++ b/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionAllowlistManager.java @@ -16,8 +16,22 @@ package com.android.server.contentprotection; +import static android.view.contentprotection.flags.Flags.blocklistUpdateEnabled; + import android.annotation.NonNull; -import android.util.Slog; +import android.annotation.Nullable; +import android.os.Handler; +import android.os.UserHandle; + +import com.android.internal.annotations.GuardedBy; +import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.content.PackageMonitor; +import com.android.server.contentcapture.ContentCaptureManagerService; + +import java.time.Instant; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * Manages whether the content protection is enabled for an app using a allowlist. @@ -28,11 +42,124 @@ public class ContentProtectionAllowlistManager { private static final String TAG = "ContentProtectionAllowlistManager"; - public ContentProtectionAllowlistManager() {} + @NonNull private final ContentCaptureManagerService mContentCaptureManagerService; + + @NonNull private final Handler mHandler; + + private final long mTimeoutMs; + + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + @NonNull + final PackageMonitor mPackageMonitor; + + private final Object mHandlerToken = new Object(); + + private final Object mLock = new Object(); + + // Used outside of the handler + private boolean mStarted; + + // Used inside the handler + @Nullable private Instant mUpdatePendingUntil; + + @NonNull + @GuardedBy("mLock") + private Set<String> mAllowedPackages = Set.of(); + + public ContentProtectionAllowlistManager( + @NonNull ContentCaptureManagerService contentCaptureManagerService, + @NonNull Handler handler, + long timeoutMs) { + mContentCaptureManagerService = contentCaptureManagerService; + mHandler = handler; + mTimeoutMs = timeoutMs; + mPackageMonitor = createPackageMonitor(); + } + + /** Starts the manager. */ + public void start(long delayMs) { + if (mStarted) { + return; + } + mStarted = true; + mHandler.postDelayed(this::handleInitialUpdate, mHandlerToken, delayMs); + // PackageMonitor will be registered inside handleInitialUpdate to respect the initial delay + } + + /** Stops the manager. */ + public void stop() { + try { + mPackageMonitor.unregister(); + } catch (IllegalStateException ex) { + // Swallow, throws if not registered + } + mHandler.removeCallbacksAndMessages(mHandlerToken); + mUpdatePendingUntil = null; + mStarted = false; + } /** Returns true if the package is allowed. */ public boolean isAllowed(@NonNull String packageName) { - Slog.v(TAG, packageName); - return false; + Set<String> allowedPackages; + synchronized (mLock) { + allowedPackages = mAllowedPackages; + } + return allowedPackages.contains(packageName); + } + + private void setAllowlist(@NonNull List<String> packages) { + synchronized (mLock) { + mAllowedPackages = packages.stream().collect(Collectors.toUnmodifiableSet()); + } + mUpdatePendingUntil = null; + } + + private void handleInitialUpdate() { + handleUpdate(); + + // Initial update done, start listening to package updates now + mPackageMonitor.register( + mContentCaptureManagerService.getContext(), UserHandle.ALL, mHandler); + } + + private void handleUpdate() { + if (!blocklistUpdateEnabled()) { + return; + } + + /** + * PackageMonitor callback can be invoked more than once in a matter of milliseconds on the + * same monitor instance for the same package (eg: b/295969873). This check acts both as a + * simple generic rate limit and as a mitigation for this quirk. + */ + if (mUpdatePendingUntil != null && Instant.now().isBefore(mUpdatePendingUntil)) { + return; + } + + RemoteContentProtectionService remoteContentProtectionService = + mContentCaptureManagerService.createRemoteContentProtectionService(); + if (remoteContentProtectionService == null) { + return; + } + + // If there are any pending updates queued already, they can be removed immediately + mHandler.removeCallbacksAndMessages(mHandlerToken); + mUpdatePendingUntil = Instant.now().plusMillis(mTimeoutMs); + } + + /** @hide */ + @NonNull + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + protected PackageMonitor createPackageMonitor() { + return new ContentProtectionPackageMonitor(); + } + + private final class ContentProtectionPackageMonitor extends PackageMonitor { + + // This callback might be invoked multiple times, for more info refer to the comment above + @Override + public void onSomePackagesChanged() { + handleUpdate(); + } } } diff --git a/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionConsentManager.java b/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionConsentManager.java index 2eb758cd5a13..488a51a56fee 100644 --- a/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionConsentManager.java +++ b/services/contentcapture/java/com/android/server/contentprotection/ContentProtectionConsentManager.java @@ -40,6 +40,9 @@ public class ContentProtectionConsentManager { private static final String KEY_PACKAGE_VERIFIER_USER_CONSENT = "package_verifier_user_consent"; + private static final String KEY_CONTENT_PROTECTION_USER_CONSENT = + "content_protection_user_consent"; + @NonNull private final ContentResolver mContentResolver; @NonNull private final DevicePolicyManagerInternal mDevicePolicyManagerInternal; @@ -50,6 +53,8 @@ public class ContentProtectionConsentManager { private volatile boolean mCachedPackageVerifierConsent; + private volatile boolean mCachedContentProtectionConsent; + public ContentProtectionConsentManager( @NonNull Handler handler, @NonNull ContentResolver contentResolver, @@ -63,14 +68,18 @@ public class ContentProtectionConsentManager { /* notifyForDescendants= */ false, mContentObserver, UserHandle.USER_ALL); + mCachedPackageVerifierConsent = isPackageVerifierConsentGranted(); + mCachedContentProtectionConsent = isContentProtectionConsentGranted(); } /** * Returns true if all the consents are granted */ public boolean isConsentGranted(@UserIdInt int userId) { - return mCachedPackageVerifierConsent && !isUserOrganizationManaged(userId); + return mCachedPackageVerifierConsent + && mCachedContentProtectionConsent + && !isUserOrganizationManaged(userId); } private boolean isPackageVerifierConsentGranted() { @@ -80,6 +89,13 @@ public class ContentProtectionConsentManager { >= 1; } + private boolean isContentProtectionConsentGranted() { + // Not always cached internally + return Settings.Global.getInt( + mContentResolver, KEY_CONTENT_PROTECTION_USER_CONSENT, /* def= */ 0) + >= 0; + } + private boolean isUserOrganizationManaged(@UserIdInt int userId) { // Cached internally return mDevicePolicyManagerInternal.isUserOrganizationManaged(userId); @@ -101,6 +117,9 @@ public class ContentProtectionConsentManager { case KEY_PACKAGE_VERIFIER_USER_CONSENT: mCachedPackageVerifierConsent = isPackageVerifierConsentGranted(); return; + case KEY_CONTENT_PROTECTION_USER_CONSENT: + mCachedContentProtectionConsent = isContentProtectionConsentGranted(); + return; default: Slog.w(TAG, "Ignoring unexpected property: " + property); } diff --git a/services/core/Android.bp b/services/core/Android.bp index 961e9d3dcfff..c220528ead96 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -96,26 +96,11 @@ genrule { out: ["com/android/server/location/contexthub/ContextHubStatsLog.java"], } -/* - * This module is used to refer aconfig flag libraries that are - * added to the framework via static_libs. - * These libraries are referred here via libs prevent duplication of classes in both - * the framework and the system server. -*/ -java_defaults { - name: "shared-framework-aconfig-libs", - libs: [ - "display_flags_lib", - "camera_platform_flags_core_java_lib", - ], -} - java_library_static { name: "services.core.unboosted", defaults: [ "platform_service_defaults", "android.hardware.power-java_static", - "shared-framework-aconfig-libs", ], srcs: [ ":android.hardware.biometrics.face-V3-java-source", @@ -155,6 +140,7 @@ java_library_static { "service-permission.stubs.system_server", "service-rkp.stubs.system_server", "service-sdksandbox.stubs.system_server", + "device_policy_aconfig_flags_lib", ], plugins: ["ImmutabilityAnnotationProcessor"], @@ -173,7 +159,7 @@ java_library_static { "android.hardware.boot-V1.2-java", // HIDL "android.hardware.boot-V1-java", // AIDL "android.hardware.broadcastradio-V2.0-java", // HIDL - "android.hardware.broadcastradio-V1-java", // AIDL + "android.hardware.broadcastradio-V2-java", // AIDL "android.hardware.health-V1.0-java", // HIDL "android.hardware.health-V2.0-java", // HIDL "android.hardware.health-V2.1-java", // HIDL @@ -212,6 +198,7 @@ java_library_static { "notification_flags_lib", "biometrics_flags_lib", "am_flags_lib", + "com_android_wm_shell_flags_lib", ], javac_shard_size: 50, javacflags: [ diff --git a/services/core/java/com/android/server/BrickReceiver.java b/services/core/java/com/android/server/BrickReceiver.java deleted file mode 100644 index cff3805b68d2..000000000000 --- a/services/core/java/com/android/server/BrickReceiver.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS 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; - -import android.content.Context; -import android.content.Intent; -import android.content.BroadcastReceiver; -import android.os.SystemService; -import android.util.Slog; - -public class BrickReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - Slog.w("BrickReceiver", "!!! BRICKING DEVICE !!!"); - SystemService.start("brick"); - } -} diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 0ab81a5e4eac..f9fc4d4f27fa 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -121,6 +121,7 @@ import com.android.server.power.stats.AggregatedPowerStatsConfig; import com.android.server.power.stats.BatteryExternalStatsWorker; import com.android.server.power.stats.BatteryStatsImpl; import com.android.server.power.stats.BatteryUsageStatsProvider; +import com.android.server.power.stats.CpuAggregatedPowerStatsProcessor; import com.android.server.power.stats.PowerStatsAggregator; import com.android.server.power.stats.PowerStatsScheduler; import com.android.server.power.stats.PowerStatsStore; @@ -190,6 +191,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub .replaceWith("?"); private static final int MAX_LOW_POWER_STATS_SIZE = 32768; private static final int POWER_STATS_QUERY_TIMEOUT_MILLIS = 2000; + private static final String DEVICE_CONFIG_NAMESPACE = "backstage_power"; private static final String MIN_CONSUMED_POWER_THRESHOLD_KEY = "min_consumed_power_threshold"; private static final String EMPTY = "Empty"; @@ -440,7 +442,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub .trackUidStates( AggregatedPowerStatsConfig.STATE_POWER, AggregatedPowerStatsConfig.STATE_SCREEN, - AggregatedPowerStatsConfig.STATE_PROCESS_STATE); + AggregatedPowerStatsConfig.STATE_PROCESS_STATE) + .setProcessor( + new CpuAggregatedPowerStatsProcessor(mPowerProfile, mCpuScalingPolicies)); return config; } @@ -903,7 +907,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET: @SuppressLint("MissingPermission") final double minConsumedPowerThreshold = - DeviceConfig.getFloat(DeviceConfig.NAMESPACE_BATTERY_STATS, + DeviceConfig.getFloat(DEVICE_CONFIG_NAMESPACE, MIN_CONSUMED_POWER_THRESHOLD_KEY, 0); final BatteryUsageStatsQuery querySinceReset = new BatteryUsageStatsQuery.Builder() diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java index a57a785153e0..9bbfc8f562e2 100644 --- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java @@ -121,8 +121,10 @@ public class SettingsToPropertiesMapper { "accessibility", "android_core_networking", "angle", + "app_widgets", "arc_next", "bluetooth", + "build", "biometrics_framework", "biometrics_integration", "camera_platform", @@ -136,10 +138,12 @@ public class SettingsToPropertiesMapper { "context_hub", "core_experiments_team_internal", "core_graphics", + "game", "haptics", "hardware_backed_security_mainline", "input", "machine_learning", + "mainline_modularization", "mainline_sdk", "media_audio", "media_drm", @@ -152,9 +156,12 @@ public class SettingsToPropertiesMapper { "platform_security", "power", "preload_safety", + "privacy_infra_policy", + "resource_manager", "responsible_apis", "rust", "safety_center", + "sensors", "system_performance", "test_suites", "text", diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 516293b6fa2e..052b0c2078d1 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -2680,8 +2680,17 @@ public class AppOpsService extends IAppOpsService.Stub { .filterAppAccess(packageName, callingUid, userId); } + /** @deprecated Use {@link #noteProxyOperationWithState} instead. */ @Override public SyncNotedAppOp noteProxyOperation(int code, + AttributionSource attributionSource, boolean shouldCollectAsyncNotedOp, + String message, boolean shouldCollectMessage, boolean skipProxyOperation) { + return mCheckOpsDelegateDispatcher.noteProxyOperation(code, attributionSource, + shouldCollectAsyncNotedOp, message, shouldCollectMessage, skipProxyOperation); + } + + @Override + public SyncNotedAppOp noteProxyOperationWithState(int code, AttributionSourceState attributionSourceState, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation) { AttributionSource attributionSource = new AttributionSource(attributionSourceState); @@ -3212,8 +3221,21 @@ public class AppOpsService extends IAppOpsService.Stub { attributionChainId); } + /** @deprecated Use {@link #startProxyOperationWithState} instead. */ @Override public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code, + @NonNull AttributionSource attributionSource, boolean startIfModeDefault, + boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, + boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags, + @AttributionFlags int proxiedAttributionFlags, int attributionChainId) { + return mCheckOpsDelegateDispatcher.startProxyOperation(clientId, code, attributionSource, + startIfModeDefault, shouldCollectAsyncNotedOp, message, shouldCollectMessage, + skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlags, + attributionChainId); + } + + @Override + public SyncNotedAppOp startProxyOperationWithState(@NonNull IBinder clientId, int code, @NonNull AttributionSourceState attributionSourceState, boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags, @@ -3513,8 +3535,16 @@ public class AppOpsService extends IAppOpsService.Stub { finishOperationUnchecked(clientId, code, uid, resolvedPackageName, attributionTag); } + /** @deprecated Use {@link #finishProxyOperationWithState} instead. */ @Override public void finishProxyOperation(@NonNull IBinder clientId, int code, + @NonNull AttributionSource attributionSource, boolean skipProxyOperation) { + mCheckOpsDelegateDispatcher.finishProxyOperation(clientId, code, attributionSource, + skipProxyOperation); + } + + @Override + public void finishProxyOperationWithState(@NonNull IBinder clientId, int code, @NonNull AttributionSourceState attributionSourceState, boolean skipProxyOperation) { AttributionSource attributionSource = new AttributionSource(attributionSourceState); mCheckOpsDelegateDispatcher.finishProxyOperation(clientId, code, attributionSource, diff --git a/services/core/java/com/android/server/audio/AudioDeviceInventory.java b/services/core/java/com/android/server/audio/AudioDeviceInventory.java index a1d2e1412777..d7076899fcb6 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceInventory.java +++ b/services/core/java/com/android/server/audio/AudioDeviceInventory.java @@ -924,9 +924,6 @@ public class AudioDeviceInventory { @NonNull List<AudioDeviceAttributes> devices) { int status = AudioSystem.ERROR; try (SafeCloseable ignored = ClearCallingIdentityContext.create()) { - AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( - "setPreferredDevicesForStrategy, strategy: " + strategy - + " devices: " + devices)).printLog(TAG)); status = setDevicesRoleForStrategy( strategy, AudioSystem.DEVICE_ROLE_PREFERRED, devices, false /* internal */); } @@ -952,10 +949,6 @@ public class AudioDeviceInventory { int status = AudioSystem.ERROR; try (SafeCloseable ignored = ClearCallingIdentityContext.create()) { - AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( - "removePreferredDevicesForStrategy, strategy: " - + strategy)).printLog(TAG)); - status = clearDevicesRoleForStrategy( strategy, AudioSystem.DEVICE_ROLE_PREFERRED, false /*internal */); } @@ -974,10 +967,6 @@ public class AudioDeviceInventory { try (SafeCloseable ignored = ClearCallingIdentityContext.create()) { List<AudioDeviceAttributes> devices = new ArrayList<>(); devices.add(device); - - AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( - "setDeviceAsNonDefaultForStrategyAndSave, strategy: " + strategy - + " device: " + device)).printLog(TAG)); status = addDevicesRoleForStrategy( strategy, AudioSystem.DEVICE_ROLE_DISABLED, devices, false /* internal */); } @@ -995,11 +984,6 @@ public class AudioDeviceInventory { try (SafeCloseable ignored = ClearCallingIdentityContext.create()) { List<AudioDeviceAttributes> devices = new ArrayList<>(); devices.add(device); - - AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( - "removeDeviceAsNonDefaultForStrategyAndSave, strategy: " - + strategy + " devices: " + device)).printLog(TAG)); - status = removeDevicesRoleForStrategy( strategy, AudioSystem.DEVICE_ROLE_DISABLED, devices, false /* internal */); } diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 9b03afbcc569..a8fa313abc7a 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -16,8 +16,8 @@ package com.android.server.audio; -import static android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED; import static android.app.BroadcastOptions.DELIVERY_GROUP_POLICY_MOST_RECENT; +import static android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED; import static android.media.AudioDeviceInfo.TYPE_BLE_HEADSET; import static android.media.AudioDeviceInfo.TYPE_BLE_SPEAKER; import static android.media.AudioDeviceInfo.TYPE_BLUETOOTH_A2DP; @@ -150,6 +150,7 @@ import android.media.permission.SafeCloseable; import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionCallback; import android.media.projection.IMediaProjectionManager; +import android.media.session.MediaSessionManager; import android.net.Uri; import android.os.Binder; import android.os.Build; @@ -309,6 +310,9 @@ public class AudioService extends IAudioService.Stub private final ContentResolver mContentResolver; private final AppOpsManager mAppOps; + /** do not use directly, use getMediaSessionManager() which handles lazy initialization */ + @Nullable private volatile MediaSessionManager mMediaSessionManager; + // the platform type affects volume and silent mode behavior private final int mPlatformType; @@ -940,6 +944,8 @@ public class AudioService extends IAudioService.Stub private final SoundDoseHelper mSoundDoseHelper; + private final HardeningEnforcer mHardeningEnforcer; + private final Object mSupportedSystemUsagesLock = new Object(); @GuardedBy("mSupportedSystemUsagesLock") private @AttributeSystemUsage int[] mSupportedSystemUsages = @@ -1314,6 +1320,8 @@ public class AudioService extends IAudioService.Stub mDisplayManager = context.getSystemService(DisplayManager.class); mMusicFxHelper = new MusicFxHelper(mContext, mAudioHandler); + + mHardeningEnforcer = new HardeningEnforcer(mContext, isPlatformAutomotive()); } private void initVolumeStreamStates() { @@ -1383,7 +1391,6 @@ public class AudioService extends IAudioService.Stub // check on volume initialization checkVolumeRangeInitialization("AudioService()"); - } private SubscriptionManager.OnSubscriptionsChangedListener mSubscriptionChangedListener = @@ -1396,6 +1403,14 @@ public class AudioService extends IAudioService.Stub } }; + private MediaSessionManager getMediaSessionManager() { + if (mMediaSessionManager == null) { + mMediaSessionManager = (MediaSessionManager) mContext + .getSystemService(Context.MEDIA_SESSION_SERVICE); + } + return mMediaSessionManager; + } + /** * Initialize intent receives and settings observers for this service. * Must be called after createStreamStates() as the handling of some events @@ -2921,11 +2936,11 @@ public class AudioService extends IAudioService.Stub super.removePreferredDevicesForStrategy_enforcePermission(); final String logString = - String.format("removePreferredDeviceForStrategy strat:%d", strategy); + String.format("removePreferredDevicesForStrategy strat:%d", strategy); sDeviceLogger.enqueue(new EventLogger.StringEvent(logString).printLog(TAG)); final int status = mDeviceBroker.removePreferredDevicesForStrategySync(strategy); - if (status != AudioSystem.SUCCESS) { + if (status != AudioSystem.SUCCESS && status != AudioSystem.BAD_VALUE) { Log.e(TAG, String.format("Error %d in %s)", status, logString)); } return status; @@ -3009,7 +3024,7 @@ public class AudioService extends IAudioService.Stub } final int status = mDeviceBroker.removeDeviceAsNonDefaultForStrategySync(strategy, device); - if (status != AudioSystem.SUCCESS) { + if (status != AudioSystem.SUCCESS && status != AudioSystem.BAD_VALUE) { Log.e(TAG, String.format("Error %d in %s)", status, logString)); } return status; @@ -3129,7 +3144,7 @@ public class AudioService extends IAudioService.Stub sDeviceLogger.enqueue(new EventLogger.StringEvent(logString).printLog(TAG)); final int status = mDeviceBroker.clearPreferredDevicesForCapturePresetSync(capturePreset); - if (status != AudioSystem.SUCCESS) { + if (status != AudioSystem.SUCCESS && status != AudioSystem.BAD_VALUE) { Log.e(TAG, String.format("Error %d in %s", status, logString)); } return status; @@ -3424,6 +3439,10 @@ public class AudioService extends IAudioService.Stub * Part of service interface, check permissions here */ public void adjustStreamVolumeWithAttribution(int streamType, int direction, int flags, String callingPackage, String attributionTag) { + if (mHardeningEnforcer.blockVolumeMethod( + HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_STREAM_VOLUME)) { + return; + } if ((streamType == AudioManager.STREAM_ACCESSIBILITY) && !canChangeAccessibilityVolume()) { Log.w(TAG, "Trying to call adjustStreamVolume() for a11y without" + "CHANGE_ACCESSIBILITY_VOLUME / callingPackage=" + callingPackage); @@ -4200,6 +4219,10 @@ public class AudioService extends IAudioService.Stub * Part of service interface, check permissions here */ public void setStreamVolumeWithAttribution(int streamType, int index, int flags, String callingPackage, String attributionTag) { + if (mHardeningEnforcer.blockVolumeMethod( + HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_STREAM_VOLUME)) { + return; + } setStreamVolumeWithAttributionInt(streamType, index, flags, /*device*/ null, callingPackage, attributionTag); } @@ -5052,6 +5075,7 @@ public class AudioService extends IAudioService.Stub /** @see AudioManager#setMasterMute(boolean, int) */ public void setMasterMute(boolean mute, int flags, String callingPackage, int userId, String attributionTag) { + super.setMasterMute_enforcePermission(); setMasterMuteInternal(mute, flags, callingPackage, @@ -5417,6 +5441,10 @@ public class AudioService extends IAudioService.Stub } public void setRingerModeExternal(int ringerMode, String caller) { + if (mHardeningEnforcer.blockVolumeMethod( + HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_RINGER_MODE)) { + return; + } if (isAndroidNPlus(caller) && wouldToggleZenMode(ringerMode) && !mNm.isNotificationPolicyAccessGrantedForPackage(caller)) { throw new SecurityException("Not allowed to change Do Not Disturb state"); @@ -6169,6 +6197,35 @@ public class AudioService extends IAudioService.Stub AudioDeviceVolumeManager.ADJUST_MODE_NORMAL); } + /** + * @see AudioManager#adjustVolume(int, int) + * This method is redirected from AudioManager to AudioService for API hardening rules + * enforcement then to MediaSession for implementation. + */ + @Override + public void adjustVolume(int direction, int flags) { + if (mHardeningEnforcer.blockVolumeMethod( + HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_VOLUME)) { + return; + } + getMediaSessionManager().dispatchAdjustVolume(AudioManager.USE_DEFAULT_STREAM_TYPE, + direction, flags); + } + + /** + * @see AudioManager#adjustSuggestedStreamVolume(int, int, int) + * This method is redirected from AudioManager to AudioService for API hardening rules + * enforcement then to MediaSession for implementation. + */ + @Override + public void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags) { + if (mHardeningEnforcer.blockVolumeMethod( + HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_SUGGESTED_STREAM_VOLUME)) { + return; + } + getMediaSessionManager().dispatchAdjustVolume(suggestedStreamType, direction, flags); + } + /** @see AudioManager#setStreamVolumeForUid(int, int, int, String, int, int, int) */ @Override public void setStreamVolumeForUid(int streamType, int index, int flags, diff --git a/services/core/java/com/android/server/audio/BtHelper.java b/services/core/java/com/android/server/audio/BtHelper.java index 6af409e7af3a..7d7e6d000f62 100644 --- a/services/core/java/com/android/server/audio/BtHelper.java +++ b/services/core/java/com/android/server/audio/BtHelper.java @@ -44,7 +44,9 @@ import com.android.server.utils.EventLogger; import java.io.PrintWriter; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; /** @@ -66,6 +68,8 @@ public class BtHelper { // Bluetooth headset device private @Nullable BluetoothDevice mBluetoothHeadsetDevice; + private final Map<BluetoothDevice, AudioDeviceAttributes> mResolvedScoAudioDevices = + new HashMap<>(); private @Nullable BluetoothHearingAid mHearingAid; @@ -590,7 +594,16 @@ public class BtHelper { if (mBluetoothHeadsetDevice == null) { return null; } - return btHeadsetDeviceToAudioDevice(mBluetoothHeadsetDevice); + return getHeadsetAudioDevice(mBluetoothHeadsetDevice); + } + + private @NonNull AudioDeviceAttributes getHeadsetAudioDevice(BluetoothDevice btDevice) { + AudioDeviceAttributes deviceAttr = mResolvedScoAudioDevices.get(btDevice); + if (deviceAttr != null) { + // Returns the cached device attributes so that it is consistent as the previous one. + return deviceAttr; + } + return btHeadsetDeviceToAudioDevice(btDevice); } private static AudioDeviceAttributes btHeadsetDeviceToAudioDevice(BluetoothDevice btDevice) { @@ -628,7 +641,7 @@ public class BtHelper { return true; } int inDevice = AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET; - AudioDeviceAttributes audioDevice = btHeadsetDeviceToAudioDevice(btDevice); + AudioDeviceAttributes audioDevice = btHeadsetDeviceToAudioDevice(btDevice); boolean result = false; if (isActive) { result |= mDeviceBroker.handleDeviceConnection(audioDevice, isActive, btDevice); @@ -648,6 +661,13 @@ public class BtHelper { result = mDeviceBroker.handleDeviceConnection(new AudioDeviceAttributes( inDevice, audioDevice.getAddress(), audioDevice.getName()), isActive, btDevice) && result; + if (result) { + if (isActive) { + mResolvedScoAudioDevices.put(btDevice, audioDevice); + } else { + mResolvedScoAudioDevices.remove(btDevice); + } + } return result; } diff --git a/services/core/java/com/android/server/audio/HardeningEnforcer.java b/services/core/java/com/android/server/audio/HardeningEnforcer.java new file mode 100644 index 000000000000..c7556dacb783 --- /dev/null +++ b/services/core/java/com/android/server/audio/HardeningEnforcer.java @@ -0,0 +1,109 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.server.audio; + +import static com.android.media.audio.flags.Flags.autoPublicVolumeApiHardening; + +import android.Manifest; +import android.content.Context; +import android.content.pm.PackageManager; +import android.media.AudioManager; +import android.os.Binder; +import android.os.UserHandle; +import android.text.TextUtils; +import android.util.Log; + +/** + * Class to encapsulate all audio API hardening operations + */ +public class HardeningEnforcer { + + private static final String TAG = "AS.HardeningEnforcer"; + + final Context mContext; + final boolean mIsAutomotive; + + /** + * Matches calls from {@link AudioManager#setStreamVolume(int, int, int)} + */ + public static final int METHOD_AUDIO_MANAGER_SET_STREAM_VOLUME = 100; + /** + * Matches calls from {@link AudioManager#adjustVolume(int, int)} + */ + public static final int METHOD_AUDIO_MANAGER_ADJUST_VOLUME = 101; + /** + * Matches calls from {@link AudioManager#adjustSuggestedStreamVolume(int, int, int)} + */ + public static final int METHOD_AUDIO_MANAGER_ADJUST_SUGGESTED_STREAM_VOLUME = 102; + /** + * Matches calls from {@link AudioManager#adjustStreamVolume(int, int, int)} + */ + public static final int METHOD_AUDIO_MANAGER_ADJUST_STREAM_VOLUME = 103; + /** + * Matches calls from {@link AudioManager#setRingerMode(int)} + */ + public static final int METHOD_AUDIO_MANAGER_SET_RINGER_MODE = 200; + + public HardeningEnforcer(Context ctxt, boolean isAutomotive) { + mContext = ctxt; + mIsAutomotive = isAutomotive; + } + + /** + * Checks whether the call in the current thread should be allowed or blocked + * @param volumeMethod name of the method to check, for logging purposes + * @return false if the method call is allowed, true if it should be a no-op + */ + protected boolean blockVolumeMethod(int volumeMethod) { + // for Auto, volume methods require MODIFY_AUDIO_SETTINGS_PRIVILEGED + if (mIsAutomotive) { + if (!autoPublicVolumeApiHardening()) { + // automotive hardening flag disabled, no blocking on auto + return false; + } + if (mContext.checkCallingOrSelfPermission( + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) + == PackageManager.PERMISSION_GRANTED) { + return false; + } + if (Binder.getCallingUid() < UserHandle.AID_APP_START) { + return false; + } + // TODO metrics? + // TODO log for audio dumpsys? + Log.e(TAG, "Preventing volume method " + volumeMethod + " for " + + getPackNameForUid(Binder.getCallingUid())); + return true; + } + // not blocking + return false; + } + + private String getPackNameForUid(int uid) { + final long token = Binder.clearCallingIdentity(); + try { + final String[] names = mContext.getPackageManager().getPackagesForUid(uid); + if (names == null + || names.length == 0 + || TextUtils.isEmpty(names[0])) { + return "[" + uid + "]"; + } + return names[0]; + } finally { + Binder.restoreCallingIdentity(token); + } + } +} diff --git a/services/core/java/com/android/server/biometrics/PreAuthInfo.java b/services/core/java/com/android/server/biometrics/PreAuthInfo.java index c29d9bd19149..f085647c9676 100644 --- a/services/core/java/com/android/server/biometrics/PreAuthInfo.java +++ b/services/core/java/com/android/server/biometrics/PreAuthInfo.java @@ -108,7 +108,7 @@ class PreAuthInfo { final boolean credentialRequested = Utils.isCredentialRequested(promptInfo); final boolean credentialAvailable = trustManager.isDeviceSecure(userId, - context.getAssociatedDisplayId()); + context.getDeviceId()); // Assuming that biometric authenticators are listed in priority-order, the rest of this // function will attempt to find the first authenticator that's as strong or stronger than diff --git a/services/core/java/com/android/server/broadcastradio/aidl/ConversionUtils.java b/services/core/java/com/android/server/broadcastradio/aidl/ConversionUtils.java index 6bed42b54bd9..5b77c5214dd9 100644 --- a/services/core/java/com/android/server/broadcastradio/aidl/ConversionUtils.java +++ b/services/core/java/com/android/server/broadcastradio/aidl/ConversionUtils.java @@ -23,6 +23,7 @@ import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.hardware.broadcastradio.AmFmRegionConfig; import android.hardware.broadcastradio.Announcement; +import android.hardware.broadcastradio.ConfigFlag; import android.hardware.broadcastradio.DabTableEntry; import android.hardware.broadcastradio.IdentifierType; import android.hardware.broadcastradio.Metadata; @@ -32,6 +33,7 @@ import android.hardware.broadcastradio.ProgramInfo; import android.hardware.broadcastradio.Properties; import android.hardware.broadcastradio.Result; import android.hardware.broadcastradio.VendorKeyValue; +import android.hardware.radio.Flags; import android.hardware.radio.ProgramList; import android.hardware.radio.ProgramSelector; import android.hardware.radio.RadioManager; @@ -45,6 +47,7 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.IntArray; +import com.android.internal.annotations.VisibleForTesting; import com.android.server.utils.Slogf; import java.util.ArrayList; @@ -65,13 +68,22 @@ final class ConversionUtils { /** * With RADIO_U_VERSION_REQUIRED enabled, 44-bit DAB identifier - * {@link IdentifierType#DAB_SID_EXT} from broadcast radio HAL can be passed as - * {@link ProgramSelector#IDENTIFIER_TYPE_DAB_DMB_SID_EXT} to {@link RadioTuner}. + * {@code IdentifierType#DAB_SID_EXT} from broadcast radio HAL can be passed as + * {@code ProgramSelector#IDENTIFIER_TYPE_DAB_DMB_SID_EXT} to {@code RadioTuner}. */ @ChangeId @EnabledSince(targetSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public static final long RADIO_U_VERSION_REQUIRED = 261770108L; + /** + * With RADIO_V_VERSION_REQUIRED enabled, identifier types, config flags and metadata added + * in V for HD radio can be passed to {@code RadioTuner} by + * {@code android.hardware.radio.ITunerCallback} + */ + @ChangeId + @EnabledSince(targetSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM) + public static final long RADIO_V_VERSION_REQUIRED = 302589903L; + private ConversionUtils() { throw new UnsupportedOperationException("ConversionUtils class is noninstantiable"); } @@ -81,6 +93,11 @@ final class ConversionUtils { return CompatChanges.isChangeEnabled(RADIO_U_VERSION_REQUIRED, uid); } + @SuppressLint("AndroidFrameworkRequiresPermission") + static boolean isAtLeastV(int uid) { + return CompatChanges.isChangeEnabled(RADIO_V_VERSION_REQUIRED, uid); + } + static RuntimeException throwOnError(RuntimeException halException, String action) { if (!(halException instanceof ServiceSpecificException)) { return new ParcelableException(new RuntimeException( @@ -181,6 +198,7 @@ final class ConversionUtils { // TODO(b/69958423): verify AM/FM with frequency range return ProgramSelector.PROGRAM_TYPE_FM; case ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT: + case ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME: // TODO(b/69958423): verify AM/FM with frequency range return ProgramSelector.PROGRAM_TYPE_FM_HD; case ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC: @@ -195,6 +213,12 @@ final class ConversionUtils { case ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID: case ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL: return ProgramSelector.PROGRAM_TYPE_SXM; + default: + if (Flags.hdRadioImproved()) { + if (idType == ProgramSelector.IDENTIFIER_TYPE_HD_STATION_LOCATION) { + return ProgramSelector.PROGRAM_TYPE_FM_HD; + } + } } if (idType >= ProgramSelector.IDENTIFIER_TYPE_VENDOR_PRIMARY_START && idType <= ProgramSelector.IDENTIFIER_TYPE_VENDOR_PRIMARY_END) { @@ -322,9 +346,16 @@ final class ConversionUtils { static ProgramIdentifier identifierToHalProgramIdentifier(ProgramSelector.Identifier id) { ProgramIdentifier hwId = new ProgramIdentifier(); - hwId.type = id.getType(); if (id.getType() == ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT) { hwId.type = IdentifierType.DAB_SID_EXT; + } else if (Flags.hdRadioImproved()) { + if (id.getType() == ProgramSelector.IDENTIFIER_TYPE_HD_STATION_LOCATION) { + hwId.type = IdentifierType.HD_STATION_LOCATION; + } else { + hwId.type = id.getType(); + } + } else { + hwId.type = id.getType(); } long value = id.getValue(); if (id.getType() == ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT) { @@ -344,6 +375,12 @@ final class ConversionUtils { int idType; if (id.type == IdentifierType.DAB_SID_EXT) { idType = ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT; + } else if (id.type == IdentifierType.HD_STATION_LOCATION) { + if (Flags.hdRadioImproved()) { + idType = ProgramSelector.IDENTIFIER_TYPE_HD_STATION_LOCATION; + } else { + return null; + } } else { idType = id.type; } @@ -375,7 +412,12 @@ final class ConversionUtils { ProgramSelector.Identifier[] secondaryIds = sel.getSecondaryIds(); ArrayList<ProgramIdentifier> secondaryIdList = new ArrayList<>(secondaryIds.length); for (int i = 0; i < secondaryIds.length; i++) { - secondaryIdList.add(identifierToHalProgramIdentifier(secondaryIds[i])); + ProgramIdentifier hwId = identifierToHalProgramIdentifier(secondaryIds[i]); + if (hwId.type != IdentifierType.INVALID) { + secondaryIdList.add(hwId); + } else { + Slogf.w(TAG, "Invalid secondary id: %s", secondaryIds[i]); + } } hwSel.secondaryIds = secondaryIdList.toArray(ProgramIdentifier[]::new); if (!isValidHalProgramSelector(hwSel)) { @@ -400,7 +442,12 @@ final class ConversionUtils { List<ProgramSelector.Identifier> secondaryIdList = new ArrayList<>(); for (int i = 0; i < sel.secondaryIds.length; i++) { if (sel.secondaryIds[i] != null) { - secondaryIdList.add(identifierFromHalProgramIdentifier(sel.secondaryIds[i])); + ProgramSelector.Identifier id = identifierFromHalProgramIdentifier( + sel.secondaryIds[i]); + if (id == null) { + Slogf.e(TAG, "invalid secondary id: %s", sel.secondaryIds[i]); + } + secondaryIdList.add(id); } } @@ -411,11 +458,13 @@ final class ConversionUtils { /* vendorIds= */ null); } - private static RadioMetadata radioMetadataFromHalMetadata(Metadata[] meta) { + @VisibleForTesting + static RadioMetadata radioMetadataFromHalMetadata(Metadata[] meta) { RadioMetadata.Builder builder = new RadioMetadata.Builder(); for (int i = 0; i < meta.length; i++) { - switch (meta[i].getTag()) { + int tag = meta[i].getTag(); + switch (tag) { case Metadata.rdsPs: builder.putString(RadioMetadata.METADATA_KEY_RDS_PS, meta[i].getRdsPs()); break; @@ -472,10 +521,52 @@ final class ConversionUtils { meta[i].getDabComponentNameShort()); break; default: - Slogf.w(TAG, "Ignored unknown metadata entry: %s", meta[i]); + if (Flags.hdRadioImproved()) { + switch (tag) { + case Metadata.genre: + builder.putString(RadioMetadata.METADATA_KEY_GENRE, + meta[i].getGenre()); + break; + case Metadata.commentShortDescription: + builder.putString( + RadioMetadata.METADATA_KEY_COMMENT_SHORT_DESCRIPTION, + meta[i].getCommentShortDescription()); + break; + case Metadata.commentActualText: + builder.putString(RadioMetadata.METADATA_KEY_COMMENT_ACTUAL_TEXT, + meta[i].getCommentActualText()); + break; + case Metadata.commercial: + builder.putString(RadioMetadata.METADATA_KEY_COMMERCIAL, + meta[i].getCommercial()); + break; + case Metadata.ufids: + builder.putStringArray(RadioMetadata.METADATA_KEY_UFIDS, + meta[i].getUfids()); + break; + case Metadata.hdStationNameShort: + builder.putString(RadioMetadata.METADATA_KEY_HD_STATION_NAME_SHORT, + meta[i].getHdStationNameShort()); + break; + case Metadata.hdStationNameLong: + builder.putString(RadioMetadata.METADATA_KEY_HD_STATION_NAME_LONG, + meta[i].getHdStationNameLong()); + break; + case Metadata.hdSubChannelsAvailable: + builder.putInt(RadioMetadata.METADATA_KEY_HD_SUBCHANNELS_AVAILABLE, + meta[i].getHdSubChannelsAvailable()); + break; + default: + Slogf.w(TAG, "Ignored unknown metadata entry: %s with HD radio flag" + + " enabled", meta[i]); + break; + } + } else { + Slogf.w(TAG, "Ignored unknown metadata entry: %s with HD radio flag " + + "disabled", meta[i]); + } break; } - } return builder.build(); @@ -547,7 +638,13 @@ final class ConversionUtils { } Iterator<ProgramSelector.Identifier> idIterator = filter.getIdentifiers().iterator(); while (idIterator.hasNext()) { - identifiersList.add(identifierToHalProgramIdentifier(idIterator.next())); + ProgramSelector.Identifier id = idIterator.next(); + ProgramIdentifier hwId = identifierToHalProgramIdentifier(id); + if (hwId.type != IdentifierType.INVALID) { + identifiersList.add(hwId); + } else { + Slogf.w(TAG, "Invalid identifiers: %s", id); + } } hwFilter.identifierTypes = identifierTypeList.toArray(); @@ -558,20 +655,26 @@ final class ConversionUtils { return hwFilter; } - private static boolean isNewIdentifierInU(ProgramSelector.Identifier id) { - return id.getType() == ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT; + private static boolean identifierMeetsSdkVersionRequirement(ProgramSelector.Identifier id, + int uid) { + if (Flags.hdRadioImproved() && !isAtLeastV(uid)) { + if (id.getType() == ProgramSelector.IDENTIFIER_TYPE_HD_STATION_LOCATION) { + return false; + } + } + if (!isAtLeastU(uid)) { + return id.getType() != ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT; + } + return true; } static boolean programSelectorMeetsSdkVersionRequirement(ProgramSelector sel, int uid) { - if (isAtLeastU(uid)) { - return true; - } - if (sel.getPrimaryId().getType() == ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT) { + if (!identifierMeetsSdkVersionRequirement(sel.getPrimaryId(), uid)) { return false; } ProgramSelector.Identifier[] secondaryIds = sel.getSecondaryIds(); for (int i = 0; i < secondaryIds.length; i++) { - if (isNewIdentifierInU(secondaryIds[i])) { + if (!identifierMeetsSdkVersionRequirement(secondaryIds[i], uid)) { return false; } } @@ -579,14 +682,11 @@ final class ConversionUtils { } static boolean programInfoMeetsSdkVersionRequirement(RadioManager.ProgramInfo info, int uid) { - if (isAtLeastU(uid)) { - return true; - } if (!programSelectorMeetsSdkVersionRequirement(info.getSelector(), uid)) { return false; } - if (isNewIdentifierInU(info.getLogicallyTunedTo()) - || isNewIdentifierInU(info.getPhysicallyTunedTo())) { + if (!identifierMeetsSdkVersionRequirement(info.getLogicallyTunedTo(), uid) + || !identifierMeetsSdkVersionRequirement(info.getPhysicallyTunedTo(), uid)) { return false; } if (info.getRelatedContent() == null) { @@ -594,7 +694,7 @@ final class ConversionUtils { } Iterator<ProgramSelector.Identifier> relatedContentIt = info.getRelatedContent().iterator(); while (relatedContentIt.hasNext()) { - if (isNewIdentifierInU(relatedContentIt.next())) { + if (!identifierMeetsSdkVersionRequirement(relatedContentIt.next(), uid)) { return false; } } @@ -602,9 +702,6 @@ final class ConversionUtils { } static ProgramList.Chunk convertChunkToTargetSdkVersion(ProgramList.Chunk chunk, int uid) { - if (isAtLeastU(uid)) { - return chunk; - } Set<RadioManager.ProgramInfo> modified = new ArraySet<>(); Iterator<RadioManager.ProgramInfo> modifiedIterator = chunk.getModified().iterator(); while (modifiedIterator.hasNext()) { @@ -617,13 +714,21 @@ final class ConversionUtils { Iterator<UniqueProgramIdentifier> removedIterator = chunk.getRemoved().iterator(); while (removedIterator.hasNext()) { UniqueProgramIdentifier id = removedIterator.next(); - if (!isNewIdentifierInU(id.getPrimaryId())) { + if (identifierMeetsSdkVersionRequirement(id.getPrimaryId(), uid)) { removed.add(id); } } return new ProgramList.Chunk(chunk.isPurge(), chunk.isComplete(), modified, removed); } + static boolean configFlagMeetsSdkVersionRequirement(int configFlag, int uid) { + if (!Flags.hdRadioImproved() || !isAtLeastV(uid)) { + return configFlag != ConfigFlag.FORCE_ANALOG_AM + && configFlag != ConfigFlag.FORCE_ANALOG_FM; + } + return true; + } + public static android.hardware.radio.Announcement announcementFromHalAnnouncement( Announcement hwAnnouncement) { return new android.hardware.radio.Announcement( diff --git a/services/core/java/com/android/server/broadcastradio/aidl/RadioModule.java b/services/core/java/com/android/server/broadcastradio/aidl/RadioModule.java index 2ae7f9543540..4b3444db38e5 100644 --- a/services/core/java/com/android/server/broadcastradio/aidl/RadioModule.java +++ b/services/core/java/com/android/server/broadcastradio/aidl/RadioModule.java @@ -167,6 +167,11 @@ final class RadioModule { fireLater(() -> { synchronized (mLock) { fanoutAidlCallbackLocked((cb, uid) -> { + if (!ConversionUtils.configFlagMeetsSdkVersionRequirement(flag, uid)) { + Slogf.e(TAG, "onConfigFlagUpdated: cannot send program info " + + "requiring higher target SDK version"); + return; + } cb.onConfigFlagUpdated(flag, value); }); } diff --git a/services/core/java/com/android/server/camera/CameraServiceProxy.java b/services/core/java/com/android/server/camera/CameraServiceProxy.java index f9bc8dcc7d0b..5bb5c53f6d5e 100644 --- a/services/core/java/com/android/server/camera/CameraServiceProxy.java +++ b/services/core/java/com/android/server/camera/CameraServiceProxy.java @@ -243,6 +243,7 @@ public class CameraServiceProxy extends SystemService public String mUserTag; public int mVideoStabilizationMode; public boolean mUsedUltraWide; + public boolean mUsedZoomOverride; public final long mLogId; public final int mSessionIndex; @@ -271,7 +272,7 @@ public class CameraServiceProxy extends SystemService long resultErrorCount, boolean deviceError, List<CameraStreamStats> streamStats, String userTag, int videoStabilizationMode, boolean usedUltraWide, - CameraExtensionSessionStats extStats) { + boolean usedZoomOverride, CameraExtensionSessionStats extStats) { if (mCompleted) { return; } @@ -285,6 +286,7 @@ public class CameraServiceProxy extends SystemService mUserTag = userTag; mVideoStabilizationMode = videoStabilizationMode; mUsedUltraWide = usedUltraWide; + mUsedZoomOverride = usedZoomOverride; mExtSessionStats = extStats; if (CameraServiceProxy.DEBUG) { Slog.v(TAG, "A camera facing " + cameraFacingToString(mCameraFacing) + @@ -877,6 +879,9 @@ public class CameraServiceProxy extends SystemService String ultrawideDebug = Flags.logUltrawideUsage() ? ", wideAngleUsage " + e.mUsedUltraWide : ""; + String zoomOverrideDebug = Flags.logZoomOverrideUsage() + ? ", zoomOverrideUsage " + e.mUsedZoomOverride + : ""; Slog.v(TAG, "CAMERA_ACTION_EVENT: action " + e.mAction + " clientName " + e.mClientName @@ -895,6 +900,7 @@ public class CameraServiceProxy extends SystemService + ", userTag is " + e.mUserTag + ", videoStabilizationMode " + e.mVideoStabilizationMode + ultrawideDebug + + zoomOverrideDebug + ", logId " + e.mLogId + ", sessionIndex " + e.mSessionIndex + ", mExtSessionStats {type " + extensionType @@ -960,7 +966,8 @@ public class CameraServiceProxy extends SystemService MessageNano.toByteArray(streamProtos[4]), e.mUserTag, e.mVideoStabilizationMode, e.mLogId, e.mSessionIndex, - extensionType, extensionIsAdvanced, e.mUsedUltraWide); + extensionType, extensionIsAdvanced, e.mUsedUltraWide, + e.mUsedZoomOverride); } } @@ -1158,6 +1165,8 @@ public class CameraServiceProxy extends SystemService String userTag = cameraState.getUserTag(); int videoStabilizationMode = cameraState.getVideoStabilizationMode(); boolean usedUltraWide = Flags.logUltrawideUsage() ? cameraState.getUsedUltraWide() : false; + boolean usedZoomOverride = + Flags.logZoomOverrideUsage() ? cameraState.getUsedZoomOverride() : false; long logId = cameraState.getLogId(); int sessionIdx = cameraState.getSessionIndex(); CameraExtensionSessionStats extSessionStats = cameraState.getExtensionSessionStats(); @@ -1216,7 +1225,7 @@ public class CameraServiceProxy extends SystemService oldEvent.markCompleted(/*internalReconfigure*/0, /*requestCount*/0, /*resultErrorCount*/0, /*deviceError*/false, streamStats, /*userTag*/"", /*videoStabilizationMode*/-1, /*usedUltraWide*/false, - new CameraExtensionSessionStats()); + /*usedZoomOverride*/false, new CameraExtensionSessionStats()); mCameraUsageHistory.add(oldEvent); } break; @@ -1227,7 +1236,8 @@ public class CameraServiceProxy extends SystemService doneEvent.markCompleted(internalReconfigureCount, requestCount, resultErrorCount, deviceError, streamStats, userTag, - videoStabilizationMode, usedUltraWide, extSessionStats); + videoStabilizationMode, usedUltraWide, usedZoomOverride, + extSessionStats); mCameraUsageHistory.add(doneEvent); // Do not double count device error deviceError = false; diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index 76dde5463534..e3c0cf7365ce 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -646,7 +646,7 @@ public class ClipboardService extends SystemService { intendingUid, intendingUserId, intendingDeviceId) - || isDeviceLocked(intendingUserId)) { + || isDeviceLocked(intendingUserId, deviceId)) { return null; } synchronized (mLock) { @@ -686,7 +686,7 @@ public class ClipboardService extends SystemService { intendingUserId, intendingDeviceId, false) - || isDeviceLocked(intendingUserId)) { + || isDeviceLocked(intendingUserId, deviceId)) { return null; } synchronized (mLock) { @@ -710,7 +710,7 @@ public class ClipboardService extends SystemService { intendingUserId, intendingDeviceId, false) - || isDeviceLocked(intendingUserId)) { + || isDeviceLocked(intendingUserId, deviceId)) { return false; } synchronized (mLock) { @@ -785,7 +785,7 @@ public class ClipboardService extends SystemService { intendingUserId, intendingDeviceId, false) - || isDeviceLocked(intendingUserId)) { + || isDeviceLocked(intendingUserId, deviceId)) { return false; } synchronized (mLock) { @@ -814,7 +814,7 @@ public class ClipboardService extends SystemService { intendingUserId, intendingDeviceId, false) - || isDeviceLocked(intendingUserId)) { + || isDeviceLocked(intendingUserId, deviceId)) { return null; } synchronized (mLock) { @@ -1150,12 +1150,12 @@ public class ClipboardService extends SystemService { && text.equals(clipboard.primaryClip.getItemAt(0).getText()); } - private boolean isDeviceLocked(@UserIdInt int userId) { + private boolean isDeviceLocked(@UserIdInt int userId, int deviceId) { final long token = Binder.clearCallingIdentity(); try { final KeyguardManager keyguardManager = getContext().getSystemService( KeyguardManager.class); - return keyguardManager != null && keyguardManager.isDeviceLocked(userId); + return keyguardManager != null && keyguardManager.isDeviceLocked(userId, deviceId); } finally { Binder.restoreCallingIdentity(token); } diff --git a/services/core/java/com/android/server/display/AmbientBrightnessStatsTracker.java b/services/core/java/com/android/server/display/AmbientBrightnessStatsTracker.java index 3581981c6cec..58a654a1623c 100644 --- a/services/core/java/com/android/server/display/AmbientBrightnessStatsTracker.java +++ b/services/core/java/com/android/server/display/AmbientBrightnessStatsTracker.java @@ -28,6 +28,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.FrameworkStatsLog; import com.android.modules.utils.TypedXmlPullParser; import com.android.modules.utils.TypedXmlSerializer; +import com.android.server.display.utils.DebugUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -50,7 +51,10 @@ import java.util.Map; public class AmbientBrightnessStatsTracker { private static final String TAG = "AmbientBrightnessStatsTracker"; - private static final boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.AmbientBrightnessStatsTracker DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); @VisibleForTesting static final float[] BUCKET_BOUNDARIES_FOR_NEW_STATS = diff --git a/services/core/java/com/android/server/display/BrightnessThrottler.java b/services/core/java/com/android/server/display/BrightnessThrottler.java index 59844e1afd1c..bba5ba35dbc7 100644 --- a/services/core/java/com/android/server/display/BrightnessThrottler.java +++ b/services/core/java/com/android/server/display/BrightnessThrottler.java @@ -38,6 +38,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.server.display.DisplayDeviceConfig.ThermalBrightnessThrottlingData; import com.android.server.display.DisplayDeviceConfig.ThermalBrightnessThrottlingData.ThrottlingLevel; import com.android.server.display.feature.DeviceConfigParameterProvider; +import com.android.server.display.utils.DebugUtils; import com.android.server.display.utils.DeviceConfigParsingUtils; import java.io.PrintWriter; @@ -58,8 +59,10 @@ import java.util.function.Function; @Deprecated class BrightnessThrottler { private static final String TAG = "BrightnessThrottler"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.BrightnessThrottler DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private static final int THROTTLING_INVALID = -1; private final Injector mInjector; diff --git a/services/core/java/com/android/server/display/BrightnessTracker.java b/services/core/java/com/android/server/display/BrightnessTracker.java index d55065064871..ac5dd203fff6 100644 --- a/services/core/java/com/android/server/display/BrightnessTracker.java +++ b/services/core/java/com/android/server/display/BrightnessTracker.java @@ -64,6 +64,7 @@ import com.android.internal.util.RingBuffer; import com.android.modules.utils.TypedXmlPullParser; import com.android.modules.utils.TypedXmlSerializer; import com.android.server.LocalServices; +import com.android.server.display.utils.DebugUtils; import libcore.io.IoUtils; @@ -91,8 +92,10 @@ import java.util.concurrent.TimeUnit; public class BrightnessTracker { static final String TAG = "BrightnessTracker"; - static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.BrightnessTracker DEBUG && adb reboot' + static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private static final String EVENTS_FILE = "brightness_events.xml"; private static final String AMBIENT_BRIGHTNESS_STATS_FILE = "ambient_brightness_stats.xml"; private static final int MAX_EVENTS = 100; diff --git a/services/core/java/com/android/server/display/ColorFade.java b/services/core/java/com/android/server/display/ColorFade.java index 0d6635d5b6e4..3de188f08fb1 100644 --- a/services/core/java/com/android/server/display/ColorFade.java +++ b/services/core/java/com/android/server/display/ColorFade.java @@ -42,6 +42,7 @@ import android.window.ScreenCapture; import com.android.internal.annotations.VisibleForTesting; import com.android.server.LocalServices; +import com.android.server.display.utils.DebugUtils; import com.android.server.policy.WindowManagerPolicy; import libcore.io.Streams; @@ -66,7 +67,9 @@ import java.nio.FloatBuffer; final class ColorFade { private static final String TAG = "ColorFade"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.ColorFade DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); // The layer for the electron beam surface. // This is currently hardcoded to be one layer above the boot animation. diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java index cfbe0c69b320..a0beedb1aa64 100644 --- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java +++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java @@ -77,6 +77,7 @@ import com.android.server.display.config.ThermalThrottling; import com.android.server.display.config.ThresholdPoint; import com.android.server.display.config.UsiVersion; import com.android.server.display.config.XmlParser; +import com.android.server.display.utils.DebugUtils; import org.xmlpull.v1.XmlPullParserException; @@ -519,7 +520,10 @@ import javax.xml.datatype.DatatypeConfigurationException; */ public class DisplayDeviceConfig { private static final String TAG = "DisplayDeviceConfig"; - private static final boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayDeviceConfig DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); public static final float HIGH_BRIGHTNESS_MODE_UNSUPPORTED = Float.NaN; diff --git a/services/core/java/com/android/server/display/DisplayDeviceRepository.java b/services/core/java/com/android/server/display/DisplayDeviceRepository.java index ea52a3d4e45c..67e612d1fd99 100644 --- a/services/core/java/com/android/server/display/DisplayDeviceRepository.java +++ b/services/core/java/com/android/server/display/DisplayDeviceRepository.java @@ -24,6 +24,7 @@ import android.view.DisplayAddress; import com.android.internal.annotations.GuardedBy; import com.android.server.display.DisplayManagerService.SyncRoot; +import com.android.server.display.utils.DebugUtils; import java.util.ArrayList; import java.util.List; @@ -39,7 +40,10 @@ import java.util.function.Consumer; */ class DisplayDeviceRepository implements DisplayAdapter.Listener { private static final String TAG = "DisplayDeviceRepository"; - private static final Boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayDeviceRepository DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); public static final int DISPLAY_DEVICE_EVENT_ADDED = 1; public static final int DISPLAY_DEVICE_EVENT_REMOVED = 3; diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 57b2c24a8b88..e475fe63746d 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -31,6 +31,7 @@ import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_CAN_S import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_DEVICE_DISPLAY_GROUP; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP; +import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS; @@ -57,6 +58,7 @@ import android.app.AppOpsManager; import android.app.compat.CompatChanges; import android.companion.virtual.IVirtualDevice; import android.companion.virtual.VirtualDeviceManager; +import android.companion.virtual.flags.Flags; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.content.BroadcastReceiver; @@ -161,6 +163,7 @@ import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.Layout; import com.android.server.display.mode.DisplayModeDirector; import com.android.server.display.notifications.DisplayNotificationManager; +import com.android.server.display.utils.DebugUtils; import com.android.server.display.utils.SensorUtils; import com.android.server.input.InputManagerInternal; import com.android.server.utils.FoldSettingProvider; @@ -225,7 +228,10 @@ import java.util.function.Consumer; */ public final class DisplayManagerService extends SystemService { private static final String TAG = "DisplayManagerService"; - private static final boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayManagerService DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); // When this system property is set to 0, WFD is forcibly disabled on boot. // When this system property is set to 1, WFD is forcibly enabled on boot. @@ -586,8 +592,7 @@ public final class DisplayManagerService extends SystemService { mSystemReady = false; mConfigParameterProvider = new DeviceConfigParameterProvider(DeviceConfigInterface.REAL); mExtraDisplayLoggingPackageName = DisplayProperties.debug_vri_package().orElse(null); - // TODO: b/306170135 - return TextUtils package name check instead - mExtraDisplayEventLogging = true; + mExtraDisplayEventLogging = !TextUtils.isEmpty(mExtraDisplayLoggingPackageName); } public void setupSchedulerPolicies() { @@ -1479,7 +1484,12 @@ public final class DisplayManagerService extends SystemService { if ((flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) != 0) { flags &= ~VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP; } - if ((flags & VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP) == 0 && virtualDevice != null) { + // Put the display in the virtual device's display group only if it's not a mirror display, + // and if it doesn't need its own display group. So effectively, mirror displays go into the + // default display group. + if ((flags & VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP) == 0 + && (flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) == 0 + && virtualDevice != null) { flags |= VIRTUAL_DISPLAY_FLAG_DEVICE_DISPLAY_GROUP; } @@ -1513,11 +1523,16 @@ public final class DisplayManagerService extends SystemService { if (callingUid != Process.SYSTEM_UID && (flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) != 0) { - if (!canProjectVideo(projection)) { + // Only a valid media projection or a virtual device can create a mirror virtual + // display. + if (!canProjectVideo(projection) + && !isMirroringSupportedByVirtualDevice(virtualDevice)) { throw new SecurityException("Requires CAPTURE_VIDEO_OUTPUT or " + "CAPTURE_SECURE_VIDEO_OUTPUT permission, or an appropriate " + "MediaProjection token in order to create a screen sharing virtual " - + "display."); + + "display. In order to create a virtual display that does not perform" + + "screen sharing (mirroring), please use the flag" + + "VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY."); } } if (callingUid != Process.SYSTEM_UID && (flags & VIRTUAL_DISPLAY_FLAG_SECURE) != 0) { @@ -1537,6 +1552,15 @@ public final class DisplayManagerService extends SystemService { } } + // Mirror virtual displays created by a virtual device are not allowed to show + // presentations. + if (virtualDevice != null && (flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) != 0 + && (flags & VIRTUAL_DISPLAY_FLAG_PRESENTATION) != 0) { + Slog.d(TAG, "Mirror displays created by a virtual device cannot show " + + "presentations, hence ignoring flag VIRTUAL_DISPLAY_FLAG_PRESENTATION."); + flags &= ~VIRTUAL_DISPLAY_FLAG_PRESENTATION; + } + if (callingUid != Process.SYSTEM_UID && (flags & VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP) != 0) { // The virtualDevice instance has been validated above using isValidVirtualDevice @@ -1736,6 +1760,10 @@ public final class DisplayManagerService extends SystemService { return -1; } + private static boolean isMirroringSupportedByVirtualDevice(IVirtualDevice virtualDevice) { + return Flags.interactiveScreenMirror() && virtualDevice != null; + } + private void resizeVirtualDisplayInternal(IBinder appToken, int width, int height, int densityDpi) { synchronized (mSyncRoot) { @@ -3044,8 +3072,7 @@ public final class DisplayManagerService extends SystemService { } private boolean extraLogging(String packageName) { - // TODO: b/306170135 - return mExtraDisplayLoggingPackageName & package name check instead - return true; + return mExtraDisplayEventLogging && mExtraDisplayLoggingPackageName.equals(packageName); } // Runs on Handler thread. diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index ce98559abe30..915f5db2898b 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -79,6 +79,7 @@ import com.android.server.display.color.ColorDisplayService.ColorDisplayServiceI import com.android.server.display.color.ColorDisplayService.ReduceBrightColorsListener; import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.Layout; +import com.android.server.display.utils.DebugUtils; import com.android.server.display.utils.SensorUtils; import com.android.server.display.whitebalance.DisplayWhiteBalanceController; import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory; @@ -115,7 +116,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private static final String SCREEN_ON_BLOCKED_TRACE_NAME = "Screen on blocked"; private static final String SCREEN_OFF_BLOCKED_TRACE_NAME = "Screen off blocked"; - private static final boolean DEBUG = false; + private static final String TAG = "DisplayPowerController"; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayPowerController DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); + private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; // If true, uses the color fade on animation. @@ -608,7 +613,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mClock = mInjector.getClock(); mLogicalDisplay = logicalDisplay; mDisplayId = mLogicalDisplay.getDisplayIdLocked(); - mTag = "DisplayPowerController[" + mDisplayId + "]"; + mTag = TAG + "[" + mDisplayId + "]"; mHighBrightnessModeMetadata = hbmMetadata; mSuspendBlockerIdUnfinishedBusiness = getSuspendBlockerUnfinishedBusinessId(mDisplayId); mSuspendBlockerIdOnStateChanged = getSuspendBlockerOnStateChangedId(mDisplayId); diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java index 0f0002781f93..fc596dce8189 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController2.java +++ b/services/core/java/com/android/server/display/DisplayPowerController2.java @@ -82,6 +82,7 @@ import com.android.server.display.color.ColorDisplayService.ReduceBrightColorsLi import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.Layout; import com.android.server.display.state.DisplayStateController; +import com.android.server.display.utils.DebugUtils; import com.android.server.display.utils.SensorUtils; import com.android.server.display.whitebalance.DisplayWhiteBalanceController; import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory; @@ -118,8 +119,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private static final String SCREEN_ON_BLOCKED_TRACE_NAME = "Screen on blocked"; private static final String SCREEN_OFF_BLOCKED_TRACE_NAME = "Screen off blocked"; - private static final boolean DEBUG = false; - + private static final String TAG = "DisplayPowerController2"; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayPowerController2 DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); // If true, uses the color fade on animation. // We might want to turn this off if we cannot get a guarantee that the screen @@ -503,7 +506,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mWakelockController, mDisplayDeviceConfig, mHandler.getLooper(), () -> updatePowerState(), mDisplayId, mSensorManager); mDisplayStateController = new DisplayStateController(mDisplayPowerProximityStateController); - mTag = "DisplayPowerController2[" + mDisplayId + "]"; + mTag = TAG + "[" + mDisplayId + "]"; mThermalBrightnessThrottlingDataId = logicalDisplay.getDisplayInfoLocked().thermalBrightnessThrottlingDataId; mDisplayDevice = mLogicalDisplay.getPrimaryDisplayDeviceLocked(); diff --git a/services/core/java/com/android/server/display/DisplayPowerState.java b/services/core/java/com/android/server/display/DisplayPowerState.java index 2c257a17af91..be03a808e166 100644 --- a/services/core/java/com/android/server/display/DisplayPowerState.java +++ b/services/core/java/com/android/server/display/DisplayPowerState.java @@ -26,6 +26,8 @@ import android.util.Slog; import android.view.Choreographer; import android.view.Display; +import com.android.server.display.utils.DebugUtils; + import java.io.PrintWriter; /** @@ -48,7 +50,9 @@ import java.io.PrintWriter; final class DisplayPowerState { private static final String TAG = "DisplayPowerState"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayPowerState DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private static String COUNTER_COLOR_FADE = "ColorFadeLevel"; private final Handler mHandler; diff --git a/services/core/java/com/android/server/display/HighBrightnessModeController.java b/services/core/java/com/android/server/display/HighBrightnessModeController.java index 39172b8252ed..a9f78fd5bb2a 100644 --- a/services/core/java/com/android/server/display/HighBrightnessModeController.java +++ b/services/core/java/com/android/server/display/HighBrightnessModeController.java @@ -38,6 +38,7 @@ import com.android.internal.display.BrightnessSynchronizer; import com.android.internal.util.FrameworkStatsLog; import com.android.server.display.DisplayDeviceConfig.HighBrightnessModeData; import com.android.server.display.DisplayManagerService.Clock; +import com.android.server.display.utils.DebugUtils; import java.io.PrintWriter; import java.util.ArrayDeque; @@ -54,7 +55,9 @@ import java.util.Iterator; class HighBrightnessModeController { private static final String TAG = "HighBrightnessModeController"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.HighBrightnessModeController DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); @VisibleForTesting static final float HBM_TRANSITION_POINT_INVALID = Float.POSITIVE_INFINITY; diff --git a/services/core/java/com/android/server/display/HysteresisLevels.java b/services/core/java/com/android/server/display/HysteresisLevels.java index 3c522e74246a..0521b8ac4f3b 100644 --- a/services/core/java/com/android/server/display/HysteresisLevels.java +++ b/services/core/java/com/android/server/display/HysteresisLevels.java @@ -18,6 +18,8 @@ package com.android.server.display; import android.util.Slog; +import com.android.server.display.utils.DebugUtils; + import java.io.PrintWriter; import java.util.Arrays; @@ -27,7 +29,9 @@ import java.util.Arrays; public class HysteresisLevels { private static final String TAG = "HysteresisLevels"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.HysteresisLevels DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private final float[] mBrighteningThresholdsPercentages; private final float[] mDarkeningThresholdsPercentages; diff --git a/services/core/java/com/android/server/display/LogicalDisplayMapper.java b/services/core/java/com/android/server/display/LogicalDisplayMapper.java index c55bc62f5ae6..f3425d2e2136 100644 --- a/services/core/java/com/android/server/display/LogicalDisplayMapper.java +++ b/services/core/java/com/android/server/display/LogicalDisplayMapper.java @@ -43,6 +43,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.server.display.feature.DisplayManagerFlags; import com.android.server.display.layout.DisplayIdProducer; import com.android.server.display.layout.Layout; +import com.android.server.display.utils.DebugUtils; import com.android.server.utils.FoldSettingProvider; import java.io.PrintWriter; @@ -63,7 +64,9 @@ import java.util.function.Consumer; class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { private static final String TAG = "LogicalDisplayMapper"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.LogicalDisplayMapper DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); public static final int LOGICAL_DISPLAY_EVENT_ADDED = 1; public static final int LOGICAL_DISPLAY_EVENT_CHANGED = 2; diff --git a/services/core/java/com/android/server/display/OverlayDisplayWindow.java b/services/core/java/com/android/server/display/OverlayDisplayWindow.java index cd3a453d5e64..3fd58e8641c3 100644 --- a/services/core/java/com/android/server/display/OverlayDisplayWindow.java +++ b/services/core/java/com/android/server/display/OverlayDisplayWindow.java @@ -35,6 +35,7 @@ import android.view.WindowManager; import android.widget.TextView; import com.android.internal.util.DumpUtils; +import com.android.server.display.utils.DebugUtils; import java.io.PrintWriter; @@ -47,8 +48,10 @@ import java.io.PrintWriter; */ final class OverlayDisplayWindow implements DumpUtils.Dump { private static final String TAG = "OverlayDisplayWindow"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.OverlayDisplayWindow DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private final float INITIAL_SCALE = 0.5f; private final float MIN_SCALE = 0.3f; private final float MAX_SCALE = 1.0f; diff --git a/services/core/java/com/android/server/display/WakelockController.java b/services/core/java/com/android/server/display/WakelockController.java index 1e13974f6ef4..7bc797125b0e 100644 --- a/services/core/java/com/android/server/display/WakelockController.java +++ b/services/core/java/com/android/server/display/WakelockController.java @@ -21,6 +21,7 @@ import android.hardware.display.DisplayManagerInternal; import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; +import com.android.server.display.utils.DebugUtils; import java.io.PrintWriter; import java.lang.annotation.Retention; @@ -41,7 +42,11 @@ public final class WakelockController { @VisibleForTesting static final int WAKE_LOCK_MAX = WAKE_LOCK_UNFINISHED_BUSINESS; - private static final boolean DEBUG = false; + private static final String TAG = "WakelockController"; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.WakelockController DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); @IntDef(flag = true, prefix = "WAKE_LOCK_", value = { WAKE_LOCK_PROXIMITY_POSITIVE, @@ -100,7 +105,7 @@ public final class WakelockController { public WakelockController(int displayId, DisplayManagerInternal.DisplayPowerCallbacks callbacks) { mDisplayId = displayId; - mTag = "WakelockController[" + mDisplayId + "]"; + mTag = TAG + "[" + mDisplayId + "]"; mDisplayPowerCallbacks = callbacks; mSuspendBlockerIdUnfinishedBusiness = "[" + displayId + "]unfinished business"; mSuspendBlockerIdOnStateChanged = "[" + displayId + "]on state changed"; diff --git a/services/core/java/com/android/server/display/WifiDisplayAdapter.java b/services/core/java/com/android/server/display/WifiDisplayAdapter.java index e3d38e7a25e9..7660cf8a1c3a 100644 --- a/services/core/java/com/android/server/display/WifiDisplayAdapter.java +++ b/services/core/java/com/android/server/display/WifiDisplayAdapter.java @@ -41,6 +41,7 @@ import android.view.SurfaceControl; import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; +import com.android.server.display.utils.DebugUtils; import java.io.PrintWriter; import java.util.ArrayList; @@ -65,7 +66,9 @@ import java.util.Objects; final class WifiDisplayAdapter extends DisplayAdapter { private static final String TAG = "WifiDisplayAdapter"; - private static final boolean DEBUG = false; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.WifiDisplayAdapter DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private static final int MSG_SEND_STATUS_CHANGE_BROADCAST = 1; diff --git a/services/core/java/com/android/server/display/WifiDisplayController.java b/services/core/java/com/android/server/display/WifiDisplayController.java index 955b8d95fd87..873598aa7ce2 100644 --- a/services/core/java/com/android/server/display/WifiDisplayController.java +++ b/services/core/java/com/android/server/display/WifiDisplayController.java @@ -45,6 +45,7 @@ import android.util.Slog; import android.view.Surface; import com.android.internal.util.DumpUtils; +import com.android.server.display.utils.DebugUtils; import java.io.PrintWriter; import java.net.Inet4Address; @@ -69,7 +70,10 @@ import java.util.Objects; */ final class WifiDisplayController implements DumpUtils.Dump { private static final String TAG = "WifiDisplayController"; - private static final boolean DEBUG = false; + + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.WifiDisplayController DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); private static final int DEFAULT_CONTROL_PORT = 7236; private static final int MAX_THROUGHPUT = 50; diff --git a/services/core/java/com/android/server/display/feature/DisplayManagerFlags.java b/services/core/java/com/android/server/display/feature/DisplayManagerFlags.java index d953e8e52365..7f3ea6a0a99e 100644 --- a/services/core/java/com/android/server/display/feature/DisplayManagerFlags.java +++ b/services/core/java/com/android/server/display/feature/DisplayManagerFlags.java @@ -21,6 +21,7 @@ import android.os.SystemProperties; import android.util.Slog; import com.android.server.display.feature.flags.Flags; +import com.android.server.display.utils.DebugUtils; import java.util.function.Supplier; @@ -28,9 +29,13 @@ import java.util.function.Supplier; * Utility class to read the flags used in the display manager server. */ public class DisplayManagerFlags { - private static final boolean DEBUG = false; private static final String TAG = "DisplayManagerFlags"; + // To enable these logs, run: + // 'adb shell setprop persist.log.tag.DisplayManagerFlags DEBUG && adb reboot' + private static final boolean DEBUG = DebugUtils.isDebuggable(TAG); + + private final FlagState mConnectedDisplayManagementFlagState = new FlagState( Flags.FLAG_ENABLE_CONNECTED_DISPLAY_MANAGEMENT, Flags::enableConnectedDisplayManagement); diff --git a/services/core/java/com/android/server/display/utils/DebugUtils.java b/services/core/java/com/android/server/display/utils/DebugUtils.java new file mode 100644 index 000000000000..14964956a30a --- /dev/null +++ b/services/core/java/com/android/server/display/utils/DebugUtils.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS 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.utils; + +import android.util.Log; + +public class DebugUtils { + + public static final boolean DEBUG_ALL = Log.isLoggable("DisplayManager_All", Log.DEBUG); + + /** + * Returns whether the specified tag has logging enabled. Use the tag name specified in the + * calling class, or DisplayManager_All to globally enable all tags in display. + * To enable: + * adb shell setprop persist.log.tag.DisplayManager_All DEBUG + * To disable: + * adb shell setprop persist.log.tag.DisplayManager_All \"\" + */ + public static boolean isDebuggable(String tag) { + return Log.isLoggable(tag, Log.DEBUG) || DEBUG_ALL; + } +} diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java index 67a1ccd17835..78077a831622 100644 --- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java +++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java @@ -40,6 +40,7 @@ import android.util.Log; import android.util.Slog; import com.android.internal.annotations.GuardedBy; +import com.android.media.flags.Flags; import java.util.List; import java.util.Objects; @@ -358,21 +359,8 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build(); - if (mPendingSessionCreationRequest != null) { - SessionCreationRequest sessionCreationRequest; - synchronized (mRequestLock) { - sessionCreationRequest = mPendingSessionCreationRequest; - mPendingSessionCreationRequest = null; - } - if (sessionCreationRequest != null) { - if (TextUtils.equals(mSelectedRouteId, sessionCreationRequest.mRouteId)) { - mCallback.onSessionCreated(this, - sessionCreationRequest.mRequestId, newSessionInfo); - } else { - mCallback.onRequestFailed(this, sessionCreationRequest.mRequestId, - MediaRoute2ProviderService.REASON_UNKNOWN_ERROR); - } - } + synchronized (mRequestLock) { + reportPendingSessionRequestResultLockedIfNeeded(newSessionInfo); } if (Objects.equals(oldSessionInfo, newSessionInfo)) { @@ -395,6 +383,59 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { } } + @GuardedBy("mRequestLock") + private void reportPendingSessionRequestResultLockedIfNeeded( + RoutingSessionInfo newSessionInfo) { + if (mPendingSessionCreationRequest == null) { + // No pending request, nothing to report. + return; + } + + long pendingRequestId = mPendingSessionCreationRequest.mRequestId; + if (TextUtils.equals(mSelectedRouteId, mPendingSessionCreationRequest.mRouteId)) { + if (DEBUG) { + Slog.w( + TAG, + "Session creation success to route " + + mPendingSessionCreationRequest.mRouteId); + } + mPendingSessionCreationRequest = null; + mCallback.onSessionCreated(this, pendingRequestId, newSessionInfo); + } else { + boolean isRequestedRouteConnectedBtRoute = isRequestedRouteConnectedBtRoute(); + if (!Flags.enableWaitingStateForSystemSessionCreationRequest() + || !isRequestedRouteConnectedBtRoute) { + if (DEBUG) { + Slog.w( + TAG, + "Session creation failed to route " + + mPendingSessionCreationRequest.mRouteId); + } + mPendingSessionCreationRequest = null; + mCallback.onRequestFailed( + this, pendingRequestId, MediaRoute2ProviderService.REASON_UNKNOWN_ERROR); + } else if (DEBUG) { + Slog.w( + TAG, + "Session creation waiting state to route " + + mPendingSessionCreationRequest.mRouteId); + } + } + } + + @GuardedBy("mRequestLock") + private boolean isRequestedRouteConnectedBtRoute() { + // Using AllRoutes instead of TransferableRoutes as BT Stack sends an intermediate update + // where two BT routes are active so the transferable routes list is empty. + // See b/307723189 for context + for (MediaRoute2Info btRoute : mBluetoothRouteController.getAllBluetoothRoutes()) { + if (TextUtils.equals(btRoute.getId(), mPendingSessionCreationRequest.mRouteId)) { + return true; + } + } + return false; + } + void publishProviderState() { updateProviderState(); notifyProviderState(); diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java index 58927d14ee23..893ed6119f9f 100644 --- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java +++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java @@ -470,6 +470,11 @@ public final class MediaProjectionManagerService extends SystemService } @VisibleForTesting + void notifyPermissionRequestCancelled(int hostUid) { + mMediaProjectionMetricsLogger.logProjectionPermissionRequestCancelled(hostUid); + } + + @VisibleForTesting void notifyAppSelectorDisplayed(int hostUid) { mMediaProjectionMetricsLogger.logAppSelectorDisplayed(hostUid); } @@ -852,12 +857,12 @@ public final class MediaProjectionManagerService extends SystemService @Override // Binder call @EnforcePermission(MANAGE_MEDIA_PROJECTION) - public void notifyPermissionRequestStateChange(int hostUid, int state, - int sessionCreationSource) { - notifyPermissionRequestStateChange_enforcePermission(); + public void notifyPermissionRequestInitiated(int hostUid, int sessionCreationSource) { + notifyPermissionRequestInitiated_enforcePermission(); final long token = Binder.clearCallingIdentity(); try { - mMediaProjectionMetricsLogger.notifyProjectionStateChange(hostUid, state, sessionCreationSource); + MediaProjectionManagerService.this.notifyPermissionRequestInitiated( + hostUid, sessionCreationSource); } finally { Binder.restoreCallingIdentity(token); } @@ -865,12 +870,11 @@ public final class MediaProjectionManagerService extends SystemService @Override // Binder call @EnforcePermission(MANAGE_MEDIA_PROJECTION) - public void notifyPermissionRequestInitiated(int hostUid, int sessionCreationSource) { - notifyPermissionRequestInitiated_enforcePermission(); + public void notifyPermissionRequestDisplayed(int hostUid) { + notifyPermissionRequestDisplayed_enforcePermission(); final long token = Binder.clearCallingIdentity(); try { - MediaProjectionManagerService.this.notifyPermissionRequestInitiated( - hostUid, sessionCreationSource); + MediaProjectionManagerService.this.notifyPermissionRequestDisplayed(hostUid); } finally { Binder.restoreCallingIdentity(token); } @@ -878,11 +882,11 @@ public final class MediaProjectionManagerService extends SystemService @Override // Binder call @EnforcePermission(MANAGE_MEDIA_PROJECTION) - public void notifyPermissionRequestDisplayed(int hostUid) { - notifyPermissionRequestDisplayed_enforcePermission(); + public void notifyPermissionRequestCancelled(int hostUid) { + notifyPermissionRequestCancelled_enforcePermission(); final long token = Binder.clearCallingIdentity(); try { - MediaProjectionManagerService.this.notifyPermissionRequestDisplayed(hostUid); + MediaProjectionManagerService.this.notifyPermissionRequestCancelled(hostUid); } finally { Binder.restoreCallingIdentity(token); } diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionMetricsLogger.java b/services/core/java/com/android/server/media/projection/MediaProjectionMetricsLogger.java index 55a30bf225a3..d7fefeb0b1fe 100644 --- a/services/core/java/com/android/server/media/projection/MediaProjectionMetricsLogger.java +++ b/services/core/java/com/android/server/media/projection/MediaProjectionMetricsLogger.java @@ -118,6 +118,23 @@ public class MediaProjectionMetricsLogger { } /** + * Logs that requesting permission for media projection was cancelled by the user. + * + * @param hostUid UID of the package that initiates MediaProjection. + */ + public void logProjectionPermissionRequestCancelled(int hostUid) { + write( + mSessionIdGenerator.getCurrentSessionId(), + FrameworkStatsLog + .MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_CANCELLED, + hostUid, + TARGET_UID_UNKNOWN, + TIME_SINCE_LAST_ACTIVE_UNKNOWN, + FrameworkStatsLog + .MEDIA_PROJECTION_STATE_CHANGED__CREATION_SOURCE__CREATION_SOURCE_UNKNOWN); + } + + /** * Logs that the app selector dialog is shown for the user. * * @param hostUid UID of the package that initiates MediaProjection. @@ -174,23 +191,6 @@ public class MediaProjectionMetricsLogger { } } - public void notifyProjectionStateChange(int hostUid, int state, int sessionCreationSource) { - write(hostUid, state, sessionCreationSource); - } - - private void write(int hostUid, int state, int sessionCreationSource) { - mFrameworkStatsLogWrapper.write( - /* code */ FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED, - /* session_id */ 123, - /* state */ state, - /* previous_state */ FrameworkStatsLog - .MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_UNKNOWN, - /* host_uid */ hostUid, - /* target_uid */ -1, - /* time_since_last_active */ 0, - /* creation_source */ sessionCreationSource); - } - private void write( int sessionId, int state, diff --git a/services/core/java/com/android/server/net/NetworkManagementService.java b/services/core/java/com/android/server/net/NetworkManagementService.java index a5a934f78420..550ad5d610da 100644 --- a/services/core/java/com/android/server/net/NetworkManagementService.java +++ b/services/core/java/com/android/server/net/NetworkManagementService.java @@ -74,6 +74,7 @@ import com.android.internal.app.IBatteryStats; import com.android.internal.util.DumpUtils; import com.android.internal.util.HexDump; import com.android.modules.utils.build.SdkLevel; +import com.android.net.flags.Flags; import com.android.net.module.util.NetdUtils; import com.android.net.module.util.PermissionUtils; import com.android.server.FgThread; @@ -1059,17 +1060,25 @@ public class NetworkManagementService extends INetworkManagementService.Stub { Log.w(TAG, "setDataSaverMode(): already " + mDataSaverMode); return true; } - Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "bandwidthEnableDataSaver"); + Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "setDataSaverModeEnabled"); try { - final boolean changed = mNetdService.bandwidthEnableDataSaver(enable); - if (changed) { + if (Flags.setDataSaverViaCm()) { + // setDataSaverEnabled throws if it fails to set data saver. + mContext.getSystemService(ConnectivityManager.class) + .setDataSaverEnabled(enable); mDataSaverMode = enable; + return true; } else { - Log.w(TAG, "setDataSaverMode(" + enable + "): netd command silently failed"); + final boolean changed = mNetdService.bandwidthEnableDataSaver(enable); + if (changed) { + mDataSaverMode = enable; + } else { + Log.e(TAG, "setDataSaverMode(" + enable + "): failed to set iptables"); + } + return changed; } - return changed; - } catch (RemoteException e) { - Log.w(TAG, "setDataSaverMode(" + enable + "): netd command failed", e); + } catch (RemoteException | IllegalStateException e) { + Log.e(TAG, "setDataSaverMode(" + enable + "): failed with exception", e); return false; } finally { Trace.traceEnd(Trace.TRACE_TAG_NETWORK); diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java index de698d916cce..783e9bbb034f 100644 --- a/services/core/java/com/android/server/notification/PreferencesHelper.java +++ b/services/core/java/com/android/server/notification/PreferencesHelper.java @@ -146,6 +146,7 @@ public class PreferencesHelper implements RankingConfig { private static final String ATT_SENT_INVALID_MESSAGE = "sent_invalid_msg"; private static final String ATT_SENT_VALID_MESSAGE = "sent_valid_msg"; private static final String ATT_USER_DEMOTED_INVALID_MSG_APP = "user_demote_msg_app"; + private static final String ATT_SENT_VALID_BUBBLE = "sent_valid_bubble"; private static final int DEFAULT_PRIORITY = Notification.PRIORITY_DEFAULT; private static final int DEFAULT_VISIBILITY = NotificationManager.VISIBILITY_NO_OVERRIDE; @@ -313,6 +314,7 @@ public class PreferencesHelper implements RankingConfig { r.hasSentValidMessage = parser.getAttributeBoolean(null, ATT_SENT_VALID_MESSAGE, false); r.userDemotedMsgApp = parser.getAttributeBoolean( null, ATT_USER_DEMOTED_INVALID_MSG_APP, false); + r.hasSentValidBubble = parser.getAttributeBoolean(null, ATT_SENT_VALID_BUBBLE, false); final int innerDepth = parser.getDepth(); int type; @@ -564,8 +566,7 @@ public class PreferencesHelper implements RankingConfig { public void writeXml(TypedXmlSerializer out, boolean forBackup, int userId) throws IOException { out.startTag(null, TAG_RANKING); out.attributeInt(null, ATT_VERSION, XML_VERSION); - if (mHideSilentStatusBarIcons != DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS - && (!forBackup || userId == UserHandle.USER_SYSTEM)) { + if (mHideSilentStatusBarIcons != DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS) { out.startTag(null, TAG_STATUS_ICONS); out.attributeBoolean(null, ATT_HIDE_SILENT, mHideSilentStatusBarIcons); out.endTag(null, TAG_STATUS_ICONS); @@ -614,6 +615,7 @@ public class PreferencesHelper implements RankingConfig { r.hasSentValidMessage); out.attributeBoolean(null, ATT_USER_DEMOTED_INVALID_MSG_APP, r.userDemotedMsgApp); + out.attributeBoolean(null, ATT_SENT_VALID_BUBBLE, r.hasSentValidBubble); if (!forBackup) { out.attributeInt(null, ATT_UID, r.uid); diff --git a/services/core/java/com/android/server/notification/flags.aconfig b/services/core/java/com/android/server/notification/flags.aconfig index dcac8c98d19f..66a76cc7fa70 100644 --- a/services/core/java/com/android/server/notification/flags.aconfig +++ b/services/core/java/com/android/server/notification/flags.aconfig @@ -8,6 +8,13 @@ flag { } flag { + name: "modes_api" + namespace: "systemui" + description: "This flag controls new and updated DND apis" + bug: "300477976" +} + +flag { name: "polite_notifications" namespace: "systemui" description: "This flag controls the polite notification feature" diff --git a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java index 1134714bce55..1660c3ef952a 100644 --- a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java +++ b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java @@ -16,6 +16,8 @@ package com.android.server.os; +import static android.app.admin.flags.Flags.onboardingBugreportV2Enabled; + import android.Manifest; import android.annotation.Nullable; import android.annotation.RequiresPermission; @@ -29,6 +31,7 @@ import android.content.pm.UserInfo; import android.os.Binder; import android.os.BugreportManager.BugreportCallback; import android.os.BugreportParams; +import android.os.Environment; import android.os.IDumpstate; import android.os.IDumpstateListener; import android.os.RemoteException; @@ -40,20 +43,35 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; +import android.util.AtomicFile; import android.util.LocalLog; import android.util.Pair; import android.util.Slog; +import android.util.Xml; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.DumpUtils; +import com.android.internal.util.XmlUtils; +import com.android.modules.utils.TypedXmlPullParser; +import com.android.modules.utils.TypedXmlSerializer; import com.android.server.SystemConfig; import com.android.server.utils.Slogf; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.File; import java.io.FileDescriptor; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.io.PrintWriter; +import java.util.HashSet; +import java.util.Map; import java.util.Objects; import java.util.OptionalInt; +import java.util.Set; /** * Implementation of the service that provides a privileged API to capture and consume bugreports. @@ -67,6 +85,12 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { private static final boolean DEBUG = false; private static final String ROLE_SYSTEM_AUTOMOTIVE_PROJECTION = "android.app.role.SYSTEM_AUTOMOTIVE_PROJECTION"; + private static final String TAG_BUGREPORT_DATA = "bugreport-data"; + private static final String TAG_BUGREPORT_MAP = "bugreport-map"; + private static final String TAG_PERSISTENT_BUGREPORT = "persistent-bugreport"; + private static final String ATTR_CALLING_UID = "calling-uid"; + private static final String ATTR_CALLING_PACKAGE = "calling-package"; + private static final String ATTR_BUGREPORT_FILE = "bugreport-file"; private static final String BUGREPORT_SERVICE = "bugreportd"; private static final long DEFAULT_BUGREPORT_SERVICE_TIMEOUT_MILLIS = 30 * 1000; @@ -96,47 +120,111 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { static class BugreportFileManager { private final Object mLock = new Object(); + private boolean mReadBugreportMapping = false; + private final AtomicFile mMappingFile; @GuardedBy("mLock") - private final ArrayMap<Pair<Integer, String>, ArraySet<String>> mBugreportFiles = + private ArrayMap<Pair<Integer, String>, ArraySet<String>> mBugreportFiles = new ArrayMap<>(); + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + @GuardedBy("mLock") + final Set<String> mBugreportFilesToPersist = new HashSet<>(); + + BugreportFileManager(AtomicFile mappingFile) { + mMappingFile = mappingFile; + } + /** * Checks that a given file was generated on behalf of the given caller. If the file was - * generated on behalf of the caller, it is removed from the bugreport mapping so that it - * may not be retrieved again. If the file was not generated on behalf of the caller, an + * not generated on behalf of the caller, an * {@link IllegalArgumentException} is thrown. * * @param callingInfo a (uid, package name) pair identifying the caller * @param bugreportFile the file name which was previously given to the caller in the * {@link BugreportCallback#onFinished(String)} callback. + * @param forceUpdateMapping if {@code true}, updates the bugreport mapping by reading from + * the mapping file. * * @throws IllegalArgumentException if {@code bugreportFile} is not associated with * {@code callingInfo}. */ + @RequiresPermission(value = android.Manifest.permission.INTERACT_ACROSS_USERS, + conditional = true) void ensureCallerPreviouslyGeneratedFile( - Pair<Integer, String> callingInfo, String bugreportFile) { + Context context, Pair<Integer, String> callingInfo, int userId, + String bugreportFile, boolean forceUpdateMapping) { synchronized (mLock) { - ArraySet<String> bugreportFilesForCaller = mBugreportFiles.get(callingInfo); - if (bugreportFilesForCaller != null - && bugreportFilesForCaller.contains(bugreportFile)) { - bugreportFilesForCaller.remove(bugreportFile); - if (bugreportFilesForCaller.isEmpty()) { - mBugreportFiles.remove(callingInfo); + if (onboardingBugreportV2Enabled()) { + final int uidForUser = Binder.withCleanCallingIdentity(() -> { + try { + return context.getPackageManager() + .getPackageUidAsUser(callingInfo.second, userId); + } catch (PackageManager.NameNotFoundException exception) { + throwInvalidBugreportFileForCallerException( + bugreportFile, callingInfo.second); + return -1; + } + }); + if (uidForUser != callingInfo.first && context.checkCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS) + != PackageManager.PERMISSION_GRANTED) { + throw new SecurityException( + callingInfo.second + " does not hold the " + + "INTERACT_ACROSS_USERS permission to access " + + "cross-user bugreports."); + } + if (!mReadBugreportMapping || forceUpdateMapping) { + readBugreportMappingLocked(); + } + ArraySet<String> bugreportFilesForUid = mBugreportFiles.get( + new Pair<>(uidForUser, callingInfo.second)); + if (bugreportFilesForUid == null + || !bugreportFilesForUid.contains(bugreportFile)) { + throwInvalidBugreportFileForCallerException( + bugreportFile, callingInfo.second); } } else { - throw new IllegalArgumentException( - "File " + bugreportFile + " was not generated" - + " on behalf of calling package " + callingInfo.second); + ArraySet<String> bugreportFilesForCaller = mBugreportFiles.get(callingInfo); + if (bugreportFilesForCaller != null + && bugreportFilesForCaller.contains(bugreportFile)) { + bugreportFilesForCaller.remove(bugreportFile); + if (bugreportFilesForCaller.isEmpty()) { + mBugreportFiles.remove(callingInfo); + } + } else { + throwInvalidBugreportFileForCallerException( + bugreportFile, callingInfo.second); + + } } } } + private static void throwInvalidBugreportFileForCallerException( + String bugreportFile, String packageName) { + throw new IllegalArgumentException("File " + bugreportFile + " was not generated on" + + " behalf of calling package " + packageName); + } + /** * Associates a bugreport file with a caller, which is identified as a * (uid, package name) pair. */ - void addBugreportFileForCaller(Pair<Integer, String> caller, String bugreportFile) { + void addBugreportFileForCaller( + Pair<Integer, String> caller, String bugreportFile, boolean keepOnRetrieval) { + addBugreportMapping(caller, bugreportFile); + synchronized (mLock) { + if (onboardingBugreportV2Enabled()) { + if (keepOnRetrieval) { + mBugreportFilesToPersist.add(bugreportFile); + } + writeBugreportDataLocked(); + } + } + } + + private void addBugreportMapping(Pair<Integer, String> caller, String bugreportFile) { synchronized (mLock) { if (!mBugreportFiles.containsKey(caller)) { mBugreportFiles.put(caller, new ArraySet<>()); @@ -145,15 +233,106 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { bugreportFilesForCaller.add(bugreportFile); } } + + @GuardedBy("mLock") + private void readBugreportMappingLocked() { + mBugreportFiles = new ArrayMap<>(); + try (InputStream inputStream = mMappingFile.openRead()) { + final TypedXmlPullParser parser = Xml.resolvePullParser(inputStream); + XmlUtils.beginDocument(parser, TAG_BUGREPORT_DATA); + int depth = parser.getDepth(); + while (XmlUtils.nextElementWithin(parser, depth)) { + String tag = parser.getName(); + switch (tag) { + case TAG_BUGREPORT_MAP: + readBugreportMapEntry(parser); + break; + case TAG_PERSISTENT_BUGREPORT: + readPersistentBugreportEntry(parser); + break; + default: + Slog.e(TAG, "Unknown tag while reading bugreport mapping file: " + + tag); + } + } + mReadBugreportMapping = true; + } catch (FileNotFoundException e) { + Slog.i(TAG, "Bugreport mapping file does not exist"); + } catch (IOException | XmlPullParserException e) { + mMappingFile.delete(); + } + } + + @GuardedBy("mLock") + private void writeBugreportDataLocked() { + if (mBugreportFiles.isEmpty() && mBugreportFilesToPersist.isEmpty()) { + return; + } + try (FileOutputStream stream = mMappingFile.startWrite()) { + TypedXmlSerializer out = Xml.resolveSerializer(stream); + out.startDocument(null, true); + out.startTag(null, TAG_BUGREPORT_DATA); + for (Map.Entry<Pair<Integer, String>, ArraySet<String>> entry: + mBugreportFiles.entrySet()) { + Pair<Integer, String> callingInfo = entry.getKey(); + ArraySet<String> callersBugreports = entry.getValue(); + for (String bugreportFile: callersBugreports) { + writeBugreportMapEntry(callingInfo, bugreportFile, out); + } + } + for (String file : mBugreportFilesToPersist) { + writePersistentBugreportEntry(file, out); + } + out.endTag(null, TAG_BUGREPORT_DATA); + out.endDocument(); + mMappingFile.finishWrite(stream); + } catch (IOException e) { + Slog.e(TAG, "Failed to write bugreport mapping file", e); + } + } + + private void readBugreportMapEntry(TypedXmlPullParser parser) + throws XmlPullParserException { + int callingUid = parser.getAttributeInt(null, ATTR_CALLING_UID); + String callingPackage = parser.getAttributeValue(null, ATTR_CALLING_PACKAGE); + String bugreportFile = parser.getAttributeValue(null, ATTR_BUGREPORT_FILE); + addBugreportMapping(new Pair<>(callingUid, callingPackage), bugreportFile); + } + + private void readPersistentBugreportEntry(TypedXmlPullParser parser) + throws XmlPullParserException { + String bugreportFile = parser.getAttributeValue(null, ATTR_BUGREPORT_FILE); + synchronized (mLock) { + mBugreportFilesToPersist.add(bugreportFile); + } + } + + private void writeBugreportMapEntry(Pair<Integer, String> callingInfo, String bugreportFile, + TypedXmlSerializer out) throws IOException { + out.startTag(null, TAG_BUGREPORT_MAP); + out.attributeInt(null, ATTR_CALLING_UID, callingInfo.first); + out.attribute(null, ATTR_CALLING_PACKAGE, callingInfo.second); + out.attribute(null, ATTR_BUGREPORT_FILE, bugreportFile); + out.endTag(null, TAG_BUGREPORT_MAP); + } + + private void writePersistentBugreportEntry( + String bugreportFile, TypedXmlSerializer out) throws IOException { + out.startTag(null, TAG_PERSISTENT_BUGREPORT); + out.attribute(null, ATTR_BUGREPORT_FILE, bugreportFile); + out.endTag(null, TAG_PERSISTENT_BUGREPORT); + } } static class Injector { Context mContext; ArraySet<String> mAllowlistedPackages; + AtomicFile mMappingFile; - Injector(Context context, ArraySet<String> allowlistedPackages) { + Injector(Context context, ArraySet<String> allowlistedPackages, AtomicFile mappingFile) { mContext = context; mAllowlistedPackages = allowlistedPackages; + mMappingFile = mappingFile; } Context getContext() { @@ -164,11 +343,16 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { return mAllowlistedPackages; } + AtomicFile getMappingFile() { + return mMappingFile; + } } BugreportManagerServiceImpl(Context context) { - this(new Injector(context, SystemConfig.getInstance().getBugreportWhitelistedPackages())); - + this(new Injector( + context, SystemConfig.getInstance().getBugreportWhitelistedPackages(), + new AtomicFile(new File(new File( + Environment.getDataDirectory(), "system"), "bugreport-mapping.xml")))); } @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) @@ -176,7 +360,7 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { mContext = injector.getContext(); mAppOps = mContext.getSystemService(AppOpsManager.class); mTelephonyManager = mContext.getSystemService(TelephonyManager.class); - mBugreportFileManager = new BugreportFileManager(); + mBugreportFileManager = new BugreportFileManager(injector.getMappingFile()); mBugreportAllowlistedPackages = injector.getAllowlistedPackages(); } @@ -246,16 +430,19 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { } @Override - @RequiresPermission(Manifest.permission.DUMP) - public void retrieveBugreport(int callingUidUnused, String callingPackage, - FileDescriptor bugreportFd, String bugreportFile, IDumpstateListener listener) { + @RequiresPermission(value = Manifest.permission.DUMP, conditional = true) + public void retrieveBugreport(int callingUidUnused, String callingPackage, int userId, + FileDescriptor bugreportFd, String bugreportFile, + + boolean keepBugreportOnRetrievalUnused, IDumpstateListener listener) { int callingUid = Binder.getCallingUid(); enforcePermission(callingPackage, callingUid, false); Slogf.i(TAG, "Retrieving bugreport for %s / %d", callingPackage, callingUid); try { mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( - new Pair<>(callingUid, callingPackage), bugreportFile); + mContext, new Pair<>(callingUid, callingPackage), userId, bugreportFile, + /* forceUpdateMapping= */ false); } catch (IllegalArgumentException e) { Slog.e(TAG, e.getMessage()); reportError(listener, IDumpstateListener.BUGREPORT_ERROR_NO_BUGREPORT_TO_RETRIEVE); @@ -281,10 +468,17 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { // Wrap the listener so we can intercept binder events directly. DumpstateListener myListener = new DumpstateListener(listener, ds, new Pair<>(callingUid, callingPackage), /* reportFinishedFile= */ true); + + boolean keepBugreportOnRetrieval = false; + if (onboardingBugreportV2Enabled()) { + keepBugreportOnRetrieval = mBugreportFileManager.mBugreportFilesToPersist.contains( + bugreportFile); + } + setCurrentDumpstateListenerLocked(myListener); try { - ds.retrieveBugreport(callingUid, callingPackage, bugreportFd, - bugreportFile, myListener); + ds.retrieveBugreport(callingUid, callingPackage, userId, bugreportFd, + bugreportFile, keepBugreportOnRetrieval, myListener); } catch (RemoteException e) { Slog.e(TAG, "RemoteException in retrieveBugreport", e); } @@ -317,7 +511,8 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { private void validateBugreportFlags(int flags) { flags = clearBugreportFlag(flags, BugreportParams.BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA - | BugreportParams.BUGREPORT_FLAG_DEFER_CONSENT); + | BugreportParams.BUGREPORT_FLAG_DEFER_CONSENT + | BugreportParams.BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL); if (flags != 0) { Slog.w(TAG, "Unknown bugreport flags: " + flags); throw new IllegalArgumentException("Unknown bugreport flags: " + flags); @@ -482,6 +677,9 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { boolean reportFinishedFile = (bugreportFlags & BugreportParams.BUGREPORT_FLAG_DEFER_CONSENT) != 0; + boolean keepBugreportOnRetrieval = + (bugreportFlags & BugreportParams.BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL) != 0; + IDumpstate ds = startAndGetDumpstateBinderServiceLocked(); if (ds == null) { Slog.w(TAG, "Unable to get bugreport service"); @@ -490,7 +688,8 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { } DumpstateListener myListener = new DumpstateListener(listener, ds, - new Pair<>(callingUid, callingPackage), reportFinishedFile); + new Pair<>(callingUid, callingPackage), reportFinishedFile, + keepBugreportOnRetrieval); setCurrentDumpstateListenerLocked(myListener); try { ds.startBugreport(callingUid, callingPackage, bugreportFd, screenshotFd, bugreportMode, @@ -597,6 +796,9 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { } synchronized (mBugreportFileManager.mLock) { + if (!mBugreportFileManager.mReadBugreportMapping) { + pw.println("Has not read bugreport mapping"); + } int numberFiles = mBugreportFileManager.mBugreportFiles.size(); pw.printf("%d pending file%s", numberFiles, (numberFiles > 1 ? "s" : "")); if (numberFiles > 0) { @@ -646,9 +848,16 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { private final boolean mReportFinishedFile; private int mProgress; // used for debugging purposes only private boolean mDone; + private boolean mKeepBugreportOnRetrieval; DumpstateListener(IDumpstateListener listener, IDumpstate ds, Pair<Integer, String> caller, boolean reportFinishedFile) { + this(listener, ds, caller, reportFinishedFile, /* keepBugreportOnRetrieval= */ false); + } + + DumpstateListener(IDumpstateListener listener, IDumpstate ds, + Pair<Integer, String> caller, boolean reportFinishedFile, + boolean keepBugreportOnRetrieval) { if (DEBUG) { Slogf.d(TAG, "Starting DumpstateListener(id=%d) for caller %s", mId, caller); } @@ -656,6 +865,7 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { mDs = ds; mCaller = caller; mReportFinishedFile = reportFinishedFile; + mKeepBugreportOnRetrieval = keepBugreportOnRetrieval; try { mDs.asBinder().linkToDeath(this, 0); } catch (RemoteException e) { @@ -690,7 +900,8 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { reportFinishedLocked("File: " + bugreportFile); } if (mReportFinishedFile) { - mBugreportFileManager.addBugreportFileForCaller(mCaller, bugreportFile); + mBugreportFileManager.addBugreportFileForCaller( + mCaller, bugreportFile, mKeepBugreportOnRetrieval); } else if (DEBUG) { Slog.d(TAG, "Not reporting finished file"); } diff --git a/services/core/java/com/android/server/pm/AppDataHelper.java b/services/core/java/com/android/server/pm/AppDataHelper.java index bd9be30b681b..167c17cc0c80 100644 --- a/services/core/java/com/android/server/pm/AppDataHelper.java +++ b/services/core/java/com/android/server/pm/AppDataHelper.java @@ -121,7 +121,7 @@ public class AppDataHelper { StorageManagerInternal.class); for (UserInfo user : umInternal.getUsers(false /*excludeDying*/)) { final int flags; - if (StorageManager.isUserKeyUnlocked(user.id) + if (StorageManager.isCeStorageUnlocked(user.id) && smInternal.isCeStoragePrepared(user.id)) { flags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE; } else if (umInternal.isUserRunning(user.id)) { @@ -410,7 +410,7 @@ public class AppDataHelper { // First look for stale data that doesn't belong, and check if things // have changed since we did our last restorecon if ((flags & StorageManager.FLAG_STORAGE_CE) != 0) { - if (StorageManager.isFileEncrypted() && !StorageManager.isUserKeyUnlocked(userId)) { + if (StorageManager.isFileEncrypted() && !StorageManager.isCeStorageUnlocked(userId)) { throw new RuntimeException( "Yikes, someone asked us to reconcile CE storage while " + userId + " was still locked; this would have caused massive data loss!"); diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java index 510c06e9509e..3ed9f029c73b 100644 --- a/services/core/java/com/android/server/pm/ComputerEngine.java +++ b/services/core/java/com/android/server/pm/ComputerEngine.java @@ -3556,7 +3556,7 @@ public class ComputerEngine implements Computer { @Override public int getPackageStartability(boolean safeMode, @NonNull String packageName, int callingUid, @UserIdInt int userId) { - final boolean userKeyUnlocked = StorageManager.isUserKeyUnlocked(userId); + final boolean ceStorageUnlocked = StorageManager.isCeStorageUnlocked(userId); final PackageStateInternal ps = getPackageStateInternal(packageName); if (ps == null || shouldFilterApplication(ps, callingUid, userId) || !ps.getUserStateOrDefault(userId).isInstalled()) { @@ -3571,7 +3571,7 @@ public class ComputerEngine implements Computer { return PackageManagerService.PACKAGE_STARTABILITY_FROZEN; } - if (!userKeyUnlocked && !AndroidPackageUtils.isEncryptionAware(ps.getPkg())) { + if (!ceStorageUnlocked && !AndroidPackageUtils.isEncryptionAware(ps.getPkg())) { return PackageManagerService.PACKAGE_STARTABILITY_DIRECT_BOOT_UNSUPPORTED; } return PackageManagerService.PACKAGE_STARTABILITY_OK; diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index 7c32cde6c1d8..2951ef630eb3 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -2374,12 +2374,6 @@ final class InstallPackageHelper { permissionParamsBuilder.setAutoRevokePermissionsMode(autoRevokePermissionsMode); mPm.mPermissionManager.onPackageInstalled(pkg, installRequest.getPreviousAppId(), permissionParamsBuilder.build(), userId); - // Apply restricted settings on potentially dangerous packages. - if (installRequest.getPackageSource() == PackageInstaller.PACKAGE_SOURCE_LOCAL_FILE - || installRequest.getPackageSource() - == PackageInstaller.PACKAGE_SOURCE_DOWNLOADED_FILE) { - enableRestrictedSettings(pkgName, pkg.getUid()); - } } installRequest.setName(pkgName); installRequest.setAppId(pkg.getUid()); @@ -2394,16 +2388,13 @@ final class InstallPackageHelper { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); } - private void enableRestrictedSettings(String pkgName, int appId) { + private void enableRestrictedSettings(String pkgName, int appId, int userId) { final AppOpsManager appOpsManager = mPm.mContext.getSystemService(AppOpsManager.class); - final int[] allUsersList = mPm.mUserManager.getUserIds(); - for (int userId : allUsersList) { - final int uid = UserHandle.getUid(userId, appId); - appOpsManager.setMode(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, - uid, - pkgName, - AppOpsManager.MODE_ERRORED); - } + final int uid = UserHandle.getUid(userId, appId); + appOpsManager.setMode(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, + uid, + pkgName, + AppOpsManager.MODE_ERRORED); } /** @@ -2820,13 +2811,10 @@ final class InstallPackageHelper { mPm.mRequiredInstallerPackage, /* packageSender= */ mPm, launchedForRestore, killApp, update, archived); - // Work that needs to happen on first install within each user - if (firstUserIds.length > 0) { - for (int userId : firstUserIds) { - mPm.restorePermissionsAndUpdateRolesForNewUserInstall(packageName, - userId); - } + for (int userId : firstUserIds) { + mPm.restorePermissionsAndUpdateRolesForNewUserInstall(packageName, + userId); } if (request.isAllNewUsers() && !update) { @@ -2835,6 +2823,16 @@ final class InstallPackageHelper { mPm.notifyPackageChanged(packageName, request.getAppId()); } + for (int userId : firstUserIds) { + // Apply restricted settings on potentially dangerous packages. Needs to happen + // after appOpsManager is notified of the new package + if (request.getPackageSource() == PackageInstaller.PACKAGE_SOURCE_LOCAL_FILE + || request.getPackageSource() + == PackageInstaller.PACKAGE_SOURCE_DOWNLOADED_FILE) { + enableRestrictedSettings(packageName, request.getAppId(), userId); + } + } + // Log current value of "unknown sources" setting EventLog.writeEvent(EventLogTags.UNKNOWN_SOURCES_ENABLED, getUnknownSourcesSettings()); diff --git a/services/core/java/com/android/server/pm/InstallRequest.java b/services/core/java/com/android/server/pm/InstallRequest.java index 7d822b50a293..be4fb5c539a9 100644 --- a/services/core/java/com/android/server/pm/InstallRequest.java +++ b/services/core/java/com/android/server/pm/InstallRequest.java @@ -16,6 +16,7 @@ package com.android.server.pm; +import static android.content.pm.Flags.improveInstallFreeze; import static android.content.pm.PackageInstaller.SessionParams.USER_ACTION_UNSPECIFIED; import static android.content.pm.PackageManager.INSTALL_REASON_UNKNOWN; import static android.content.pm.PackageManager.INSTALL_SCENARIO_DEFAULT; @@ -962,13 +963,13 @@ final class InstallRequest { } public void onFreezeStarted() { - if (mPackageMetrics != null) { + if (mPackageMetrics != null && improveInstallFreeze()) { mPackageMetrics.onStepStarted(PackageMetrics.STEP_FREEZE_INSTALL); } } public void onFreezeCompleted() { - if (mPackageMetrics != null) { + if (mPackageMetrics != null && improveInstallFreeze()) { mPackageMetrics.onStepFinished(PackageMetrics.STEP_FREEZE_INSTALL); } } diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java index c260be9a5124..8b82a1c6e7c9 100644 --- a/services/core/java/com/android/server/pm/LauncherAppsService.java +++ b/services/core/java/com/android/server/pm/LauncherAppsService.java @@ -506,6 +506,9 @@ public class LauncherAppsService extends SystemService { if (!canAccessProfile(userId, "cannot get shouldHideFromSuggestions")) { return false; } + if (Flags.archiving() && packageName != null && isPackageArchived(packageName, user)) { + return true; + } if (mPackageManagerInternal.filterAppAccess( packageName, Binder.getCallingUid(), userId)) { return false; @@ -537,7 +540,7 @@ public class LauncherAppsService extends SystemService { == 0) { return launcherActivities; } - if (launcherActivities == null || launcherActivities.getList().isEmpty()) { + if (launcherActivities == null) { // Cannot access profile, so we don't even return any hidden apps. return null; } @@ -758,6 +761,10 @@ public class LauncherAppsService extends SystemService { } } + private boolean isPackageArchived(@NonNull String packageName, UserHandle user) { + return !getApplicationInfoForArchivedApp(packageName, user).isEmpty(); + } + @NonNull private List<LauncherActivityInfoInternal> generateLauncherActivitiesForArchivedApp( @Nullable String packageName, UserHandle user) { @@ -969,11 +976,17 @@ public class LauncherAppsService extends SystemService { final int callingUid = injectBinderCallingUid(); final long ident = Binder.clearCallingIdentity(); try { - final PackageInfo info = mPackageManagerInternal.getPackageInfo(packageName, + long callingFlag = PackageManager.MATCH_DIRECT_BOOT_AWARE - | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, - callingUid, user.getIdentifier()); - return info != null && info.applicationInfo.enabled; + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE; + if (Flags.archiving()) { + callingFlag |= PackageManager.MATCH_ARCHIVED_PACKAGES; + } + final PackageInfo info = + mPackageManagerInternal.getPackageInfo( + packageName, callingFlag, callingUid, user.getIdentifier()); + return info != null + && (info.applicationInfo.enabled || info.applicationInfo.isArchived); } finally { Binder.restoreCallingIdentity(ident); } @@ -1439,7 +1452,18 @@ public class LauncherAppsService extends SystemService { if (!canAccessProfile(user.getIdentifier(), "Cannot check component")) { return false; } - + if (Flags.archiving() && component != null && component.getPackageName() != null) { + List<LauncherActivityInfoInternal> archiveActivities = + generateLauncherActivitiesForArchivedApp(component.getPackageName(), user); + if (!archiveActivities.isEmpty()) { + for (int i = 0; i < archiveActivities.size(); i++) { + if (archiveActivities.get(i).getComponentName().equals(component)) { + return true; + } + } + return false; + } + } final int callingUid = injectBinderCallingUid(); final int state = mPackageManagerInternal.getComponentEnabledSetting(component, callingUid, user.getIdentifier()); diff --git a/services/core/java/com/android/server/pm/MovePackageHelper.java b/services/core/java/com/android/server/pm/MovePackageHelper.java index 9ad8318c2b5f..f5f5577329e6 100644 --- a/services/core/java/com/android/server/pm/MovePackageHelper.java +++ b/services/core/java/com/android/server/pm/MovePackageHelper.java @@ -196,7 +196,8 @@ public final class MovePackageHelper { // If we're moving app data around, we need all the users unlocked if (moveCompleteApp) { for (int userId : installedUserIds) { - if (StorageManager.isFileEncrypted() && !StorageManager.isUserKeyUnlocked(userId)) { + if (StorageManager.isFileEncrypted() + && !StorageManager.isCeStorageUnlocked(userId)) { freezer.close(); throw new PackageManagerException(MOVE_FAILED_LOCKED_USER, "User " + userId + " must be unlocked"); diff --git a/services/core/java/com/android/server/pm/OtaDexoptService.java b/services/core/java/com/android/server/pm/OtaDexoptService.java index 6a2ddc8f94b0..ea082cf77987 100644 --- a/services/core/java/com/android/server/pm/OtaDexoptService.java +++ b/services/core/java/com/android/server/pm/OtaDexoptService.java @@ -159,6 +159,9 @@ public class OtaDexoptService extends IOtaDexopt.Stub { if (pkgSetting.getPkg().isCoreApp()) { throw new IllegalStateException("Found a core app that's not important"); } + // Use REASON_FIRST_BOOT to query "pm.dexopt.first-boot" for the compiler filter, but + // the reason itself won't make it into the actual compiler reason because it will be + // overridden in otapreopt.cpp. mDexoptCommands.addAll(generatePackageDexopts(pkgSetting.getPkg(), pkgSetting, PackageManagerService.REASON_FIRST_BOOT)); } diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index b9b590833f4a..305e3536ad25 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -44,6 +44,7 @@ import android.content.IntentSender; import android.content.IntentSender.SendIntentException; import android.content.pm.ApplicationInfo; import android.content.pm.ArchivedPackageParcel; +import android.content.pm.Flags; import android.content.pm.IPackageInstaller; import android.content.pm.IPackageInstallerCallback; import android.content.pm.IPackageInstallerSession; @@ -745,6 +746,22 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements params.installFlags &= ~PackageManager.INSTALL_DISABLE_VERIFICATION; } + if (Flags.rollbackLifetime()) { + if (params.rollbackLifetimeMillis > 0) { + if ((params.installFlags & PackageManager.INSTALL_ENABLE_ROLLBACK) == 0) { + throw new IllegalArgumentException( + "Can't set rollbackLifetimeMillis when rollback is not enabled"); + } + if (mContext.checkCallingOrSelfPermission(Manifest.permission.MANAGE_ROLLBACKS) + != PackageManager.PERMISSION_GRANTED) { + throw new SecurityException( + "Setting rollback lifetime requires the MANAGE_ROLLBACKS permission"); + } + } else if (params.rollbackLifetimeMillis < 0) { + throw new IllegalArgumentException("rollbackLifetimeMillis can't be negative."); + } + } + boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0; if (isApex) { if (mContext.checkCallingOrSelfPermission(Manifest.permission.INSTALL_PACKAGE_UPDATES) diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 5dc7dab73141..1be28ca9e915 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -1282,6 +1282,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { info.whitelistedRestrictedPermissions = params.whitelistedRestrictedPermissions; info.autoRevokePermissionsMode = params.autoRevokePermissionsMode; info.installFlags = params.installFlags; + info.rollbackLifetimeMillis = params.rollbackLifetimeMillis; info.isMultiPackage = params.isMultiPackage; info.isStaged = params.isStaged; info.rollbackDataPolicy = params.rollbackDataPolicy; diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6b4ac5b4fa4e..c9303f2b30a2 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -3357,7 +3357,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService UserManagerInternal umInternal = mInjector.getUserManagerInternal(); StorageManagerInternal smInternal = mInjector.getLocalService(StorageManagerInternal.class); final int flags; - if (StorageManager.isUserKeyUnlocked(userId) && smInternal.isCeStoragePrepared(userId)) { + if (StorageManager.isCeStorageUnlocked(userId) && smInternal.isCeStoragePrepared(userId)) { flags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE; } else if (umInternal.isUserRunning(userId)) { flags = StorageManager.FLAG_STORAGE_DE; diff --git a/services/core/java/com/android/server/pm/StorageEventHelper.java b/services/core/java/com/android/server/pm/StorageEventHelper.java index c725cdca9d76..70aa19ae9cef 100644 --- a/services/core/java/com/android/server/pm/StorageEventHelper.java +++ b/services/core/java/com/android/server/pm/StorageEventHelper.java @@ -183,7 +183,7 @@ public final class StorageEventHelper extends StorageEventListener { StorageManagerInternal.class); for (UserInfo user : mPm.mUserManager.getUsers(false /* includeDying */)) { final int flags; - if (StorageManager.isUserKeyUnlocked(user.id) + if (StorageManager.isCeStorageUnlocked(user.id) && smInternal.isCeStoragePrepared(user.id)) { flags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE; } else if (umInternal.isUserRunning(user.id)) { diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index bb55a39f8e4b..3430bb4dd7c2 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1427,7 +1427,7 @@ public class UserManagerService extends IUserManager.Stub { } final boolean needToShowConfirmCredential = !dontAskCredential && mLockPatternUtils.isSecure(userId) - && (!hasUnifiedChallenge || !StorageManager.isUserKeyUnlocked(userId)); + && (!hasUnifiedChallenge || !StorageManager.isCeStorageUnlocked(userId)); if (needToShowConfirmCredential) { if (onlyIfCredentialNotRequired) { return false; @@ -2138,6 +2138,19 @@ public class UserManagerService extends IUserManager.Stub { } @Override + public boolean isForegroundUserAdmin() { + // No permission requirements for this API. + synchronized (mUsersLock) { + final int currentUserId = getCurrentUserId(); + if (currentUserId != UserHandle.USER_NULL) { + final UserInfo userInfo = getUserInfoLU(currentUserId); + return userInfo != null && userInfo.isAdmin(); + } + } + return false; + } + + @Override public @NonNull String getUserName() { final int callingUid = Binder.getCallingUid(); if (!hasQueryOrCreateUsersPermission() @@ -7178,9 +7191,9 @@ public class UserManagerService extends IUserManager.Stub { synchronized (mUserStates) { state = mUserStates.get(userId, -1); } - // Special case, in the stopping/shutdown state user key can still be unlocked + // Special case: in the stopping/shutdown state, CE storage can still be unlocked. if (state == UserState.STATE_STOPPING || state == UserState.STATE_SHUTDOWN) { - return StorageManager.isUserKeyUnlocked(userId); + return StorageManager.isCeStorageUnlocked(userId); } return (state == UserState.STATE_RUNNING_UNLOCKING) || (state == UserState.STATE_RUNNING_UNLOCKED); @@ -7197,9 +7210,9 @@ public class UserManagerService extends IUserManager.Stub { synchronized (mUserStates) { state = mUserStates.get(userId, -1); } - // Special case, in the stopping/shutdown state user key can still be unlocked + // Special case: in the stopping/shutdown state, CE storage can still be unlocked. if (state == UserState.STATE_STOPPING || state == UserState.STATE_SHUTDOWN) { - return StorageManager.isUserKeyUnlocked(userId); + return StorageManager.isCeStorageUnlocked(userId); } return state == UserState.STATE_RUNNING_UNLOCKED; } diff --git a/services/core/java/com/android/server/power/stats/AggregatedPowerStats.java b/services/core/java/com/android/server/power/stats/AggregatedPowerStats.java index bc90f5c46130..aadd03b25428 100644 --- a/services/core/java/com/android/server/power/stats/AggregatedPowerStats.java +++ b/services/core/java/com/android/server/power/stats/AggregatedPowerStats.java @@ -19,7 +19,6 @@ package com.android.server.power.stats; import android.annotation.CurrentTimeMillisLong; import android.annotation.DurationMillisLong; import android.annotation.NonNull; -import android.os.BatteryConsumer; import android.os.UserHandle; import android.text.format.DateFormat; import android.util.IndentingPrintWriter; @@ -66,17 +65,7 @@ class AggregatedPowerStats { aggregatedPowerStatsConfig.getPowerComponentsAggregatedStatsConfigs(); mPowerComponentStats = new PowerComponentAggregatedPowerStats[configs.size()]; for (int i = 0; i < configs.size(); i++) { - mPowerComponentStats[i] = createPowerComponentAggregatedPowerStats(configs.get(i)); - } - } - - private PowerComponentAggregatedPowerStats createPowerComponentAggregatedPowerStats( - AggregatedPowerStatsConfig.PowerComponent config) { - switch (config.getPowerComponentId()) { - case BatteryConsumer.POWER_COMPONENT_CPU: - return new CpuAggregatedPowerStats(config); - default: - return new PowerComponentAggregatedPowerStats(config); + mPowerComponentStats[i] = new PowerComponentAggregatedPowerStats(configs.get(i)); } } diff --git a/services/core/java/com/android/server/power/stats/AggregatedPowerStatsConfig.java b/services/core/java/com/android/server/power/stats/AggregatedPowerStatsConfig.java index 477c2286abe0..43fd15d690e6 100644 --- a/services/core/java/com/android/server/power/stats/AggregatedPowerStatsConfig.java +++ b/services/core/java/com/android/server/power/stats/AggregatedPowerStatsConfig.java @@ -16,13 +16,16 @@ package com.android.server.power.stats; import android.annotation.IntDef; +import android.annotation.NonNull; import android.os.BatteryConsumer; import com.android.internal.os.MultiStateStats; +import com.android.internal.os.PowerStats; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -73,6 +76,7 @@ public class AggregatedPowerStatsConfig { private final int mPowerComponentId; private @TrackedState int[] mTrackedDeviceStates; private @TrackedState int[] mTrackedUidStates; + private AggregatedPowerStatsProcessor mProcessor = NO_OP_PROCESSOR; PowerComponent(int powerComponentId) { this.mPowerComponentId = powerComponentId; @@ -94,6 +98,16 @@ public class AggregatedPowerStatsConfig { return this; } + /** + * Takes an object that should be invoked for every aggregated stats span + * before giving the aggregates stats to consumers. The processor can complete the + * aggregation process, for example by computing estimated power usage. + */ + public PowerComponent setProcessor(@NonNull AggregatedPowerStatsProcessor processor) { + mProcessor = processor; + return this; + } + public int getPowerComponentId() { return mPowerComponentId; } @@ -123,6 +137,11 @@ public class AggregatedPowerStatsConfig { }; } + @NonNull + public AggregatedPowerStatsProcessor getProcessor() { + return mProcessor; + } + private boolean isTracked(int[] trackedStates, int state) { if (trackedStates == null) { return false; @@ -153,4 +172,21 @@ public class AggregatedPowerStatsConfig { public List<PowerComponent> getPowerComponentsAggregatedStatsConfigs() { return mPowerComponents; } + + private static final AggregatedPowerStatsProcessor NO_OP_PROCESSOR = + new AggregatedPowerStatsProcessor() { + @Override + public void finish(PowerComponentAggregatedPowerStats stats) { + } + + @Override + public String deviceStatsToString(PowerStats.Descriptor descriptor, long[] stats) { + return Arrays.toString(stats); + } + + @Override + public String uidStatsToString(PowerStats.Descriptor descriptor, long[] stats) { + return Arrays.toString(stats); + } + }; } diff --git a/services/core/java/com/android/server/power/stats/AggregatedPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/AggregatedPowerStatsProcessor.java new file mode 100644 index 000000000000..5fd8ddfbf240 --- /dev/null +++ b/services/core/java/com/android/server/power/stats/AggregatedPowerStatsProcessor.java @@ -0,0 +1,348 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS 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.power.stats; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.util.Log; + +import com.android.internal.os.MultiStateStats; +import com.android.internal.os.PowerStats; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/* + * The power estimation algorithm used by AggregatedPowerStatsProcessor can roughly be + * described like this: + * + * 1. Estimate power usage for each state combination (e.g. power-battery/screen-on) using + * a metric such as CPU time-in-state. + * + * 2. Combine estimates obtain in step 1, aggregating across states that are *not* tracked + * per UID. + * + * 2. For each UID, compute the proportion of the combined estimates in each state + * and attribute the corresponding portion of the total power estimate in that state to the UID. + */ +abstract class AggregatedPowerStatsProcessor { + private static final String TAG = "AggregatedPowerStatsProcessor"; + + private static final int INDEX_DOES_NOT_EXIST = -1; + private static final double MILLIAMPHOUR_PER_MICROCOULOMB = 1.0 / 1000.0 / 60.0 / 60.0; + + abstract void finish(PowerComponentAggregatedPowerStats stats); + + abstract String deviceStatsToString(PowerStats.Descriptor descriptor, long[] stats); + + abstract String uidStatsToString(PowerStats.Descriptor descriptor, long[] stats); + + protected static class PowerEstimationPlan { + private final AggregatedPowerStatsConfig.PowerComponent mConfig; + public List<DeviceStateEstimation> deviceStateEstimations = new ArrayList<>(); + public List<CombinedDeviceStateEstimate> combinedDeviceStateEstimations = new ArrayList<>(); + public List<UidStateEstimate> uidStateEstimates = new ArrayList<>(); + + public PowerEstimationPlan(AggregatedPowerStatsConfig.PowerComponent config) { + mConfig = config; + addDeviceStateEstimations(); + combineDeviceStateEstimations(); + addUidStateEstimations(); + } + + private void addDeviceStateEstimations() { + MultiStateStats.States[] config = mConfig.getDeviceStateConfig(); + int[][] deviceStateCombinations = getAllTrackedStateCombinations(config); + for (int[] deviceStateCombination : deviceStateCombinations) { + deviceStateEstimations.add( + new DeviceStateEstimation(config, deviceStateCombination)); + } + } + + private void combineDeviceStateEstimations() { + MultiStateStats.States[] deviceStateConfig = mConfig.getDeviceStateConfig(); + MultiStateStats.States[] uidStateConfig = mConfig.getUidStateConfig(); + MultiStateStats.States[] deviceStatesTrackedPerUid = + new MultiStateStats.States[deviceStateConfig.length]; + + for (int i = 0; i < deviceStateConfig.length; i++) { + if (!deviceStateConfig[i].isTracked()) { + continue; + } + + int index = findTrackedStateByName(uidStateConfig, deviceStateConfig[i].getName()); + if (index != INDEX_DOES_NOT_EXIST && uidStateConfig[index].isTracked()) { + deviceStatesTrackedPerUid[i] = deviceStateConfig[i]; + } + } + + combineDeviceStateEstimationsRecursively(deviceStateConfig, deviceStatesTrackedPerUid, + new int[deviceStateConfig.length], 0); + } + + private void combineDeviceStateEstimationsRecursively( + MultiStateStats.States[] deviceStateConfig, + MultiStateStats.States[] deviceStatesTrackedPerUid, int[] stateValues, int state) { + if (state >= deviceStateConfig.length) { + DeviceStateEstimation dse = getDeviceStateEstimate(stateValues); + CombinedDeviceStateEstimate cdse = getCombinedDeviceStateEstimate( + deviceStatesTrackedPerUid, stateValues); + if (cdse == null) { + cdse = new CombinedDeviceStateEstimate(deviceStatesTrackedPerUid, stateValues); + combinedDeviceStateEstimations.add(cdse); + } + cdse.deviceStateEstimations.add(dse); + return; + } + + if (deviceStateConfig[state].isTracked()) { + for (int stateValue = 0; + stateValue < deviceStateConfig[state].getLabels().length; + stateValue++) { + stateValues[state] = stateValue; + combineDeviceStateEstimationsRecursively(deviceStateConfig, + deviceStatesTrackedPerUid, stateValues, state + 1); + } + } else { + combineDeviceStateEstimationsRecursively(deviceStateConfig, + deviceStatesTrackedPerUid, stateValues, state + 1); + } + } + + private void addUidStateEstimations() { + MultiStateStats.States[] deviceStateConfig = mConfig.getDeviceStateConfig(); + MultiStateStats.States[] uidStateConfig = mConfig.getUidStateConfig(); + MultiStateStats.States[] uidStatesTrackedForDevice = + new MultiStateStats.States[uidStateConfig.length]; + MultiStateStats.States[] uidStatesNotTrackedForDevice = + new MultiStateStats.States[uidStateConfig.length]; + + for (int i = 0; i < uidStateConfig.length; i++) { + if (!uidStateConfig[i].isTracked()) { + continue; + } + + int index = findTrackedStateByName(deviceStateConfig, uidStateConfig[i].getName()); + if (index != INDEX_DOES_NOT_EXIST && deviceStateConfig[index].isTracked()) { + uidStatesTrackedForDevice[i] = uidStateConfig[i]; + } else { + uidStatesNotTrackedForDevice[i] = uidStateConfig[i]; + } + } + + @AggregatedPowerStatsConfig.TrackedState + int[][] uidStateCombinations = getAllTrackedStateCombinations(uidStateConfig); + for (int[] stateValues : uidStateCombinations) { + CombinedDeviceStateEstimate combined = + getCombinedDeviceStateEstimate(uidStatesTrackedForDevice, stateValues); + if (combined == null) { + // This is not supposed to be possible + Log.wtf(TAG, "Mismatch in UID and combined device states: " + + concatLabels(uidStatesTrackedForDevice, stateValues)); + continue; + } + UidStateEstimate uidStateEstimate = getUidStateEstimate(combined); + if (uidStateEstimate == null) { + uidStateEstimate = new UidStateEstimate(combined, uidStatesNotTrackedForDevice); + uidStateEstimates.add(uidStateEstimate); + } + uidStateEstimate.proportionalEstimates.add( + new UidStateProportionalEstimate(stateValues)); + } + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("Step 1. Compute device-wide power estimates for state combinations:\n"); + for (DeviceStateEstimation deviceStateEstimation : deviceStateEstimations) { + sb.append(" ").append(deviceStateEstimation.id).append("\n"); + } + sb.append("Step 2. Combine device-wide estimates that are untracked per UID:\n"); + boolean any = false; + for (CombinedDeviceStateEstimate cdse : combinedDeviceStateEstimations) { + if (cdse.deviceStateEstimations.size() <= 1) { + continue; + } + any = true; + sb.append(" ").append(cdse.id).append(": "); + for (int i = 0; i < cdse.deviceStateEstimations.size(); i++) { + if (i != 0) { + sb.append(" + "); + } + sb.append(cdse.deviceStateEstimations.get(i).id); + } + sb.append("\n"); + } + if (!any) { + sb.append(" N/A\n"); + } + sb.append("Step 3. Proportionally distribute power estimates to UIDs:\n"); + for (UidStateEstimate uidStateEstimate : uidStateEstimates) { + sb.append(" ").append(uidStateEstimate.combinedDeviceStateEstimate.id) + .append("\n among: "); + for (int i = 0; i < uidStateEstimate.proportionalEstimates.size(); i++) { + UidStateProportionalEstimate uspe = + uidStateEstimate.proportionalEstimates.get(i); + if (i != 0) { + sb.append(", "); + } + sb.append(concatLabels(uidStateEstimate.states, uspe.stateValues)); + } + sb.append("\n"); + } + return sb.toString(); + } + + @Nullable + public DeviceStateEstimation getDeviceStateEstimate( + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + String label = concatLabels(mConfig.getDeviceStateConfig(), stateValues); + for (int i = 0; i < deviceStateEstimations.size(); i++) { + DeviceStateEstimation deviceStateEstimation = this.deviceStateEstimations.get(i); + if (deviceStateEstimation.id.equals(label)) { + return deviceStateEstimation; + } + } + return null; + } + + public CombinedDeviceStateEstimate getCombinedDeviceStateEstimate( + MultiStateStats.States[] deviceStates, + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + String label = concatLabels(deviceStates, stateValues); + for (int i = 0; i < combinedDeviceStateEstimations.size(); i++) { + CombinedDeviceStateEstimate cdse = combinedDeviceStateEstimations.get(i); + if (cdse.id.equals(label)) { + return cdse; + } + } + return null; + } + + public UidStateEstimate getUidStateEstimate(CombinedDeviceStateEstimate combined) { + for (int i = 0; i < uidStateEstimates.size(); i++) { + UidStateEstimate uidStateEstimate = uidStateEstimates.get(i); + if (uidStateEstimate.combinedDeviceStateEstimate == combined) { + return uidStateEstimate; + } + } + return null; + } + + public void resetIntermediates() { + for (int i = deviceStateEstimations.size() - 1; i >= 0; i--) { + deviceStateEstimations.get(i).intermediates = null; + } + for (int i = deviceStateEstimations.size() - 1; i >= 0; i--) { + deviceStateEstimations.get(i).intermediates = null; + } + for (int i = uidStateEstimates.size() - 1; i >= 0; i--) { + UidStateEstimate uidStateEstimate = uidStateEstimates.get(i); + List<UidStateProportionalEstimate> proportionalEstimates = + uidStateEstimate.proportionalEstimates; + for (int j = proportionalEstimates.size() - 1; j >= 0; j--) { + proportionalEstimates.get(j).intermediates = null; + } + } + } + } + + protected static class DeviceStateEstimation { + public final String id; + @AggregatedPowerStatsConfig.TrackedState + public final int[] stateValues; + public Object intermediates; + + public DeviceStateEstimation(MultiStateStats.States[] config, + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + id = concatLabels(config, stateValues); + this.stateValues = stateValues; + } + } + + protected static class CombinedDeviceStateEstimate { + public final String id; + public List<DeviceStateEstimation> deviceStateEstimations = new ArrayList<>(); + public Object intermediates; + + public CombinedDeviceStateEstimate(MultiStateStats.States[] config, + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + id = concatLabels(config, stateValues); + } + } + + protected static class UidStateEstimate { + public final MultiStateStats.States[] states; + public CombinedDeviceStateEstimate combinedDeviceStateEstimate; + public List<UidStateProportionalEstimate> proportionalEstimates = new ArrayList<>(); + + public UidStateEstimate(CombinedDeviceStateEstimate combined, + MultiStateStats.States[] states) { + combinedDeviceStateEstimate = combined; + this.states = states; + } + } + + protected static class UidStateProportionalEstimate { + @AggregatedPowerStatsConfig.TrackedState + public final int[] stateValues; + public Object intermediates; + + protected UidStateProportionalEstimate( + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + this.stateValues = stateValues; + } + } + + private static int findTrackedStateByName(MultiStateStats.States[] states, String name) { + for (int i = 0; i < states.length; i++) { + if (states[i].getName().equals(name)) { + return i; + } + } + return INDEX_DOES_NOT_EXIST; + } + + @NonNull + private static String concatLabels(MultiStateStats.States[] config, + @AggregatedPowerStatsConfig.TrackedState int[] stateValues) { + List<String> labels = new ArrayList<>(); + for (int state = 0; state < config.length; state++) { + if (config[state] != null && config[state].isTracked()) { + labels.add(config[state].getName() + + "=" + config[state].getLabels()[stateValues[state]]); + } + } + Collections.sort(labels); + return labels.toString(); + } + + @AggregatedPowerStatsConfig.TrackedState + private static int[][] getAllTrackedStateCombinations(MultiStateStats.States[] states) { + List<int[]> combinations = new ArrayList<>(); + MultiStateStats.States.forEachTrackedStateCombination(states, stateValues -> { + combinations.add(Arrays.copyOf(stateValues, stateValues.length)); + }); + return combinations.toArray(new int[combinations.size()][0]); + } + + public static double uCtoMah(long chargeUC) { + return chargeUC * MILLIAMPHOUR_PER_MICROCOULOMB; + } +} 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 a9c2bc28b7a0..a6558e07b2aa 100644 --- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java @@ -10937,7 +10937,8 @@ public class BatteryStatsImpl extends BatteryStats { } mCpuPowerStatsCollector = new CpuPowerStatsCollector(mCpuScalingPolicies, mPowerProfile, - mHandler, mBatteryStatsConfig.getPowerStatsThrottlePeriodCpu()); + () -> mBatteryVoltageMv, mHandler, + mBatteryStatsConfig.getPowerStatsThrottlePeriodCpu()); mCpuPowerStatsCollector.addConsumer(this::recordPowerStats); mStartCount++; @@ -14437,6 +14438,7 @@ public class BatteryStatsImpl extends BatteryStats { final int level, /* not final */ int temp, final int voltageMv, final int chargeUah, final int chargeFullUah, final long chargeTimeToFullSeconds, final long elapsedRealtimeMs, final long uptimeMs, final long currentTimeMs) { + // Temperature is encoded without the signed bit, so clamp any negative temperatures to 0. temp = Math.max(0, temp); @@ -15621,18 +15623,6 @@ public class BatteryStatsImpl extends BatteryStats { } } - @GuardedBy("this") - private void dumpCpuPowerBracketsLocked(PrintWriter pw) { - pw.println("CPU power brackets; cluster/freq in MHz(avg current in mA):"); - final int bracketCount = mPowerProfile.getCpuPowerBracketCount(); - for (int bracket = 0; bracket < bracketCount; bracket++) { - pw.print(" "); - pw.print(bracket); - pw.print(": "); - pw.println(mPowerProfile.getCpuPowerBracketDescription(mCpuScalingPolicies, bracket)); - } - } - /** * Dump EnergyConsumer stats */ @@ -16989,8 +16979,10 @@ public class BatteryStatsImpl extends BatteryStats { pw.println(); dumpConstantsLocked(pw); - pw.println(); - dumpCpuPowerBracketsLocked(pw); + if (mCpuPowerStatsCollector != null) { + pw.println(); + mCpuPowerStatsCollector.dumpCpuPowerBracketsLocked(pw); + } pw.println(); dumpEnergyConsumerStatsLocked(pw); diff --git a/services/core/java/com/android/server/power/stats/CpuAggregatedPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/CpuAggregatedPowerStatsProcessor.java new file mode 100644 index 000000000000..f40eef2ed820 --- /dev/null +++ b/services/core/java/com/android/server/power/stats/CpuAggregatedPowerStatsProcessor.java @@ -0,0 +1,545 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS 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.power.stats; + +import android.os.BatteryStats; +import android.util.ArraySet; +import android.util.Log; + +import com.android.internal.os.CpuScalingPolicies; +import com.android.internal.os.PowerProfile; +import com.android.internal.os.PowerStats; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class CpuAggregatedPowerStatsProcessor extends AggregatedPowerStatsProcessor { + private static final String TAG = "CpuAggregatedPowerStatsProcessor"; + + private static final double HOUR_IN_MILLIS = TimeUnit.HOURS.toMillis(1); + private static final int UNKNOWN = -1; + + private final CpuScalingPolicies mCpuScalingPolicies; + // Number of CPU core clusters + private final int mCpuClusterCount; + // Total number of CPU scaling steps across all clusters + private final int mCpuScalingStepCount; + // Map of scaling step to the corresponding core cluster mScalingStepToCluster[step]->cluster + private final int[] mScalingStepToCluster; + // Average power consumed by the CPU when it is powered up (per power_profile.xml) + private final double mPowerMultiplierForCpuActive; + // Average power consumed by each cluster when it is powered up (per power_profile.xml) + private final double[] mPowerMultipliersByCluster; + // Average power consumed by each scaling step when running code (per power_profile.xml) + private final double[] mPowerMultipliersByScalingStep; + // A map used to combine energy consumers into a smaller set, in case power brackets + // are defined in a way that does not allow an unambiguous mapping of energy consumers to + // brackets + private int[] mEnergyConsumerToCombinedEnergyConsumerMap; + // A map of combined energy consumers to the corresponding collections of power brackets. + // For example, if there are two CPU_CLUSTER rails and each maps to three brackets, + // this map will look like this: + // 0 : [0, 1, 2] + // 1 : [3, 4, 5] + private int[][] mCombinedEnergyConsumerToPowerBracketMap; + + // Cached reference to a PowerStats descriptor. Almost never changes in practice, + // helping to avoid reparsing the descriptor for every PowerStats span. + private PowerStats.Descriptor mLastUsedDescriptor; + // Cached results of parsing of current PowerStats.Descriptor. Only refreshed when + // mLastUsedDescriptor changes + private CpuPowerStatsCollector.StatsArrayLayout mStatsLayout; + // Sequence of steps for power estimation and intermediate results. + private PowerEstimationPlan mPlan; + + // Temp array for retrieval of device power stats, to avoid repeated allocations + private long[] mTmpDeviceStatsArray; + // Temp array for retrieval of UID power stats, to avoid repeated allocations + private long[] mTmpUidStatsArray; + + public CpuAggregatedPowerStatsProcessor(PowerProfile powerProfile, + CpuScalingPolicies scalingPolicies) { + mCpuScalingPolicies = scalingPolicies; + mCpuScalingStepCount = scalingPolicies.getScalingStepCount(); + mScalingStepToCluster = new int[mCpuScalingStepCount]; + mPowerMultipliersByScalingStep = new double[mCpuScalingStepCount]; + + int step = 0; + int[] policies = scalingPolicies.getPolicies(); + mCpuClusterCount = policies.length; + mPowerMultipliersByCluster = new double[mCpuClusterCount]; + for (int cluster = 0; cluster < mCpuClusterCount; cluster++) { + int policy = policies[cluster]; + mPowerMultipliersByCluster[cluster] = + powerProfile.getAveragePowerForCpuScalingPolicy(policy) / HOUR_IN_MILLIS; + int[] frequencies = scalingPolicies.getFrequencies(policy); + for (int i = 0; i < frequencies.length; i++) { + mScalingStepToCluster[step] = cluster; + mPowerMultipliersByScalingStep[step] = + powerProfile.getAveragePowerForCpuScalingStep(policy, i) / HOUR_IN_MILLIS; + step++; + } + } + mPowerMultiplierForCpuActive = + powerProfile.getAveragePower(PowerProfile.POWER_CPU_ACTIVE) / HOUR_IN_MILLIS; + } + + private void unpackPowerStatsDescriptor(PowerStats.Descriptor descriptor) { + if (descriptor.equals(mLastUsedDescriptor)) { + return; + } + + mLastUsedDescriptor = descriptor; + mStatsLayout = new CpuPowerStatsCollector.StatsArrayLayout(); + mStatsLayout.fromExtras(descriptor.extras); + + mTmpDeviceStatsArray = new long[descriptor.statsArrayLength]; + mTmpUidStatsArray = new long[descriptor.uidStatsArrayLength]; + } + + /** + * Temporary struct to capture intermediate results of power estimation. + */ + private static final class Intermediates { + public long uptime; + // Sum of all time-in-step values, combining all time-in-step durations across all cores. + public long cumulativeTime; + // CPU activity durations per cluster + public long[] timeByCluster; + // Sums of time-in-step values, aggregated by cluster, combining all cores in the cluster. + public long[] cumulativeTimeByCluster; + public long[] timeByScalingStep; + public double[] powerByCluster; + public double[] powerByScalingStep; + public long[] powerByEnergyConsumer; + } + + /** + * Temporary struct to capture intermediate results of power estimation. + */ + private static class DeviceStatsIntermediates { + public double power; + public long[] timeByBracket; + public double[] powerByBracket; + } + + @Override + public void finish(PowerComponentAggregatedPowerStats stats) { + if (stats.getPowerStatsDescriptor() == null) { + return; + } + + unpackPowerStatsDescriptor(stats.getPowerStatsDescriptor()); + + if (mPlan == null) { + mPlan = new PowerEstimationPlan(stats.getConfig()); + if (mStatsLayout.getCpuClusterEnergyConsumerCount() != 0) { + initEnergyConsumerToPowerBracketMaps(); + } + } + + Intermediates intermediates = new Intermediates(); + + int cpuScalingStepCount = mStatsLayout.getCpuScalingStepCount(); + if (cpuScalingStepCount != mCpuScalingStepCount) { + Log.e(TAG, "Mismatched CPU scaling step count in PowerStats: " + cpuScalingStepCount + + ", expected: " + mCpuScalingStepCount); + return; + } + + int clusterCount = mStatsLayout.getCpuClusterCount(); + if (clusterCount != mCpuClusterCount) { + Log.e(TAG, "Mismatched CPU cluster count in PowerStats: " + clusterCount + + ", expected: " + mCpuClusterCount); + return; + } + + computeTotals(stats, intermediates); + if (intermediates.cumulativeTime == 0) { + return; + } + + estimatePowerByScalingStep(intermediates); + estimatePowerByDeviceState(stats, intermediates); + combineDeviceStateEstimates(); + + ArrayList<Integer> uids = new ArrayList<>(); + stats.collectUids(uids); + if (!uids.isEmpty()) { + for (int uid : uids) { + for (int i = 0; i < mPlan.uidStateEstimates.size(); i++) { + estimateUidPowerConsumption(stats, uid, mPlan.uidStateEstimates.get(i)); + } + } + } + mPlan.resetIntermediates(); + } + + /* + * Populate data structures (two maps) needed to use power rail data, aka energy consumers, + * to attribute power usage to apps. + * + * At this point, the algorithm covers only the most basic cases: + * - Each cluster is mapped to unique power brackets (possibly multiple for each cluster): + * CL_0: [bracket0, bracket1] + * CL_1: [bracket3] + * In this case, the consumed energy is distributed to the corresponding brackets + * proportionally. + * - Brackets span multiple clusters: + * CL_0: [bracket0, bracket1] + * CL_1: [bracket1, bracket2] + * CL_2: [bracket3, bracket4] + * In this case, we combine energy consumers into groups unambiguously mapped to + * brackets. In the above example, consumed energy for CL_0 and CL_1 will be combined + * because they both map to the same power bracket (bracket1): + * (CL_0+CL_1): [bracket0, bracket1, bracket2] + * CL_2: [bracket3, bracket4] + */ + private void initEnergyConsumerToPowerBracketMaps() { + int energyConsumerCount = mStatsLayout.getCpuClusterEnergyConsumerCount(); + int powerBracketCount = mStatsLayout.getCpuPowerBracketCount(); + + mEnergyConsumerToCombinedEnergyConsumerMap = new int[energyConsumerCount]; + mCombinedEnergyConsumerToPowerBracketMap = new int[energyConsumerCount][]; + + int[] policies = mCpuScalingPolicies.getPolicies(); + if (energyConsumerCount == policies.length) { + int[] scalingStepToPowerBracketMap = mStatsLayout.getScalingStepToPowerBracketMap(); + ArraySet<Integer>[] clusterToBrackets = new ArraySet[policies.length]; + int step = 0; + for (int cluster = 0; cluster < policies.length; cluster++) { + int[] freqs = mCpuScalingPolicies.getFrequencies(policies[cluster]); + clusterToBrackets[cluster] = new ArraySet<>(freqs.length); + for (int j = 0; j < freqs.length; j++) { + clusterToBrackets[cluster].add(scalingStepToPowerBracketMap[step++]); + } + } + + ArraySet<Integer>[] combinedEnergyConsumers = new ArraySet[policies.length]; + int combinedEnergyConsumersCount = 0; + + for (int cluster = 0; cluster < clusterToBrackets.length; cluster++) { + int combineWith = UNKNOWN; + for (int i = 0; i < combinedEnergyConsumersCount; i++) { + if (containsAny(combinedEnergyConsumers[i], clusterToBrackets[cluster])) { + combineWith = i; + break; + } + } + if (combineWith != UNKNOWN) { + mEnergyConsumerToCombinedEnergyConsumerMap[cluster] = combineWith; + combinedEnergyConsumers[combineWith].addAll(clusterToBrackets[cluster]); + } else { + mEnergyConsumerToCombinedEnergyConsumerMap[cluster] = + combinedEnergyConsumersCount; + combinedEnergyConsumers[combinedEnergyConsumersCount++] = + clusterToBrackets[cluster]; + } + } + + for (int i = combinedEnergyConsumers.length - 1; i >= 0; i--) { + mCombinedEnergyConsumerToPowerBracketMap[i] = + new int[combinedEnergyConsumers[i].size()]; + for (int j = combinedEnergyConsumers[i].size() - 1; j >= 0; j--) { + mCombinedEnergyConsumerToPowerBracketMap[i][j] = + combinedEnergyConsumers[i].valueAt(j); + } + } + } else { + // All CPU cluster energy consumers are combined into one, which is + // distributed proportionally to all power brackets. + int[] map = new int[powerBracketCount]; + for (int i = 0; i < map.length; i++) { + map[i] = i; + } + mCombinedEnergyConsumerToPowerBracketMap[0] = map; + } + } + + private static boolean containsAny(ArraySet<Integer> set1, ArraySet<Integer> set2) { + for (int i = 0; i < set2.size(); i++) { + if (set1.contains(set2.valueAt(i))) { + return true; + } + } + return false; + } + + private void computeTotals(PowerComponentAggregatedPowerStats stats, + Intermediates intermediates) { + intermediates.timeByScalingStep = new long[mCpuScalingStepCount]; + intermediates.timeByCluster = new long[mCpuClusterCount]; + intermediates.cumulativeTimeByCluster = new long[mCpuClusterCount]; + + List<DeviceStateEstimation> deviceStateEstimations = mPlan.deviceStateEstimations; + for (int i = deviceStateEstimations.size() - 1; i >= 0; i--) { + DeviceStateEstimation deviceStateEstimation = deviceStateEstimations.get(i); + if (!stats.getDeviceStats(mTmpDeviceStatsArray, deviceStateEstimation.stateValues)) { + continue; + } + + intermediates.uptime += mStatsLayout.getUptime(mTmpDeviceStatsArray); + + for (int cluster = 0; cluster < mCpuClusterCount; cluster++) { + intermediates.timeByCluster[cluster] += + mStatsLayout.getTimeByCluster(mTmpDeviceStatsArray, cluster); + } + + for (int step = 0; step < mCpuScalingStepCount; step++) { + long timeInStep = mStatsLayout.getTimeByScalingStep(mTmpDeviceStatsArray, step); + intermediates.cumulativeTime += timeInStep; + intermediates.timeByScalingStep[step] += timeInStep; + intermediates.cumulativeTimeByCluster[mScalingStepToCluster[step]] += timeInStep; + } + } + } + + private void estimatePowerByScalingStep(Intermediates intermediates) { + // CPU consumes some power when it's on - no matter which cores are running. + double cpuActivePower = mPowerMultiplierForCpuActive * intermediates.uptime; + + // Additionally, every cluster consumes some power when any of its cores are running + intermediates.powerByCluster = new double[mCpuClusterCount]; + for (int cluster = 0; cluster < mCpuClusterCount; cluster++) { + intermediates.powerByCluster[cluster] = + mPowerMultipliersByCluster[cluster] * intermediates.timeByCluster[cluster]; + } + + // Finally, additional power is consumed depending on the frequency scaling + intermediates.powerByScalingStep = new double[mCpuScalingStepCount]; + for (int step = 0; step < mCpuScalingStepCount; step++) { + int cluster = mScalingStepToCluster[step]; + + double power; + + // Distribute base power proportionally + power = cpuActivePower * intermediates.timeByScalingStep[step] + / intermediates.cumulativeTime; + + // Distribute per-cluster power proportionally + long cumulativeTimeInCluster = intermediates.cumulativeTimeByCluster[cluster]; + if (cumulativeTimeInCluster != 0) { + power += intermediates.powerByCluster[cluster] + * intermediates.timeByScalingStep[step] + / cumulativeTimeInCluster; + } + + power += mPowerMultipliersByScalingStep[step] * intermediates.timeByScalingStep[step]; + + intermediates.powerByScalingStep[step] = power; + } + } + + private void estimatePowerByDeviceState(PowerComponentAggregatedPowerStats stats, + Intermediates intermediates) { + int cpuScalingStepCount = mStatsLayout.getCpuScalingStepCount(); + int powerBracketCount = mStatsLayout.getCpuPowerBracketCount(); + int[] scalingStepToBracketMap = mStatsLayout.getScalingStepToPowerBracketMap(); + int energyConsumerCount = mStatsLayout.getCpuClusterEnergyConsumerCount(); + List<DeviceStateEstimation> deviceStateEstimations = mPlan.deviceStateEstimations; + for (int dse = deviceStateEstimations.size() - 1; dse >= 0; dse--) { + DeviceStateEstimation deviceStateEstimation = deviceStateEstimations.get(dse); + deviceStateEstimation.intermediates = new DeviceStatsIntermediates(); + DeviceStatsIntermediates deviceStatsIntermediates = + (DeviceStatsIntermediates) deviceStateEstimation.intermediates; + deviceStatsIntermediates.timeByBracket = new long[powerBracketCount]; + deviceStatsIntermediates.powerByBracket = new double[powerBracketCount]; + + stats.getDeviceStats(mTmpDeviceStatsArray, deviceStateEstimation.stateValues); + for (int step = 0; step < cpuScalingStepCount; step++) { + if (intermediates.timeByScalingStep[step] == 0) { + continue; + } + + long timeInStep = mStatsLayout.getTimeByScalingStep(mTmpDeviceStatsArray, step); + double stepPower = intermediates.powerByScalingStep[step] * timeInStep + / intermediates.timeByScalingStep[step]; + + int bracket = scalingStepToBracketMap[step]; + deviceStatsIntermediates.timeByBracket[bracket] += timeInStep; + deviceStatsIntermediates.powerByBracket[bracket] += stepPower; + } + + if (energyConsumerCount != 0) { + adjustEstimatesUsingEnergyConsumers(intermediates, deviceStatsIntermediates); + } + + double power = 0; + for (int i = deviceStatsIntermediates.powerByBracket.length - 1; i >= 0; i--) { + power += deviceStatsIntermediates.powerByBracket[i]; + } + deviceStatsIntermediates.power = power; + mStatsLayout.setDevicePowerEstimate(mTmpDeviceStatsArray, power); + stats.setDeviceStats(deviceStateEstimation.stateValues, mTmpDeviceStatsArray); + } + } + + private void adjustEstimatesUsingEnergyConsumers( + Intermediates intermediates, DeviceStatsIntermediates deviceStatsIntermediates) { + int energyConsumerCount = mStatsLayout.getCpuClusterEnergyConsumerCount(); + if (energyConsumerCount == 0) { + return; + } + + if (intermediates.powerByEnergyConsumer == null) { + intermediates.powerByEnergyConsumer = new long[energyConsumerCount]; + } else { + Arrays.fill(intermediates.powerByEnergyConsumer, 0); + } + for (int i = 0; i < energyConsumerCount; i++) { + intermediates.powerByEnergyConsumer[mEnergyConsumerToCombinedEnergyConsumerMap[i]] += + mStatsLayout.getConsumedEnergy(mTmpDeviceStatsArray, i); + } + + for (int combinedConsumer = mCombinedEnergyConsumerToPowerBracketMap.length - 1; + combinedConsumer >= 0; combinedConsumer--) { + int[] combinedEnergyConsumerToPowerBracketMap = + mCombinedEnergyConsumerToPowerBracketMap[combinedConsumer]; + if (combinedEnergyConsumerToPowerBracketMap == null) { + continue; + } + + double consumedEnergy = uCtoMah(intermediates.powerByEnergyConsumer[combinedConsumer]); + + double totalModeledPower = 0; + for (int bracket : combinedEnergyConsumerToPowerBracketMap) { + totalModeledPower += deviceStatsIntermediates.powerByBracket[bracket]; + } + if (totalModeledPower == 0) { + continue; + } + + for (int bracket : combinedEnergyConsumerToPowerBracketMap) { + deviceStatsIntermediates.powerByBracket[bracket] = + consumedEnergy * deviceStatsIntermediates.powerByBracket[bracket] + / totalModeledPower; + } + } + } + + private void combineDeviceStateEstimates() { + for (int i = mPlan.combinedDeviceStateEstimations.size() - 1; i >= 0; i--) { + CombinedDeviceStateEstimate cdse = mPlan.combinedDeviceStateEstimations.get(i); + DeviceStatsIntermediates cdseIntermediates = new DeviceStatsIntermediates(); + cdse.intermediates = cdseIntermediates; + int bracketCount = mStatsLayout.getCpuPowerBracketCount(); + cdseIntermediates.timeByBracket = new long[bracketCount]; + cdseIntermediates.powerByBracket = new double[bracketCount]; + List<DeviceStateEstimation> deviceStateEstimations = cdse.deviceStateEstimations; + for (int j = deviceStateEstimations.size() - 1; j >= 0; j--) { + DeviceStateEstimation dse = deviceStateEstimations.get(j); + DeviceStatsIntermediates intermediates = + (DeviceStatsIntermediates) dse.intermediates; + cdseIntermediates.power += intermediates.power; + for (int k = 0; k < bracketCount; k++) { + cdseIntermediates.timeByBracket[k] += intermediates.timeByBracket[k]; + cdseIntermediates.powerByBracket[k] += intermediates.powerByBracket[k]; + } + } + } + } + + private void estimateUidPowerConsumption(PowerComponentAggregatedPowerStats stats, int uid, + UidStateEstimate uidStateEstimate) { + CombinedDeviceStateEstimate combinedDeviceStateEstimate = + uidStateEstimate.combinedDeviceStateEstimate; + DeviceStatsIntermediates cdsIntermediates = + (DeviceStatsIntermediates) combinedDeviceStateEstimate.intermediates; + for (int i = 0; i < uidStateEstimate.proportionalEstimates.size(); i++) { + UidStateProportionalEstimate proportionalEstimate = + uidStateEstimate.proportionalEstimates.get(i); + if (!stats.getUidStats(mTmpUidStatsArray, uid, proportionalEstimate.stateValues)) { + continue; + } + + double power = 0; + for (int bracket = 0; bracket < mStatsLayout.getCpuPowerBracketCount(); bracket++) { + if (cdsIntermediates.timeByBracket[bracket] == 0) { + continue; + } + + long timeInBracket = mStatsLayout.getUidTimeByPowerBracket(mTmpUidStatsArray, + bracket); + if (timeInBracket == 0) { + continue; + } + + power += cdsIntermediates.powerByBracket[bracket] * timeInBracket + / cdsIntermediates.timeByBracket[bracket]; + } + + mStatsLayout.setUidPowerEstimate(mTmpUidStatsArray, power); + stats.setUidStats(uid, proportionalEstimate.stateValues, mTmpUidStatsArray); + } + } + + @Override + public String deviceStatsToString(PowerStats.Descriptor descriptor, long[] stats) { + unpackPowerStatsDescriptor(descriptor); + StringBuilder sb = new StringBuilder(); + int cpuScalingStepCount = mStatsLayout.getCpuScalingStepCount(); + sb.append("steps: ["); + for (int step = 0; step < cpuScalingStepCount; step++) { + if (step != 0) { + sb.append(", "); + } + sb.append(mStatsLayout.getTimeByScalingStep(stats, step)); + } + int clusterCount = mStatsLayout.getCpuClusterCount(); + sb.append("] clusters: ["); + for (int cluster = 0; cluster < clusterCount; cluster++) { + if (cluster != 0) { + sb.append(", "); + } + sb.append(mStatsLayout.getTimeByCluster(stats, cluster)); + } + sb.append("] uptime: ").append(mStatsLayout.getUptime(stats)); + int energyConsumerCount = mStatsLayout.getCpuClusterEnergyConsumerCount(); + if (energyConsumerCount > 0) { + sb.append(" energy: ["); + for (int i = 0; i < energyConsumerCount; i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(mStatsLayout.getConsumedEnergy(stats, i)); + } + sb.append("]"); + } + sb.append(" power: ").append( + BatteryStats.formatCharge(mStatsLayout.getDevicePowerEstimate(stats))); + return sb.toString(); + } + + @Override + public String uidStatsToString(PowerStats.Descriptor descriptor, long[] stats) { + unpackPowerStatsDescriptor(descriptor); + StringBuilder sb = new StringBuilder(); + sb.append("["); + int powerBracketCount = mStatsLayout.getCpuPowerBracketCount(); + for (int bracket = 0; bracket < powerBracketCount; bracket++) { + if (bracket != 0) { + sb.append(", "); + } + sb.append(mStatsLayout.getUidTimeByPowerBracket(stats, bracket)); + } + sb.append("] power: ").append( + BatteryStats.formatCharge(mStatsLayout.getUidPowerEstimate(stats))); + return sb.toString(); + } +} diff --git a/services/core/java/com/android/server/power/stats/CpuPowerStatsCollector.java b/services/core/java/com/android/server/power/stats/CpuPowerStatsCollector.java index 376ca897fbd1..a388932cb708 100644 --- a/services/core/java/com/android/server/power/stats/CpuPowerStatsCollector.java +++ b/services/core/java/com/android/server/power/stats/CpuPowerStatsCollector.java @@ -16,19 +16,39 @@ package com.android.server.power.stats; +import android.hardware.power.stats.EnergyConsumer; +import android.hardware.power.stats.EnergyConsumerResult; +import android.hardware.power.stats.EnergyConsumerType; import android.os.BatteryConsumer; import android.os.Handler; import android.os.PersistableBundle; +import android.power.PowerStatsInternal; +import android.util.Slog; import android.util.SparseArray; import com.android.internal.annotations.Keep; import com.android.internal.annotations.VisibleForNative; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.Clock; import com.android.internal.os.CpuScalingPolicies; import com.android.internal.os.PowerProfile; import com.android.internal.os.PowerStats; +import com.android.server.LocalServices; import com.android.server.power.optimization.Flags; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.function.IntSupplier; +import java.util.function.Supplier; + /** * Collects snapshots of power-related system statistics. * <p> @@ -36,91 +56,708 @@ import com.android.server.power.optimization.Flags; * constructor. Thus the object is not thread-safe except where noted. */ public class CpuPowerStatsCollector extends PowerStatsCollector { + private static final String TAG = "CpuPowerStatsCollector"; private static final long NANOS_PER_MILLIS = 1000000; + private static final long ENERGY_UNSPECIFIED = -1; + private static final int DEFAULT_CPU_POWER_BRACKETS = 3; + private static final int DEFAULT_CPU_POWER_BRACKETS_PER_ENERGY_CONSUMER = 2; + private static final long POWER_STATS_ENERGY_CONSUMERS_TIMEOUT = 20000; + private boolean mIsInitialized; + private final CpuScalingPolicies mCpuScalingPolicies; + private final PowerProfile mPowerProfile; private final KernelCpuStatsReader mKernelCpuStatsReader; - private final int[] mScalingStepToPowerBracketMap; - private final long[] mTempUidStats; + private final Supplier<PowerStatsInternal> mPowerStatsSupplier; + private final IntSupplier mVoltageSupplier; + private final int mDefaultCpuPowerBrackets; + private final int mDefaultCpuPowerBracketsPerEnergyConsumer; + private long[] mCpuTimeByScalingStep; + private long[] mTempCpuTimeByScalingStep; + private long[] mTempUidStats; private final SparseArray<UidStats> mUidStats = new SparseArray<>(); - private final int mUidStatsSize; + private boolean mIsPerUidTimeInStateSupported; + private PowerStatsInternal mPowerStatsInternal; + private int[] mCpuEnergyConsumerIds; + private PowerStats.Descriptor mPowerStatsDescriptor; // Reusable instance - private final PowerStats mCpuPowerStats; + private PowerStats mCpuPowerStats; + private StatsArrayLayout mLayout; private long mLastUpdateTimestampNanos; + private long mLastUpdateUptimeMillis; + private int mLastVoltageMv; + private long[] mLastConsumedEnergyUws; + + /** + * Captures the positions and lengths of sections of the stats array, such as time-in-state, + * power usage estimates etc. + */ + public static class StatsArrayLayout { + private static final String EXTRA_DEVICE_TIME_BY_SCALING_STEP_POSITION = "dt"; + private static final String EXTRA_DEVICE_TIME_BY_SCALING_STEP_COUNT = "dtc"; + private static final String EXTRA_DEVICE_TIME_BY_CLUSTER_POSITION = "dc"; + private static final String EXTRA_DEVICE_TIME_BY_CLUSTER_COUNT = "dcc"; + private static final String EXTRA_DEVICE_POWER_POSITION = "dp"; + private static final String EXTRA_DEVICE_UPTIME_POSITION = "du"; + private static final String EXTRA_DEVICE_ENERGY_CONSUMERS_POSITION = "de"; + private static final String EXTRA_DEVICE_ENERGY_CONSUMERS_COUNT = "dec"; + private static final String EXTRA_UID_BRACKETS_POSITION = "ub"; + private static final String EXTRA_UID_STATS_SCALING_STEP_TO_POWER_BRACKET = "us"; + private static final String EXTRA_UID_POWER_POSITION = "up"; + + private static final double MILLI_TO_NANO_MULTIPLIER = 1000000.0; + + private int mDeviceStatsArrayLength; + private int mUidStatsArrayLength; + + private int mDeviceCpuTimeByScalingStepPosition; + private int mDeviceCpuTimeByScalingStepCount; + private int mDeviceCpuTimeByClusterPosition; + private int mDeviceCpuTimeByClusterCount; + private int mDeviceCpuUptimePosition; + private int mDeviceEnergyConsumerPosition; + private int mDeviceEnergyConsumerCount; + private int mDevicePowerEstimatePosition; + + private int mUidPowerBracketsPosition; + private int mUidPowerBracketCount; + private int[][] mEnergyConsumerToPowerBucketMaps; + private int mUidPowerEstimatePosition; + + private int[] mScalingStepToPowerBracketMap; + + public int getDeviceStatsArrayLength() { + return mDeviceStatsArrayLength; + } + + public int getUidStatsArrayLength() { + return mUidStatsArrayLength; + } + + /** + * Declare that the stats array has a section capturing CPU time per scaling step + */ + public void addDeviceSectionCpuTimeByScalingStep(int scalingStepCount) { + mDeviceCpuTimeByScalingStepPosition = mDeviceStatsArrayLength; + mDeviceCpuTimeByScalingStepCount = scalingStepCount; + mDeviceStatsArrayLength += scalingStepCount; + } + + public int getCpuScalingStepCount() { + return mDeviceCpuTimeByScalingStepCount; + } + + /** + * Saves the time duration in the <code>stats</code> element + * corresponding to the CPU scaling <code>state</code>. + */ + public void setTimeByScalingStep(long[] stats, int step, long value) { + stats[mDeviceCpuTimeByScalingStepPosition + step] = value; + } + + /** + * Extracts the time duration from the <code>stats</code> element + * corresponding to the CPU scaling <code>step</code>. + */ + public long getTimeByScalingStep(long[] stats, int step) { + return stats[mDeviceCpuTimeByScalingStepPosition + step]; + } + + /** + * Declare that the stats array has a section capturing CPU time in each cluster + */ + public void addDeviceSectionCpuTimeByCluster(int clusterCount) { + mDeviceCpuTimeByClusterCount = clusterCount; + mDeviceCpuTimeByClusterPosition = mDeviceStatsArrayLength; + mDeviceStatsArrayLength += clusterCount; + } + + public int getCpuClusterCount() { + return mDeviceCpuTimeByClusterCount; + } + + /** + * Saves the time duration in the <code>stats</code> element + * corresponding to the CPU <code>cluster</code>. + */ + public void setTimeByCluster(long[] stats, int cluster, long value) { + stats[mDeviceCpuTimeByClusterPosition + cluster] = value; + } + + /** + * Extracts the time duration from the <code>stats</code> element + * corresponding to the CPU <code>cluster</code>. + */ + public long getTimeByCluster(long[] stats, int cluster) { + return stats[mDeviceCpuTimeByClusterPosition + cluster]; + } + + /** + * Declare that the stats array has a section capturing CPU uptime + */ + public void addDeviceSectionUptime() { + mDeviceCpuUptimePosition = mDeviceStatsArrayLength++; + } + + /** + * Saves the CPU uptime duration in the corresponding <code>stats</code> element. + */ + public void setUptime(long[] stats, long value) { + stats[mDeviceCpuUptimePosition] = value; + } + + /** + * Extracts the CPU uptime duration from the corresponding <code>stats</code> element. + */ + public long getUptime(long[] stats) { + return stats[mDeviceCpuUptimePosition]; + } + + /** + * Declares that the stats array has a section capturing EnergyConsumer data from + * PowerStatsService. + */ + public void addDeviceSectionEnergyConsumers(int energyConsumerCount) { + mDeviceEnergyConsumerPosition = mDeviceStatsArrayLength; + mDeviceEnergyConsumerCount = energyConsumerCount; + mDeviceStatsArrayLength += energyConsumerCount; + } + + public int getCpuClusterEnergyConsumerCount() { + return mDeviceEnergyConsumerCount; + } + + /** + * Saves the accumulated energy for the specified rail the corresponding + * <code>stats</code> element. + */ + public void setConsumedEnergy(long[] stats, int index, long energy) { + stats[mDeviceEnergyConsumerPosition + index] = energy; + } + + /** + * Extracts the EnergyConsumer data from a device stats array for the specified + * EnergyConsumer. + */ + public long getConsumedEnergy(long[] stats, int index) { + return stats[mDeviceEnergyConsumerPosition + index]; + } + + /** + * Declare that the stats array has a section capturing a power estimate + */ + public void addDeviceSectionPowerEstimate() { + mDevicePowerEstimatePosition = mDeviceStatsArrayLength++; + } + + /** + * Converts the supplied mAh power estimate to a long and saves it in the corresponding + * element of <code>stats</code>. + */ + public void setDevicePowerEstimate(long[] stats, double power) { + stats[mDevicePowerEstimatePosition] = (long) (power * MILLI_TO_NANO_MULTIPLIER); + } + + /** + * Extracts the power estimate from a device stats array and converts it to mAh. + */ + public double getDevicePowerEstimate(long[] stats) { + return stats[mDevicePowerEstimatePosition] / MILLI_TO_NANO_MULTIPLIER; + } + + /** + * Declare that the UID stats array has a section capturing CPU time per power bracket. + */ + public void addUidSectionCpuTimeByPowerBracket(int[] scalingStepToPowerBracketMap) { + mScalingStepToPowerBracketMap = scalingStepToPowerBracketMap; + mUidPowerBracketsPosition = mUidStatsArrayLength; + updatePowerBracketCount(); + mUidStatsArrayLength += mUidPowerBracketCount; + } + + private void updatePowerBracketCount() { + mUidPowerBracketCount = 1; + for (int bracket : mScalingStepToPowerBracketMap) { + if (bracket >= mUidPowerBracketCount) { + mUidPowerBracketCount = bracket + 1; + } + } + } + + public int[] getScalingStepToPowerBracketMap() { + return mScalingStepToPowerBracketMap; + } + + public int getCpuPowerBracketCount() { + return mUidPowerBracketCount; + } + + /** + * Saves time in <code>bracket</code> in the corresponding section of <code>stats</code>. + */ + public void setUidTimeByPowerBracket(long[] stats, int bracket, long value) { + stats[mUidPowerBracketsPosition + bracket] = value; + } + + /** + * Extracts the time in <code>bracket</code> from a UID stats array. + */ + public long getUidTimeByPowerBracket(long[] stats, int bracket) { + return stats[mUidPowerBracketsPosition + bracket]; + } + + /** + * Declare that the UID stats array has a section capturing a power estimate + */ + public void addUidSectionPowerEstimate() { + mUidPowerEstimatePosition = mUidStatsArrayLength++; + } + + /** + * Converts the supplied mAh power estimate to a long and saves it in the corresponding + * element of <code>stats</code>. + */ + public void setUidPowerEstimate(long[] stats, double power) { + stats[mUidPowerEstimatePosition] = (long) (power * MILLI_TO_NANO_MULTIPLIER); + } + + /** + * Extracts the power estimate from a UID stats array and converts it to mAh. + */ + public double getUidPowerEstimate(long[] stats) { + return stats[mUidPowerEstimatePosition] / MILLI_TO_NANO_MULTIPLIER; + } + + /** + * Copies the elements of the stats array layout into <code>extras</code> + */ + public void toExtras(PersistableBundle extras) { + extras.putInt(EXTRA_DEVICE_TIME_BY_SCALING_STEP_POSITION, + mDeviceCpuTimeByScalingStepPosition); + extras.putInt(EXTRA_DEVICE_TIME_BY_SCALING_STEP_COUNT, + mDeviceCpuTimeByScalingStepCount); + extras.putInt(EXTRA_DEVICE_TIME_BY_CLUSTER_POSITION, + mDeviceCpuTimeByClusterPosition); + extras.putInt(EXTRA_DEVICE_TIME_BY_CLUSTER_COUNT, + mDeviceCpuTimeByClusterCount); + extras.putInt(EXTRA_DEVICE_UPTIME_POSITION, mDeviceCpuUptimePosition); + extras.putInt(EXTRA_DEVICE_ENERGY_CONSUMERS_POSITION, + mDeviceEnergyConsumerPosition); + extras.putInt(EXTRA_DEVICE_ENERGY_CONSUMERS_COUNT, + mDeviceEnergyConsumerCount); + extras.putInt(EXTRA_DEVICE_POWER_POSITION, mDevicePowerEstimatePosition); + extras.putInt(EXTRA_UID_BRACKETS_POSITION, mUidPowerBracketsPosition); + extras.putIntArray(EXTRA_UID_STATS_SCALING_STEP_TO_POWER_BRACKET, + mScalingStepToPowerBracketMap); + extras.putInt(EXTRA_UID_POWER_POSITION, mUidPowerEstimatePosition); + } + + /** + * Retrieves elements of the stats array layout from <code>extras</code> + */ + public void fromExtras(PersistableBundle extras) { + mDeviceCpuTimeByScalingStepPosition = + extras.getInt(EXTRA_DEVICE_TIME_BY_SCALING_STEP_POSITION); + mDeviceCpuTimeByScalingStepCount = + extras.getInt(EXTRA_DEVICE_TIME_BY_SCALING_STEP_COUNT); + mDeviceCpuTimeByClusterPosition = + extras.getInt(EXTRA_DEVICE_TIME_BY_CLUSTER_POSITION); + mDeviceCpuTimeByClusterCount = + extras.getInt(EXTRA_DEVICE_TIME_BY_CLUSTER_COUNT); + mDeviceCpuUptimePosition = extras.getInt(EXTRA_DEVICE_UPTIME_POSITION); + mDeviceEnergyConsumerPosition = extras.getInt(EXTRA_DEVICE_ENERGY_CONSUMERS_POSITION); + mDeviceEnergyConsumerCount = extras.getInt(EXTRA_DEVICE_ENERGY_CONSUMERS_COUNT); + mDevicePowerEstimatePosition = extras.getInt(EXTRA_DEVICE_POWER_POSITION); + mUidPowerBracketsPosition = extras.getInt(EXTRA_UID_BRACKETS_POSITION); + mScalingStepToPowerBracketMap = + extras.getIntArray(EXTRA_UID_STATS_SCALING_STEP_TO_POWER_BRACKET); + if (mScalingStepToPowerBracketMap == null) { + mScalingStepToPowerBracketMap = new int[mDeviceCpuTimeByScalingStepCount]; + } + updatePowerBracketCount(); + mUidPowerEstimatePosition = extras.getInt(EXTRA_UID_POWER_POSITION); + } + } public CpuPowerStatsCollector(CpuScalingPolicies cpuScalingPolicies, PowerProfile powerProfile, - Handler handler, long throttlePeriodMs) { + IntSupplier voltageSupplier, Handler handler, long throttlePeriodMs) { this(cpuScalingPolicies, powerProfile, handler, new KernelCpuStatsReader(), - throttlePeriodMs, Clock.SYSTEM_CLOCK); + () -> LocalServices.getService(PowerStatsInternal.class), voltageSupplier, + throttlePeriodMs, Clock.SYSTEM_CLOCK, DEFAULT_CPU_POWER_BRACKETS, + DEFAULT_CPU_POWER_BRACKETS_PER_ENERGY_CONSUMER); } public CpuPowerStatsCollector(CpuScalingPolicies cpuScalingPolicies, PowerProfile powerProfile, Handler handler, KernelCpuStatsReader kernelCpuStatsReader, - long throttlePeriodMs, Clock clock) { + Supplier<PowerStatsInternal> powerStatsSupplier, + IntSupplier voltageSupplier, long throttlePeriodMs, Clock clock, + int defaultCpuPowerBrackets, int defaultCpuPowerBracketsPerEnergyConsumer) { super(handler, throttlePeriodMs, clock); + mCpuScalingPolicies = cpuScalingPolicies; + mPowerProfile = powerProfile; mKernelCpuStatsReader = kernelCpuStatsReader; + mPowerStatsSupplier = powerStatsSupplier; + mVoltageSupplier = voltageSupplier; + mDefaultCpuPowerBrackets = defaultCpuPowerBrackets; + mDefaultCpuPowerBracketsPerEnergyConsumer = defaultCpuPowerBracketsPerEnergyConsumer; + + } + + /** + * Initializes the collector during the boot sequence. + */ + public void onSystemReady() { + setEnabled(Flags.streamlinedBatteryStats()); + } + + private void ensureInitialized() { + if (mIsInitialized) { + return; + } + + if (!isEnabled()) { + return; + } + + mIsPerUidTimeInStateSupported = mKernelCpuStatsReader.nativeIsSupportedFeature(); + mPowerStatsInternal = mPowerStatsSupplier.get(); - int scalingStepCount = cpuScalingPolicies.getScalingStepCount(); - mScalingStepToPowerBracketMap = new int[scalingStepCount]; + if (mPowerStatsInternal != null) { + readCpuEnergyConsumerIds(); + } else { + mCpuEnergyConsumerIds = new int[0]; + } + + int cpuScalingStepCount = mCpuScalingPolicies.getScalingStepCount(); + mCpuTimeByScalingStep = new long[cpuScalingStepCount]; + mTempCpuTimeByScalingStep = new long[cpuScalingStepCount]; + int[] scalingStepToPowerBracketMap = initPowerBrackets(); + + mLayout = new StatsArrayLayout(); + mLayout.addDeviceSectionCpuTimeByScalingStep(cpuScalingStepCount); + mLayout.addDeviceSectionCpuTimeByCluster(mCpuScalingPolicies.getPolicies().length); + mLayout.addDeviceSectionUptime(); + mLayout.addDeviceSectionEnergyConsumers(mCpuEnergyConsumerIds.length); + mLayout.addDeviceSectionPowerEstimate(); + mLayout.addUidSectionCpuTimeByPowerBracket(scalingStepToPowerBracketMap); + mLayout.addUidSectionPowerEstimate(); + + PersistableBundle extras = new PersistableBundle(); + mLayout.toExtras(extras); + + mPowerStatsDescriptor = new PowerStats.Descriptor(BatteryConsumer.POWER_COMPONENT_CPU, + mLayout.getDeviceStatsArrayLength(), mLayout.getUidStatsArrayLength(), extras); + mCpuPowerStats = new PowerStats(mPowerStatsDescriptor); + + mTempUidStats = new long[mLayout.getCpuPowerBracketCount()]; + + mIsInitialized = true; + } + + private void readCpuEnergyConsumerIds() { + EnergyConsumer[] energyConsumerInfo = mPowerStatsInternal.getEnergyConsumerInfo(); + if (energyConsumerInfo == null) { + mCpuEnergyConsumerIds = new int[0]; + return; + } + + List<EnergyConsumer> cpuEnergyConsumers = new ArrayList<>(); + for (EnergyConsumer energyConsumer : energyConsumerInfo) { + if (energyConsumer.type == EnergyConsumerType.CPU_CLUSTER) { + cpuEnergyConsumers.add(energyConsumer); + } + } + if (cpuEnergyConsumers.isEmpty()) { + return; + } + + cpuEnergyConsumers.sort(Comparator.comparing(c -> c.ordinal)); + + mCpuEnergyConsumerIds = new int[cpuEnergyConsumers.size()]; + for (int i = 0; i < mCpuEnergyConsumerIds.length; i++) { + mCpuEnergyConsumerIds[i] = cpuEnergyConsumers.get(i).id; + } + mLastConsumedEnergyUws = new long[cpuEnergyConsumers.size()]; + Arrays.fill(mLastConsumedEnergyUws, ENERGY_UNSPECIFIED); + } + + private int[] initPowerBrackets() { + if (mPowerProfile.getCpuPowerBracketCount() != PowerProfile.POWER_BRACKETS_UNSPECIFIED) { + return initPowerBracketsFromPowerProfile(); + } else if (mCpuEnergyConsumerIds.length == 0 || mCpuEnergyConsumerIds.length == 1) { + return initDefaultPowerBrackets(mDefaultCpuPowerBrackets); + } else if (mCpuScalingPolicies.getPolicies().length == mCpuEnergyConsumerIds.length) { + return initPowerBracketsByCluster(mDefaultCpuPowerBracketsPerEnergyConsumer); + } else { + Slog.i(TAG, "Assigning a single power brackets to each CPU_CLUSTER energy consumer." + + " Number of CPU clusters (" + + mCpuScalingPolicies.getPolicies().length + + ") does not match the number of energy consumers (" + + mCpuEnergyConsumerIds.length + "). " + + " Using default power bucket assignment."); + return initDefaultPowerBrackets(mDefaultCpuPowerBrackets); + } + } + + private int[] initPowerBracketsFromPowerProfile() { + int[] stepToBracketMap = new int[mCpuScalingPolicies.getScalingStepCount()]; int index = 0; - for (int policy : cpuScalingPolicies.getPolicies()) { - int[] frequencies = cpuScalingPolicies.getFrequencies(policy); + for (int policy : mCpuScalingPolicies.getPolicies()) { + int[] frequencies = mCpuScalingPolicies.getFrequencies(policy); for (int step = 0; step < frequencies.length; step++) { - int bracket = powerProfile.getCpuPowerBracketForScalingStep(policy, step); - mScalingStepToPowerBracketMap[index++] = bracket; + int bracket = mPowerProfile.getCpuPowerBracketForScalingStep(policy, step); + stepToBracketMap[index++] = bracket; + } + } + return stepToBracketMap; + } + + private int[] initPowerBracketsByCluster(int defaultBracketCountPerCluster) { + int[] stepToBracketMap = new int[mCpuScalingPolicies.getScalingStepCount()]; + int index = 0; + int bracketBase = 0; + int[] policies = mCpuScalingPolicies.getPolicies(); + for (int policy : policies) { + int[] frequencies = mCpuScalingPolicies.getFrequencies(policy); + double[] powerByStep = new double[frequencies.length]; + for (int step = 0; step < frequencies.length; step++) { + powerByStep[step] = mPowerProfile.getAveragePowerForCpuScalingStep(policy, step); + } + + int[] policyStepToBracketMap = new int[frequencies.length]; + mapScalingStepsToDefaultBrackets(policyStepToBracketMap, powerByStep, + defaultBracketCountPerCluster); + int maxBracket = 0; + for (int step = 0; step < frequencies.length; step++) { + int bracket = bracketBase + policyStepToBracketMap[step]; + stepToBracketMap[index++] = bracket; + if (bracket > maxBracket) { + maxBracket = bracket; + } + } + bracketBase = maxBracket + 1; + } + return stepToBracketMap; + } + + private int[] initDefaultPowerBrackets(int defaultCpuPowerBracketCount) { + int[] stepToBracketMap = new int[mCpuScalingPolicies.getScalingStepCount()]; + double[] powerByStep = new double[mCpuScalingPolicies.getScalingStepCount()]; + int index = 0; + int[] policies = mCpuScalingPolicies.getPolicies(); + for (int policy : policies) { + int[] frequencies = mCpuScalingPolicies.getFrequencies(policy); + for (int step = 0; step < frequencies.length; step++) { + powerByStep[index++] = mPowerProfile.getAveragePowerForCpuScalingStep(policy, step); + } + } + mapScalingStepsToDefaultBrackets(stepToBracketMap, powerByStep, + defaultCpuPowerBracketCount); + return stepToBracketMap; + } + + private static void mapScalingStepsToDefaultBrackets(int[] stepToBracketMap, + double[] powerByStep, int defaultCpuPowerBracketCount) { + double minPower = Double.MAX_VALUE; + double maxPower = Double.MIN_VALUE; + for (final double power : powerByStep) { + if (power < minPower) { + minPower = power; + } + if (power > maxPower) { + maxPower = power; + } + } + if (powerByStep.length <= defaultCpuPowerBracketCount) { + for (int index = 0; index < stepToBracketMap.length; index++) { + stepToBracketMap[index] = index; + } + } else { + final double minLogPower = Math.log(minPower); + final double logBracket = (Math.log(maxPower) - minLogPower) + / defaultCpuPowerBracketCount; + + for (int step = 0; step < powerByStep.length; step++) { + int bracket = (int) ((Math.log(powerByStep[step]) - minLogPower) / logBracket); + if (bracket >= defaultCpuPowerBracketCount) { + bracket = defaultCpuPowerBracketCount - 1; + } + stepToBracketMap[step] = bracket; } } - mUidStatsSize = powerProfile.getCpuPowerBracketCount(); - mTempUidStats = new long[mUidStatsSize]; + } + + /** + * Prints the definitions of power brackets. + */ + public void dumpCpuPowerBracketsLocked(PrintWriter pw) { + ensureInitialized(); - mCpuPowerStats = new PowerStats( - new PowerStats.Descriptor(BatteryConsumer.POWER_COMPONENT_CPU, 0, mUidStatsSize, - new PersistableBundle())); + pw.println("CPU power brackets; cluster/freq in MHz(avg current in mA):"); + for (int bracket = 0; bracket < mLayout.getCpuPowerBracketCount(); bracket++) { + pw.print(" "); + pw.print(bracket); + pw.print(": "); + pw.println(getCpuPowerBracketDescription(bracket)); + } } /** - * Initializes the collector during the boot sequence. + * Description of a CPU power bracket: which cluster/frequency combinations are included. */ - public void onSystemReady() { - setEnabled(Flags.streamlinedBatteryStats()); + @VisibleForTesting + public String getCpuPowerBracketDescription(int powerBracket) { + ensureInitialized(); + + int[] stepToPowerBracketMap = mLayout.getScalingStepToPowerBracketMap(); + StringBuilder sb = new StringBuilder(); + int index = 0; + int[] policies = mCpuScalingPolicies.getPolicies(); + for (int policy : policies) { + int[] freqs = mCpuScalingPolicies.getFrequencies(policy); + for (int step = 0; step < freqs.length; step++) { + if (stepToPowerBracketMap[index] != powerBracket) { + index++; + continue; + } + + if (sb.length() != 0) { + sb.append(", "); + } + if (policies.length > 1) { + sb.append(policy).append('/'); + } + sb.append(freqs[step] / 1000); + sb.append('('); + sb.append(String.format(Locale.US, "%.1f", + mPowerProfile.getAveragePowerForCpuScalingStep(policy, step))); + sb.append(')'); + + index++; + } + } + return sb.toString(); + } + + /** + * Returns the descriptor of PowerStats produced by this collector. + */ + @VisibleForTesting + public PowerStats.Descriptor getPowerStatsDescriptor() { + ensureInitialized(); + + return mPowerStatsDescriptor; } @Override protected PowerStats collectStats() { + ensureInitialized(); + + if (!mIsPerUidTimeInStateSupported) { + return null; + } + mCpuPowerStats.uidStats.clear(); - long newTimestampNanos = mKernelCpuStatsReader.nativeReadCpuStats( - this::processUidStats, mScalingStepToPowerBracketMap, mLastUpdateTimestampNanos, - mTempUidStats); + // TODO(b/305120724): additionally retrieve time-in-cluster for each CPU cluster + long newTimestampNanos = mKernelCpuStatsReader.nativeReadCpuStats(this::processUidStats, + mLayout.getScalingStepToPowerBracketMap(), mLastUpdateTimestampNanos, + mTempCpuTimeByScalingStep, mTempUidStats); + for (int step = mLayout.getCpuScalingStepCount() - 1; step >= 0; step--) { + mLayout.setTimeByScalingStep(mCpuPowerStats.stats, step, + mTempCpuTimeByScalingStep[step] - mCpuTimeByScalingStep[step]); + mCpuTimeByScalingStep[step] = mTempCpuTimeByScalingStep[step]; + } + mCpuPowerStats.durationMs = (newTimestampNanos - mLastUpdateTimestampNanos) / NANOS_PER_MILLIS; mLastUpdateTimestampNanos = newTimestampNanos; + + long uptimeMillis = mClock.uptimeMillis(); + long uptimeDelta = uptimeMillis - mLastUpdateUptimeMillis; + mLastUpdateUptimeMillis = uptimeMillis; + + if (uptimeDelta > mCpuPowerStats.durationMs) { + uptimeDelta = mCpuPowerStats.durationMs; + } + mLayout.setUptime(mCpuPowerStats.stats, uptimeDelta); + + if (mCpuEnergyConsumerIds.length != 0) { + collectEnergyConsumers(); + } + return mCpuPowerStats; } + private void collectEnergyConsumers() { + int voltageMv = mVoltageSupplier.getAsInt(); + if (voltageMv <= 0) { + Slog.wtf(TAG, "Unexpected battery voltage (" + voltageMv + + " mV) when querying energy consumers"); + return; + } + + int averageVoltage = mLastVoltageMv != 0 ? (mLastVoltageMv + voltageMv) / 2 : voltageMv; + mLastVoltageMv = voltageMv; + + CompletableFuture<EnergyConsumerResult[]> future = + mPowerStatsInternal.getEnergyConsumedAsync(mCpuEnergyConsumerIds); + EnergyConsumerResult[] results = null; + try { + results = future.get( + POWER_STATS_ENERGY_CONSUMERS_TIMEOUT, TimeUnit.MILLISECONDS); + } catch (InterruptedException | ExecutionException | TimeoutException e) { + Slog.e(TAG, "Could not obtain energy consumers from PowerStatsService", e); + } + if (results == null) { + return; + } + + for (int i = 0; i < mCpuEnergyConsumerIds.length; i++) { + int id = mCpuEnergyConsumerIds[i]; + for (EnergyConsumerResult result : results) { + if (result.id == id) { + long energyDelta = mLastConsumedEnergyUws[i] != ENERGY_UNSPECIFIED + ? result.energyUWs - mLastConsumedEnergyUws[i] : 0; + if (energyDelta < 0) { + // Likely, restart of powerstats HAL + energyDelta = 0; + } + mLayout.setConsumedEnergy(mCpuPowerStats.stats, i, + uJtoUc(energyDelta, averageVoltage)); + mLastConsumedEnergyUws[i] = result.energyUWs; + break; + } + } + } + } + @VisibleForNative interface KernelCpuStatsCallback { @Keep // Called from native - void processUidStats(int uid, long[] stats); + void processUidStats(int uid, long[] timeByPowerBracket); } - private void processUidStats(int uid, long[] stats) { + private void processUidStats(int uid, long[] timeByPowerBracket) { + int powerBracketCount = mLayout.getCpuPowerBracketCount(); + UidStats uidStats = mUidStats.get(uid); if (uidStats == null) { uidStats = new UidStats(); - uidStats.stats = new long[mUidStatsSize]; - uidStats.delta = new long[mUidStatsSize]; + uidStats.timeByPowerBracket = new long[powerBracketCount]; + uidStats.stats = new long[mLayout.getUidStatsArrayLength()]; mUidStats.put(uid, uidStats); } boolean nonzero = false; - for (int i = mUidStatsSize - 1; i >= 0; i--) { - long delta = uidStats.delta[i] = stats[i] - uidStats.stats[i]; + for (int bracket = powerBracketCount - 1; bracket >= 0; bracket--) { + long delta = timeByPowerBracket[bracket] - uidStats.timeByPowerBracket[bracket]; if (delta != 0) { nonzero = true; } - uidStats.stats[i] = stats[i]; + mLayout.setUidTimeByPowerBracket(uidStats.stats, bracket, delta); + uidStats.timeByPowerBracket[bracket] = timeByPowerBracket[bracket]; } if (nonzero) { - mCpuPowerStats.uidStats.put(uid, uidStats.delta); + mCpuPowerStats.uidStats.put(uid, uidStats.stats); } } @@ -128,13 +765,15 @@ public class CpuPowerStatsCollector extends PowerStatsCollector { * Native class that retrieves CPU stats from the kernel. */ public static class KernelCpuStatsReader { + protected native boolean nativeIsSupportedFeature(); + protected native long nativeReadCpuStats(KernelCpuStatsCallback callback, int[] scalingStepToPowerBracketMap, long lastUpdateTimestampNanos, - long[] tempForUidStats); + long[] outCpuTimeByScalingStep, long[] tempForUidStats); } private static class UidStats { public long[] stats; - public long[] delta; + public long[] timeByPowerBracket; } } diff --git a/services/core/java/com/android/server/power/stats/PowerComponentAggregatedPowerStats.java b/services/core/java/com/android/server/power/stats/PowerComponentAggregatedPowerStats.java index 05c0a13642b4..2c7843e626c9 100644 --- a/services/core/java/com/android/server/power/stats/PowerComponentAggregatedPowerStats.java +++ b/services/core/java/com/android/server/power/stats/PowerComponentAggregatedPowerStats.java @@ -16,6 +16,8 @@ package com.android.server.power.stats; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.util.IndentingPrintWriter; import android.util.SparseArray; @@ -46,6 +48,8 @@ class PowerComponentAggregatedPowerStats { public final int powerComponentId; private final MultiStateStats.States[] mDeviceStateConfig; private final MultiStateStats.States[] mUidStateConfig; + @NonNull + private final AggregatedPowerStatsConfig.PowerComponent mConfig; private final int[] mDeviceStates; private final long[] mDeviceStateTimestamps; @@ -62,13 +66,20 @@ class PowerComponentAggregatedPowerStats { } PowerComponentAggregatedPowerStats(AggregatedPowerStatsConfig.PowerComponent config) { - this.powerComponentId = config.getPowerComponentId(); + mConfig = config; + powerComponentId = config.getPowerComponentId(); mDeviceStateConfig = config.getDeviceStateConfig(); mUidStateConfig = config.getUidStateConfig(); mDeviceStates = new int[mDeviceStateConfig.length]; mDeviceStateTimestamps = new long[mDeviceStateConfig.length]; } + @NonNull + public AggregatedPowerStatsConfig.PowerComponent getConfig() { + return mConfig; + } + + @Nullable public PowerStats.Descriptor getPowerStatsDescriptor() { return mPowerStatsDescriptor; } @@ -108,6 +119,16 @@ class PowerComponentAggregatedPowerStats { } } + void setDeviceStats(@AggregatedPowerStatsConfig.TrackedState int[] states, long[] values) { + mDeviceStats.setStats(states, values); + } + + void setUidStats(int uid, @AggregatedPowerStatsConfig.TrackedState int[] states, + long[] values) { + UidStats uidStats = getUidStats(uid); + uidStats.stats.setStats(states, values); + } + boolean isCompatible(PowerStats powerStats) { return mPowerStatsDescriptor == null || mPowerStatsDescriptor.equals(powerStats.descriptor); } @@ -298,7 +319,8 @@ class PowerComponentAggregatedPowerStats { if (mDeviceStats != null) { ipw.println(mPowerStatsDescriptor.name); ipw.increaseIndent(); - mDeviceStats.dump(ipw); + mDeviceStats.dump(ipw, stats -> + mConfig.getProcessor().deviceStatsToString(mPowerStatsDescriptor, stats)); ipw.decreaseIndent(); } } @@ -308,7 +330,8 @@ class PowerComponentAggregatedPowerStats { if (uidStats != null && uidStats.stats != null) { ipw.println(mPowerStatsDescriptor.name); ipw.increaseIndent(); - uidStats.stats.dump(ipw); + uidStats.stats.dump(ipw, stats -> + mConfig.getProcessor().uidStatsToString(mPowerStatsDescriptor, stats)); ipw.decreaseIndent(); } } diff --git a/services/core/java/com/android/server/power/stats/PowerStatsAggregator.java b/services/core/java/com/android/server/power/stats/PowerStatsAggregator.java index f374fb77cae8..2f9d5674d78a 100644 --- a/services/core/java/com/android/server/power/stats/PowerStatsAggregator.java +++ b/services/core/java/com/android/server/power/stats/PowerStatsAggregator.java @@ -16,6 +16,7 @@ package com.android.server.power.stats; import android.os.BatteryStats; +import android.util.SparseArray; import com.android.internal.os.BatteryStatsHistory; import com.android.internal.os.BatteryStatsHistoryIterator; @@ -30,11 +31,17 @@ import java.util.function.Consumer; public class PowerStatsAggregator { private final AggregatedPowerStats mStats; private final BatteryStatsHistory mHistory; + private final SparseArray<AggregatedPowerStatsProcessor> mProcessors = new SparseArray<>(); public PowerStatsAggregator(AggregatedPowerStatsConfig aggregatedPowerStatsConfig, BatteryStatsHistory history) { mStats = new AggregatedPowerStats(aggregatedPowerStatsConfig); mHistory = history; + for (AggregatedPowerStatsConfig.PowerComponent powerComponentsConfig : + aggregatedPowerStatsConfig.getPowerComponentsAggregatedStatsConfigs()) { + AggregatedPowerStatsProcessor processor = powerComponentsConfig.getProcessor(); + mProcessors.put(powerComponentsConfig.getPowerComponentId(), processor); + } } /** @@ -100,6 +107,7 @@ public class PowerStatsAggregator { if (!mStats.isCompatible(item.powerStats)) { if (lastTime > baseTime) { mStats.setDuration(lastTime - baseTime); + finish(mStats); consumer.accept(mStats); } mStats.reset(); @@ -112,9 +120,20 @@ public class PowerStatsAggregator { } if (lastTime > baseTime) { mStats.setDuration(lastTime - baseTime); + finish(mStats); consumer.accept(mStats); } mStats.reset(); // to free up memory } + + private void finish(AggregatedPowerStats stats) { + for (int i = 0; i < mProcessors.size(); i++) { + PowerComponentAggregatedPowerStats component = + stats.getPowerComponentStats(mProcessors.keyAt(i)); + if (component != null) { + mProcessors.valueAt(i).finish(component); + } + } + } } diff --git a/services/core/java/com/android/server/power/stats/PowerStatsCollector.java b/services/core/java/com/android/server/power/stats/PowerStatsCollector.java index b49c89fcf6ad..84cc21e81536 100644 --- a/services/core/java/com/android/server/power/stats/PowerStatsCollector.java +++ b/services/core/java/com/android/server/power/stats/PowerStatsCollector.java @@ -38,8 +38,9 @@ import java.util.stream.Stream; * except where noted. */ public abstract class PowerStatsCollector { + private static final int MILLIVOLTS_PER_VOLT = 1000; private final Handler mHandler; - private final Clock mClock; + protected final Clock mClock; private final long mThrottlePeriodMs; private final Runnable mCollectAndDeliverStats = this::collectAndDeliverStats; private boolean mEnabled; @@ -100,6 +101,9 @@ public abstract class PowerStatsCollector { @SuppressWarnings("GuardedBy") // Field is volatile private void collectAndDeliverStats() { PowerStats stats = collectStats(); + if (stats == null) { + return; + } for (Consumer<PowerStats> consumer : mConsumerList) { consumer.accept(stats); } @@ -180,4 +184,11 @@ public abstract class PowerStatsCollector { mHandler.post(done::open); done.block(); } + + /** Calculate charge consumption (in microcoulombs) from a given energy and voltage */ + protected long uJtoUc(long deltaEnergyUj, int avgVoltageMv) { + // To overflow, a 3.7V 10000mAh battery would need to completely drain 69244 times + // since the last snapshot. Round off to the nearest whole long. + return (deltaEnergyUj * MILLIVOLTS_PER_VOLT + (avgVoltageMv / 2)) / avgVoltageMv; + } } diff --git a/services/core/java/com/android/server/power/stats/PowerStatsScheduler.java b/services/core/java/com/android/server/power/stats/PowerStatsScheduler.java index 58619c70e0af..551302ee8f14 100644 --- a/services/core/java/com/android/server/power/stats/PowerStatsScheduler.java +++ b/services/core/java/com/android/server/power/stats/PowerStatsScheduler.java @@ -108,6 +108,9 @@ public class PowerStatsScheduler { long currentTimeMillis = mClock.currentTimeMillis(); long currentMonotonicTime = mMonotonicClock.monotonicTime(); long startTime = getLastSavedSpanEndMonotonicTime(); + if (startTime < 0) { + startTime = mBatteryStats.getHistory().getStartTime(); + } long endTimeMs = alignToWallClock(startTime + mAggregatedPowerStatsSpanDuration, mAggregatedPowerStatsSpanDuration, currentMonotonicTime, currentTimeMillis); while (endTimeMs <= currentMonotonicTime) { @@ -214,6 +217,7 @@ public class PowerStatsScheduler { return mLastSavedSpanEndMonotonicTime; } + mLastSavedSpanEndMonotonicTime = -1; for (PowerStatsSpan.Metadata metadata : mPowerStatsStore.getTableOfContents()) { if (metadata.getSections().contains(AggregatedPowerStatsSection.TYPE)) { for (PowerStatsSpan.TimeFrame timeFrame : metadata.getTimeFrames()) { diff --git a/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java b/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java index 7b0fe9a9abc7..a01bac688fbf 100644 --- a/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java +++ b/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java @@ -266,10 +266,10 @@ public class AppDataRollbackHelper { } /** - * @return {@code true} iff. {@code userId} is locked on an FBE device. + * @return {@code true} iff the credential-encrypted storage for {@code userId} is locked. */ @VisibleForTesting public boolean isUserCredentialLocked(int userId) { - return StorageManager.isFileEncrypted() && !StorageManager.isUserKeyUnlocked(userId); + return StorageManager.isFileEncrypted() && !StorageManager.isCeStorageUnlocked(userId); } } diff --git a/services/core/java/com/android/server/rollback/Rollback.java b/services/core/java/com/android/server/rollback/Rollback.java index 85d93f4f76c4..a5b90f12a5cc 100644 --- a/services/core/java/com/android/server/rollback/Rollback.java +++ b/services/core/java/com/android/server/rollback/Rollback.java @@ -174,6 +174,11 @@ class Rollback { @Nullable private final String mInstallerPackageName; /** + * Time after which rollback expires. + */ + private long mRollbackLifetimeMillis = 0; + + /** * Session ids for all packages in the install. For multi-package sessions, this is the list * of child session ids. For normal sessions, this list is a single element with the normal * session id. @@ -286,6 +291,24 @@ class Rollback { } /** + * Sets rollback lifetime in milliseconds, for purposes of expiring rollback data. + */ + @WorkerThread + void setRollbackLifetimeMillis(long lifetimeMillis) { + assertInWorkerThread(); + mRollbackLifetimeMillis = lifetimeMillis; + } + + /** + * Returns rollback lifetime in milliseconds, for purposes of expiring rollback data. + */ + @WorkerThread + long getRollbackLifetimeMillis() { + assertInWorkerThread(); + return mRollbackLifetimeMillis; + } + + /** * Returns the session ID associated with this rollback, or {@code -1} if unknown. */ @AnyThread @@ -930,6 +953,7 @@ class Rollback { ipw.println("-state: " + getStateAsString()); ipw.println("-stateDescription: " + mStateDescription); ipw.println("-timestamp: " + getTimestamp()); + ipw.println("-rollbackLifetimeMillis: " + getRollbackLifetimeMillis()); ipw.println("-isStaged: " + isStaged()); ipw.println("-originalSessionId: " + getOriginalSessionId()); ipw.println("-packages:"); diff --git a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java index 720c773a032a..8d934089524c 100644 --- a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java +++ b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java @@ -28,6 +28,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IntentSender; import android.content.pm.ApplicationInfo; +import android.content.pm.Flags; import android.content.pm.ModuleInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageInstaller; @@ -702,6 +703,15 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba // Schedules future expiration as appropriate. @WorkerThread private void runExpiration() { + if (Flags.rollbackLifetime()) { + runExpirationCustomRollbackLifetime(); + } else { + runExpirationDefaultRollbackLifetime(); + } + } + + @WorkerThread + private void runExpirationDefaultRollbackLifetime() { getHandler().removeCallbacks(mRunExpiration); assertInWorkerThread(); Instant now = Instant.now(); @@ -729,6 +739,44 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba } } + @WorkerThread + private void runExpirationCustomRollbackLifetime() { + getHandler().removeCallbacks(mRunExpiration); + assertInWorkerThread(); + Instant now = Instant.now(); + long minDelay = 0; + Iterator<Rollback> iter = mRollbacks.iterator(); + while (iter.hasNext()) { + Rollback rollback = iter.next(); + if (!rollback.isAvailable() && !rollback.isCommitted()) { + continue; + } + long rollbackLifetimeMillis = rollback.getRollbackLifetimeMillis(); + if (rollbackLifetimeMillis <= 0) { + rollbackLifetimeMillis = mRollbackLifetimeDurationInMillis; + } + + Instant rollbackExpiryTimestamp = rollback.getTimestamp() + .plusMillis(rollbackLifetimeMillis); + if (!now.isBefore(rollbackExpiryTimestamp)) { + Slog.i(TAG, "runExpiration id=" + rollback.info.getRollbackId()); + iter.remove(); + deleteRollback(rollback, "Expired by timeout"); + continue; + } + + long delay = now.until( + rollbackExpiryTimestamp, ChronoUnit.MILLIS); + if (minDelay == 0 || delay < minDelay) { + minDelay = delay; + } + } + + if (minDelay != 0) { + getHandler().postDelayed(mRunExpiration, minDelay); + } + } + @AnyThread private Handler getHandler() { return mHandler; @@ -1277,6 +1325,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba } final Rollback rollback; + if (parentSession.isStaged()) { rollback = mRollbackStore.createStagedRollback(rollbackId, parentSessionId, userId, installerPackageName, packageSessionIds, getExtensionVersions()); @@ -1285,6 +1334,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba installerPackageName, packageSessionIds, getExtensionVersions()); } + if (Flags.rollbackLifetime()) { + rollback.setRollbackLifetimeMillis(parentSession.rollbackLifetimeMillis); + } + + mRollbacks.add(rollback); return rollback; } diff --git a/services/core/java/com/android/server/rollback/RollbackStore.java b/services/core/java/com/android/server/rollback/RollbackStore.java index 8068c6f46733..0af137faf5b4 100644 --- a/services/core/java/com/android/server/rollback/RollbackStore.java +++ b/services/core/java/com/android/server/rollback/RollbackStore.java @@ -19,6 +19,7 @@ package com.android.server.rollback; import static com.android.server.rollback.Rollback.rollbackStateFromString; import android.annotation.NonNull; +import android.content.pm.Flags; import android.content.pm.PackageManager; import android.content.pm.VersionedPackage; import android.content.rollback.PackageRollbackInfo; @@ -312,6 +313,9 @@ class RollbackStore { JSONObject dataJson = new JSONObject(); dataJson.put("info", rollbackInfoToJson(rollback.info)); dataJson.put("timestamp", rollback.getTimestamp().toString()); + if (Flags.rollbackLifetime()) { + dataJson.put("rollbackLifetimeMillis", rollback.getRollbackLifetimeMillis()); + } dataJson.put("originalSessionId", rollback.getOriginalSessionId()); dataJson.put("state", rollback.getStateAsString()); dataJson.put("stateDescription", rollback.getStateDescription()); @@ -375,7 +379,7 @@ class RollbackStore { @VisibleForTesting static Rollback rollbackFromJson(JSONObject dataJson, File backupDir) throws JSONException, ParseException { - return new Rollback( + Rollback rollback = new Rollback( rollbackInfoFromJson(dataJson.getJSONObject("info")), backupDir, Instant.parse(dataJson.getString("timestamp")), @@ -388,6 +392,10 @@ class RollbackStore { dataJson.optInt("userId", UserHandle.SYSTEM.getIdentifier()), dataJson.optString("installerPackageName", ""), extensionVersionsFromJson(dataJson.optJSONArray("extensionVersions"))); + if (Flags.rollbackLifetime()) { + rollback.setRollbackLifetimeMillis(dataJson.optLong("rollbackLifetimeMillis")); + } + return rollback; } private static JSONObject toJson(VersionedPackage pkg) throws JSONException { diff --git a/services/core/java/com/android/server/trust/TrustManagerService.java b/services/core/java/com/android/server/trust/TrustManagerService.java index 635e11be3a16..f82f08bfc851 100644 --- a/services/core/java/com/android/server/trust/TrustManagerService.java +++ b/services/core/java/com/android/server/trust/TrustManagerService.java @@ -70,7 +70,6 @@ import android.util.Slog; import android.util.SparseArray; import android.util.SparseBooleanArray; import android.util.Xml; -import android.view.Display; import android.view.IWindowManager; import android.view.WindowManagerGlobal; @@ -79,7 +78,6 @@ import com.android.internal.content.PackageMonitor; import com.android.internal.infra.AndroidFuture; import com.android.internal.util.DumpUtils; import com.android.internal.widget.LockPatternUtils; -import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.companion.virtual.VirtualDeviceManagerInternal; @@ -1523,57 +1521,13 @@ public class TrustManagerService extends SystemService { mHandler.obtainMessage(MSG_UNREGISTER_LISTENER, trustListener).sendToTarget(); } - /** - * @param uid: uid of the calling app (obtained via getCallingUid()) - * @param displayId: the id of a Display - * @return Returns true if both of the following conditions hold - - * 1) the uid belongs to an app instead of a system core component; and - * 2) either the uid is running on a virtual device or the displayId - * is owned by a virtual device - */ - private boolean isAppOrDisplayOnAnyVirtualDevice(int uid, int displayId) { - if (UserHandle.isCore(uid)) { - return false; - } - - if (mVirtualDeviceManager == null) { - mVirtualDeviceManager = LocalServices.getService( - VirtualDeviceManagerInternal.class); - if (mVirtualDeviceManager == null) { - // VirtualDeviceManager service may not have been published - return false; - } - } - - switch (displayId) { - case Display.INVALID_DISPLAY: - // There is no Display object associated with the Context of the calling app. - if (mVirtualDeviceManager.isAppRunningOnAnyVirtualDevice(uid)) { - return true; - } - break; - case Display.DEFAULT_DISPLAY: - // The DEFAULT_DISPLAY is by definition not virtual. - break; - default: - // Other display IDs can belong to logical displays created for other purposes. - if (mVirtualDeviceManager.isDisplayOwnedByAnyVirtualDevice(displayId)) { - return true; - } - break; - } - return false; - } - @Override - public boolean isDeviceLocked(int userId, int displayId) throws RemoteException { - int uid = getCallingUid(); - if (isAppOrDisplayOnAnyVirtualDevice(uid, displayId)) { - // Virtual displays are considered insecure because they may be used for streaming - // to other devices. + public boolean isDeviceLocked(int userId, int deviceId) throws RemoteException { + if (deviceId != Context.DEVICE_ID_DEFAULT) { + // Virtual devices are considered insecure. return false; } - userId = ActivityManager.handleIncomingUser(getCallingPid(), uid, userId, + userId = ActivityManager.handleIncomingUser(getCallingPid(), getCallingUid(), userId, false /* allowAll */, true /* requireFull */, "isDeviceLocked", null); final long token = Binder.clearCallingIdentity(); @@ -1588,15 +1542,12 @@ public class TrustManagerService extends SystemService { } @Override - public boolean isDeviceSecure(int userId, int displayId) throws RemoteException { - int uid = getCallingUid(); - if (isAppOrDisplayOnAnyVirtualDevice(uid, displayId)) { - // Virtual displays are considered insecure because they may be used for streaming - // to other devices. + public boolean isDeviceSecure(int userId, int deviceId) throws RemoteException { + if (deviceId != Context.DEVICE_ID_DEFAULT) { + // Virtual devices are considered insecure. return false; } - - userId = ActivityManager.handleIncomingUser(getCallingPid(), uid, userId, + userId = ActivityManager.handleIncomingUser(getCallingPid(), getCallingUid(), userId, false /* allowAll */, true /* requireFull */, "isDeviceSecure", null); final long token = Binder.clearCallingIdentity(); diff --git a/services/core/java/com/android/server/vcn/VcnContext.java b/services/core/java/com/android/server/vcn/VcnContext.java index d958222ea407..9213d96ad4ca 100644 --- a/services/core/java/com/android/server/vcn/VcnContext.java +++ b/services/core/java/com/android/server/vcn/VcnContext.java @@ -18,6 +18,8 @@ package com.android.server.vcn; import android.annotation.NonNull; import android.content.Context; +import android.net.vcn.FeatureFlags; +import android.net.vcn.FeatureFlagsImpl; import android.os.Looper; import java.util.Objects; @@ -31,6 +33,7 @@ public class VcnContext { @NonNull private final Context mContext; @NonNull private final Looper mLooper; @NonNull private final VcnNetworkProvider mVcnNetworkProvider; + @NonNull private final FeatureFlags mFeatureFlags; private final boolean mIsInTestMode; public VcnContext( @@ -42,6 +45,9 @@ public class VcnContext { mLooper = Objects.requireNonNull(looper, "Missing looper"); mVcnNetworkProvider = Objects.requireNonNull(vcnNetworkProvider, "Missing networkProvider"); mIsInTestMode = isInTestMode; + + // Auto-generated class + mFeatureFlags = new FeatureFlagsImpl(); } @NonNull @@ -63,6 +69,11 @@ public class VcnContext { return mIsInTestMode; } + @NonNull + public FeatureFlags getFeatureFlags() { + return mFeatureFlags; + } + /** * Verifies that the caller is running on the VcnContext Thread. * diff --git a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java index d480ddb092eb..54c97dd37941 100644 --- a/services/core/java/com/android/server/vcn/VcnGatewayConnection.java +++ b/services/core/java/com/android/server/vcn/VcnGatewayConnection.java @@ -1222,6 +1222,14 @@ public class VcnGatewayConnection extends StateMachine { @VisibleForTesting(visibility = Visibility.PRIVATE) void setSafeModeAlarm() { + final boolean isFlagSafeModeConfigEnabled = mVcnContext.getFeatureFlags().safeModeConfig(); + logVdbg("isFlagSafeModeConfigEnabled " + isFlagSafeModeConfigEnabled); + + if (isFlagSafeModeConfigEnabled && !mConnectionConfig.isSafeModeEnabled()) { + logVdbg("setSafeModeAlarm: safe mode disabled"); + return; + } + logVdbg("Setting safe mode alarm; mCurrentToken: " + mCurrentToken); // Only schedule a NEW alarm if none is already set. diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 7cccf6b578ff..34bf8edc148f 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1097,23 +1097,22 @@ class ActivityStarter { "shouldAbortBackgroundActivityStart"); BackgroundActivityStartController balController = mSupervisor.getBackgroundActivityLaunchController(); - balCode = + BackgroundActivityStartController.BalVerdict balVerdict = balController.checkBackgroundActivityStart( - callingUid, - callingPid, - callingPackage, - realCallingUid, - realCallingPid, - callerApp, - request.originatingPendingIntent, - request.backgroundStartPrivileges, - intent, - checkedOptions); - if (balCode != BAL_ALLOW_DEFAULT) { - request.logMessage.append(" (").append( - BackgroundActivityStartController.balCodeToString(balCode)) - .append(")"); - } + callingUid, + callingPid, + callingPackage, + realCallingUid, + realCallingPid, + callerApp, + request.originatingPendingIntent, + request.backgroundStartPrivileges, + intent, + checkedOptions); + balCode = balVerdict.getCode(); + request.logMessage.append(" (").append( + BackgroundActivityStartController.balCodeToString(balCode)) + .append(")"); } finally { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index 6d59b297de48..d1728d6b55e0 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -778,7 +778,9 @@ class BackNavigationController { closeTarget = close.asActivityRecord(); } else if (isTaskSwitch(close, open)) { mSwitchType = TASK_SWITCH; - closeTarget = close.asTask().getTopNonFinishingActivity(); + // The transition target must be activity in legacy transition. + closeTarget = WindowManagerService.sEnableShellTransitions ? close + : close.asTask().getTopNonFinishingActivity(); } else { mSwitchType = UNKNOWN; return; diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java index 1e4b258ff5c5..cb4cf9d3162c 100644 --- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java +++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java @@ -204,7 +204,7 @@ public class BackgroundActivityStartController { return checkBackgroundActivityStart(callingUid, callingPid, callingPackage, realCallingUid, realCallingPid, callerApp, originatingPendingIntent, - backgroundStartPrivileges, intent, checkedOptions) == BAL_BLOCK; + backgroundStartPrivileges, intent, checkedOptions).blocks(); } private class BalState { @@ -291,8 +291,8 @@ public class BackgroundActivityStartController { return name + "[debugOnly]"; } - private String dump(@BalCode int mResultIfPiCreatorAllowsBal, - @BalCode int mResultIfPiSenderAllowsBal) { + private String dump(BalVerdict resultIfPiCreatorAllowsBal, + BalVerdict resultIfPiSenderAllowsBal) { return " [callingPackage: " + getDebugPackageName(mCallingPackage, mCallingUid) + "; callingUid: " + mCallingUid + "; appSwitchState: " + mAppSwitchState @@ -321,19 +321,72 @@ public class BackgroundActivityStartController { + (mCallerApp != null && mCallerApp.hasActivityInVisibleTask()) + "; realInVisibleTask: " + (mRealCallerApp != null && mRealCallerApp.hasActivityInVisibleTask()) - + "; resultIfPiSenderAllowsBal: " + balCodeToString(mResultIfPiSenderAllowsBal) - + "; resultIfPiCreatorAllowsBal: " - + balCodeToString(mResultIfPiCreatorAllowsBal) + + "; resultIfPiSenderAllowsBal: " + resultIfPiSenderAllowsBal + + "; resultIfPiCreatorAllowsBal: " + resultIfPiCreatorAllowsBal + "]"; } } + static class BalVerdict { + + static final BalVerdict BLOCK = new BalVerdict(BAL_BLOCK, false, "Blocked"); + private final @BalCode int mCode; + private final boolean mBackground; + private final String mMessage; + private String mProcessInfo; + + BalVerdict(@BalCode int balCode, boolean background, String message) { + this.mBackground = background; + this.mCode = balCode; + this.mMessage = message; + } + + public BalVerdict withProcessInfo(String msg, WindowProcessController process) { + mProcessInfo = msg + " (uid=" + process.mUid + ",pid=" + process.getPid() + ")"; + return this; + } + + boolean blocks() { + return mCode == BAL_BLOCK; + } + + boolean allows() { + return !blocks(); + } + + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(". BAL Code: "); + builder.append(balCodeToString(mCode)); + if (DEBUG_ACTIVITY_STARTS) { + builder.append(" "); + if (mBackground) { + builder.append("Background "); + } + builder.append("Activity start "); + if (mCode == BAL_BLOCK) { + builder.append("denied"); + } else { + builder.append("allowed: ").append(mMessage); + } + if (mProcessInfo != null) { + builder.append(" "); + builder.append(mProcessInfo); + } + } + return builder.toString(); + } + + public @BalCode int getCode() { + return mCode; + } + } + /** * @return A code denoting which BAL rule allows an activity to be started, * or {@link #BAL_BLOCK} if the launch should be blocked */ - @BalCode - int checkBackgroundActivityStart( + BalVerdict checkBackgroundActivityStart( int callingUid, int callingPid, final String callingPackage, @@ -362,36 +415,49 @@ public class BackgroundActivityStartController { // realCallingSdkSandboxUidToAppUid should probably just be used instead (or in addition // to realCallingUid when calculating resultForRealCaller below. if (mService.hasActiveVisibleWindow(realCallingSdkSandboxUidToAppUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_SDK_SANDBOX, - /*background*/ false, state, + BalVerdict balVerdict = new BalVerdict(BAL_ALLOW_SDK_SANDBOX, /*background*/ false, "uid in SDK sandbox has visible (non-toast) window"); + return statsLog(balVerdict, state); } } - @BalCode int resultForCaller = checkBackgroundActivityStartAllowedByCaller(state); - @BalCode int resultForRealCaller = callingUid == realCallingUid + BalVerdict resultForCaller = checkBackgroundActivityStartAllowedByCaller(state); + BalVerdict resultForRealCaller = callingUid == realCallingUid ? resultForCaller // no need to calculate again : checkBackgroundActivityStartAllowedBySender(state, checkedOptions); - if (resultForCaller != BAL_BLOCK + if (resultForCaller.allows() && checkedOptions.getPendingIntentCreatorBackgroundActivityStartMode() == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED) { if (DEBUG_ACTIVITY_STARTS) { Slog.d(TAG, "Activity start explicitly allowed by PI creator. " + state.dump(resultForCaller, resultForRealCaller)); } - return resultForCaller; + return statsLog(resultForCaller, state); } - if (resultForRealCaller != BAL_BLOCK + if (resultForRealCaller.allows() && checkedOptions.getPendingIntentBackgroundActivityStartMode() == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED) { if (DEBUG_ACTIVITY_STARTS) { - Slog.i(TAG, "Activity start explicitly allowed by PI sender. " + Slog.d(TAG, "Activity start explicitly allowed by PI sender. " + state.dump(resultForCaller, resultForRealCaller)); } - return resultForRealCaller; + return statsLog(resultForRealCaller, state); } - if (resultForCaller != BAL_BLOCK + if (resultForCaller.allows() && resultForRealCaller.allows() + && checkedOptions.getPendingIntentCreatorBackgroundActivityStartMode() + == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED + && checkedOptions.getPendingIntentBackgroundActivityStartMode() + == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED) { + // Both caller and real caller allow with system defined behavior + Slog.wtf(TAG, + "With Android 15 BAL hardening this activity start would be blocked" + + " (missing opt in by PI creator)! " + + state.dump(resultForCaller, resultForRealCaller)); + // return the realCaller result for backwards compatibility + return statsLog(resultForRealCaller, state); + } + if (resultForCaller.allows() && checkedOptions.getPendingIntentCreatorBackgroundActivityStartMode() == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED) { // Allowed before V by creator @@ -399,9 +465,9 @@ public class BackgroundActivityStartController { "With Android 15 BAL hardening this activity start would be blocked" + " (missing opt in by PI creator)! " + state.dump(resultForCaller, resultForRealCaller)); - return resultForCaller; + return statsLog(resultForCaller, state); } - if (resultForRealCaller != BAL_BLOCK + if (resultForRealCaller.allows() && checkedOptions.getPendingIntentBackgroundActivityStartMode() == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED) { // Allowed before U by sender @@ -410,7 +476,7 @@ public class BackgroundActivityStartController { "With Android 14 BAL hardening this activity start would be blocked" + " (missing opt in by PI sender)! " + state.dump(resultForCaller, resultForRealCaller)); - return resultForRealCaller; + return statsLog(resultForRealCaller, state); } Slog.wtf(TAG, "Without Android 14 BAL hardening this activity start would be allowed" + " (missing opt in by PI sender)! " @@ -436,15 +502,14 @@ public class BackgroundActivityStartController { state.mRealCallingUidHasAnyVisibleWindow, (originatingPendingIntent != null)); } - return BAL_BLOCK; + return statsLog(BalVerdict.BLOCK, state); } /** * @return A code denoting which BAL rule allows an activity to be started, * or {@link #BAL_BLOCK} if the launch should be blocked */ - @BalCode - int checkBackgroundActivityStartAllowedByCaller(BalState state) { + BalVerdict checkBackgroundActivityStartAllowedByCaller(BalState state) { int callingUid = state.mCallingUid; int callingPid = state.mCallingPid; final String callingPackage = state.mCallingPackage; @@ -455,15 +520,15 @@ public class BackgroundActivityStartController { if (callingUid == Process.ROOT_UID || callingAppId == Process.SYSTEM_UID || callingAppId == Process.NFC_UID) { - return logStartAllowedAndReturnCode( + return new BalVerdict( BAL_ALLOW_ALLOWLISTED_UID, /*background*/ false, - state, "Important callingUid"); + "Important callingUid"); } // Always allow home application to start activities. if (isHomeApp(callingUid, callingPackage)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ false, "Home app"); } @@ -471,8 +536,8 @@ public class BackgroundActivityStartController { final WindowState imeWindow = mService.mRootWindowContainer.getCurrentInputMethodWindow(); if (imeWindow != null && callingAppId == imeWindow.mOwnerUid) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ false, "Active ime"); } @@ -495,8 +560,8 @@ public class BackgroundActivityStartController { && callingUidHasAnyVisibleWindow) || isCallingUidPersistentSystemProcess; if (allowCallingUidStartActivity) { - return logStartAllowedAndReturnCode(BAL_ALLOW_VISIBLE_WINDOW, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW, + /*background*/ false, "callingUidHasAnyVisibleWindow = " + callingUid + ", isCallingUidPersistentSystemProcess = " @@ -506,30 +571,30 @@ public class BackgroundActivityStartController { // don't abort if the callingUid has START_ACTIVITIES_FROM_BACKGROUND permission if (ActivityTaskManagerService.checkPermission(START_ACTIVITIES_FROM_BACKGROUND, callingPid, callingUid) == PERMISSION_GRANTED) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PERMISSION, - /*background*/ true, state, + return new BalVerdict(BAL_ALLOW_PERMISSION, + /*background*/ true, "START_ACTIVITIES_FROM_BACKGROUND permission granted"); } // don't abort if the caller has the same uid as the recents component if (mSupervisor.mRecentTasks.isCallerRecents(callingUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ true, state, "Recents Component"); + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ true, "Recents Component"); } // don't abort if the callingUid is the device owner if (mService.isDeviceOwner(callingUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ true, state, "Device Owner"); + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ true, "Device Owner"); } // don't abort if the callingUid is a affiliated profile owner if (mService.isAffiliatedProfileOwner(callingUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ true, state, "Affiliated Profile Owner"); + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ true, "Affiliated Profile Owner"); } // don't abort if the callingUid has companion device final int callingUserId = UserHandle.getUserId(callingUid); if (mService.isAssociatedCompanionApp(callingUserId, callingUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_ALLOWLISTED_COMPONENT, - /*background*/ true, state, "Companion App"); + return new BalVerdict(BAL_ALLOW_ALLOWLISTED_COMPONENT, + /*background*/ true, "Companion App"); } // don't abort if the callingUid has SYSTEM_ALERT_WINDOW permission if (mService.hasSystemAlertWindowPermission(callingUid, callingPid, callingPackage)) { @@ -538,16 +603,15 @@ public class BackgroundActivityStartController { "Background activity start for " + callingPackage + " allowed because SYSTEM_ALERT_WINDOW permission is granted."); - return logStartAllowedAndReturnCode(BAL_ALLOW_SAW_PERMISSION, - /*background*/ true, state, "SYSTEM_ALERT_WINDOW permission is granted"); + return new BalVerdict(BAL_ALLOW_SAW_PERMISSION, + /*background*/ true, "SYSTEM_ALERT_WINDOW permission is granted"); } // don't abort if the callingUid and callingPackage have the // OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION appop if (isSystemExemptFlagEnabled() && mService.getAppOpsManager().checkOpNoThrow( AppOpsManager.OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION, callingUid, callingPackage) == AppOpsManager.MODE_ALLOWED) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PERMISSION, - /*background*/ true, state, + return new BalVerdict(BAL_ALLOW_PERMISSION, /*background*/ true, "OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION appop is granted"); } @@ -555,48 +619,48 @@ public class BackgroundActivityStartController { // That's the case for PendingIntent-based starts, since the creator's process might not be // up and alive. // Don't abort if the callerApp or other processes of that uid are allowed in any way. - @BalCode int callerAppAllowsBal = checkProcessAllowsBal(callerApp, state); - if (callerAppAllowsBal != BAL_BLOCK) { + BalVerdict callerAppAllowsBal = checkProcessAllowsBal(callerApp, state); + if (callerAppAllowsBal.allows()) { return callerAppAllowsBal; } // If we are here, it means all exemptions based on the creator failed - return BAL_BLOCK; + return BalVerdict.BLOCK; } /** * @return A code denoting which BAL rule allows an activity to be started, * or {@link #BAL_BLOCK} if the launch should be blocked */ - @BalCode - int checkBackgroundActivityStartAllowedBySender( + BalVerdict checkBackgroundActivityStartAllowedBySender( BalState state, ActivityOptions checkedOptions) { int realCallingUid = state.mRealCallingUid; + BackgroundStartPrivileges backgroundStartPrivileges = state.mBackgroundStartPrivileges; if (PendingIntentRecord.isPendingIntentBalAllowedByPermission(checkedOptions) && ActivityManager.checkComponentPermission( android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, realCallingUid, -1, true) == PackageManager.PERMISSION_GRANTED) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PENDING_INTENT, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_PENDING_INTENT, + /*background*/ false, "realCallingUid has BAL permission. realCallingUid: " + realCallingUid); } // don't abort if the realCallingUid has a visible window // TODO(b/171459802): We should check appSwitchAllowed also if (state.mRealCallingUidHasAnyVisibleWindow) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PENDING_INTENT, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_PENDING_INTENT, + /*background*/ false, "realCallingUid has visible (non-toast) window. realCallingUid: " + realCallingUid); } // if the realCallingUid is a persistent system process, abort if the IntentSender // wasn't allowed to start an activity if (state.mIsRealCallingUidPersistentSystemProcess - && state.mBackgroundStartPrivileges.allowsBackgroundActivityStarts()) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PENDING_INTENT, - /*background*/ false, state, + && backgroundStartPrivileges.allowsBackgroundActivityStarts()) { + return new BalVerdict(BAL_ALLOW_PENDING_INTENT, + /*background*/ false, "realCallingUid is persistent system process AND intent " + "sender allowed (allowBackgroundActivityStart = true). " + "realCallingUid: " + realCallingUid); @@ -604,21 +668,21 @@ public class BackgroundActivityStartController { // don't abort if the realCallingUid is an associated companion app if (mService.isAssociatedCompanionApp( UserHandle.getUserId(realCallingUid), realCallingUid)) { - return logStartAllowedAndReturnCode(BAL_ALLOW_PENDING_INTENT, - /*background*/ false, state, + return new BalVerdict(BAL_ALLOW_PENDING_INTENT, + /*background*/ false, "realCallingUid is a companion app. " + "realCallingUid: " + realCallingUid); } // don't abort if the callerApp or other processes of that uid are allowed in any way - @BalCode int realCallerAppAllowsBal = + BalVerdict realCallerAppAllowsBal = checkProcessAllowsBal(state.mRealCallerApp, state); - if (realCallerAppAllowsBal != BAL_BLOCK) { + if (realCallerAppAllowsBal.allows()) { return realCallerAppAllowsBal; } // If we are here, it means all exemptions based on PI sender failed - return BAL_BLOCK; + return BalVerdict.BLOCK; } /** @@ -628,18 +692,16 @@ public class BackgroundActivityStartController { * String, int, boolean, boolean, boolean, long, long, long)} for details on the * exceptions. */ - private @BalCode int checkProcessAllowsBal(WindowProcessController app, BalState state) { + private BalVerdict checkProcessAllowsBal(WindowProcessController app, + BalState state) { if (app == null) { - return BAL_BLOCK; + return BalVerdict.BLOCK; } // first check the original calling process - final @BalCode int balAllowedForCaller = app + final BalVerdict balAllowedForCaller = app .areBackgroundActivityStartsAllowed(state.mAppSwitchState); - if (balAllowedForCaller != BAL_BLOCK) { - return logStartAllowedAndReturnCode(balAllowedForCaller, - /*background*/ true, state, - "callerApp process (pid = " + app.getPid() - + ", uid = " + app.mUid + ") is allowed"); + if (balAllowedForCaller.allows()) { + return balAllowedForCaller.withProcessInfo("callerApp process", app); } else { // only if that one wasn't allowed, check the other ones final ArraySet<WindowProcessController> uidProcesses = @@ -647,18 +709,17 @@ public class BackgroundActivityStartController { if (uidProcesses != null) { for (int i = uidProcesses.size() - 1; i >= 0; i--) { final WindowProcessController proc = uidProcesses.valueAt(i); - int balAllowedForUid = proc.areBackgroundActivityStartsAllowed( - state.mAppSwitchState); - if (proc != app && balAllowedForUid != BAL_BLOCK) { - return logStartAllowedAndReturnCode(balAllowedForUid, - /*background*/ true, state, - "process" + proc.getPid() + " from uid " + app.mUid - + " is allowed"); + if (proc != app) { + BalVerdict balAllowedForUid = proc.areBackgroundActivityStartsAllowed( + state.mAppSwitchState); + if (balAllowedForUid.allows()) { + return balAllowedForCaller.withProcessInfo("process", proc); + } } } } } - return BAL_BLOCK; + return BalVerdict.BLOCK; } /** @@ -1156,36 +1217,6 @@ public class BackgroundActivityStartController { return joiner.toString(); } - static @BalCode int logStartAllowedAndReturnCode(@BalCode int code, - boolean background, int callingUid, int realCallingUid, Intent intent, int pid, - String msg) { - return logStartAllowedAndReturnCode(code, background, callingUid, realCallingUid, - intent, DEBUG_ACTIVITY_STARTS ? ("[Process(" + pid + ")]" + msg) : ""); - } - - private static @BalCode int logStartAllowedAndReturnCode(@BalCode int code, - boolean background, BalState state, String msg) { - return logStartAllowedAndReturnCode(code, background, state.mCallingUid, - state.mRealCallingUid, state.mIntent, msg); - } - - private static @BalCode int logStartAllowedAndReturnCode(@BalCode int code, - boolean background, int callingUid, int realCallingUid, Intent intent, String msg) { - statsLogBalAllowed(code, callingUid, realCallingUid, intent); - if (DEBUG_ACTIVITY_STARTS) { - StringBuilder builder = new StringBuilder(); - if (background) { - builder.append("Background "); - } - builder.append("Activity start allowed: " + msg + ". callingUid: " - + callingUid + ". "); - builder.append("BAL Code: "); - builder.append(balCodeToString(code)); - Slog.i(TAG, builder.toString()); - } - return code; - } - private static boolean isSystemExemptFlagEnabled() { return DeviceConfig.getBoolean( NAMESPACE_WINDOW_MANAGER, @@ -1193,8 +1224,12 @@ public class BackgroundActivityStartController { /* defaultValue= */ true); } - private static void statsLogBalAllowed( - @BalCode int code, int callingUid, int realCallingUid, Intent intent) { + private static BalVerdict statsLog(BalVerdict finalVerdict, BalState state) { + @BalCode int code = finalVerdict.getCode(); + int callingUid = state.mCallingUid; + int realCallingUid = state.mRealCallingUid; + Intent intent = state.mIntent; + if (code == BAL_ALLOW_PENDING_INTENT && (callingUid == Process.SYSTEM_UID || realCallingUid == Process.SYSTEM_UID)) { String activityName = @@ -1214,6 +1249,7 @@ public class BackgroundActivityStartController { callingUid, realCallingUid); } + return finalVerdict; } /** diff --git a/services/core/java/com/android/server/wm/BackgroundLaunchProcessController.java b/services/core/java/com/android/server/wm/BackgroundLaunchProcessController.java index 527edc13931a..9a32dc8d9190 100644 --- a/services/core/java/com/android/server/wm/BackgroundLaunchProcessController.java +++ b/services/core/java/com/android/server/wm/BackgroundLaunchProcessController.java @@ -27,7 +27,6 @@ import static com.android.server.wm.BackgroundActivityStartController.BAL_ALLOW_ import static com.android.server.wm.BackgroundActivityStartController.BAL_ALLOW_GRACE_PERIOD; import static com.android.server.wm.BackgroundActivityStartController.BAL_ALLOW_PERMISSION; import static com.android.server.wm.BackgroundActivityStartController.BAL_ALLOW_VISIBLE_WINDOW; -import static com.android.server.wm.BackgroundActivityStartController.BAL_BLOCK; import static java.util.Objects.requireNonNull; @@ -49,6 +48,7 @@ import android.util.IntArray; import android.util.Slog; import com.android.internal.annotations.GuardedBy; +import com.android.server.wm.BackgroundActivityStartController.BalVerdict; import java.io.PrintWriter; import java.util.ArrayList; @@ -96,37 +96,32 @@ class BackgroundLaunchProcessController { mBackgroundActivityStartCallback = callback; } - @BackgroundActivityStartController.BalCode - int areBackgroundActivityStartsAllowed(int pid, int uid, String packageName, + BalVerdict areBackgroundActivityStartsAllowed( + int pid, int uid, String packageName, int appSwitchState, boolean isCheckingForFgsStart, boolean hasActivityInVisibleTask, boolean hasBackgroundActivityStartPrivileges, long lastStopAppSwitchesTime, long lastActivityLaunchTime, long lastActivityFinishTime) { // Allow if the proc is instrumenting with background activity starts privs. if (hasBackgroundActivityStartPrivileges) { - return BackgroundActivityStartController.logStartAllowedAndReturnCode( - BAL_ALLOW_PERMISSION, /*background*/ true, uid, uid, /*intent*/ null, - pid, "Activity start allowed: process instrumenting with background " - + "activity starts privileges"); + return new BalVerdict(BAL_ALLOW_PERMISSION, /*background*/ true, + "process instrumenting with background activity starts privileges"); } // Allow if the flag was explicitly set. if (isBackgroundStartAllowedByToken(uid, packageName, isCheckingForFgsStart)) { - return BackgroundActivityStartController.logStartAllowedAndReturnCode( - BAL_ALLOW_PERMISSION, /*background*/ true, uid, uid, /*intent*/ null, - pid, "Activity start allowed: process allowed by token"); + return new BalVerdict(BAL_ALLOW_PERMISSION, /*background*/ true, + "process allowed by token"); } // Allow if the caller is bound by a UID that's currently foreground. if (isBoundByForegroundUid()) { - return BackgroundActivityStartController.logStartAllowedAndReturnCode( - BAL_ALLOW_VISIBLE_WINDOW, /*background*/ false, uid, uid, /*intent*/ null, - pid, "Activity start allowed: process bound by foreground uid"); + return new BalVerdict(BAL_ALLOW_VISIBLE_WINDOW, /*background*/ false, + "process bound by foreground uid"); } // Allow if the caller has an activity in any foreground task. if (hasActivityInVisibleTask && (appSwitchState == APP_SWITCH_ALLOW || appSwitchState == APP_SWITCH_FG_ONLY)) { - return BackgroundActivityStartController.logStartAllowedAndReturnCode( - BAL_ALLOW_FOREGROUND, /*background*/ false, uid, uid, /*intent*/ null, - pid, "Activity start allowed: process has activity in foreground task"); + return new BalVerdict(BAL_ALLOW_FOREGROUND, /*background*/ false, + "process has activity in foreground task"); } // If app switching is not allowed, we ignore all the start activity grace period @@ -141,10 +136,8 @@ class BackgroundLaunchProcessController { // let app to be able to start background activity even it's in grace period. if (lastActivityLaunchTime > lastStopAppSwitchesTime || lastActivityFinishTime > lastStopAppSwitchesTime) { - return BackgroundActivityStartController.logStartAllowedAndReturnCode( - BAL_ALLOW_GRACE_PERIOD, /*background*/ true, uid, uid, /*intent*/ null, - pid, "Activity start allowed: within " - + ACTIVITY_BG_START_GRACE_PERIOD_MS + "ms grace period"); + return new BalVerdict(BAL_ALLOW_GRACE_PERIOD, /*background*/ true, + "within " + ACTIVITY_BG_START_GRACE_PERIOD_MS + "ms grace period"); } if (DEBUG_ACTIVITY_STARTS) { Slog.d(TAG, "[Process(" + pid + ")] Activity start within " @@ -154,7 +147,7 @@ class BackgroundLaunchProcessController { } } - return BAL_BLOCK; + return BalVerdict.BLOCK; } /** diff --git a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java index 15a0445b8ad4..1dc9493eddc6 100644 --- a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java @@ -29,6 +29,7 @@ import android.os.SystemProperties; import android.util.Slog; import com.android.server.wm.LaunchParamsController.LaunchParamsModifier; +import com.android.wm.shell.Flags; /** * The class that defines default launch params for tasks in desktop mode @@ -40,6 +41,7 @@ public class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { private static final boolean DEBUG = false; // Desktop mode feature flags. + private static final boolean ENABLE_DESKTOP_WINDOWING = Flags.enableDesktopWindowing(); private static final boolean DESKTOP_MODE_PROTO2_SUPPORTED = SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false); // Override default freeform task width when desktop mode is enabled. In dips. @@ -91,7 +93,7 @@ public class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { // previous windowing mode to be restored even if the desktop mode state has changed. // Let task launches inherit the windowing mode from the source task if available, which // should have the desired windowing mode set by WM Shell. See b/286929122. - if (DESKTOP_MODE_PROTO2_SUPPORTED && source != null && source.getTask() != null) { + if (isDesktopModeSupported() && source != null && source.getTask() != null) { final Task sourceTask = source.getTask(); outParams.mWindowingMode = sourceTask.getWindowingMode(); appendLog("inherit-from-source=" + outParams.mWindowingMode); @@ -140,6 +142,12 @@ public class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { /** Whether desktop mode is supported. */ static boolean isDesktopModeSupported() { + // Check for aconfig flag first + if (ENABLE_DESKTOP_WINDOWING) { + return true; + } + // Fall back to sysprop flag + // TODO(b/304778354): remove sysprop once desktop aconfig flag supports dynamic overriding return DESKTOP_MODE_PROTO2_SUPPORTED; } } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index e7893da60847..576e8a48ab31 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -160,6 +160,7 @@ import static com.android.server.wm.WindowState.RESIZE_HANDLE_WIDTH_IN_DP; import static com.android.server.wm.WindowStateAnimator.READY_TO_SHOW; import static com.android.server.wm.utils.RegionUtils.forEachRectReverse; import static com.android.server.wm.utils.RegionUtils.rectListToRegion; +import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.annotation.IntDef; import android.annotation.NonNull; @@ -245,6 +246,7 @@ import android.window.DisplayWindowPolicyController; import android.window.IDisplayAreaOrganizer; import android.window.ScreenCapture; import android.window.ScreenCapture.SynchronousScreenCaptureListener; +import android.window.SystemPerformanceHinter; import android.window.TransitionRequestInfo; import com.android.internal.R; @@ -572,6 +574,15 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private final SurfaceSession mSession = new SurfaceSession(); /** + * A perf hint session which will boost the refresh rate for the display and change sf duration + * to handle larger workloads. + */ + private SystemPerformanceHinter.HighPerfSession mTransitionPrefSession; + + /** A perf hint session which will boost the refresh rate. */ + private SystemPerformanceHinter.HighPerfSession mHighFrameRateSession; + + /** * Window that is currently interacting with the user. This window is responsible for receiving * key events and pointer events from the user. */ @@ -761,6 +772,9 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp */ boolean mDontMoveToTop; + /** Whether this display contains a WindowContainer with running SurfaceAnimator. */ + boolean mLastContainsRunningSurfaceAnimator; + /** Used for windows that want to keep the screen awake. */ private PowerManager.WakeLock mHoldScreenWakeLock; @@ -1161,7 +1175,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp mUnknownAppVisibilityController = new UnknownAppVisibilityController(mWmService, this); mDisplaySwitchTransitionLauncher = new PhysicalDisplaySwitchTransitionLauncher(this, mTransitionController); - mRemoteDisplayChangeController = new RemoteDisplayChangeController(mWmService, mDisplayId); + mRemoteDisplayChangeController = new RemoteDisplayChangeController(this); final InputChannel inputChannel = mWmService.mInputManager.monitorInput( "PointerEventDispatcher" + mDisplayId, mDisplayId); @@ -3447,6 +3461,42 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return dockFrame.bottom - imeFrame.top; } + void enableHighPerfTransition(boolean enable) { + if (!explicitRefreshRateHints()) { + if (enable) { + getPendingTransaction().setEarlyWakeupStart(); + } else { + getPendingTransaction().setEarlyWakeupEnd(); + } + return; + } + if (enable) { + if (mTransitionPrefSession == null) { + mTransitionPrefSession = mWmService.mSystemPerformanceHinter.createSession( + SystemPerformanceHinter.HINT_SF, mDisplayId, "Transition"); + } + mTransitionPrefSession.start(); + } else if (mTransitionPrefSession != null) { + mTransitionPrefSession.close(); + } + } + + void enableHighFrameRate(boolean enable) { + if (!explicitRefreshRateHints()) { + // Done by RefreshRatePolicy. + return; + } + if (enable) { + if (mHighFrameRateSession == null) { + mHighFrameRateSession = mWmService.mSystemPerformanceHinter.createSession( + SystemPerformanceHinter.HINT_SF_FRAME_RATE, mDisplayId, "WindowAnimation"); + } + mHighFrameRateSession.start(); + } else if (mHighFrameRateSession != null) { + mHighFrameRateSession.close(); + } + } + void rotateBounds(@Rotation int oldRotation, @Rotation int newRotation, Rect inOutBounds) { // Get display bounds on oldRotation as parent bounds for the rotation. getBounds(mTmpRect, oldRotation); @@ -4716,6 +4766,17 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp scheduleAnimation(); mWmService.mH.post(() -> InputMethodManagerInternal.get().onImeParentChanged()); + } else if (mImeControlTarget != null && mImeControlTarget == mImeLayeringTarget) { + // Even if the IME surface parent is not changed, the layer target belonging to the + // parent may have changes. Then attempt to reassign if the IME control target is + // possible to be the relative layer. + final SurfaceControl lastRelativeLayer = mImeWindowsContainer.getLastRelativeLayer(); + if (lastRelativeLayer != mImeLayeringTarget.mSurfaceControl) { + assignRelativeLayerForIme(getSyncTransaction(), false /* forceUpdate */); + if (lastRelativeLayer != mImeWindowsContainer.getLastRelativeLayer()) { + scheduleAnimation(); + } + } } } diff --git a/services/core/java/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncher.java b/services/core/java/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncher.java index 5f4a1c5ca32c..0d15fc932e68 100644 --- a/services/core/java/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncher.java +++ b/services/core/java/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncher.java @@ -34,6 +34,8 @@ import android.window.TransitionRequestInfo; import android.window.WindowContainerTransaction; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.protolog.ProtoLogGroup; +import com.android.internal.protolog.common.ProtoLog; import com.android.server.wm.DeviceStateController.DeviceState; public class PhysicalDisplaySwitchTransitionLauncher { @@ -117,14 +119,27 @@ public class PhysicalDisplaySwitchTransitionLauncher { displayChange.setEndAbsBounds(endAbsBounds); displayChange.setPhysicalDisplayChanged(true); - final Transition t = mTransitionController.requestTransitionIfNeeded(TRANSIT_CHANGE, - 0 /* flags */, - mDisplayContent, mDisplayContent, null /* remoteTransition */, - displayChange); + mTransition = null; + + if (mTransitionController.isCollecting()) { + // Add display container to the currently collecting transition + mTransitionController.collect(mDisplayContent); + mTransition = mTransitionController.getCollectingTransition(); + + // Make sure that transition is not ready until we finish the remote display change + mTransition.setReady(mDisplayContent, false); + + ProtoLog.d(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, + "Adding display switch to existing collecting transition"); + } else { + mTransition = mTransitionController.requestTransitionIfNeeded(TRANSIT_CHANGE, + 0 /* flags */, + mDisplayContent, mDisplayContent, null /* remoteTransition */, + displayChange); + } - if (t != null) { - mDisplayContent.mAtmService.startPowerMode(POWER_MODE_REASON_CHANGE_DISPLAY); - mTransition = t; + if (mTransition != null) { + mAtmService.startPowerMode(POWER_MODE_REASON_CHANGE_DISPLAY); } mShouldRequestTransitionOnDisplaySwitch = false; diff --git a/services/core/java/com/android/server/wm/RemoteDisplayChangeController.java b/services/core/java/com/android/server/wm/RemoteDisplayChangeController.java index 106e142cc342..4d3b95b72073 100644 --- a/services/core/java/com/android/server/wm/RemoteDisplayChangeController.java +++ b/services/core/java/com/android/server/wm/RemoteDisplayChangeController.java @@ -27,6 +27,7 @@ import android.view.IDisplayChangeWindowCallback; import android.window.DisplayAreaInfo; import android.window.WindowContainerTransaction; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.protolog.common.ProtoLog; import java.util.ArrayList; @@ -46,16 +47,16 @@ public class RemoteDisplayChangeController { private static final int REMOTE_DISPLAY_CHANGE_TIMEOUT_MS = 800; private final WindowManagerService mService; - private final int mDisplayId; + private final DisplayContent mDisplayContent; private final Runnable mTimeoutRunnable = this::onContinueTimedOut; // all remote changes that haven't finished yet. private final List<ContinueRemoteDisplayChangeCallback> mCallbacks = new ArrayList<>(); - public RemoteDisplayChangeController(WindowManagerService service, int displayId) { - mService = service; - mDisplayId = displayId; + RemoteDisplayChangeController(@NonNull DisplayContent displayContent) { + mService = displayContent.mWmService; + mDisplayContent = displayContent; } /** @@ -105,8 +106,8 @@ public class RemoteDisplayChangeController { try { mService.mH.removeCallbacks(mTimeoutRunnable); mService.mH.postDelayed(mTimeoutRunnable, REMOTE_DISPLAY_CHANGE_TIMEOUT_MS); - mService.mDisplayChangeController.onDisplayChange(mDisplayId, fromRotation, toRotation, - newDisplayAreaInfo, remoteCallback); + mService.mDisplayChangeController.onDisplayChange(mDisplayContent.mDisplayId, + fromRotation, toRotation, newDisplayAreaInfo, remoteCallback); return true; } catch (RemoteException e) { Slog.e(TAG, "Exception while dispatching remote display-change", e); @@ -133,10 +134,23 @@ public class RemoteDisplayChangeController { Trace.endAsyncSection(REMOTE_DISPLAY_CHANGE_TRACE_TAG, callback.hashCode()); } } + onCompleted(); } } - private void continueDisplayChange(@NonNull ContinueRemoteDisplayChangeCallback callback, + /** Called when all remote callbacks are done. */ + private void onCompleted() { + // Because DisplayContent#sendNewConfiguration() will be skipped if there are pending remote + // changes, check again when all remote callbacks are done. E.g. callback X is done but + // there is a pending callback Y so its invocation is skipped, and when the callback Y is + // done, it doesn't call sendNewConfiguration(). + if (mDisplayContent.mWaitingForConfig) { + mDisplayContent.sendNewConfiguration(); + } + } + + @VisibleForTesting + void continueDisplayChange(@NonNull ContinueRemoteDisplayChangeCallback callback, @Nullable WindowContainerTransaction transaction) { synchronized (mService.mGlobalLock) { int idx = mCallbacks.indexOf(callback); @@ -155,11 +169,16 @@ public class RemoteDisplayChangeController { currentCallback.hashCode()); } } + // The "toIndex" is exclusive, so it needs +1 to clear the current calling callback. mCallbacks.subList(0, idx + 1).clear(); - if (mCallbacks.isEmpty()) { + final boolean completed = mCallbacks.isEmpty(); + if (completed) { mService.mH.removeCallbacks(mTimeoutRunnable); } callback.onContinueRemoteDisplayChange(transaction); + if (completed) { + onCompleted(); + } if (Trace.isTagEnabled(Trace.TRACE_TAG_WINDOW_MANAGER)) { Trace.endAsyncSection(REMOTE_DISPLAY_CHANGE_TRACE_TAG, callback.hashCode()); diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index c81105a11cee..4a467dfbcd14 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -2054,6 +2054,12 @@ class RootWindowContainer extends WindowContainer<DisplayContent> Transition.ReadyCondition pipChangesApplied = new Transition.ReadyCondition("movedToPip"); transitionController.waitFor(pipChangesApplied); mService.deferWindowLayout(); + boolean localVisibilityDeferred = false; + // If the caller is from WindowOrganizerController, it should be already deferred. + if (!mTaskSupervisor.isRootVisibilityUpdateDeferred()) { + mTaskSupervisor.setDeferRootVisibilityUpdate(true); + localVisibilityDeferred = true; + } try { // This will change the root pinned task's windowing mode to its original mode, ensuring // we only have one root task that is in pinned mode. @@ -2225,14 +2231,11 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mService.mTaskFragmentOrganizerController.dispatchPendingInfoChangedEvent( organizedTf); } - - if (taskDisplayArea.getFocusedRootTask() == rootTask) { - taskDisplayArea.clearPreferredTopFocusableRootTask(); - } } finally { mService.continueWindowLayout(); try { - if (!isPip2ExperimentEnabled()) { + if (localVisibilityDeferred) { + mTaskSupervisor.setDeferRootVisibilityUpdate(false); ensureActivitiesVisible(null, 0, false /* preserveWindows */); } } finally { diff --git a/services/core/java/com/android/server/wm/SnapshotController.java b/services/core/java/com/android/server/wm/SnapshotController.java index 2be2a1a363db..01fa39b2fa9a 100644 --- a/services/core/java/com/android/server/wm/SnapshotController.java +++ b/services/core/java/com/android/server/wm/SnapshotController.java @@ -98,9 +98,14 @@ class SnapshotController { final TaskFragment tf = info.mContainer.asTaskFragment(); final ActivityRecord ar = tf != null ? tf.getTopMostActivity() : info.mContainer.asActivityRecord(); - final boolean taskVis = ar != null && ar.getTask().isVisibleRequested(); - if (ar != null && !ar.isVisibleRequested() && taskVis) { - mActivitySnapshotController.recordSnapshot(ar); + if (ar != null && !ar.isVisibleRequested() && ar.getTask().isVisibleRequested()) { + final WindowState mainWindow = ar.findMainWindow(false); + // Only capture activity snapshot if this app has adapted to back predict + if (mainWindow != null + && mainWindow.getOnBackInvokedCallbackInfo() != null + && mainWindow.getOnBackInvokedCallbackInfo().isSystemCallback()) { + mActivitySnapshotController.recordSnapshot(ar); + } } } } diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index d2f6d1698f1a..6cad16c7db40 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -486,8 +486,6 @@ class Task extends TaskFragment { private boolean mForceShowForAllUsers; - private boolean mForceTranslucent = false; - // The display category name for this task. String mRequiredDisplayCategory; @@ -3643,7 +3641,7 @@ class Task extends TaskFragment { */ TaskFragmentParentInfo getTaskFragmentParentInfo() { return new TaskFragmentParentInfo(getConfiguration(), getDisplayId(), - shouldBeVisible(null /* starting */)); + shouldBeVisible(null /* starting */), hasNonFinishingDirectActivity()); } @Override @@ -4502,10 +4500,6 @@ class Task extends TaskFragment { return true; } - void setForceTranslucent(boolean set) { - mForceTranslucent = set; - } - @Override public boolean isAlwaysOnTop() { return !isForceHidden() && super.isAlwaysOnTop(); @@ -4523,11 +4517,6 @@ class Task extends TaskFragment { } @Override - protected boolean isForceTranslucent() { - return mForceTranslucent; - } - - @Override long getProtoFieldId() { return TASK; } @@ -6062,6 +6051,11 @@ class Task extends TaskFragment { // Non-root task position changed. mRootWindowContainer.invalidateTaskLayers(); } + + if (child.asActivityRecord() != null) { + // Send for TaskFragmentParentInfo#hasDirectActivity change. + sendTaskFragmentParentInfoChangedIfNeeded(); + } } void reparent(TaskDisplayArea newParent, boolean onTop) { diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java index ae794a89480a..f0a66540061d 100644 --- a/services/core/java/com/android/server/wm/TaskDisplayArea.java +++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java @@ -412,7 +412,8 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { // wasContained} restricts the preferred root task is set only when moving an existing // root task to top instead of adding a new root task that may be too early (e.g. in the // middle of launching or reparenting). - final boolean isTopFocusableTask = moveToTop && child.isTopActivityFocusable(); + final boolean isTopFocusableTask = moveToTop && child != mRootPinnedTask + && child.isTopActivityFocusable(); if (isTopFocusableTask) { mPreferredTopFocusableRootTask = child.shouldBeVisible(null /* starting */) ? child : null; diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 82d34246f857..00f2b8963350 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -374,6 +374,8 @@ class TaskFragment extends WindowContainer<WindowContainer> { @interface FlagForceHidden {} protected int mForceHiddenFlags = 0; + private boolean mForceTranslucent = false; + final Point mLastSurfaceSize = new Point(); private final Rect mTmpBounds = new Rect(); @@ -843,8 +845,12 @@ class TaskFragment extends WindowContainer<WindowContainer> { return true; } - protected boolean isForceTranslucent() { - return false; + boolean isForceTranslucent() { + return mForceTranslucent; + } + + void setForceTranslucent(boolean set) { + mForceTranslucent = set; } boolean isLeafTaskFragment() { @@ -1049,6 +1055,10 @@ class TaskFragment extends WindowContainer<WindowContainer> { return getActivity(ActivityRecord::canBeTopRunning); } + /** + * Reports non-finishing activity count including this TaskFragment's child embedded + * TaskFragments' children activities. + */ int getNonFinishingActivityCount() { final int[] runningActivityCount = new int[1]; forAllActivities(a -> { @@ -1059,6 +1069,20 @@ class TaskFragment extends WindowContainer<WindowContainer> { return runningActivityCount[0]; } + /** + * Returns {@code true} if there's any non-finishing direct children activity, which is not + * embedded in TaskFragments + */ + boolean hasNonFinishingDirectActivity() { + for (int i = getChildCount() - 1; i >= 0; --i) { + final ActivityRecord activity = getChildAt(i).asActivityRecord(); + if (activity != null && !activity.finishing) { + return true; + } + } + return false; + } + boolean isTopActivityFocusable() { final ActivityRecord r = topRunningActivity(); return r != null ? r.isFocusable() diff --git a/services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java b/services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java index ff766beee337..34ae370a6099 100644 --- a/services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java +++ b/services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java @@ -157,6 +157,15 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr */ private final ArrayMap<IBinder, Integer> mDeferredTransitions = new ArrayMap<>(); + /** + * Map from {@link TaskFragmentTransaction#getTransactionToken()} to a + * {@link Transition.ReadyCondition} that is waiting for the {@link TaskFragmentTransaction} + * to complete. + * @see #onTransactionHandled + */ + private final ArrayMap<IBinder, Transition.ReadyCondition> mInFlightTransactions = + new ArrayMap<>(); + TaskFragmentOrganizerState(@NonNull ITaskFragmentOrganizer organizer, int pid, int uid, boolean isSystemOrganizer) { mOrganizer = organizer; @@ -173,7 +182,7 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr @Override public void binderDied() { synchronized (mGlobalLock) { - removeOrganizer(mOrganizer); + removeOrganizer(mOrganizer, "client died"); } } @@ -195,7 +204,7 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr mOrganizedTaskFragments.remove(taskFragment); } - void dispose() { + void dispose(@NonNull String reason) { boolean wasVisible = false; for (int i = mOrganizedTaskFragments.size() - 1; i >= 0; i--) { final TaskFragment taskFragment = mOrganizedTaskFragments.get(i); @@ -236,6 +245,10 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr // Cleanup any running transaction to unblock the current transition. onTransactionFinished(mDeferredTransitions.keyAt(i)); } + for (int i = mInFlightTransactions.size() - 1; i >= 0; i--) { + // Cleanup any in-flight transactions to unblock the transition. + mInFlightTransactions.valueAt(i).meetAlternate("disposed(" + reason + ")"); + } mOrganizer.asBinder().unlinkToDeath(this, 0 /* flags */); } @@ -398,11 +411,6 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr Slog.d(TAG, "Exception sending TaskFragmentTransaction", e); return; } - onTransactionStarted(transaction.getTransactionToken()); - } - - /** Called when the transaction is sent to the organizer. */ - void onTransactionStarted(@NonNull IBinder transactionToken) { if (!mWindowOrganizerController.getTransitionController().isCollecting()) { return; } @@ -410,9 +418,13 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr .getCollectingTransitionId(); ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Defer transition id=%d for TaskFragmentTransaction=%s", transitionId, - transactionToken); - mDeferredTransitions.put(transactionToken, transitionId); + transaction.getTransactionToken()); + mDeferredTransitions.put(transaction.getTransactionToken(), transitionId); mWindowOrganizerController.getTransitionController().deferTransitionReady(); + final Transition.ReadyCondition transactionApplied = new Transition.ReadyCondition( + "task-fragment transaction", transaction); + mWindowOrganizerController.getTransitionController().waitFor(transactionApplied); + mInFlightTransactions.put(transaction.getTransactionToken(), transactionApplied); } /** Called when the transaction is finished. */ @@ -496,7 +508,7 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr ProtoLog.v(WM_DEBUG_WINDOW_ORGANIZER, "Unregister task fragment organizer=%s uid=%d pid=%d", organizer.asBinder(), uid, pid); - removeOrganizer(organizer); + removeOrganizer(organizer, "unregistered"); } } finally { Binder.restoreCallingIdentity(origId); @@ -564,6 +576,11 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr : null; if (state != null) { state.onTransactionFinished(transactionToken); + final Transition.ReadyCondition condition = + state.mInFlightTransactions.remove(transactionToken); + if (condition != null) { + condition.meet(); + } } } } @@ -777,7 +794,8 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr return mTaskFragmentOrganizerState.containsKey(organizer.asBinder()); } - private void removeOrganizer(@NonNull ITaskFragmentOrganizer organizer) { + private void removeOrganizer(@NonNull ITaskFragmentOrganizer organizer, + @NonNull String reason) { final TaskFragmentOrganizerState state = mTaskFragmentOrganizerState.get( organizer.asBinder()); if (state == null) { @@ -788,7 +806,7 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr // event dispatch as result of surface placement. mPendingTaskFragmentEvents.remove(organizer.asBinder()); // remove all of the children of the organized TaskFragment - state.dispose(); + state.dispose(reason); mTaskFragmentOrganizerState.remove(organizer.asBinder()); } diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index f6b4972de250..b23ffa8b203e 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -249,7 +249,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { private boolean mIsSeamlessRotation = false; private IContainerFreezer mContainerFreezer = null; - private final SurfaceControl.Transaction mTmpTransaction = new SurfaceControl.Transaction(); /** * {@code true} if some other operation may have caused the originally-recorded state (in @@ -628,11 +627,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { mLogger.mStartTimeNs = SystemClock.elapsedRealtimeNanos(); - mController.updateAnimatingState(mTmpTransaction); - // merge into the next-time the global transaction is applied. This is too-early to set - // early-wake anyways, so we don't need to apply immediately (in fact applying right now - // can preempt more-important work). - SurfaceControl.mergeToGlobalTransaction(mTmpTransaction); + mController.updateAnimatingState(); } /** @@ -704,7 +699,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (dc == null || mTargetDisplays.contains(dc)) return; mTargetDisplays.add(dc); addOnTopTasks(dc, mOnTopTasksStart); - mController.startPerfHintForDisplay(dc.mDisplayId); + // Handle the case {transition.start(); applyTransaction(wct);} that the animating state + // is set before collecting participants. + if (mController.isAnimating()) { + dc.enableHighPerfTransition(true); + } } /** @@ -1052,7 +1051,8 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { * @return true if we are *guaranteed* to enter-pip. This means we return false if there's * a chance we won't thus legacy-entry (via pause+userLeaving) will return false. */ - private boolean checkEnterPipOnFinish(@NonNull ActivityRecord ar) { + private boolean checkEnterPipOnFinish(@NonNull ActivityRecord ar, + @Nullable ActivityRecord resuming) { if (!mCanPipOnFinish || !ar.isVisible() || ar.getTask() == null || !ar.isState(RESUMED)) { return false; } @@ -1097,8 +1097,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { try { // If not going auto-pip, the activity should be paused with user-leaving. mController.mAtm.mTaskSupervisor.mUserLeaving = true; - ar.getTaskFragment().startPausing(false /* uiSleeping */, - null /* resuming */, "finishTransition"); + ar.getTaskFragment().startPausing(false /* uiSleeping */, resuming, "finishTransition"); } finally { mController.mAtm.mTaskSupervisor.mUserLeaving = false; } @@ -1196,7 +1195,9 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { final boolean isScreenOff = ar.mDisplayContent == null || ar.mDisplayContent.getDisplayInfo().state == Display.STATE_OFF; if ((!visibleAtTransitionEnd || isScreenOff) && !ar.isVisibleRequested()) { - final boolean commitVisibility = !checkEnterPipOnFinish(ar); + final ActivityRecord resuming = getVisibleTransientLaunch( + ar.getTaskDisplayArea()); + final boolean commitVisibility = !checkEnterPipOnFinish(ar, resuming); // Avoid commit visibility if entering pip or else we will get a sudden // "flash" / surface going invisible for a split second. if (commitVisibility) { @@ -1407,8 +1408,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { false /* forceRelayout */); } cleanUpInternal(); - mController.updateAnimatingState(mTmpTransaction); - mTmpTransaction.apply(); + mController.updateAnimatingState(); // Handle back animation if it's already started. mController.mAtm.mBackNavigationController.onTransitionFinish(mTargets, this); @@ -1416,6 +1416,22 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { mController.mSnapshotController.onTransitionFinish(mType, mTargets); } + @Nullable + private ActivityRecord getVisibleTransientLaunch(TaskDisplayArea taskDisplayArea) { + if (mTransientLaunches == null) return null; + for (int i = mTransientLaunches.size() - 1; i >= 0; --i) { + final ActivityRecord candidateActivity = mTransientLaunches.keyAt(i); + if (candidateActivity.getTaskDisplayArea() != taskDisplayArea) { + continue; + } + if (!candidateActivity.isVisible()) { + continue; + } + return candidateActivity; + } + return null; + } + void abort() { // This calls back into itself via controller.abort, so just early return here. if (mState == STATE_ABORT) return; diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index 28c24c82e830..c134464bc33a 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -22,10 +22,8 @@ import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_IS_RECENTS; import static android.view.WindowManager.TRANSIT_NONE; import static android.view.WindowManager.TRANSIT_OPEN; -import static android.window.SystemPerformanceHinter.HINT_SF; import static com.android.server.wm.ActivityTaskManagerService.POWER_MODE_REASON_CHANGE_DISPLAY; -import static com.android.window.flags.Flags.explicitRefreshRateHints; import android.annotation.NonNull; import android.annotation.Nullable; @@ -41,18 +39,14 @@ import android.os.RemoteException; import android.os.SystemClock; import android.os.SystemProperties; import android.util.ArrayMap; -import android.util.ArraySet; import android.util.Slog; import android.util.SparseArray; import android.util.TimeUtils; import android.util.proto.ProtoOutputStream; -import android.view.SurfaceControl; import android.view.WindowManager; import android.window.ITransitionMetricsReporter; import android.window.ITransitionPlayer; import android.window.RemoteTransition; -import android.window.SystemPerformanceHinter; -import android.window.SystemPerformanceHinter.HighPerfSession; import android.window.TransitionInfo; import android.window.TransitionRequestInfo; import android.window.WindowContainerTransaction; @@ -131,7 +125,6 @@ class TransitionController { SnapshotController mSnapshotController; TransitionTracer mTransitionTracer; - private SystemPerformanceHinter mSystemPerformanceHinter; private boolean mFullReadyTracking = false; private final ArrayList<WindowManagerInternal.AppTransitionListener> mLegacyListeners = @@ -185,24 +178,6 @@ class TransitionController { private final IBinder.DeathRecipient mTransitionPlayerDeath; - /** - * Tracks active perf sessions that boost frame rate and hint sf to increase its - * estimated work duration. - */ - private final ArraySet<HighPerfSession> mHighPerfSessions = new ArraySet<>(); - - - /** - * Starts a perf hint session which will boost the refresh rate for the display and change - * sf duration to handle larger workloads. - */ - void startPerfHintForDisplay(int displayId) { - if (explicitRefreshRateHints()) { - mHighPerfSessions.add(mSystemPerformanceHinter.startSession(HINT_SF, displayId, - "Transition collected")); - } - } - static class QueuedTransition { final Transition mTransition; final OnStartCollect mOnStartCollect; @@ -282,16 +257,10 @@ class TransitionController { mIsWaitingForDisplayEnabled = !wms.mDisplayEnabled; registerLegacyListener(wms.mActivityManagerAppTransitionNotifier); setSyncEngine(wms.mSyncEngine); - setSystemPerformanceHinter(wms.mSystemPerformanceHinter); mFullReadyTracking = Flags.transitReadyTracking(); } @VisibleForTesting - void setSystemPerformanceHinter(SystemPerformanceHinter hinter) { - mSystemPerformanceHinter = hinter; - } - - @VisibleForTesting void setSyncEngine(BLASTSyncEngine syncEngine) { mSyncEngine = syncEngine; // Check the queue whenever the sync-engine becomes idle. @@ -508,7 +477,7 @@ class TransitionController { return false; } - /** @return {@code true} if wc is in a participant subtree */ + /** Returns {@code true} if the display contains a running or pending transition. */ boolean isTransitionOnDisplay(@NonNull DisplayContent dc) { if (mCollectingTransition != null && mCollectingTransition.isOnDisplay(dc)) { return true; @@ -1240,12 +1209,22 @@ class TransitionController { } } - void updateAnimatingState(SurfaceControl.Transaction t) { + /** Returns {@code true} if a transition is playing or the collecting transition is started. */ + boolean isAnimating() { + return mAnimatingState; + } + + void updateAnimatingState() { final boolean animatingState = !mPlayingTransitions.isEmpty() || (mCollectingTransition != null && mCollectingTransition.isStarted()); if (animatingState && !mAnimatingState) { - if (!explicitRefreshRateHints()) { - t.setEarlyWakeupStart(); + // Note that Transition#start() can be called before adding participants, so the + // enableHighPerfTransition(true) is also called in Transition#recordDisplay. + for (int i = mAtm.mRootWindowContainer.getChildCount() - 1; i >= 0; i--) { + final DisplayContent dc = mAtm.mRootWindowContainer.getChildAt(i); + if (isTransitionOnDisplay(dc)) { + dc.enableHighPerfTransition(true); + } } // Usually transitions put quite a load onto the system already (with all the things // happening in app), so pause task snapshot persisting to not increase the load. @@ -1253,18 +1232,13 @@ class TransitionController { mAnimatingState = true; Transition.asyncTraceBegin("animating", 0x41bfaf1 /* hashcode of TAG */); } else if (!animatingState && mAnimatingState) { - if (!explicitRefreshRateHints()) { - t.setEarlyWakeupEnd(); + for (int i = mAtm.mRootWindowContainer.getChildCount() - 1; i >= 0; i--) { + mAtm.mRootWindowContainer.getChildAt(i).enableHighPerfTransition(false); } mAtm.mWindowManager.scheduleAnimationLocked(); mSnapshotController.setPause(false); mAnimatingState = false; Transition.asyncTraceEnd(0x41bfaf1 /* hashcode of TAG */); - // We close all perf sessions here when all transitions finish. The sessions are created - // when we collect transitions because we have access to the display id. - for (HighPerfSession perfSession : mHighPerfSessions) { - perfSession.close(); - } } } diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index adc0595f305b..e95d2651504b 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -117,6 +117,9 @@ public class WindowAnimator { scheduleAnimation(); final RootWindowContainer root = mService.mRoot; + final boolean useShellTransition = root.mTransitionController.isShellTransitionsEnabled(); + final int animationFlags = useShellTransition ? CHILDREN : (TRANSITION | CHILDREN); + boolean rootAnimating = false; mCurrentTime = frameTimeNs / TimeUtils.NANOS_PER_MS; mBulkUpdateParams = 0; root.mOrientationChangeComplete = true; @@ -149,6 +152,17 @@ public class WindowAnimator { accessibilityController.drawMagnifiedRegionBorderIfNeeded(dc.mDisplayId, mTransaction); } + + if (dc.isAnimating(animationFlags, ANIMATION_TYPE_ALL)) { + rootAnimating = true; + if (!dc.mLastContainsRunningSurfaceAnimator) { + dc.mLastContainsRunningSurfaceAnimator = true; + dc.enableHighFrameRate(true); + } + } else if (dc.mLastContainsRunningSurfaceAnimator) { + dc.mLastContainsRunningSurfaceAnimator = false; + dc.enableHighFrameRate(false); + } } cancelAnimation(); @@ -168,8 +182,6 @@ public class WindowAnimator { mService.mWindowPlacerLocked.requestTraversal(); } - final boolean rootAnimating = root.isAnimating(TRANSITION | CHILDREN /* flags */, - ANIMATION_TYPE_ALL /* typesToCheck */); if (rootAnimating && !mLastRootAnimating) { Trace.asyncTraceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "animating", 0); } @@ -179,20 +191,10 @@ public class WindowAnimator { } mLastRootAnimating = rootAnimating; - final boolean runningExpensiveAnimations = - root.isAnimating(TRANSITION | CHILDREN /* flags */, - ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_SCREEN_ROTATION - | ANIMATION_TYPE_RECENTS /* typesToCheck */); - if (runningExpensiveAnimations && !mRunningExpensiveAnimations) { - // Usually app transitions put quite a load onto the system already (with all the things - // happening in app), so pause snapshot persisting to not increase the load. - mService.mSnapshotController.setPause(true); - mTransaction.setEarlyWakeupStart(); - } else if (!runningExpensiveAnimations && mRunningExpensiveAnimations) { - mService.mSnapshotController.setPause(false); - mTransaction.setEarlyWakeupEnd(); + // APP_TRANSITION, SCREEN_ROTATION, TYPE_RECENTS are handled by shell transition. + if (!useShellTransition) { + updateRunningExpensiveAnimationsLegacy(); } - mRunningExpensiveAnimations = runningExpensiveAnimations; SurfaceControl.mergeToGlobalTransaction(mTransaction); mService.closeSurfaceTransaction("WindowAnimator"); @@ -208,6 +210,21 @@ public class WindowAnimator { } } + private void updateRunningExpensiveAnimationsLegacy() { + final boolean runningExpensiveAnimations = + mService.mRoot.isAnimating(TRANSITION | CHILDREN /* flags */, + ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_SCREEN_ROTATION + | ANIMATION_TYPE_RECENTS /* typesToCheck */); + if (runningExpensiveAnimations && !mRunningExpensiveAnimations) { + mService.mSnapshotController.setPause(true); + mTransaction.setEarlyWakeupStart(); + } else if (!runningExpensiveAnimations && mRunningExpensiveAnimations) { + mService.mSnapshotController.setPause(false); + mTransaction.setEarlyWakeupEnd(); + } + mRunningExpensiveAnimations = runningExpensiveAnimations; + } + private static String bulkUpdateParamsToString(int bulkUpdateParams) { StringBuilder builder = new StringBuilder(128); if ((bulkUpdateParams & WindowSurfacePlacer.SET_UPDATE_ROTATION) != 0) { diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 4a0f44b58ecf..8f884d2fe29e 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -2706,6 +2706,10 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< return mLastLayer; } + SurfaceControl getLastRelativeLayer() { + return mLastRelativeToLayer; + } + protected void setRelativeLayer(Transaction t, SurfaceControl relativeTo, int layer) { if (mSurfaceFreezer.hasLeash()) { // When the freezer has created animation leash parent for the window, set the layer diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 4a074ff25c74..a90e08e4f372 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1346,8 +1346,8 @@ public class WindowManagerService extends IWindowManager.Stub DisplayContent dc = mRoot.getDisplayContent(displayId); return (dc == null) ? null : dc.getSurfaceControl(); } - }, mTransactionFactory); + mSystemPerformanceHinter.mTraceTag = TRACE_TAG_WINDOW_MANAGER; } DisplayAreaPolicy.Provider getDisplayAreaPolicyProvider() { @@ -7195,6 +7195,10 @@ public class WindowManagerService extends IWindowManager.Stub pw.println(separator); } mConstants.dump(pw); + if (dumpAll) { + pw.println(separator); + } + mSystemPerformanceHinter.dump(pw, ""); } } diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index eb60aaba510f..a8b9417edb9b 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -37,6 +37,7 @@ import static android.window.TaskFragmentOperation.OP_TYPE_SET_RELATIVE_BOUNDS; import static android.window.TaskFragmentOperation.OP_TYPE_START_ACTIVITY_IN_TASK_FRAGMENT; import static android.window.TaskFragmentOperation.OP_TYPE_UNKNOWN; import static android.window.WindowContainerTransaction.Change.CHANGE_FOCUSABLE; +import static android.window.WindowContainerTransaction.Change.CHANGE_FORCE_TRANSLUCENT; import static android.window.WindowContainerTransaction.Change.CHANGE_HIDDEN; import static android.window.WindowContainerTransaction.Change.CHANGE_RELATIVE_BOUNDS; import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_ADD_INSETS_FRAME_PROVIDER; @@ -768,8 +769,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub } } - if ((c.getChangeMask() - & WindowContainerTransaction.Change.CHANGE_FORCE_TRANSLUCENT) != 0) { + if ((c.getChangeMask() & CHANGE_FORCE_TRANSLUCENT) != 0) { tr.setForceTranslucent(c.getForceTranslucent()); effects = TRANSACT_EFFECTS_LIFECYCLE; } @@ -877,6 +877,11 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub effects |= TRANSACT_EFFECTS_LIFECYCLE; } } + if ((c.getChangeMask() & CHANGE_FORCE_TRANSLUCENT) != 0) { + taskFragment.setForceTranslucent(c.getForceTranslucent()); + effects = TRANSACT_EFFECTS_LIFECYCLE; + } + effects |= applyChanges(taskFragment, c); if (taskFragment.shouldStartChangeTransition(mTmpBounds0, mTmpBounds1)) { @@ -2022,9 +2027,11 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub if (mTaskFragmentOrganizerController.isSystemOrganizer(organizer.asBinder())) { // System organizer is allowed to update the hidden and focusable state. - // We unset the CHANGE_HIDDEN and CHANGE_FOCUSABLE bits because they are checked here. + // We unset the CHANGE_HIDDEN, CHANGE_FOCUSABLE, and CHANGE_FORCE_TRANSLUCENT bits + // because they are checked here. changeMaskToBeChecked &= ~CHANGE_HIDDEN; changeMaskToBeChecked &= ~CHANGE_FOCUSABLE; + changeMaskToBeChecked &= ~CHANGE_FORCE_TRANSLUCENT; } // setRelativeBounds is allowed. diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java index e769a2763fc5..a74a707d5ef9 100644 --- a/services/core/java/com/android/server/wm/WindowProcessController.java +++ b/services/core/java/com/android/server/wm/WindowProcessController.java @@ -42,7 +42,6 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM; import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.ActivityTaskManagerService.INSTRUMENTATION_KEY_DISPATCHING_TIMEOUT_MILLIS; import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_NONE; -import static com.android.server.wm.BackgroundActivityStartController.BAL_BLOCK; import static com.android.server.wm.WindowManagerService.MY_PID; import static java.util.Objects.requireNonNull; @@ -631,22 +630,23 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio */ @HotPath(caller = HotPath.START_SERVICE) public boolean areBackgroundFgsStartsAllowed() { - return areBackgroundActivityStartsAllowed(mAtm.getBalAppSwitchesState(), - true /* isCheckingForFgsStart */) != BAL_BLOCK; + return areBackgroundActivityStartsAllowed( + mAtm.getBalAppSwitchesState(), + true /* isCheckingForFgsStart */).allows(); } - @BackgroundActivityStartController.BalCode - int areBackgroundActivityStartsAllowed(int appSwitchState) { - return areBackgroundActivityStartsAllowed(appSwitchState, + BackgroundActivityStartController.BalVerdict areBackgroundActivityStartsAllowed( + int appSwitchState) { + return areBackgroundActivityStartsAllowed( + appSwitchState, false /* isCheckingForFgsStart */); } - @BackgroundActivityStartController.BalCode - private int areBackgroundActivityStartsAllowed(int appSwitchState, - boolean isCheckingForFgsStart) { - return mBgLaunchController.areBackgroundActivityStartsAllowed(mPid, mUid, mInfo.packageName, - appSwitchState, isCheckingForFgsStart, hasActivityInVisibleTask(), - mInstrumentingWithBackgroundActivityStartPrivileges, + private BackgroundActivityStartController.BalVerdict areBackgroundActivityStartsAllowed( + int appSwitchState, boolean isCheckingForFgsStart) { + return mBgLaunchController.areBackgroundActivityStartsAllowed(mPid, mUid, + mInfo.packageName, appSwitchState, isCheckingForFgsStart, + hasActivityInVisibleTask(), mInstrumentingWithBackgroundActivityStartPrivileges, mAtm.getLastStopAppSwitchesTime(), mLastActivityLaunchTime, mLastActivityFinishTime); } diff --git a/services/core/jni/com_android_server_power_stats_CpuPowerStatsCollector.cpp b/services/core/jni/com_android_server_power_stats_CpuPowerStatsCollector.cpp index a6084ea17806..cac13ebef410 100644 --- a/services/core/jni/com_android_server_power_stats_CpuPowerStatsCollector.cpp +++ b/services/core/jni/com_android_server_power_stats_CpuPowerStatsCollector.cpp @@ -34,9 +34,12 @@ namespace android { static constexpr uint64_t NSEC_PER_MSEC = 1000000; -static int extractUidStats(JNIEnv *env, std::vector<std::vector<uint64_t>> ×, - ScopedIntArrayRO &scopedScalingStepToPowerBracketMap, - jlongArray tempForUidStats); +static int flatten(JNIEnv *env, const std::vector<std::vector<uint64_t>> ×, + jlongArray outArray); + +static int combineByBracket(JNIEnv *env, const std::vector<std::vector<uint64_t>> ×, + ScopedIntArrayRO &scopedScalingStepToPowerBracketMap, + jlongArray outBrackets); static bool initialized = false; static jclass class_KernelCpuStatsCallback; @@ -62,25 +65,43 @@ static int init(JNIEnv *env) { return OK; } +static jboolean nativeIsSupportedFeature(JNIEnv *env) { + if (!android::bpf::startTrackingUidTimes()) { + return false; + } + auto totalByScalingStep = android::bpf::getTotalCpuFreqTimes(); + return totalByScalingStep.has_value(); +} + static jlong nativeReadCpuStats(JNIEnv *env, [[maybe_unused]] jobject zis, jobject callback, jintArray scalingStepToPowerBracketMap, - jlong lastUpdateTimestampNanos, jlongArray tempForUidStats) { + jlong lastUpdateTimestampNanos, jlongArray cpuTimeByScalingStep, + jlongArray tempForUidStats) { + ScopedIntArrayRO scopedScalingStepToPowerBracketMap(env, scalingStepToPowerBracketMap); + if (!initialized) { if (init(env) == EXCEPTION) { return 0L; } } + auto totalByScalingStep = android::bpf::getTotalCpuFreqTimes(); + if (!totalByScalingStep) { + jniThrowExceptionFmt(env, "java/lang/RuntimeException", "Unsupported kernel feature"); + return EXCEPTION; + } + + if (flatten(env, *totalByScalingStep, cpuTimeByScalingStep) == EXCEPTION) { + return 0L; + } + uint64_t newLastUpdate = lastUpdateTimestampNanos; auto data = android::bpf::getUidsUpdatedCpuFreqTimes(&newLastUpdate); if (!data.has_value()) return lastUpdateTimestampNanos; - ScopedIntArrayRO scopedScalingStepToPowerBracketMap(env, scalingStepToPowerBracketMap); - for (auto &[uid, times] : *data) { - int status = - extractUidStats(env, times, scopedScalingStepToPowerBracketMap, tempForUidStats); - if (status == EXCEPTION) { + if (combineByBracket(env, times, scopedScalingStepToPowerBracketMap, tempForUidStats) == + EXCEPTION) { return 0L; } env->CallVoidMethod(callback, method_KernelCpuStatsCallback_processUidStats, (jint)uid, @@ -89,13 +110,34 @@ static jlong nativeReadCpuStats(JNIEnv *env, [[maybe_unused]] jobject zis, jobje return newLastUpdate; } -static int extractUidStats(JNIEnv *env, std::vector<std::vector<uint64_t>> ×, - ScopedIntArrayRO &scopedScalingStepToPowerBracketMap, - jlongArray tempForUidStats) { - ScopedLongArrayRW scopedTempForStats(env, tempForUidStats); - uint64_t *arrayForStats = reinterpret_cast<uint64_t *>(scopedTempForStats.get()); - const uint8_t statsSize = scopedTempForStats.size(); - memset(arrayForStats, 0, statsSize * sizeof(uint64_t)); +static int flatten(JNIEnv *env, const std::vector<std::vector<uint64_t>> ×, + jlongArray outArray) { + ScopedLongArrayRW scopedOutArray(env, outArray); + const uint8_t scalingStepCount = scopedOutArray.size(); + uint64_t *out = reinterpret_cast<uint64_t *>(scopedOutArray.get()); + uint32_t scalingStep = 0; + for (const auto &subVec : times) { + for (uint32_t i = 0; i < subVec.size(); ++i) { + if (scalingStep >= scalingStepCount) { + jniThrowExceptionFmt(env, "java/lang/IndexOutOfBoundsException", + "Array is too short, size=%u, scalingStep=%u", + scalingStepCount, scalingStep); + return EXCEPTION; + } + out[scalingStep] = subVec[i] / NSEC_PER_MSEC; + scalingStep++; + } + } + return OK; +} + +static int combineByBracket(JNIEnv *env, const std::vector<std::vector<uint64_t>> ×, + ScopedIntArrayRO &scopedScalingStepToPowerBracketMap, + jlongArray outBrackets) { + ScopedLongArrayRW scopedOutBrackets(env, outBrackets); + uint64_t *brackets = reinterpret_cast<uint64_t *>(scopedOutBrackets.get()); + const uint8_t statsSize = scopedOutBrackets.size(); + memset(brackets, 0, statsSize * sizeof(uint64_t)); const uint8_t scalingStepCount = scopedScalingStepToPowerBracketMap.size(); uint32_t scalingStep = 0; @@ -108,14 +150,14 @@ static int extractUidStats(JNIEnv *env, std::vector<std::vector<uint64_t>> &time scalingStepCount, scalingStep); return EXCEPTION; } - uint32_t bucket = scopedScalingStepToPowerBracketMap[scalingStep]; - if (bucket >= statsSize) { + uint32_t bracket = scopedScalingStepToPowerBracketMap[scalingStep]; + if (bracket >= statsSize) { jniThrowExceptionFmt(env, "java/lang/IndexOutOfBoundsException", - "UidStats array is too short, length=%u, bucket[%u]=%u", - statsSize, scalingStep, bucket); + "Bracket array is too short, length=%u, bracket[%u]=%u", + statsSize, scalingStep, bracket); return EXCEPTION; } - arrayForStats[bucket] += subVec[i] / NSEC_PER_MSEC; + brackets[bracket] += subVec[i] / NSEC_PER_MSEC; scalingStep++; } } @@ -123,7 +165,8 @@ static int extractUidStats(JNIEnv *env, std::vector<std::vector<uint64_t>> &time } static const JNINativeMethod method_table[] = { - {"nativeReadCpuStats", "(L" JAVA_CLASS_KERNEL_CPU_STATS_CALLBACK ";[IJ[J)J", + {"nativeIsSupportedFeature", "()Z", (void *)nativeIsSupportedFeature}, + {"nativeReadCpuStats", "(L" JAVA_CLASS_KERNEL_CPU_STATS_CALLBACK ";[IJ[J[J)J", (void *)nativeReadCpuStats}, }; diff --git a/services/devicepolicy/Android.bp b/services/devicepolicy/Android.bp index 41706f0e5c53..8dfa685bf6ff 100644 --- a/services/devicepolicy/Android.bp +++ b/services/devicepolicy/Android.bp @@ -23,8 +23,6 @@ java_library_static { "services.core", "app-compat-annotations", "service-permission.stubs.system_server", - ], - static_libs: [ "device_policy_aconfig_flags_lib", ], } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java b/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java index c42a4573d2e3..17638fcaba68 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/ActiveAdmin.java @@ -21,6 +21,8 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE; import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; import static android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST; import static android.app.admin.WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST; +import static android.app.admin.flags.Flags.dumpsysPolicyEngineMigrationEnabled; +import static android.app.admin.flags.Flags.policyEngineMigrationV2Enabled; import static android.net.NetworkCapabilities.NET_ENTERPRISE_ID_1; import static com.android.server.devicepolicy.DevicePolicyManagerService.LOG_TAG; @@ -1295,8 +1297,29 @@ class ActiveAdmin { pw.print("encryptionRequested="); pw.println(encryptionRequested); - pw.print("disableCamera="); - pw.println(disableCamera); + if (!dumpsysPolicyEngineMigrationEnabled()) { + pw.print("disableCamera="); + pw.println(disableCamera); + + pw.print("disableScreenCapture="); + pw.println(disableScreenCapture); + + pw.print("requireAutoTime="); + pw.println(requireAutoTime); + + if (permittedInputMethods != null) { + pw.print("permittedInputMethods="); + pw.println(permittedInputMethods); + } + + pw.println("userRestrictions:"); + UserRestrictionsUtils.dumpRestrictions(pw, " ", userRestrictions); + } + + if (!policyEngineMigrationV2Enabled() || !dumpsysPolicyEngineMigrationEnabled()) { + pw.print("mUsbDataSignaling="); + pw.println(mUsbDataSignalingEnabled); + } pw.print("disableCallerId="); pw.println(disableCallerId); @@ -1307,12 +1330,6 @@ class ActiveAdmin { pw.print("disableBluetoothContactSharing="); pw.println(disableBluetoothContactSharing); - pw.print("disableScreenCapture="); - pw.println(disableScreenCapture); - - pw.print("requireAutoTime="); - pw.println(requireAutoTime); - pw.print("forceEphemeralUsers="); pw.println(forceEphemeralUsers); @@ -1330,11 +1347,6 @@ class ActiveAdmin { pw.println(permittedAccessiblityServices); } - if (permittedInputMethods != null) { - pw.print("permittedInputMethods="); - pw.println(permittedInputMethods); - } - if (permittedNotificationListeners != null) { pw.print("permittedNotificationListeners="); pw.println(permittedNotificationListeners); @@ -1368,9 +1380,6 @@ class ActiveAdmin { pw.println(organizationName); } - pw.println("userRestrictions:"); - UserRestrictionsUtils.dumpRestrictions(pw, " ", userRestrictions); - pw.print("defaultEnabledRestrictionsAlreadySet="); pw.println(defaultEnabledRestrictionsAlreadySet); @@ -1442,9 +1451,6 @@ class ActiveAdmin { pw.print("mAdminCanGrantSensorsPermissions="); pw.println(mAdminCanGrantSensorsPermissions); - pw.print("mUsbDataSignaling="); - pw.println(mUsbDataSignalingEnabled); - pw.print("mWifiMinimumSecurityLevel="); pw.println(mWifiMinimumSecurityLevel); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java index 323d387eff1a..e0232b1e1fc5 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java @@ -59,6 +59,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.telephony.TelephonyManager; import android.util.AtomicFile; +import android.util.IndentingPrintWriter; import android.util.Log; import android.util.SparseArray; import android.util.Xml; @@ -1578,6 +1579,25 @@ final class DevicePolicyEngine { } } + public void dump(IndentingPrintWriter pw) { + synchronized (mLock) { + pw.println("Local Policies: "); + for (int i = 0; i < mLocalPolicies.size(); i++) { + for (PolicyKey policy : mLocalPolicies.get(mLocalPolicies.keyAt(i)).keySet()) { + PolicyState<?> policyState = mLocalPolicies.get( + mLocalPolicies.keyAt(i)).get(policy); + pw.println(policyState); + } + } + pw.println(); + pw.println("Global Policies: "); + for (PolicyKey policy : mGlobalPolicies.keySet()) { + PolicyState<?> policyState = mGlobalPolicies.get(policy); + pw.println(policyState); + } + } + } + private void write() { synchronized (mLock) { Log.d(TAG, "Writing device policies to file."); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 5f2d87cf7e80..1ff117e2c60b 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -219,6 +219,7 @@ import static android.app.admin.ProvisioningException.ERROR_REMOVE_NON_REQUIRED_ import static android.app.admin.ProvisioningException.ERROR_SETTING_PROFILE_OWNER_FAILED; 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.dumpsysPolicyEngineMigrationEnabled; import static android.app.admin.flags.Flags.policyEngineMigrationV2Enabled; import static android.content.Intent.ACTION_MANAGED_PROFILE_AVAILABLE; import static android.content.Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE; @@ -11022,6 +11023,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { pw.println(); mStatLogger.dump(pw); pw.println(); + if (dumpsysPolicyEngineMigrationEnabled()) { + mDevicePolicyEngine.dump(pw); + pw.println(); + } pw.println("Encryption Status: " + getEncryptionStatusName(getEncryptionStatus())); pw.println("Logout user: " + getLogoutUserIdUnchecked()); pw.println(); diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java index 006642235615..49ffb0d01019 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/EnforcingAdmin.java @@ -327,6 +327,6 @@ final class EnforcingAdmin { public String toString() { return "EnforcingAdmin { mPackageName= " + mPackageName + ", mComponentName= " + mComponentName + ", mAuthorities= " + mAuthorities + ", mUserId= " - + mUserId + ", mIsRoleAuthority= " + mIsRoleAuthority + " }"; + + mUserId + ", mIsRoleAuthority= " + mIsRoleAuthority + " }\n"; } } diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java index 22464d5c5241..c2e370eeec44 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/PolicyState.java @@ -189,9 +189,10 @@ final class PolicyState<V> { @Override public String toString() { - return "PolicyState { mPolicyDefinition= " + mPolicyDefinition + ", mPoliciesSetByAdmins= " - + mPoliciesSetByAdmins + ", mCurrentResolvedPolicy= " + mCurrentResolvedPolicy - + " }"; + return "\nPolicyKey - " + mPolicyDefinition.getPolicyKey() + + "\nmPolicyDefinition= \n\t" + mPolicyDefinition + + "\nmPoliciesSetByAdmins= \n\t" + mPoliciesSetByAdmins + + ",\nmCurrentResolvedPolicy= \n\t" + mCurrentResolvedPolicy + " }"; } void saveToXml(TypedXmlSerializer serializer) throws IOException { diff --git a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java index ca57f51088f3..8b5d7f09f6fc 100644 --- a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java +++ b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java @@ -31,6 +31,7 @@ import android.app.smartspace.ISmartspaceManager; import android.app.smartspace.SmartspaceConfig; import android.app.smartspace.SmartspaceSessionId; import android.app.smartspace.SmartspaceTargetEvent; +import android.app.smartspace.flags.Flags; import android.content.Context; import android.os.Binder; import android.os.IBinder; @@ -165,7 +166,8 @@ public class SmartspaceManagerService extends } Context ctx = getContext(); if (!(ctx.checkCallingPermission(MANAGE_SMARTSPACE) == PERMISSION_GRANTED - || ctx.checkCallingPermission(ACCESS_SMARTSPACE) == PERMISSION_GRANTED + || (Flags.accessSmartspace() + && ctx.checkCallingPermission(ACCESS_SMARTSPACE) == PERMISSION_GRANTED) || mServiceNameResolver.isTemporary(userId) || mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid()))) { diff --git a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java index 16d72e40fbb5..163d248fa317 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java @@ -18,10 +18,13 @@ package com.android.server.display; import static android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY; import static android.Manifest.permission.ADD_TRUSTED_DISPLAY; +import static android.Manifest.permission.CAPTURE_VIDEO_OUTPUT; import static android.Manifest.permission.MANAGE_DISPLAYS; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED; +import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY; import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP; +import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION; import static android.view.ContentRecordingSession.RECORD_CONTENT_DISPLAY; import static android.view.ContentRecordingSession.RECORD_CONTENT_TASK; @@ -60,6 +63,7 @@ import android.app.PropertyInvalidatedCache; import android.companion.virtual.IVirtualDevice; import android.companion.virtual.IVirtualDeviceManager; import android.companion.virtual.VirtualDeviceManager; +import android.companion.virtual.flags.Flags; import android.compat.testing.PlatformCompatChangeRule; import android.content.Context; import android.content.ContextWrapper; @@ -92,6 +96,7 @@ import android.os.Looper; import android.os.MessageQueue; import android.os.Process; import android.os.RemoteException; +import android.platform.test.flag.junit.SetFlagsRule; import android.view.ContentRecordingSession; import android.view.Display; import android.view.DisplayCutout; @@ -181,6 +186,8 @@ public class DisplayManagerServiceTest { public TestRule compatChangeRule = new PlatformCompatChangeRule(); @Rule(order = 1) public Expect expect = Expect.create(); + @Rule + public SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mContext; @@ -312,7 +319,6 @@ public class DisplayManagerServiceTest { @Mock DisplayDeviceConfig mMockDisplayDeviceConfig; @Mock PackageManagerInternal mMockPackageManagerInternal; - @Captor ArgumentCaptor<ContentRecordingSession> mContentRecordingSessionCaptor; @Mock DisplayManagerFlags mMockFlags; @@ -320,6 +326,7 @@ public class DisplayManagerServiceTest { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); when(mMockFlags.isConnectedDisplayManagementEnabled()).thenReturn(false); + mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); LocalServices.removeServiceForTest(InputManagerInternal.class); LocalServices.addService(InputManagerInternal.class, mMockInputManagerInternal); @@ -1140,6 +1147,236 @@ public class DisplayManagerServiceTest { 0); } + /** + * Tests that it's not allowed to create an auto-mirror virtual display without + * CAPTURE_VIDEO_OUTPUT permission or a virtual device. + */ + @Test + public void createAutoMirrorDisplay_withoutPermission_withoutVirtualDevice_throwsException() { + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + when(mContext.checkCallingPermission(CAPTURE_VIDEO_OUTPUT)).thenReturn( + PackageManager.PERMISSION_DENIED); + + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) + .setUniqueId("uniqueId --- mirror display"); + assertThrows(SecurityException.class, () -> { + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + null /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + }); + } + + /** + * Tests that it's not allowed to create an auto-mirror virtual display when display mirroring + * is not supported in a virtual device. + */ + @Test + public void createAutoMirrorDisplay_virtualDeviceDoesntSupportMirroring_throwsException() + throws Exception { + mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + when(mContext.checkCallingPermission(CAPTURE_VIDEO_OUTPUT)).thenReturn( + PackageManager.PERMISSION_DENIED); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) + .setUniqueId("uniqueId --- mirror display"); + assertThrows(SecurityException.class, () -> { + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + }); + } + + /** + * Tests that the virtual display is added to the default display group when created with + * VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR using a virtual device. + */ + @Test + public void createAutoMirrorVirtualDisplay_addsDisplayToDefaultDisplayGroup() throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + + // Create an auto-mirror virtual display using a virtual device. + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) + .setUniqueId("uniqueId --- default display group"); + int displayId = + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + + // The virtual display should be in the default display group. + assertEquals(Display.DEFAULT_DISPLAY_GROUP, + localService.getDisplayInfo(displayId).displayGroupId); + } + + /** + * Tests that the virtual display mirrors the default display when created with + * VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR using a virtual device. + */ + @Test + public void createAutoMirrorVirtualDisplay_mirrorsDefaultDisplay() throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + + // Create an auto-mirror virtual display using a virtual device. + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) + .setUniqueId("uniqueId --- mirror display"); + int displayId = + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + + // The virtual display should mirror the default display. + assertEquals(Display.DEFAULT_DISPLAY, localService.getDisplayIdToMirror(displayId)); + } + + /** + * Tests that the virtual display does not mirror any other display when created with + * VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY using a virtual device. + */ + @Test + public void createOwnContentOnlyVirtualDisplay_doesNotMirrorAnyDisplay() throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + + // Create an auto-mirror virtual display using a virtual device. + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY) + .setUniqueId("uniqueId --- own content only display"); + int displayId = + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + + // The virtual display should not mirror any display. + assertEquals(Display.INVALID_DISPLAY, localService.getDisplayIdToMirror(displayId)); + // The virtual display should have FLAG_OWN_CONTENT_ONLY set. + assertEquals(DisplayDeviceInfo.FLAG_OWN_CONTENT_ONLY, + (displayManager.getDisplayDeviceInfoInternal(displayId).flags + & DisplayDeviceInfo.FLAG_OWN_CONTENT_ONLY)); + } + + /** + * Tests that the virtual display should not be always unlocked when created with + * VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR using a virtual device. + */ + @Test + public void createAutoMirrorVirtualDisplay_flagAlwaysUnlockedNotSet() throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + when(mContext.checkCallingPermission(ADD_ALWAYS_UNLOCKED_DISPLAY)) + .thenReturn(PackageManager.PERMISSION_GRANTED); + + // Create an auto-mirror virtual display using a virtual device. + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR + | VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED) + .setUniqueId("uniqueId --- mirror display"); + int displayId = + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + + // The virtual display should not have FLAG_ALWAYS_UNLOCKED set. + assertEquals(0, (displayManager.getDisplayDeviceInfoInternal(displayId).flags + & DisplayDeviceInfo.FLAG_ALWAYS_UNLOCKED)); + } + + /** + * Tests that the virtual display should not allow presentation when created with + * VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR using a virtual device. + */ + @Test + public void createAutoMirrorVirtualDisplay_flagPresentationNotSet() throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + registerDefaultDisplays(displayManager); + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + IVirtualDevice virtualDevice = mock(IVirtualDevice.class); + when(virtualDevice.getDeviceId()).thenReturn(1); + when(mIVirtualDeviceManager.isValidVirtualDeviceId(1)).thenReturn(true); + + // Create an auto-mirror virtual display using a virtual device. + final VirtualDisplayConfig.Builder builder = + new VirtualDisplayConfig.Builder(VIRTUAL_DISPLAY_NAME, 600, 800, 320) + .setFlags(VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR + | VIRTUAL_DISPLAY_FLAG_PRESENTATION) + .setUniqueId("uniqueId --- mirror display"); + int displayId = + localService.createVirtualDisplay( + builder.build(), + mMockAppToken /* callback */, + virtualDevice /* virtualDeviceToken */, + mock(DisplayWindowPolicyController.class), + PACKAGE_NAME); + + // The virtual display should not have FLAG_PRESENTATION set. + assertEquals(0, (displayManager.getDisplayDeviceInfoInternal(displayId).flags + & DisplayDeviceInfo.FLAG_PRESENTATION)); + } + @Test public void testGetDisplayIdToMirror() throws Exception { DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); diff --git a/services/tests/powerstatstests/res/xml/power_profile_test.xml b/services/tests/powerstatstests/res/xml/power_profile_test.xml new file mode 100644 index 000000000000..ecd88614d920 --- /dev/null +++ b/services/tests/powerstatstests/res/xml/power_profile_test.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2022 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +<device name="Android"> + <!-- This is the battery capacity in mAh --> + <item name="battery.capacity">3000</item> + + <!-- Power consumption when CPU is suspended --> + <item name="cpu.suspend">5</item> + <!-- Additional power consumption when CPU is in a kernel idle loop --> + <item name="cpu.idle">1.11</item> + <!-- Additional power consumption by CPU excluding cluster and core when running --> + <item name="cpu.active">2.55</item> + + <!-- Additional power consumption of CPU policy0 itself when running on related cores --> + <item name="cpu.scaling_policy_power.policy0">2.11</item> + <!-- Additional power consumption of CPU policy4 itself when running on related cores --> + <item name="cpu.scaling_policy_power.policy4">2.22</item> + + <!-- Additional power used by a CPU related to policy3 when running at different + speeds. --> + <array name="cpu.scaling_step_power.policy0"> + <value>10</value> <!-- 300 MHz CPU speed --> + <value>20</value> <!-- 1000 MHz CPU speed --> + <value>30</value> <!-- 1900 MHz CPU speed --> + </array> + <!-- Additional power used by a CPU related to policy3 when running at different + speeds. --> + <array name="cpu.scaling_step_power.policy4"> + <value>25</value> <!-- 300 MHz CPU speed --> + <value>35</value> <!-- 1000 MHz CPU speed --> + <value>50</value> <!-- 2500 MHz CPU speed --> + <value>60</value> <!-- 3000 MHz CPU speed --> + </array> + + <!-- Power used by display unit in ambient display mode, including back lighting--> + <item name="ambient.on">0.5</item> + <!-- Additional power used when screen is turned on at minimum brightness --> + <item name="screen.on">100</item> + <!-- Additional power used when screen is at maximum brightness, compared to + screen at minimum brightness --> + <item name="screen.full">800</item> + + <!-- Average power used by the camera flash module when on --> + <item name="camera.flashlight">500</item> + <!-- Average power use by the camera subsystem for a typical camera + application. Intended as a rough estimate for an application running a + preview and capturing approximately 10 full-resolution pictures per + minute. --> + <item name="camera.avg">600</item> + + <!-- Additional power used by the audio hardware, probably due to DSP --> + <item name="audio">100.0</item> + + <!-- Additional power used by the video hardware, probably due to DSP --> + <item name="video">150.0</item> <!-- ~50mA --> + + <!-- Additional power used when GPS is acquiring a signal --> + <item name="gps.on">10</item> + + <!-- Additional power used when cellular radio is transmitting/receiving --> + <item name="radio.active">60</item> + <!-- Additional power used when cellular radio is paging the tower --> + <item name="radio.scanning">3</item> + <!-- Additional power used when the cellular radio is on. Multi-value entry, + one per signal strength (no signal, weak, moderate, strong) --> + <array name="radio.on"> <!-- Strength 0 to BINS-1 --> + <value>6</value> <!-- none --> + <value>5</value> <!-- poor --> + <value>4</value> <!-- moderate --> + <value>3</value> <!-- good --> + <value>3</value> <!-- great --> + </array> + + <!-- Cellular modem related values. These constants are deprecated, but still supported and + need to be tested --> + <item name="modem.controller.sleep">123</item> + <item name="modem.controller.idle">456</item> + <item name="modem.controller.rx">789</item> + <array name="modem.controller.tx"> <!-- Strength 0 to 4 --> + <value>10</value> + <value>20</value> + <value>30</value> + <value>40</value> + <value>50</value> + </array> +</device>
\ No newline at end of file diff --git a/core/tests/coretests/res/xml/power_profile_test_power_brackets.xml b/services/tests/powerstatstests/res/xml/power_profile_test_power_brackets.xml index a46c6083009c..a46c6083009c 100644 --- a/core/tests/coretests/res/xml/power_profile_test_power_brackets.xml +++ b/services/tests/powerstatstests/res/xml/power_profile_test_power_brackets.xml diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/AggregatePowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/AggregatePowerStatsProcessorTest.java new file mode 100644 index 000000000000..48e2dd74fcef --- /dev/null +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/AggregatePowerStatsProcessorTest.java @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS 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.power.stats; + +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_POWER; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_PROCESS_STATE; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_SCREEN; + +import static com.google.common.truth.Truth.assertThat; + +import android.os.BatteryConsumer; + +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + +import com.android.internal.os.MultiStateStats; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class AggregatePowerStatsProcessorTest { + + @Test + public void createPowerEstimationPlan_allDeviceStatesPresentInUidStates() { + AggregatedPowerStatsConfig.PowerComponent config = + new AggregatedPowerStatsConfig.PowerComponent(BatteryConsumer.POWER_COMPONENT_ANY) + .trackDeviceStates(STATE_POWER, STATE_SCREEN) + .trackUidStates(STATE_POWER, STATE_SCREEN, STATE_PROCESS_STATE); + + AggregatedPowerStatsProcessor.PowerEstimationPlan plan = + new AggregatedPowerStatsProcessor.PowerEstimationPlan(config); + assertThat(deviceStateEstimatesToStrings(plan)) + .containsExactly("[0, 0]", "[0, 1]", "[1, 0]", "[1, 1]"); + assertThat(combinedDeviceStatsToStrings(plan)) + .containsExactly("[[0, 0]]", "[[0, 1]]", "[[1, 0]]", "[[1, 1]]"); + assertThat(uidStateEstimatesToStrings(plan, config)) + .containsExactly( + "[[0, 0]]: [ps]: [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 0, 3], [0, 0, 4]]", + "[[0, 1]]: [ps]: [[0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 1, 3], [0, 1, 4]]", + "[[1, 0]]: [ps]: [[1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 0, 3], [1, 0, 4]]", + "[[1, 1]]: [ps]: [[1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 1, 4]]"); + } + + @Test + public void createPowerEstimationPlan_combineDeviceStats() { + AggregatedPowerStatsConfig.PowerComponent config = + new AggregatedPowerStatsConfig.PowerComponent(BatteryConsumer.POWER_COMPONENT_ANY) + .trackDeviceStates(STATE_POWER, STATE_SCREEN) + .trackUidStates(STATE_POWER, STATE_PROCESS_STATE); + + AggregatedPowerStatsProcessor.PowerEstimationPlan plan = + new AggregatedPowerStatsProcessor.PowerEstimationPlan(config); + + assertThat(deviceStateEstimatesToStrings(plan)) + .containsExactly("[0, 0]", "[0, 1]", "[1, 0]", "[1, 1]"); + assertThat(combinedDeviceStatsToStrings(plan)) + .containsExactly( + "[[0, 0], [0, 1]]", + "[[1, 0], [1, 1]]"); + assertThat(uidStateEstimatesToStrings(plan, config)) + .containsExactly( + "[[0, 0], [0, 1]]: [ps]: [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4]]", + "[[1, 0], [1, 1]]: [ps]: [[1, 0], [1, 1], [1, 2], [1, 3], [1, 4]]"); + } + + private static List<String> deviceStateEstimatesToStrings( + AggregatedPowerStatsProcessor.PowerEstimationPlan plan) { + return plan.deviceStateEstimations.stream() + .map(dse -> dse.stateValues).map(Arrays::toString).toList(); + } + + private static List<String> combinedDeviceStatsToStrings( + AggregatedPowerStatsProcessor.PowerEstimationPlan plan) { + return plan.combinedDeviceStateEstimations.stream() + .map(cds -> cds.deviceStateEstimations) + .map(dses -> dses.stream() + .map(dse -> dse.stateValues).map(Arrays::toString).toList()) + .map(Object::toString) + .toList(); + } + + private static List<String> uidStateEstimatesToStrings( + AggregatedPowerStatsProcessor.PowerEstimationPlan plan, + AggregatedPowerStatsConfig.PowerComponent config) { + MultiStateStats.States[] uidStateConfig = config.getUidStateConfig(); + return plan.uidStateEstimates.stream() + .map(use -> + use.combinedDeviceStateEstimate.deviceStateEstimations.stream() + .map(dse -> dse.stateValues).map(Arrays::toString).toList() + + ": " + + Arrays.stream(use.states) + .filter(Objects::nonNull) + .map(MultiStateStats.States::getName).toList() + + ": " + + use.proportionalEstimates.stream() + .map(pe -> trackedStatesToString(uidStateConfig, pe.stateValues)) + .toList()) + .toList(); + } + + private static Object trackedStatesToString(MultiStateStats.States[] states, + int[] stateValues) { + StringBuilder sb = new StringBuilder(); + sb.append("["); + boolean first = true; + for (int i = 0; i < states.length; i++) { + if (!states[i].isTracked()) { + continue; + } + + if (!first) { + sb.append(", "); + } + first = false; + sb.append(stateValues[i]); + } + sb.append("]"); + return sb.toString(); + } +} diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java index 3579fce11c8d..0b1095483dd0 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java @@ -142,6 +142,22 @@ public class BatteryUsageStatsRule implements TestRule { return this; } + /** + * Mocks the CPU bracket count + */ + public BatteryUsageStatsRule setCpuPowerBracketCount(int count) { + when(mPowerProfile.getCpuPowerBracketCount()).thenReturn(count); + return this; + } + + /** + * Mocks the CPU bracket for the given CPU scaling policy and step + */ + public BatteryUsageStatsRule setCpuPowerBracket(int policy, int step, int bracket) { + when(mPowerProfile.getCpuPowerBracketForScalingStep(policy, step)).thenReturn(bracket); + return this; + } + public BatteryUsageStatsRule setAveragePowerForOrdinal(String group, int ordinal, double value) { when(mPowerProfile.getAveragePowerForOrdinal(group, ordinal)).thenReturn(value); diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/CpuAggregatedPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuAggregatedPowerStatsProcessorTest.java new file mode 100644 index 000000000000..79084cc1b04d --- /dev/null +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuAggregatedPowerStatsProcessorTest.java @@ -0,0 +1,318 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.server.power.stats; + +import static android.os.BatteryConsumer.PROCESS_STATE_BACKGROUND; +import static android.os.BatteryConsumer.PROCESS_STATE_CACHED; +import static android.os.BatteryConsumer.PROCESS_STATE_FOREGROUND; + +import static com.android.server.power.stats.AggregatedPowerStatsConfig.POWER_STATE_BATTERY; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.POWER_STATE_OTHER; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.SCREEN_STATE_ON; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.SCREEN_STATE_OTHER; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_POWER; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_PROCESS_STATE; +import static com.android.server.power.stats.AggregatedPowerStatsConfig.STATE_SCREEN; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.fail; + +import android.os.BatteryConsumer; +import android.os.PersistableBundle; +import android.util.LongArray; + +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + +import com.android.internal.os.MultiStateStats; +import com.android.internal.os.PowerProfile; +import com.android.internal.os.PowerStats; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class CpuAggregatedPowerStatsProcessorTest { + @Rule + public final BatteryUsageStatsRule mStatsRule = new BatteryUsageStatsRule() + .setAveragePower(PowerProfile.POWER_CPU_ACTIVE, 720) + .setCpuScalingPolicy(0, new int[]{0, 1}, new int[]{100, 200}) + .setCpuScalingPolicy(2, new int[]{2, 3}, new int[]{300}) + .setAveragePowerForCpuScalingPolicy(0, 360) + .setAveragePowerForCpuScalingPolicy(2, 480) + .setAveragePowerForCpuScalingStep(0, 0, 300) + .setAveragePowerForCpuScalingStep(0, 1, 400) + .setAveragePowerForCpuScalingStep(2, 0, 500) + .setCpuPowerBracketCount(3) + .setCpuPowerBracket(0, 0, 0) + .setCpuPowerBracket(0, 1, 1) + .setCpuPowerBracket(2, 0, 2); + + private AggregatedPowerStatsConfig.PowerComponent mConfig; + private CpuAggregatedPowerStatsProcessor mProcessor; + private MockPowerComponentAggregatedPowerStats mStats; + + @Before + public void setup() { + mConfig = new AggregatedPowerStatsConfig.PowerComponent(BatteryConsumer.POWER_COMPONENT_CPU) + .trackDeviceStates(STATE_POWER, STATE_SCREEN) + .trackUidStates(STATE_POWER, STATE_SCREEN, STATE_PROCESS_STATE); + + mProcessor = new CpuAggregatedPowerStatsProcessor( + mStatsRule.getPowerProfile(), mStatsRule.getCpuScalingPolicies()); + } + + @Test + public void powerProfileModel() { + mStats = new MockPowerComponentAggregatedPowerStats(mConfig, false); + mStats.setDeviceStats( + states(POWER_STATE_BATTERY, SCREEN_STATE_ON), + concat( + values(3500, 4500, 3000), // scaling steps + values(2000, 1000), // clusters + values(5000)), // uptime + 3.113732); + mStats.setDeviceStats( + states(POWER_STATE_OTHER, SCREEN_STATE_ON), + concat( + values(6000, 6500, 4000), + values(5000, 3000), + values(7000)), + 4.607245); + mStats.setDeviceStats( + states(POWER_STATE_OTHER, SCREEN_STATE_OTHER), + concat( + values(9000, 10000, 7000), + values(8000, 6000), + values(20000)), + 7.331799); + mStats.setUidStats(24, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_FOREGROUND), + values(400, 1500, 2000), 1.206947); + mStats.setUidStats(42, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_FOREGROUND), + values(900, 1000, 1500), 1.016182); + mStats.setUidStats(42, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_BACKGROUND), + values(600, 500, 300), 0.385042); + mStats.setUidStats(42, + states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED), + values(1500, 2000, 1000), 1.252578); + + mProcessor.finish(mStats); + + mStats.verifyPowerEstimates(); + } + + @Test + public void energyConsumerModel() { + mStats = new MockPowerComponentAggregatedPowerStats(mConfig, true); + mStats.setDeviceStats( + states(POWER_STATE_BATTERY, SCREEN_STATE_ON), + concat( + values(3500, 4500, 3000), // scaling steps + values(2000, 1000), // clusters + values(5000), // uptime + values(5_000_000L, 6_000_000L)), // energy, uC + 3.055555); + mStats.setDeviceStats( + states(POWER_STATE_OTHER, SCREEN_STATE_ON), + concat( + values(6000, 6500, 4000), + values(5000, 3000), + values(7000), + values(5_000_000L, 6_000_000L)), // same as above + 3.055555); // same as above - WAI + mStats.setDeviceStats( + states(POWER_STATE_OTHER, SCREEN_STATE_OTHER), + concat( + values(9000, 10000, 7000), + values(8000, 6000), + values(20000), + values(8_000_000L, 18_000_000L)), + 7.222222); + mStats.setUidStats(24, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_FOREGROUND), + values(400, 1500, 2000), 1.449078); + mStats.setUidStats(42, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_FOREGROUND), + values(900, 1000, 1500), 1.161902); + mStats.setUidStats(42, + states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_BACKGROUND), + values(600, 500, 300), 0.355406); + mStats.setUidStats(42, + states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED), + values(1500, 2000, 1000), 0.80773); + + mProcessor.finish(mStats); + + mStats.verifyPowerEstimates(); + } + + private int[] states(int... states) { + return states; + } + + private long[] values(long... values) { + return values; + } + + private long[] concat(long[]... arrays) { + LongArray all = new LongArray(); + for (long[] array : arrays) { + for (long value : array) { + all.add(value); + } + } + return all.toArray(); + } + + private static class MockPowerComponentAggregatedPowerStats extends + PowerComponentAggregatedPowerStats { + private final CpuPowerStatsCollector.StatsArrayLayout mStatsLayout; + private final PowerStats.Descriptor mDescriptor; + private HashMap<String, long[]> mDeviceStats = new HashMap<>(); + private HashMap<String, long[]> mUidStats = new HashMap<>(); + private HashSet<Integer> mUids = new HashSet<>(); + private HashMap<String, Double> mExpectedDevicePower = new HashMap<>(); + private HashMap<String, Double> mExpectedUidPower = new HashMap<>(); + + MockPowerComponentAggregatedPowerStats(AggregatedPowerStatsConfig.PowerComponent config, + boolean useEnergyConsumers) { + super(config); + mStatsLayout = new CpuPowerStatsCollector.StatsArrayLayout(); + mStatsLayout.addDeviceSectionCpuTimeByScalingStep(3); + mStatsLayout.addDeviceSectionCpuTimeByCluster(2); + mStatsLayout.addDeviceSectionUptime(); + if (useEnergyConsumers) { + mStatsLayout.addDeviceSectionEnergyConsumers(2); + } + mStatsLayout.addDeviceSectionPowerEstimate(); + mStatsLayout.addUidSectionCpuTimeByPowerBracket(new int[]{0, 1, 2}); + mStatsLayout.addUidSectionPowerEstimate(); + + PersistableBundle extras = new PersistableBundle(); + mStatsLayout.toExtras(extras); + mDescriptor = new PowerStats.Descriptor(BatteryConsumer.POWER_COMPONENT_CPU, + mStatsLayout.getDeviceStatsArrayLength(), mStatsLayout.getUidStatsArrayLength(), + extras); + } + + @Override + public PowerStats.Descriptor getPowerStatsDescriptor() { + return mDescriptor; + } + + @Override + boolean getDeviceStats(long[] outValues, int[] deviceStates) { + long[] values = getDeviceStats(deviceStates); + System.arraycopy(values, 0, outValues, 0, values.length); + return true; + } + + private long[] getDeviceStats(int[] deviceStates) { + String key = statesToString(getConfig().getDeviceStateConfig(), deviceStates); + long[] values = mDeviceStats.get(key); + return values == null ? new long[mDescriptor.statsArrayLength] : values; + } + + void setDeviceStats(int[] states, long[] values, double expectedPowerEstimate) { + setDeviceStats(states, values); + mExpectedDevicePower.put(statesToString(getConfig().getDeviceStateConfig(), states), + expectedPowerEstimate); + } + + @Override + void setDeviceStats(int[] states, long[] values) { + String key = statesToString(getConfig().getDeviceStateConfig(), states); + mDeviceStats.put(key, Arrays.copyOf(values, mDescriptor.statsArrayLength)); + } + + @Override + boolean getUidStats(long[] outValues, int uid, int[] uidStates) { + long[] values = getUidStats(uid, uidStates); + assertThat(values).isNotNull(); + System.arraycopy(values, 0, outValues, 0, values.length); + return true; + } + + private long[] getUidStats(int uid, int[] uidStates) { + String key = uid + " " + statesToString(getConfig().getUidStateConfig(), uidStates); + long[] values = mUidStats.get(key); + return values == null ? new long[mDescriptor.uidStatsArrayLength] : values; + } + + void setUidStats(int uid, int[] states, long[] values, double expectedPowerEstimate) { + setUidStats(uid, states, values); + mExpectedUidPower.put( + uid + " " + statesToString(getConfig().getUidStateConfig(), states), + expectedPowerEstimate); + } + + @Override + void setUidStats(int uid, int[] states, long[] values) { + mUids.add(uid); + String key = uid + " " + statesToString(getConfig().getUidStateConfig(), states); + mUidStats.put(key, Arrays.copyOf(values, mDescriptor.uidStatsArrayLength)); + } + + @Override + void collectUids(Collection<Integer> uids) { + uids.addAll(mUids); + } + + void verifyPowerEstimates() { + StringBuilder mismatches = new StringBuilder(); + for (Map.Entry<String, Double> entry : mExpectedDevicePower.entrySet()) { + String key = entry.getKey(); + double expected = mExpectedDevicePower.get(key); + double actual = mStatsLayout.getDevicePowerEstimate(mDeviceStats.get(key)); + if (Math.abs(expected - actual) > 0.005) { + mismatches.append(key + " expected: " + expected + " actual: " + actual + "\n"); + } + } + for (Map.Entry<String, Double> entry : mExpectedUidPower.entrySet()) { + String key = entry.getKey(); + double expected = mExpectedUidPower.get(key); + double actual = mStatsLayout.getUidPowerEstimate(mUidStats.get(key)); + if (Math.abs(expected - actual) > 0.005) { + mismatches.append(key + " expected: " + expected + " actual: " + actual + "\n"); + } + } + if (!mismatches.isEmpty()) { + fail("Unexpected power estimations:\n" + mismatches); + } + } + + private String statesToString(MultiStateStats.States[] config, int[] states) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < states.length; i++) { + sb.append(config[i].getName()).append("=").append(states[i]).append(" "); + } + return sb.toString(); + } + } +} diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerStatsCollectorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerStatsCollectorTest.java index f2ee6dbf4ed6..bc211df5f143 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerStatsCollectorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerStatsCollectorTest.java @@ -20,16 +20,26 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import android.content.Context; +import android.hardware.power.stats.EnergyConsumer; +import android.hardware.power.stats.EnergyConsumerResult; +import android.hardware.power.stats.EnergyConsumerType; +import android.os.BatteryConsumer; import android.os.ConditionVariable; import android.os.Handler; import android.os.HandlerThread; +import android.power.PowerStatsInternal; import android.util.SparseArray; +import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; +import com.android.frameworks.powerstatstests.R; import com.android.internal.os.CpuScalingPolicies; import com.android.internal.os.PowerProfile; import com.android.internal.os.PowerStats; @@ -40,85 +50,266 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; + @RunWith(AndroidJUnit4.class) @SmallTest public class CpuPowerStatsCollectorTest { + private Context mContext; private final MockClock mMockClock = new MockClock(); private final HandlerThread mHandlerThread = new HandlerThread("test"); private Handler mHandler; - private CpuPowerStatsCollector mCollector; private PowerStats mCollectedStats; - @Mock private PowerProfile mPowerProfile; @Mock private CpuPowerStatsCollector.KernelCpuStatsReader mMockKernelCpuStatsReader; + @Mock + private PowerStatsInternal mPowerStatsInternal; + private CpuScalingPolicies mCpuScalingPolicies; @Before public void setup() { MockitoAnnotations.initMocks(this); + mContext = InstrumentationRegistry.getContext(); mHandlerThread.start(); mHandler = mHandlerThread.getThreadHandler(); - when(mPowerProfile.getCpuPowerBracketCount()).thenReturn(2); - when(mPowerProfile.getCpuPowerBracketForScalingStep(0, 0)).thenReturn(0); - when(mPowerProfile.getCpuPowerBracketForScalingStep(0, 1)).thenReturn(1); - mCollector = new CpuPowerStatsCollector(new CpuScalingPolicies( + when(mMockKernelCpuStatsReader.nativeIsSupportedFeature()).thenReturn(true); + } + + @Test + public void powerBrackets_specifiedInPowerProfile() { + mPowerProfile = new PowerProfile(mContext); + mPowerProfile.forceInitForTesting(mContext, R.xml.power_profile_test_power_brackets); + mCpuScalingPolicies = new CpuScalingPolicies( new SparseArray<>() {{ put(0, new int[]{0}); + put(4, new int[]{4}); }}, new SparseArray<>() {{ - put(0, new int[]{1, 12}); - }}), - mPowerProfile, mHandler, mMockKernelCpuStatsReader, 60_000, mMockClock); - mCollector.addConsumer(stats -> mCollectedStats = stats); - mCollector.setEnabled(true); + put(0, new int[]{100}); + put(4, new int[]{400, 500}); + }}); + + CpuPowerStatsCollector collector = createCollector(8, 0); + + assertThat(getScalingStepToPowerBracketMap(collector)) + .isEqualTo(new int[]{1, 1, 0}); + } + + @Test + public void powerBrackets_default_noEnergyConsumers() { + mPowerProfile = new PowerProfile(mContext); + mPowerProfile.forceInitForTesting(mContext, R.xml.power_profile_test); + mockCpuScalingPolicies(2); + + CpuPowerStatsCollector collector = createCollector(3, 0); + + assertThat(new String[]{ + collector.getCpuPowerBracketDescription(0), + collector.getCpuPowerBracketDescription(1), + collector.getCpuPowerBracketDescription(2)}) + .isEqualTo(new String[]{ + "0/300(10.0)", + "0/1000(20.0), 0/2000(30.0), 4/300(25.0)", + "4/1000(35.0), 4/2500(50.0), 4/3000(60.0)"}); + assertThat(getScalingStepToPowerBracketMap(collector)) + .isEqualTo(new int[]{0, 1, 1, 1, 2, 2, 2}); + } + + @Test + public void powerBrackets_moreBracketsThanStates() { + mPowerProfile = new PowerProfile(mContext); + mPowerProfile.forceInitForTesting(mContext, R.xml.power_profile_test); + mockCpuScalingPolicies(2); + + CpuPowerStatsCollector collector = createCollector(8, 0); + + assertThat(getScalingStepToPowerBracketMap(collector)) + .isEqualTo(new int[]{0, 1, 2, 3, 4, 5, 6}); + } + + @Test + public void powerBrackets_energyConsumers() throws Exception { + mPowerProfile = new PowerProfile(mContext); + mPowerProfile.forceInitForTesting(mContext, R.xml.power_profile_test); + mockCpuScalingPolicies(2); + mockEnergyConsumers(); + + CpuPowerStatsCollector collector = createCollector(8, 2); + + assertThat(getScalingStepToPowerBracketMap(collector)) + .isEqualTo(new int[]{0, 1, 1, 2, 2, 3, 3}); + } + + @Test + public void powerStatsDescriptor() throws Exception { + mPowerProfile = new PowerProfile(mContext); + mPowerProfile.forceInitForTesting(mContext, R.xml.power_profile_test); + mockCpuScalingPolicies(2); + mockEnergyConsumers(); + + CpuPowerStatsCollector collector = createCollector(8, 2); + PowerStats.Descriptor descriptor = collector.getPowerStatsDescriptor(); + assertThat(descriptor.powerComponentId).isEqualTo(BatteryConsumer.POWER_COMPONENT_CPU); + assertThat(descriptor.name).isEqualTo("cpu"); + assertThat(descriptor.statsArrayLength).isEqualTo(13); + assertThat(descriptor.uidStatsArrayLength).isEqualTo(5); + CpuPowerStatsCollector.StatsArrayLayout layout = + new CpuPowerStatsCollector.StatsArrayLayout(); + layout.fromExtras(descriptor.extras); + + long[] deviceStats = new long[descriptor.statsArrayLength]; + layout.setTimeByScalingStep(deviceStats, 2, 42); + layout.setConsumedEnergy(deviceStats, 1, 43); + layout.setUptime(deviceStats, 44); + layout.setDevicePowerEstimate(deviceStats, 45); + + long[] uidStats = new long[descriptor.uidStatsArrayLength]; + layout.setUidTimeByPowerBracket(uidStats, 3, 46); + layout.setUidPowerEstimate(uidStats, 47); + + assertThat(layout.getCpuScalingStepCount()).isEqualTo(7); + assertThat(layout.getTimeByScalingStep(deviceStats, 2)).isEqualTo(42); + + assertThat(layout.getCpuClusterEnergyConsumerCount()).isEqualTo(2); + assertThat(layout.getConsumedEnergy(deviceStats, 1)).isEqualTo(43); + + assertThat(layout.getUptime(deviceStats)).isEqualTo(44); + + assertThat(layout.getDevicePowerEstimate(deviceStats)).isEqualTo(45); + + assertThat(layout.getScalingStepToPowerBracketMap()).isEqualTo( + new int[]{0, 1, 1, 2, 2, 3, 3}); + assertThat(layout.getCpuPowerBracketCount()).isEqualTo(4); + + assertThat(layout.getUidTimeByPowerBracket(uidStats, 3)).isEqualTo(46); + assertThat(layout.getUidPowerEstimate(uidStats)).isEqualTo(47); } @Test - public void collectStats() { - mockKernelCpuStats(new SparseArray<>() {{ - put(42, new long[]{100, 200}); - put(99, new long[]{300, 600}); - }}, 0, 1234); + public void collectStats() throws Exception { + mockCpuScalingPolicies(1); + mockPowerProfile(); + mockEnergyConsumers(); + + CpuPowerStatsCollector collector = createCollector(8, 0); + CpuPowerStatsCollector.StatsArrayLayout layout = + new CpuPowerStatsCollector.StatsArrayLayout(); + layout.fromExtras(collector.getPowerStatsDescriptor().extras); + + mockKernelCpuStats(new long[]{1111, 2222, 3333}, + new SparseArray<>() {{ + put(42, new long[]{100, 200}); + put(99, new long[]{300, 600}); + }}, 0, 1234); mMockClock.uptime = 1000; - mCollector.forceSchedule(); + collector.forceSchedule(); waitForIdle(); assertThat(mCollectedStats.durationMs).isEqualTo(1234); - assertThat(mCollectedStats.uidStats.get(42)).isEqualTo(new long[]{100, 200}); - assertThat(mCollectedStats.uidStats.get(99)).isEqualTo(new long[]{300, 600}); - mockKernelCpuStats(new SparseArray<>() {{ - put(42, new long[]{123, 234}); - put(99, new long[]{345, 678}); - }}, 1234, 3421); + assertThat(layout.getCpuScalingStepCount()).isEqualTo(3); + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 0)).isEqualTo(1111); + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 1)).isEqualTo(2222); + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 2)).isEqualTo(3333); + + assertThat(layout.getConsumedEnergy(mCollectedStats.stats, 0)).isEqualTo(0); + assertThat(layout.getConsumedEnergy(mCollectedStats.stats, 1)).isEqualTo(0); + + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(42), 0)) + .isEqualTo(100); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(42), 1)) + .isEqualTo(200); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(99), 0)) + .isEqualTo(300); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(99), 1)) + .isEqualTo(600); + + mockKernelCpuStats(new long[]{5555, 4444, 3333}, + new SparseArray<>() {{ + put(42, new long[]{123, 234}); + put(99, new long[]{345, 678}); + }}, 1234, 3421); mMockClock.uptime = 2000; - mCollector.forceSchedule(); + collector.forceSchedule(); waitForIdle(); assertThat(mCollectedStats.durationMs).isEqualTo(3421 - 1234); - assertThat(mCollectedStats.uidStats.get(42)).isEqualTo(new long[]{23, 34}); - assertThat(mCollectedStats.uidStats.get(99)).isEqualTo(new long[]{45, 78}); + + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 0)).isEqualTo(4444); + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 1)).isEqualTo(2222); + assertThat(layout.getTimeByScalingStep(mCollectedStats.stats, 2)).isEqualTo(0); + + // 500 * 1000 / 3500 + assertThat(layout.getConsumedEnergy(mCollectedStats.stats, 0)).isEqualTo(143); + // 700 * 1000 / 3500 + assertThat(layout.getConsumedEnergy(mCollectedStats.stats, 1)).isEqualTo(200); + + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(42), 0)) + .isEqualTo(23); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(42), 1)) + .isEqualTo(34); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(99), 0)) + .isEqualTo(45); + assertThat(layout.getUidTimeByPowerBracket(mCollectedStats.uidStats.get(99), 1)) + .isEqualTo(78); + } + + private void mockCpuScalingPolicies(int clusterCount) { + SparseArray<int[]> cpus = new SparseArray<>(); + SparseArray<int[]> freqs = new SparseArray<>(); + cpus.put(0, new int[]{0, 1, 2, 3}); + freqs.put(0, new int[]{300000, 1000000, 2000000}); + if (clusterCount == 2) { + cpus.put(4, new int[]{4, 5}); + freqs.put(4, new int[]{300000, 1000000, 2500000, 3000000}); + } + mCpuScalingPolicies = new CpuScalingPolicies(cpus, freqs); + } + + private void mockPowerProfile() { + mPowerProfile = mock(PowerProfile.class); + when(mPowerProfile.getCpuPowerBracketCount()).thenReturn(2); + when(mPowerProfile.getCpuPowerBracketForScalingStep(0, 0)).thenReturn(0); + when(mPowerProfile.getCpuPowerBracketForScalingStep(0, 1)).thenReturn(1); + when(mPowerProfile.getCpuPowerBracketForScalingStep(0, 2)).thenReturn(1); } - private void mockKernelCpuStats(SparseArray<long[]> uidToCpuStats, + private CpuPowerStatsCollector createCollector(int defaultCpuPowerBrackets, + int defaultCpuPowerBracketsPerEnergyConsumer) { + CpuPowerStatsCollector collector = new CpuPowerStatsCollector(mCpuScalingPolicies, + mPowerProfile, mHandler, mMockKernelCpuStatsReader, () -> mPowerStatsInternal, + () -> 3500, 60_000, mMockClock, defaultCpuPowerBrackets, + defaultCpuPowerBracketsPerEnergyConsumer); + collector.addConsumer(stats -> mCollectedStats = stats); + collector.setEnabled(true); + return collector; + } + + private void mockKernelCpuStats(long[] deviceStats, SparseArray<long[]> uidToCpuStats, long expectedLastUpdateTimestampMs, long newLastUpdateTimestampMs) { when(mMockKernelCpuStatsReader.nativeReadCpuStats( any(CpuPowerStatsCollector.KernelCpuStatsCallback.class), - any(int[].class), anyLong(), any(long[].class))) + any(int[].class), anyLong(), any(long[].class), any(long[].class))) .thenAnswer(invocation -> { CpuPowerStatsCollector.KernelCpuStatsCallback callback = invocation.getArgument(0); int[] powerBucketIndexes = invocation.getArgument(1); long lastTimestamp = invocation.getArgument(2); - long[] tempStats = invocation.getArgument(3); + long[] cpuTimeByScalingStep = invocation.getArgument(3); + long[] tempStats = invocation.getArgument(4); - assertThat(powerBucketIndexes).isEqualTo(new int[]{0, 1}); + assertThat(powerBucketIndexes).isEqualTo(new int[]{0, 1, 1}); assertThat(lastTimestamp / 1000000L).isEqualTo(expectedLastUpdateTimestampMs); assertThat(tempStats).hasLength(2); + System.arraycopy(deviceStats, 0, cpuTimeByScalingStep, 0, + cpuTimeByScalingStep.length); + for (int i = 0; i < uidToCpuStats.size(); i++) { int uid = uidToCpuStats.keyAt(i); long[] cpuStats = uidToCpuStats.valueAt(i); @@ -129,6 +320,67 @@ public class CpuPowerStatsCollectorTest { }); } + @SuppressWarnings("unchecked") + private void mockEnergyConsumers() throws Exception { + when(mPowerStatsInternal.getEnergyConsumerInfo()) + .thenReturn(new EnergyConsumer[]{ + new EnergyConsumer() {{ + id = 1; + type = EnergyConsumerType.CPU_CLUSTER; + ordinal = 0; + name = "CPU0"; + }}, + new EnergyConsumer() {{ + id = 2; + type = EnergyConsumerType.CPU_CLUSTER; + ordinal = 1; + name = "CPU4"; + }}, + new EnergyConsumer() {{ + id = 3; + type = EnergyConsumerType.BLUETOOTH; + name = "BT"; + }}, + }); + + CompletableFuture<EnergyConsumerResult[]> future1 = mock(CompletableFuture.class); + when(future1.get(anyLong(), any(TimeUnit.class))) + .thenReturn(new EnergyConsumerResult[]{ + new EnergyConsumerResult() {{ + id = 1; + energyUWs = 1000; + }}, + new EnergyConsumerResult() {{ + id = 2; + energyUWs = 2000; + }} + }); + + CompletableFuture<EnergyConsumerResult[]> future2 = mock(CompletableFuture.class); + when(future2.get(anyLong(), any(TimeUnit.class))) + .thenReturn(new EnergyConsumerResult[]{ + new EnergyConsumerResult() {{ + id = 1; + energyUWs = 1500; + }}, + new EnergyConsumerResult() {{ + id = 2; + energyUWs = 2700; + }} + }); + + when(mPowerStatsInternal.getEnergyConsumedAsync(eq(new int[]{1, 2}))) + .thenReturn(future1) + .thenReturn(future2); + } + + private static int[] getScalingStepToPowerBracketMap(CpuPowerStatsCollector collector) { + CpuPowerStatsCollector.StatsArrayLayout layout = + new CpuPowerStatsCollector.StatsArrayLayout(); + layout.fromExtras(collector.getPowerStatsDescriptor().extras); + return layout.getScalingStepToPowerBracketMap(); + } + private void waitForIdle() { ConditionVariable done = new ConditionVariable(); mHandler.post(done::open); diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/MultiStateStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/MultiStateStatsTest.java index 30a731818f36..eb03a6c14f7d 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/MultiStateStatsTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/MultiStateStatsTest.java @@ -180,7 +180,7 @@ public class MultiStateStatsTest { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw, true); - multiStateStats.dump(pw); + multiStateStats.dump(pw, Arrays::toString); assertThat(sw.toString()).isEqualTo( "plugged-in fg [25, 50]\n" + "on-battery fg [25, 50]\n" diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java index 71007f53f0e1..52a5d8f6d952 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java @@ -156,6 +156,7 @@ public class AccessibilityUserStateTest { mUserState.setTargetAssignedToAccessibilityButton(COMPONENT_NAME.flattenToString()); mUserState.setTouchExplorationEnabledLocked(true); mUserState.setMagnificationSingleFingerTripleTapEnabledLocked(true); + mUserState.setMagnificationTwoFingerTripleTapEnabledLocked(true); mUserState.setAutoclickEnabledLocked(true); mUserState.setUserNonInteractiveUiTimeoutLocked(30); mUserState.setUserInteractiveUiTimeoutLocked(30); @@ -178,6 +179,7 @@ public class AccessibilityUserStateTest { assertNull(mUserState.getTargetAssignedToAccessibilityButton()); assertFalse(mUserState.isTouchExplorationEnabledLocked()); assertFalse(mUserState.isMagnificationSingleFingerTripleTapEnabledLocked()); + assertFalse(mUserState.isMagnificationTwoFingerTripleTapEnabledLocked()); assertFalse(mUserState.isAutoclickEnabledLocked()); assertEquals(0, mUserState.getUserNonInteractiveUiTimeoutLocked()); assertEquals(0, mUserState.getUserInteractiveUiTimeoutLocked()); diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java index caa9e7c3aecb..a2e7cf3f1bb2 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java @@ -234,9 +234,11 @@ public class FullScreenMagnificationGestureHandlerTest { mFullScreenMagnificationController.setAlwaysOnMagnificationEnabled(true); mClock = new OffsettableClock.Stopped(); - boolean detectTripleTap = true; + boolean detectSingleFingerTripleTap = true; + boolean detectTwoFingerTripleTap = true; boolean detectShortcutTrigger = true; - mMgh = newInstance(detectTripleTap, detectShortcutTrigger); + mMgh = newInstance(detectSingleFingerTripleTap, detectTwoFingerTripleTap, + detectShortcutTrigger); } @After @@ -251,11 +253,11 @@ public class FullScreenMagnificationGestureHandlerTest { } @NonNull - private FullScreenMagnificationGestureHandler newInstance(boolean detectTripleTap, - boolean detectShortcutTrigger) { + private FullScreenMagnificationGestureHandler newInstance(boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, boolean detectShortcutTrigger) { FullScreenMagnificationGestureHandler h = new FullScreenMagnificationGestureHandler( mContext, mFullScreenMagnificationController, mMockTraceManager, mMockCallback, - detectTripleTap, detectShortcutTrigger, + detectSingleFingerTripleTap, detectTwoFingerTripleTap, detectShortcutTrigger, mWindowMagnificationPromptController, DISPLAY_0, mMockFullScreenMagnificationVibrationHelper, mMockMagnificationLogger); if (isWatch()) { @@ -424,7 +426,8 @@ public class FullScreenMagnificationGestureHandlerTest { @Test public void testDisablingTripleTap_removesInputLag() { - mMgh = newInstance(/* detect3tap */ false, /* detectShortcut */ true); + mMgh = newInstance(/* detectSingleFingerTripleTap */ false, + /* detectTwoFingerTripleTap */ true, /* detectShortcut */ true); goFromStateIdleTo(STATE_IDLE); allowEventDelegation(); tap(); diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java index d3016216d1a3..3931580db47e 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java @@ -59,7 +59,8 @@ public class MagnificationGestureHandlerTest { public void setUp() { MockitoAnnotations.initMocks(this); mMgh = new TestMagnificationGestureHandler(DISPLAY_0, - /* detectTripleTap= */true, + /* detectSingleFingerTripleTap= */true, + /* detectTwoFingerTripleTap= */true, /* detectShortcutTrigger= */true, mTraceManager, mCallback); @@ -125,10 +126,12 @@ public class MagnificationGestureHandlerTest { boolean mIsInternalMethodCalled = false; - TestMagnificationGestureHandler(int displayId, boolean detectTripleTap, + TestMagnificationGestureHandler(int displayId, boolean detectSingleFingerTripleTap, + boolean detectTwoFingerTripleTap, boolean detectShortcutTrigger, @NonNull AccessibilityTraceManager trace, @NonNull Callback callback) { - super(displayId, detectTripleTap, detectShortcutTrigger, trace, callback); + super(displayId, detectSingleFingerTripleTap, detectTwoFingerTripleTap, + detectShortcutTrigger, trace, callback); } @Override diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java index 7ea07542078e..c88d6e45218f 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java @@ -97,7 +97,8 @@ public class WindowMagnificationGestureHandlerTest { mMockConnection = new MockWindowMagnificationConnection(); mWindowMagnificationGestureHandler = new SpyWindowMagnificationGestureHandler( mContext, mWindowMagnificationManager, mMockTrace, mMockCallback, - /** detectTripleTap= */true, /** detectShortcutTrigger= */true, DISPLAY_0); + /** detectSingleFingerTripleTap= */ true, /** detectTwoFingerTripleTap= */ true, + /** detectShortcutTrigger= */ true, DISPLAY_0); mMockWindowMagnificationGestureHandler = mWindowMagnificationGestureHandler.getMockGestureHandler(); mWindowMagnificationManager.setConnection(mMockConnection.getConnection()); @@ -391,9 +392,10 @@ public class WindowMagnificationGestureHandlerTest { WindowMagnificationManager windowMagnificationMgr, AccessibilityTraceManager trace, Callback callback, - boolean detectTripleTap, boolean detectShortcutTrigger, int displayId) { - super(context, windowMagnificationMgr, trace, callback, detectTripleTap, - detectShortcutTrigger, displayId); + boolean detectSingleFingerTripleTap, boolean detectTwoFingerTripleTap, + boolean detectShortcutTrigger, int displayId) { + super(context, windowMagnificationMgr, trace, callback, detectSingleFingerTripleTap, + detectTwoFingerTripleTap, detectShortcutTrigger, displayId); mMockWindowMagnificationGestureHandler = mock(WindowMagnificationGestureHandler.class); } diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java index a7c8a6cee0d9..b732d38aefe7 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/GenericWindowPolicyControllerTest.java @@ -150,7 +150,7 @@ public class GenericWindowPolicyControllerTest { @Test public void openNonBlockedAppOnVirtualDisplay_isNotBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -163,7 +163,7 @@ public class GenericWindowPolicyControllerTest { @Test public void activityDoesNotSupportDisplayOnRemoteDevices_isBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -176,7 +176,7 @@ public class GenericWindowPolicyControllerTest { @Test public void openBlockedComponentOnVirtualDisplay_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithBlockedComponent(BLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_PACKAGE_NAME, @@ -189,7 +189,7 @@ public class GenericWindowPolicyControllerTest { @Test public void addActivityPolicyExemption_openBlockedOnVirtualDisplay_isBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setActivityLaunchDefaultAllowed(true); gwpc.addActivityPolicyExemption(BLOCKED_COMPONENT); @@ -204,7 +204,7 @@ public class GenericWindowPolicyControllerTest { @Test public void openNotAllowedComponentOnBlocklistVirtualDisplay_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithAllowedComponent(NONBLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_PACKAGE_NAME, @@ -217,7 +217,7 @@ public class GenericWindowPolicyControllerTest { @Test public void addActivityPolicyExemption_openNotAllowedOnVirtualDisplay_isBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setActivityLaunchDefaultAllowed(false); gwpc.addActivityPolicyExemption(NONBLOCKED_COMPONENT); @@ -232,7 +232,7 @@ public class GenericWindowPolicyControllerTest { @Test public void openAllowedComponentOnBlocklistVirtualDisplay_startsActivity() { GenericWindowPolicyController gwpc = createGwpcWithAllowedComponent(NONBLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -245,7 +245,7 @@ public class GenericWindowPolicyControllerTest { @Test public void addActivityPolicyExemption_openAllowedOnVirtualDisplay_startsActivity() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setActivityLaunchDefaultAllowed(false); gwpc.addActivityPolicyExemption(NONBLOCKED_COMPONENT); @@ -258,9 +258,22 @@ public class GenericWindowPolicyControllerTest { } @Test + public void openNonBlockedAppOnMirrorVirtualDisplay_isBlocked() { + GenericWindowPolicyController gwpc = createGwpc(); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ true); + + ActivityInfo activityInfo = getActivityInfo( + NONBLOCKED_APP_PACKAGE_NAME, + NONBLOCKED_APP_PACKAGE_NAME, + /* displayOnRemoteDevices */ true, + /* targetDisplayCategory */ null); + assertNoActivityLaunched(gwpc, DISPLAY_ID, activityInfo); + } + + @Test public void canActivityBeLaunched_mismatchingUserHandle_isBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -274,7 +287,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_blockedAppStreamingComponent_isNeverBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_APP_STREAMING_COMPONENT.getPackageName(), @@ -288,7 +301,7 @@ public class GenericWindowPolicyControllerTest { public void canActivityBeLaunched_blockedAppStreamingComponentExplicitlyBlocked_isNeverBlocked() { GenericWindowPolicyController gwpc = createGwpcWithBlockedComponent( BLOCKED_APP_STREAMING_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_APP_STREAMING_COMPONENT.getPackageName(), @@ -302,7 +315,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_blockedAppStreamingComponentExemptFromStreaming_isNeverBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setActivityLaunchDefaultAllowed(true); gwpc.addActivityPolicyExemption(BLOCKED_APP_STREAMING_COMPONENT); @@ -318,7 +331,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_blockedAppStreamingComponentNotAllowlisted_isNeverBlocked() { GenericWindowPolicyController gwpc = createGwpcWithAllowedComponent(NONBLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_APP_STREAMING_COMPONENT.getPackageName(), @@ -332,7 +345,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_blockedAppStreamingComponentNotExemptFromBlocklist_isNeverBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.setActivityLaunchDefaultAllowed(false); gwpc.addActivityPolicyExemption(NONBLOCKED_COMPONENT); @@ -348,7 +361,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_customDisplayCategoryMatches_isNotBlocked() { GenericWindowPolicyController gwpc = createGwpcWithDisplayCategory(DISPLAY_CATEGORY); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -362,7 +375,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_customDisplayCategoryDoesNotMatch_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithDisplayCategory(DISPLAY_CATEGORY); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -375,7 +388,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_crossTaskLaunch_fromDefaultDisplay_isNotBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -390,7 +403,7 @@ public class GenericWindowPolicyControllerTest { public void canActivityBeLaunched_crossTaskLaunchFromVirtualDisplay_notExplicitlyBlocked_isNotBlocked() { GenericWindowPolicyController gwpc = createGwpcWithCrossTaskNavigationBlockedFor( BLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -406,7 +419,7 @@ public class GenericWindowPolicyControllerTest { public void canActivityBeLaunched_crossTaskLaunchFromVirtualDisplay_explicitlyBlocked_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithCrossTaskNavigationBlockedFor( BLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_PACKAGE_NAME, @@ -421,7 +434,7 @@ public class GenericWindowPolicyControllerTest { public void canActivityBeLaunched_crossTaskLaunchFromVirtualDisplay_notAllowed_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithCrossTaskNavigationAllowed( NONBLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_PACKAGE_NAME, @@ -436,7 +449,7 @@ public class GenericWindowPolicyControllerTest { public void canActivityBeLaunched_crossTaskLaunchFromVirtualDisplay_allowed_isNotBlocked() { GenericWindowPolicyController gwpc = createGwpcWithCrossTaskNavigationAllowed( NONBLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -450,7 +463,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_unsupportedWindowingMode_isBlocked() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -464,7 +477,7 @@ public class GenericWindowPolicyControllerTest { @Test public void canActivityBeLaunched_permissionComponent_isBlocked() { GenericWindowPolicyController gwpc = createGwpcWithPermissionComponent(BLOCKED_COMPONENT); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( BLOCKED_PACKAGE_NAME, @@ -490,7 +503,7 @@ public class GenericWindowPolicyControllerTest { public void onRunningAppsChanged_empty_onDisplayEmpty() { ArraySet<Integer> uids = new ArraySet<>(); GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.onRunningAppsChanged(uids); @@ -585,7 +598,7 @@ public class GenericWindowPolicyControllerTest { public void onTopActivitychanged_activityListenerCallbackObserved() { int userId = 1000; GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); gwpc.onTopActivityChanged(BLOCKED_COMPONENT, 0, userId); verify(mActivityListener) @@ -595,7 +608,7 @@ public class GenericWindowPolicyControllerTest { @Test public void keepActivityOnWindowFlagsChanged_noChange() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -613,7 +626,7 @@ public class GenericWindowPolicyControllerTest { @Test public void keepActivityOnWindowFlagsChanged_flagSecure_isAllowedAfterTM() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -631,7 +644,7 @@ public class GenericWindowPolicyControllerTest { @Test public void keepActivityOnWindowFlagsChanged_systemFlagHideNonSystemOverlayWindows_isAllowedAfterTM() { GenericWindowPolicyController gwpc = createGwpc(); - gwpc.setDisplayId(DISPLAY_ID); + gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false); ActivityInfo activityInfo = getActivityInfo( NONBLOCKED_APP_PACKAGE_NAME, @@ -887,4 +900,14 @@ public class GenericWindowPolicyControllerTest { verify(mActivityBlockedCallback).onActivityBlocked(fromDisplay, activityInfo); verify(mIntentListenerCallback, never()).shouldInterceptIntent(any(Intent.class)); } + + private void assertNoActivityLaunched(GenericWindowPolicyController gwpc, int fromDisplay, + ActivityInfo activityInfo) { + assertThat(gwpc.canActivityBeLaunched(activityInfo, null, + WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID, true)) + .isFalse(); + + verify(mActivityBlockedCallback, never()).onActivityBlocked(fromDisplay, activityInfo); + verify(mIntentListenerCallback, never()).shouldInterceptIntent(any(Intent.class)); + } } diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java index a3d415e4918f..461d63745c31 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java @@ -59,7 +59,6 @@ import android.companion.virtual.VirtualDeviceParams; import android.companion.virtual.audio.IAudioConfigChangedCallback; import android.companion.virtual.audio.IAudioRoutingCallback; import android.companion.virtual.flags.Flags; -import android.companion.virtual.sensor.IVirtualSensorCallback; import android.companion.virtual.sensor.VirtualSensor; import android.companion.virtual.sensor.VirtualSensorCallback; import android.companion.virtual.sensor.VirtualSensorConfig; @@ -250,8 +249,6 @@ public class VirtualDeviceManagerServiceTest { @Mock private SensorManagerInternal mSensorManagerInternalMock; @Mock - private IVirtualSensorCallback mVirtualSensorCallback; - @Mock private VirtualSensorCallback mSensorCallback; @Mock private IVirtualDeviceActivityListener mActivityListener; @@ -269,7 +266,6 @@ public class VirtualDeviceManagerServiceTest { IPowerManager mIPowerManagerMock; @Mock IThermalService mIThermalServiceMock; - private PowerManager mPowerManager; @Mock private IAudioRoutingCallback mRoutingCallback; @Mock @@ -361,9 +357,10 @@ public class VirtualDeviceManagerServiceTest { when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn( mDevicePolicyManagerMock); - mPowerManager = new PowerManager(mContext, mIPowerManagerMock, mIThermalServiceMock, + PowerManager powerManager = new PowerManager(mContext, mIPowerManagerMock, + mIThermalServiceMock, new Handler(TestableLooper.get(this).getLooper())); - when(mContext.getSystemService(Context.POWER_SERVICE)).thenReturn(mPowerManager); + when(mContext.getSystemService(Context.POWER_SERVICE)).thenReturn(powerManager); mInputManagerMockHelper = new InputManagerMockHelper( TestableLooper.get(this), mNativeWrapperMock, mIInputManagerMock); @@ -1604,6 +1601,54 @@ public class VirtualDeviceManagerServiceTest { } @Test + public void openNonBlockedAppOnMirrorDisplay_flagEnabled_cannotBeLaunched() { + mSetFlagsRule.enableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); + when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt())) + .thenReturn(Display.DEFAULT_DISPLAY); + addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); + GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest( + DISPLAY_ID_1); + doNothing().when(mContext).startActivityAsUser(any(), any(), any()); + + ActivityInfo activityInfo = getActivityInfo( + NONBLOCKED_APP_PACKAGE_NAME, + NONBLOCKED_APP_PACKAGE_NAME, + /* displayOnRemoteDevices */ true, + /* targetDisplayCategory */ null); + assertThat(gwpc.canActivityBeLaunched(activityInfo, null, + WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /*isNewTask=*/ false)) + .isFalse(); + // Verify that BlockedAppStreamingActivity also doesn't launch for mirror displays. + Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent( + activityInfo, mAssociationInfo.getDisplayName()); + verify(mContext, never()).startActivityAsUser(argThat(intent -> + intent.filterEquals(blockedAppIntent)), any(), any()); + } + + @Test + public void openNonBlockedAppOnMirrorDisplay_flagDisabled_launchesActivity() { + when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt())) + .thenReturn(Display.DEFAULT_DISPLAY); + addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); + GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest( + DISPLAY_ID_1); + doNothing().when(mContext).startActivityAsUser(any(), any(), any()); + + ActivityInfo activityInfo = getActivityInfo( + NONBLOCKED_APP_PACKAGE_NAME, + NONBLOCKED_APP_PACKAGE_NAME, + /* displayOnRemoteDevices */ true, + /* targetDisplayCategory */ null); + assertThat(gwpc.canActivityBeLaunched(activityInfo, null, + WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /*isNewTask=*/ false)) + .isTrue(); + Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent( + activityInfo, mAssociationInfo.getDisplayName()); + verify(mContext, never()).startActivityAsUser(argThat(intent -> + intent.filterEquals(blockedAppIntent)), any(), any()); + } + + @Test public void registerRunningAppsChangedListener_onRunningAppsChanged_listenersNotified() { ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(UID_1, UID_2)); addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); diff --git a/services/tests/servicestests/src/com/android/server/contentcapture/ContentCaptureManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/contentcapture/ContentCaptureManagerServiceTest.java index 78bf9b0bc828..9a5241ea242a 100644 --- a/services/tests/servicestests/src/com/android/server/contentcapture/ContentCaptureManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/contentcapture/ContentCaptureManagerServiceTest.java @@ -21,6 +21,7 @@ import static android.view.contentprotection.flags.Flags.FLAG_PARSE_GROUPS_CONFI import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -31,7 +32,6 @@ import android.annotation.NonNull; import android.content.ComponentName; import android.content.ContentCaptureOptions; import android.content.Context; -import android.content.pm.PackageManager; import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; import android.platform.test.flag.junit.SetFlagsRule; @@ -130,63 +130,154 @@ public class ContentCaptureManagerServiceTest { } @Test - public void constructor_contentProtection_flagDisabled_noManagers() { + public void constructor_contentProtection_disabled_noManagers() { assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(0); - assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); assertThat(mContentProtectionConsentManagersCreated).isEqualTo(0); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); verifyZeroInteractions(mMockContentProtectionAllowlistManager); verifyZeroInteractions(mMockContentProtectionConsentManager); } @Test - public void constructor_contentProtection_componentNameNull_noManagers() { - mConfigDefaultContentProtectionService = null; + public void constructor_contentProtection_enabled_createsManagers() { + mDevCfgEnableContentProtectionReceiver = true; mContentCaptureManagerService = new TestContentCaptureManagerService(); + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager, never()).stop(); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void setFineTuneParamsFromDeviceConfig_contentProtection_disabled_to_disabled() { + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(0); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(0); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verifyZeroInteractions(mMockContentProtectionAllowlistManager); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void setFineTuneParamsFromDeviceConfig_contentProtection_disabled_to_enabled() { + mDevCfgEnableContentProtectionReceiver = true; + + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager, never()).stop(); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void setFineTuneParamsFromDeviceConfig_contentProtection_enabled_to_enabled() { + mDevCfgEnableContentProtectionReceiver = true; + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager, never()).stop(); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void setFineTuneParamsFromDeviceConfig_contentProtection_enabled_to_disabled() { + mDevCfgEnableContentProtectionReceiver = true; + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + mDevCfgEnableContentProtectionReceiver = false; + + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager).stop(); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void setFineTuneParamsFromDeviceConfig_contentProtection_enabled_componentNameNull() { + mDevCfgEnableContentProtectionReceiver = true; + mConfigDefaultContentProtectionService = null; + + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(0); assertThat(mContentProtectionConsentManagersCreated).isEqualTo(0); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); verifyZeroInteractions(mMockContentProtectionAllowlistManager); verifyZeroInteractions(mMockContentProtectionConsentManager); } @Test - public void constructor_contentProtection_componentNameBlank_noManagers() { + public void setFineTuneParamsFromDeviceConfig_contentProtection_enabled_componentNameBlank() { + mDevCfgEnableContentProtectionReceiver = true; mConfigDefaultContentProtectionService = " "; - mContentCaptureManagerService = new TestContentCaptureManagerService(); + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(0); - assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); assertThat(mContentProtectionConsentManagersCreated).isEqualTo(0); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); verifyZeroInteractions(mMockContentProtectionAllowlistManager); verifyZeroInteractions(mMockContentProtectionConsentManager); } @Test - public void constructor_contentProtection_enabled_createsManagers() { + public void setFineTuneParamsFromDeviceConfig_contentProtection_disabled_componentNameNull() { mDevCfgEnableContentProtectionReceiver = true; + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + mDevCfgEnableContentProtectionReceiver = false; + mConfigDefaultContentProtectionService = null; - mContentCaptureManagerService = new TestContentCaptureManagerService(); + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager).stop(); verifyZeroInteractions(mMockContentProtectionConsentManager); } @Test - public void getOptions_contentCaptureDisabled_contentProtectionDisabled() { + public void setFineTuneParamsFromDeviceConfig_contentProtection_disabled_componentNameBlank() { mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + mDevCfgEnableContentProtectionReceiver = false; + mConfigDefaultContentProtectionService = " "; + mContentCaptureManagerService.setFineTuneParamsFromDeviceConfig(); + + assertThat(mContentProtectionAllowlistManagersCreated).isEqualTo(1); + assertThat(mContentProtectionConsentManagersCreated).isEqualTo(1); + assertThat(mContentProtectionServiceInfosCreated).isEqualTo(0); + verify(mMockContentProtectionAllowlistManager).start(anyLong()); + verify(mMockContentProtectionAllowlistManager).stop(); + verifyZeroInteractions(mMockContentProtectionConsentManager); + } + + @Test + public void getOptions_contentCaptureDisabled_contentProtectionDisabled() { ContentCaptureOptions actual = mContentCaptureManagerService.mGlobalContentCaptureOptions.getOptions( USER_ID, PACKAGE_NAME); assertThat(actual).isNull(); - verify(mMockContentProtectionConsentManager).isConsentGranted(USER_ID); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @@ -210,8 +301,6 @@ public class ContentCaptureManagerServiceTest { @Test public void getOptions_contentCaptureEnabled_contentProtectionDisabled() { - mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); mContentCaptureManagerService.mGlobalContentCaptureOptions.setWhitelist( USER_ID, ImmutableList.of(PACKAGE_NAME), /* components= */ null); @@ -224,7 +313,7 @@ public class ContentCaptureManagerServiceTest { assertThat(actual.contentProtectionOptions).isNotNull(); assertThat(actual.contentProtectionOptions.enableReceiver).isFalse(); assertThat(actual.whitelistedComponents).isNull(); - verify(mMockContentProtectionConsentManager).isConsentGranted(USER_ID); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @@ -249,22 +338,20 @@ public class ContentCaptureManagerServiceTest { } @Test - public void isWhitelisted_packageName_contentCaptureDisabled_contentProtectionNotGranted() { - mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); - + public void isWhitelisted_packageName_contentCaptureDisabled_contentProtectionDisabled() { boolean actual = mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, PACKAGE_NAME); assertThat(actual).isFalse(); - verify(mMockContentProtectionConsentManager).isConsentGranted(USER_ID); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @Test - public void isWhitelisted_packageName_contentCaptureDisabled_contentProtectionDisabled() { + public void isWhitelisted_packageName_contentCaptureDisabled_contentProtectionEnabled() { when(mMockContentProtectionConsentManager.isConsentGranted(USER_ID)).thenReturn(true); + when(mMockContentProtectionAllowlistManager.isAllowed(PACKAGE_NAME)).thenReturn(true); mDevCfgEnableContentProtectionReceiver = true; mContentCaptureManagerService = new TestContentCaptureManagerService(); @@ -272,26 +359,25 @@ public class ContentCaptureManagerServiceTest { mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, PACKAGE_NAME); - assertThat(actual).isFalse(); - verify(mMockContentProtectionAllowlistManager).isAllowed(PACKAGE_NAME); + assertThat(actual).isTrue(); } @Test - public void isWhitelisted_packageName_contentCaptureDisabled_contentProtectionEnabled() { - when(mMockContentProtectionConsentManager.isConsentGranted(USER_ID)).thenReturn(true); - when(mMockContentProtectionAllowlistManager.isAllowed(PACKAGE_NAME)).thenReturn(true); - mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); + public void isWhitelisted_packageName_contentCaptureEnabled_contentProtectionDisabled() { + mContentCaptureManagerService.mGlobalContentCaptureOptions.setWhitelist( + USER_ID, ImmutableList.of(PACKAGE_NAME), /* components= */ null); boolean actual = mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, PACKAGE_NAME); assertThat(actual).isTrue(); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); + verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @Test - public void isWhitelisted_packageName_contentCaptureEnabled_contentProtectionNotChecked() { + public void isWhitelisted_packageName_contentCaptureEnabled_contentProtectionEnabled() { mDevCfgEnableContentProtectionReceiver = true; mContentCaptureManagerService = new TestContentCaptureManagerService(); mContentCaptureManagerService.mGlobalContentCaptureOptions.setWhitelist( @@ -307,22 +393,20 @@ public class ContentCaptureManagerServiceTest { } @Test - public void isWhitelisted_componentName_contentCaptureDisabled_contentProtectionNotGranted() { - mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); - + public void isWhitelisted_componentName_contentCaptureDisabled_contentProtectionDisabled() { boolean actual = mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, COMPONENT_NAME); assertThat(actual).isFalse(); - verify(mMockContentProtectionConsentManager).isConsentGranted(USER_ID); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @Test - public void isWhitelisted_componentName_contentCaptureDisabled_contentProtectionDisabled() { + public void isWhitelisted_componentName_contentCaptureDisabled_contentProtectionEnabled() { when(mMockContentProtectionConsentManager.isConsentGranted(USER_ID)).thenReturn(true); + when(mMockContentProtectionAllowlistManager.isAllowed(PACKAGE_NAME)).thenReturn(true); mDevCfgEnableContentProtectionReceiver = true; mContentCaptureManagerService = new TestContentCaptureManagerService(); @@ -330,26 +414,25 @@ public class ContentCaptureManagerServiceTest { mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, COMPONENT_NAME); - assertThat(actual).isFalse(); - verify(mMockContentProtectionAllowlistManager).isAllowed(PACKAGE_NAME); + assertThat(actual).isTrue(); } @Test - public void isWhitelisted_componentName_contentCaptureDisabled_contentProtectionEnabled() { - when(mMockContentProtectionConsentManager.isConsentGranted(USER_ID)).thenReturn(true); - when(mMockContentProtectionAllowlistManager.isAllowed(PACKAGE_NAME)).thenReturn(true); - mDevCfgEnableContentProtectionReceiver = true; - mContentCaptureManagerService = new TestContentCaptureManagerService(); + public void isWhitelisted_componentName_contentCaptureEnabled_contentProtectionDisabled() { + mContentCaptureManagerService.mGlobalContentCaptureOptions.setWhitelist( + USER_ID, /* packageNames= */ null, ImmutableList.of(COMPONENT_NAME)); boolean actual = mContentCaptureManagerService.mGlobalContentCaptureOptions.isWhitelisted( USER_ID, COMPONENT_NAME); assertThat(actual).isTrue(); + verify(mMockContentProtectionConsentManager, never()).isConsentGranted(anyInt()); + verify(mMockContentProtectionAllowlistManager, never()).isAllowed(anyString()); } @Test - public void isWhitelisted_componentName_contentCaptureEnabled_contentProtectionNotChecked() { + public void isWhitelisted_componentName_contentCaptureEnabled_contentProtectionEnabled() { mDevCfgEnableContentProtectionReceiver = true; mContentCaptureManagerService = new TestContentCaptureManagerService(); mContentCaptureManagerService.mGlobalContentCaptureOptions.setWhitelist( @@ -544,8 +627,6 @@ public class ContentCaptureManagerServiceTest { TestContentCaptureManagerService() { super(sContext); - this.mDevCfgEnableContentProtectionReceiver = - ContentCaptureManagerServiceTest.this.mDevCfgEnableContentProtectionReceiver; this.mDevCfgContentProtectionRequiredGroups = ContentCaptureManagerServiceTest.this.mDevCfgContentProtectionRequiredGroups; this.mDevCfgContentProtectionOptionalGroups = @@ -553,12 +634,13 @@ public class ContentCaptureManagerServiceTest { } @Override - protected boolean getEnableContentProtectionReceiverLocked() { + protected boolean getDeviceConfigEnableContentProtectionReceiver() { return ContentCaptureManagerServiceTest.this.mDevCfgEnableContentProtectionReceiver; } @Override - protected ContentProtectionAllowlistManager createContentProtectionAllowlistManager() { + protected ContentProtectionAllowlistManager createContentProtectionAllowlistManager( + long timeoutMs) { mContentProtectionAllowlistManagersCreated++; return mMockContentProtectionAllowlistManager; } @@ -570,7 +652,7 @@ public class ContentCaptureManagerServiceTest { @Override protected ContentCaptureServiceInfo createContentProtectionServiceInfo( - @NonNull ComponentName componentName) throws PackageManager.NameNotFoundException { + @NonNull ComponentName componentName) { mContentProtectionServiceInfosCreated++; if (mContentProtectionServiceInfoConstructorShouldThrow) { throw new RuntimeException("TEST RUNTIME EXCEPTION"); diff --git a/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionAllowlistManagerTest.java b/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionAllowlistManagerTest.java index 6767a85035fe..dc38f2bf3083 100644 --- a/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionAllowlistManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionAllowlistManagerTest.java @@ -16,15 +16,35 @@ package com.android.server.contentprotection; +import static android.view.contentprotection.flags.Flags.FLAG_BLOCKLIST_UPDATE_ENABLED; + import static com.google.common.truth.Truth.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.when; + +import android.os.Handler; +import android.os.UserHandle; +import android.os.test.TestLooper; +import android.platform.test.flag.junit.SetFlagsRule; + import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; +import com.android.internal.content.PackageMonitor; +import com.android.server.contentcapture.ContentCaptureManagerService; + 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; @@ -40,13 +60,236 @@ public class ContentProtectionAllowlistManagerTest { private static final String PACKAGE_NAME = "com.test.package.name"; + private static final long TIMEOUT_MS = 111_111_111L; + + private static final long DELAY_MS = 222_222_222L; + @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); + @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + + @Mock private ContentCaptureManagerService mMockContentCaptureManagerService; + + @Mock private PackageMonitor mMockPackageMonitor; + + @Mock private RemoteContentProtectionService mMockRemoteContentProtectionService; + + private final TestLooper mTestLooper = new TestLooper(); + + private Handler mHandler; + private ContentProtectionAllowlistManager mContentProtectionAllowlistManager; @Before public void setup() { - mContentProtectionAllowlistManager = new ContentProtectionAllowlistManager(); + mHandler = new Handler(mTestLooper.getLooper()); + mContentProtectionAllowlistManager = new TestContentProtectionAllowlistManager(); + } + + @Test + public void constructor() { + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verifyZeroInteractions(mMockPackageMonitor); + } + + @Test + public void start_updateEnabled_firstTime_beforeDelay() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.dispatchAll(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isTrue(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verifyZeroInteractions(mMockPackageMonitor); + } + + @Test + public void start_updateEnabled_firstTime_afterDelay() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verify(mMockContentCaptureManagerService).createRemoteContentProtectionService(); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor, never()).unregister(); + } + + @Test + public void start_updateEnabled_secondTime() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + mContentProtectionAllowlistManager.start(DELAY_MS); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verify(mMockContentCaptureManagerService).createRemoteContentProtectionService(); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor, never()).unregister(); + } + + @Test + public void start_updateDisabled_firstTime_beforeDelay() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.dispatchAll(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isTrue(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verifyZeroInteractions(mMockPackageMonitor); + } + + @Test + public void start_updateDisabled_firstTime_afterDelay() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor, never()).unregister(); + } + + @Test + public void start_updateDisabled_secondTime() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + mContentProtectionAllowlistManager.start(DELAY_MS); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor, never()).unregister(); + } + + @Test + public void stop_updateEnabled_notStarted() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + doThrow(new IllegalStateException("NOT REGISTERED")).when(mMockPackageMonitor).unregister(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor, never()).register(any(), any(), any()); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void stop_updateEnabled_started_beforeDelay() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + doThrow(new IllegalStateException("NOT REGISTERED")).when(mMockPackageMonitor).unregister(); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.dispatchAll(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor, never()).register(any(), any(), any()); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void stop_updateEnabled_started_afterDelay() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verify(mMockContentCaptureManagerService).createRemoteContentProtectionService(); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void stop_updateDisabled_notStarted() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + doThrow(new IllegalStateException("NOT REGISTERED")).when(mMockPackageMonitor).unregister(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor, never()).register(any(), any(), any()); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void stop_updateDisabled_started_beforeDelay() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + doThrow(new IllegalStateException("NOT REGISTERED")).when(mMockPackageMonitor).unregister(); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.dispatchAll(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor, never()).register(any(), any(), any()); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void stop_updateDisabled_started_afterDelay() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + mContentProtectionAllowlistManager.stop(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void start_afterStop_beforeDelay() { + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.dispatchAll(); + mContentProtectionAllowlistManager.stop(); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verify(mMockPackageMonitor).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor).unregister(); + } + + @Test + public void start_afterStop_afterDelay() { + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + mContentProtectionAllowlistManager.stop(); + + mContentProtectionAllowlistManager.start(DELAY_MS); + mTestLooper.moveTimeForward(DELAY_MS); + mTestLooper.dispatchNext(); + + assertThat(mHandler.hasMessagesOrCallbacks()).isFalse(); + verify(mMockPackageMonitor, times(2)).register(any(), eq(UserHandle.ALL), eq(mHandler)); + verify(mMockPackageMonitor).unregister(); } @Test @@ -54,5 +297,86 @@ public class ContentProtectionAllowlistManagerTest { boolean actual = mContentProtectionAllowlistManager.isAllowed(PACKAGE_NAME); assertThat(actual).isFalse(); + verifyZeroInteractions(mMockContentCaptureManagerService); + verifyZeroInteractions(mMockPackageMonitor); + } + + @Test + public void handleUpdate_updateDisabled() { + mSetFlagsRule.disableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + ContentProtectionAllowlistManager manager = + new ContentProtectionAllowlistManager( + mMockContentCaptureManagerService, mHandler, TIMEOUT_MS); + + manager.mPackageMonitor.onSomePackagesChanged(); + + verifyZeroInteractions(mMockContentCaptureManagerService); + } + + @Test + public void handleUpdate_updateEnabled() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + ContentProtectionAllowlistManager manager = + new ContentProtectionAllowlistManager( + mMockContentCaptureManagerService, mHandler, TIMEOUT_MS); + + manager.mPackageMonitor.onSomePackagesChanged(); + + verify(mMockContentCaptureManagerService).createRemoteContentProtectionService(); + } + + @Test + public void handleUpdate_rateLimit_noService() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + ContentProtectionAllowlistManager manager = + new ContentProtectionAllowlistManager( + mMockContentCaptureManagerService, mHandler, TIMEOUT_MS); + + manager.mPackageMonitor.onSomePackagesChanged(); + manager.mPackageMonitor.onSomePackagesChanged(); + + verify(mMockContentCaptureManagerService, times(2)).createRemoteContentProtectionService(); + } + + @Test + public void handleUpdate_rateLimit_beforeTimeout() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + ContentProtectionAllowlistManager manager = + new ContentProtectionAllowlistManager( + mMockContentCaptureManagerService, mHandler, TIMEOUT_MS); + when(mMockContentCaptureManagerService.createRemoteContentProtectionService()) + .thenReturn(mMockRemoteContentProtectionService); + + manager.mPackageMonitor.onSomePackagesChanged(); + manager.mPackageMonitor.onSomePackagesChanged(); + + verify(mMockContentCaptureManagerService).createRemoteContentProtectionService(); + } + + @Test + public void handleUpdate_rateLimit_afterTimeout() { + mSetFlagsRule.enableFlags(FLAG_BLOCKLIST_UPDATE_ENABLED); + ContentProtectionAllowlistManager manager = + new ContentProtectionAllowlistManager( + mMockContentCaptureManagerService, mHandler, /* timeoutMs= */ 0L); + when(mMockContentCaptureManagerService.createRemoteContentProtectionService()) + .thenReturn(mMockRemoteContentProtectionService); + + manager.mPackageMonitor.onSomePackagesChanged(); + manager.mPackageMonitor.onSomePackagesChanged(); + + verify(mMockContentCaptureManagerService, times(2)).createRemoteContentProtectionService(); + } + + private class TestContentProtectionAllowlistManager extends ContentProtectionAllowlistManager { + + TestContentProtectionAllowlistManager() { + super(mMockContentCaptureManagerService, mHandler, TIMEOUT_MS); + } + + @Override + protected PackageMonitor createPackageMonitor() { + return mMockPackageMonitor; + } } } diff --git a/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionConsentManagerTest.java b/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionConsentManagerTest.java index 0e80bfdae291..5fe60d779fa6 100644 --- a/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionConsentManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/contentprotection/ContentProtectionConsentManagerTest.java @@ -55,9 +55,15 @@ public class ContentProtectionConsentManagerTest { private static final String KEY_PACKAGE_VERIFIER_USER_CONSENT = "package_verifier_user_consent"; + private static final String KEY_CONTENT_PROTECTION_USER_CONSENT = + "content_protection_user_consent"; + private static final Uri URI_PACKAGE_VERIFIER_USER_CONSENT = Settings.Global.getUriFor(KEY_PACKAGE_VERIFIER_USER_CONSENT); + private static final Uri URI_CONTENT_PROTECTION_USER_CONSENT = + Settings.Global.getUriFor(KEY_CONTENT_PROTECTION_USER_CONSENT); + private static final int VALUE_TRUE = 1; private static final int VALUE_FALSE = -1; @@ -96,7 +102,18 @@ public class ContentProtectionConsentManagerTest { @Test public void isConsentGranted_packageVerifierNotGranted() { ContentProtectionConsentManager manager = - createContentProtectionConsentManager(VALUE_FALSE); + createContentProtectionConsentManager(VALUE_FALSE, VALUE_TRUE); + + boolean actual = manager.isConsentGranted(TEST_USER_ID); + + assertThat(actual).isFalse(); + verifyZeroInteractions(mMockDevicePolicyManagerInternal); + } + + @Test + public void isConsentGranted_contentProtectionNotGranted() { + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_FALSE); boolean actual = manager.isConsentGranted(TEST_USER_ID); @@ -106,7 +123,8 @@ public class ContentProtectionConsentManagerTest { @Test public void isConsentGranted_packageVerifierGranted_userNotManaged() { - ContentProtectionConsentManager manager = createContentProtectionConsentManager(VALUE_TRUE); + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_TRUE); boolean actual = manager.isConsentGranted(TEST_USER_ID); @@ -118,7 +136,8 @@ public class ContentProtectionConsentManagerTest { public void isConsentGranted_packageVerifierGranted_userManaged() { when(mMockDevicePolicyManagerInternal.isUserOrganizationManaged(TEST_USER_ID)) .thenReturn(true); - ContentProtectionConsentManager manager = createContentProtectionConsentManager(VALUE_TRUE); + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_TRUE); boolean actual = manager.isConsentGranted(TEST_USER_ID); @@ -128,7 +147,7 @@ public class ContentProtectionConsentManagerTest { @Test public void isConsentGranted_packageVerifierDefault() { ContentProtectionConsentManager manager = - createContentProtectionConsentManager(VALUE_DEFAULT); + createContentProtectionConsentManager(VALUE_DEFAULT, VALUE_TRUE); boolean actual = manager.isConsentGranted(TEST_USER_ID); @@ -137,15 +156,27 @@ public class ContentProtectionConsentManagerTest { } @Test - public void contentObserver() throws Exception { - ContentProtectionConsentManager manager = createContentProtectionConsentManager(VALUE_TRUE); + public void isConsentGranted_contentProtectionDefault() { + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_DEFAULT); + + boolean actual = manager.isConsentGranted(TEST_USER_ID); + + assertThat(actual).isTrue(); + verify(mMockDevicePolicyManagerInternal).isUserOrganizationManaged(TEST_USER_ID); + } + + @Test + public void contentObserver_packageVerifier() { + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_DEFAULT); boolean firstActual = manager.isConsentGranted(TEST_USER_ID); - Settings.Global.putInt( - mTestableContentResolver, KEY_PACKAGE_VERIFIER_USER_CONSENT, VALUE_FALSE); - // Observer has to be called manually, mTestableContentResolver is not propagating - manager.mContentObserver.onChange( - /* selfChange= */ false, URI_PACKAGE_VERIFIER_USER_CONSENT, TEST_USER_ID); + notifyContentObserver( + manager, + URI_PACKAGE_VERIFIER_USER_CONSENT, + KEY_PACKAGE_VERIFIER_USER_CONSENT, + VALUE_FALSE); boolean secondActual = manager.isConsentGranted(TEST_USER_ID); assertThat(firstActual).isTrue(); @@ -153,6 +184,31 @@ public class ContentProtectionConsentManagerTest { verify(mMockDevicePolicyManagerInternal).isUserOrganizationManaged(TEST_USER_ID); } + @Test + public void contentObserver_contentProtection() { + ContentProtectionConsentManager manager = + createContentProtectionConsentManager(VALUE_TRUE, VALUE_DEFAULT); + boolean firstActual = manager.isConsentGranted(TEST_USER_ID); + + notifyContentObserver( + manager, + URI_CONTENT_PROTECTION_USER_CONSENT, + KEY_CONTENT_PROTECTION_USER_CONSENT, + VALUE_FALSE); + boolean secondActual = manager.isConsentGranted(TEST_USER_ID); + + assertThat(firstActual).isTrue(); + assertThat(secondActual).isFalse(); + verify(mMockDevicePolicyManagerInternal).isUserOrganizationManaged(TEST_USER_ID); + } + + private void notifyContentObserver( + ContentProtectionConsentManager manager, Uri uri, String key, int value) { + Settings.Global.putInt(mTestableContentResolver, key, value); + // Observer has to be called manually, mTestableContentResolver is not propagating + manager.mContentObserver.onChange(/* selfChange= */ false, uri, TEST_USER_ID); + } + private ContentProtectionConsentManager createContentProtectionConsentManager( ContentResolver contentResolver) { return new ContentProtectionConsentManager( @@ -162,11 +218,15 @@ public class ContentProtectionConsentManagerTest { } private ContentProtectionConsentManager createContentProtectionConsentManager( - int valuePackageVerifierUserConsent) { + int valuePackageVerifierUserConsent, int valueContentProtectionUserConsent) { Settings.Global.putInt( mTestableContentResolver, KEY_PACKAGE_VERIFIER_USER_CONSENT, valuePackageVerifierUserConsent); + Settings.Global.putInt( + mTestableContentResolver, + KEY_CONTENT_PROTECTION_USER_CONSENT, + valueContentProtectionUserConsent); return createContentProtectionConsentManager(mTestableContentResolver); } } diff --git a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java index 4e6dd064165d..ece3dfeabafa 100644 --- a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionManagerServiceTest.java @@ -674,6 +674,17 @@ public class MediaProjectionManagerServiceTest { } @Test + public void notifyPermissionRequestCancelled_forwardsToLogger() { + int hostUid = 123; + mService = + new MediaProjectionManagerService(mContext, mMediaProjectionMetricsLoggerInjector); + + mService.notifyPermissionRequestCancelled(hostUid); + + verify(mMediaProjectionMetricsLogger).logProjectionPermissionRequestCancelled(hostUid); + } + + @Test public void notifyAppSelectorDisplayed_forwardsToLogger() { int hostUid = 456; mService = diff --git a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionMetricsLoggerTest.java b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionMetricsLoggerTest.java index 410604f02e1f..ad1cd6eca5ac 100644 --- a/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionMetricsLoggerTest.java +++ b/services/tests/servicestests/src/com/android/server/media/projection/MediaProjectionMetricsLoggerTest.java @@ -18,6 +18,7 @@ package com.android.server.media.projection; import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__CREATION_SOURCE__CREATION_SOURCE_UNKNOWN; import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_APP_SELECTOR_DISPLAYED; +import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_CANCELLED; import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_CAPTURING_IN_PROGRESS; import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_INITIATED; import static com.android.internal.util.FrameworkStatsLog.MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_PERMISSION_REQUEST_DISPLAYED; @@ -452,6 +453,63 @@ public class MediaProjectionMetricsLoggerTest { MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_STOPPED); } + @Test + public void logProjectionPermissionRequestCancelled_logsStateChangedAtomId() { + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifyStateChangedAtomIdLogged(); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsExistingSessionId() { + int existingSessionId = 456; + when(mSessionIdGenerator.getCurrentSessionId()).thenReturn(existingSessionId); + + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifySessionIdLogged(existingSessionId); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsStateCancelled() { + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifyStateLogged(MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_CANCELLED); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsPreviousState() { + mLogger.logInitiated(TEST_HOST_UID, TEST_CREATION_SOURCE); + verifyPreviousStateLogged( + MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_UNKNOWN); + + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + verifyPreviousStateLogged( + MEDIA_PROJECTION_STATE_CHANGED__STATE__MEDIA_PROJECTION_STATE_INITIATED); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsHostUid() { + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifyHostUidLogged(TEST_HOST_UID); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsUnknownTargetUid() { + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifyTargetUidLogged(-2); + } + + @Test + public void logProjectionPermissionRequestCancelled_logsUnknownCreationSource() { + mLogger.logProjectionPermissionRequestCancelled(TEST_HOST_UID); + + verifyCreationSourceLogged( + MEDIA_PROJECTION_STATE_CHANGED__CREATION_SOURCE__CREATION_SOURCE_UNKNOWN); + } + private void verifyStateChangedAtomIdLogged() { verify(mFrameworkStatsLogWrapper) .write( diff --git a/services/tests/servicestests/src/com/android/server/net/NetworkManagementServiceTest.java b/services/tests/servicestests/src/com/android/server/net/NetworkManagementServiceTest.java index af144cf49a46..2cdfbffda407 100644 --- a/services/tests/servicestests/src/com/android/server/net/NetworkManagementServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/net/NetworkManagementServiceTest.java @@ -57,6 +57,7 @@ import android.util.ArrayMap; import androidx.test.runner.AndroidJUnit4; import com.android.internal.app.IBatteryStats; +import com.android.net.flags.Flags; import org.junit.After; import org.junit.Before; @@ -263,7 +264,11 @@ public class NetworkManagementServiceTest { verify(mCm).addUidToMeteredNetworkDenyList(TEST_UID); mNMService.setDataSaverModeEnabled(true); - verify(mNetdService).bandwidthEnableDataSaver(true); + if (Flags.setDataSaverViaCm()) { + verify(mCm).setDataSaverEnabled(true); + } else { + verify(mNetdService).bandwidthEnableDataSaver(true); + } mNMService.setUidOnMeteredNetworkDenylist(TEST_UID, false); assertTrue("Should be true since data saver is on and the uid is not allowlisted", @@ -279,7 +284,11 @@ public class NetworkManagementServiceTest { mNMService.setUidOnMeteredNetworkAllowlist(TEST_UID, false); verify(mCm).removeUidFromMeteredNetworkAllowList(TEST_UID); mNMService.setDataSaverModeEnabled(false); - verify(mNetdService).bandwidthEnableDataSaver(false); + if (Flags.setDataSaverViaCm()) { + verify(mCm).setDataSaverEnabled(false); + } else { + verify(mNetdService).bandwidthEnableDataSaver(false); + } assertFalse("Network should not be restricted when data saver is off", mNMService.isNetworkRestricted(TEST_UID)); } diff --git a/services/tests/servicestests/src/com/android/server/os/BugreportManagerServiceImplTest.java b/services/tests/servicestests/src/com/android/server/os/BugreportManagerServiceImplTest.java index fc27edcb7bda..dc1d2c5e54b6 100644 --- a/services/tests/servicestests/src/com/android/server/os/BugreportManagerServiceImplTest.java +++ b/services/tests/servicestests/src/com/android/server/os/BugreportManagerServiceImplTest.java @@ -16,7 +16,11 @@ package com.android.server.os; +import android.app.admin.flags.Flags; +import static android.app.admin.flags.Flags.onboardingBugreportV2Enabled; + import static com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity; + import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; @@ -29,7 +33,11 @@ import android.os.IBinder; import android.os.IDumpstateListener; import android.os.Process; 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 android.util.ArraySet; +import android.util.AtomicFile; import android.util.Pair; import androidx.test.platform.app.InstrumentationRegistry; @@ -37,6 +45,7 @@ import androidx.test.runner.AndroidJUnit4; import org.junit.After; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -49,12 +58,17 @@ import java.util.function.Consumer; @RunWith(AndroidJUnit4.class) public class BugreportManagerServiceImplTest { + @Rule + public final CheckFlagsRule mCheckFlagsRule = + DeviceFlagsValueProvider.createCheckFlagsRule(); + private Context mContext; private BugreportManagerServiceImpl mService; private BugreportManagerServiceImpl.BugreportFileManager mBugreportFileManager; private int mCallingUid = 1234; private String mCallingPackage = "test.package"; + private AtomicFile mMappingFile; private String mBugreportFile = "bugreport-file.zip"; private String mBugreportFile2 = "bugreport-file2.zip"; @@ -62,17 +76,20 @@ public class BugreportManagerServiceImplTest { @Before public void setUp() { mContext = InstrumentationRegistry.getInstrumentation().getContext(); + mMappingFile = new AtomicFile(mContext.getFilesDir(), "bugreport-mapping.xml"); ArraySet<String> mAllowlistedPackages = new ArraySet<>(); mAllowlistedPackages.add(mContext.getPackageName()); mService = new BugreportManagerServiceImpl( - new BugreportManagerServiceImpl.Injector(mContext, mAllowlistedPackages)); - mBugreportFileManager = new BugreportManagerServiceImpl.BugreportFileManager(); + new BugreportManagerServiceImpl.Injector(mContext, mAllowlistedPackages, + mMappingFile)); + mBugreportFileManager = new BugreportManagerServiceImpl.BugreportFileManager(mMappingFile); } @After public void tearDown() throws Exception { // Changes to RoleManager persist between tests, so we need to clear out any funny // business we did in previous tests. + mMappingFile.delete(); RoleManager roleManager = mContext.getSystemService(RoleManager.class); CallbackFuture future = new CallbackFuture(); runWithShellPermissionIdentity( @@ -94,27 +111,48 @@ public class BugreportManagerServiceImplTest { public void testBugreportFileManagerFileExists() { Pair<Integer, String> callingInfo = new Pair<>(mCallingUid, mCallingPackage); mBugreportFileManager.addBugreportFileForCaller( - callingInfo, mBugreportFile); + callingInfo, mBugreportFile, /* keepOnRetrieval= */ false); assertThrows(IllegalArgumentException.class, () -> mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( - callingInfo, "unknown-file.zip")); + mContext, callingInfo, Process.myUserHandle().getIdentifier(), + "unknown-file.zip", /* forceUpdateMapping= */ true)); // No exception should be thrown. - mBugreportFileManager.ensureCallerPreviouslyGeneratedFile(callingInfo, mBugreportFile); + mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( + mContext, callingInfo, mContext.getUserId(), mBugreportFile, + /* forceUpdateMapping= */ true); + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_ONBOARDING_BUGREPORT_V2_ENABLED) + public void testBugreportFileManagerKeepFilesOnRetrieval() { + Pair<Integer, String> callingInfo = new Pair<>(mCallingUid, mCallingPackage); + mBugreportFileManager.addBugreportFileForCaller( + callingInfo, mBugreportFile, /* keepOnRetrieval= */ true); + + mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( + mContext, callingInfo, mContext.getUserId(), mBugreportFile, + /* forceUpdateMapping= */ true); + + assertThat(mBugreportFileManager.mBugreportFilesToPersist).containsExactly(mBugreportFile); } @Test public void testBugreportFileManagerMultipleFiles() { Pair<Integer, String> callingInfo = new Pair<>(mCallingUid, mCallingPackage); mBugreportFileManager.addBugreportFileForCaller( - callingInfo, mBugreportFile); + callingInfo, mBugreportFile, /* keepOnRetrieval= */ false); mBugreportFileManager.addBugreportFileForCaller( - callingInfo, mBugreportFile2); + callingInfo, mBugreportFile2, /* keepOnRetrieval= */ false); // No exception should be thrown. - mBugreportFileManager.ensureCallerPreviouslyGeneratedFile(callingInfo, mBugreportFile); - mBugreportFileManager.ensureCallerPreviouslyGeneratedFile(callingInfo, mBugreportFile2); + mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( + mContext, callingInfo, mContext.getUserId(), mBugreportFile, + /* forceUpdateMapping= */ true); + mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( + mContext, callingInfo, mContext.getUserId(), mBugreportFile2, + /* forceUpdateMapping= */ true); } @Test @@ -122,7 +160,8 @@ public class BugreportManagerServiceImplTest { Pair<Integer, String> callingInfo = new Pair<>(mCallingUid, mCallingPackage); assertThrows(IllegalArgumentException.class, () -> mBugreportFileManager.ensureCallerPreviouslyGeneratedFile( - callingInfo, "test-file.zip")); + mContext, callingInfo, Process.myUserHandle().getIdentifier(), + "test-file.zip", /* forceUpdateMapping= */ true)); } @Test @@ -130,17 +169,16 @@ public class BugreportManagerServiceImplTest { CountDownLatch latch = new CountDownLatch(1); Listener listener = new Listener(latch); mService.retrieveBugreport(Binder.getCallingUid(), mContext.getPackageName(), - new FileDescriptor(), mBugreportFile, listener); + mContext.getUserId(), new FileDescriptor(), mBugreportFile, + /* keepOnRetrieval= */ false, listener); assertThat(latch.await(5, TimeUnit.SECONDS)).isTrue(); assertThat(listener.getErrorCode()).isEqualTo( BugreportCallback.BUGREPORT_ERROR_NO_BUGREPORT_TO_RETRIEVE); } @Test - public void testCancelBugreportWithoutRole() throws Exception { - // Clear out allowlisted packages. - mService = new BugreportManagerServiceImpl( - new BugreportManagerServiceImpl.Injector(mContext, new ArraySet<>())); + public void testCancelBugreportWithoutRole() { + clearAllowlist(); assertThrows(SecurityException.class, () -> mService.cancelBugreport( Binder.getCallingUid(), mContext.getPackageName())); @@ -148,9 +186,7 @@ public class BugreportManagerServiceImplTest { @Test public void testCancelBugreportWithRole() throws Exception { - // Clear out allowlisted packages. - mService = new BugreportManagerServiceImpl( - new BugreportManagerServiceImpl.Injector(mContext, new ArraySet<>())); + clearAllowlist(); RoleManager roleManager = mContext.getSystemService(RoleManager.class); CallbackFuture future = new CallbackFuture(); runWithShellPermissionIdentity( @@ -169,6 +205,11 @@ public class BugreportManagerServiceImplTest { mService.cancelBugreport(Binder.getCallingUid(), mContext.getPackageName()); } + private void clearAllowlist() { + mService = new BugreportManagerServiceImpl( + new BugreportManagerServiceImpl.Injector(mContext, new ArraySet<>(), mMappingFile)); + } + private static class Listener implements IDumpstateListener { CountDownLatch mLatch; int mErrorCode; diff --git a/services/tests/servicestests/utils/com/android/server/testutils/StubTransaction.java b/services/tests/servicestests/utils/com/android/server/testutils/StubTransaction.java index 34e8ff2ec5c4..b8dcecdbfb95 100644 --- a/services/tests/servicestests/utils/com/android/server/testutils/StubTransaction.java +++ b/services/tests/servicestests/utils/com/android/server/testutils/StubTransaction.java @@ -30,8 +30,6 @@ import android.view.InputWindowHandle; import android.view.Surface; import android.view.SurfaceControl; -import com.android.server.testutils.StubTransaction; - import java.util.HashSet; import java.util.concurrent.Executor; @@ -262,6 +260,18 @@ public class StubTransaction extends SurfaceControl.Transaction { } @Override + public SurfaceControl.Transaction setFrameRateCategory(SurfaceControl sc, int category, + boolean smoothSwitchOnly) { + return this; + } + + @Override + public SurfaceControl.Transaction setFrameRateSelectionStrategy(SurfaceControl sc, + int strategy) { + return this; + } + + @Override public SurfaceControl.Transaction unsetColor(SurfaceControl sc) { return this; } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java index 8d7b5cb984b4..c156e376ce3e 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java @@ -43,6 +43,7 @@ import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED; import static android.app.NotificationManager.VISIBILITY_NO_OVERRIDE; import static android.media.AudioAttributes.CONTENT_TYPE_SONIFICATION; import static android.media.AudioAttributes.USAGE_NOTIFICATION; +import static android.os.UserHandle.USER_ALL; import static android.os.UserHandle.USER_SYSTEM; import static com.android.internal.config.sysui.SystemUiSystemPropertiesFlags.NotificationFlags.PROPAGATE_CHANNEL_UPDATES_TO_CONVERSATIONS; @@ -210,6 +211,8 @@ public class PreferencesHelperTest extends UiServiceTestCase { private NotificationManager.Policy mTestNotificationPolicy; private PreferencesHelper mHelper; + // fresh object for testing xml reading + private PreferencesHelper mXmlHelper; private AudioAttributes mAudioAttributes; private NotificationChannelLoggerFake mLogger = new NotificationChannelLoggerFake(); @@ -327,6 +330,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, false); + mXmlHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, + mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, + false); resetZenModeHelper(); mAudioAttributes = new AudioAttributes.Builder() @@ -372,7 +378,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { TypedXmlPullParser parser = Xml.newFastPullParser(); parser.setInput(new BufferedInputStream(new ByteArrayInputStream(byteArray)), null); parser.nextTag(); - mHelper.readXml(parser, forRestore, userId); + mXmlHelper.readXml(parser, forRestore, userId); } private void compareChannels(NotificationChannel expected, NotificationChannel actual) { @@ -477,10 +483,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, 0); loadStreamXml(baos, true, 10); - assertEquals( - channel10, - mHelper.getNotificationChannel(package10, uid10, channel10.getId(), false)); - assertNull(mHelper.getNotificationChannel(package0, uid0, channel0.getId(), false)); + assertEquals(channel10, + mXmlHelper.getNotificationChannel(package10, uid10, channel10.getId(), false)); + assertNull(mXmlHelper.getNotificationChannel(package0, uid0, channel0.getId(), false)); } @Test @@ -502,7 +507,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(package0, uid0, true, 0); // Reset state. - mHelper.onPackagesChanged(true, 0, new String[] {package0}, new int[] {uid0}); + mXmlHelper.onPackagesChanged(true, 0, new String[] {package0}, new int[] {uid0}); // Restore should convert the uid according to the target user. int expectedUid = 1001001; @@ -510,10 +515,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { // Parse backup data. loadStreamXml(baos, true, 10); - assertEquals( - channel0, - mHelper.getNotificationChannel(package0, expectedUid, channel0.getId(), false)); - assertNull(mHelper.getNotificationChannel(package0, uid0, channel0.getId(), false)); + assertEquals(channel0, + mXmlHelper.getNotificationChannel(package0, expectedUid, channel0.getId(), false)); + assertNull(mXmlHelper.getNotificationChannel(package0, uid0, channel0.getId(), false)); } @Test @@ -557,13 +561,13 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, false, UserHandle.USER_ALL); - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); assertEquals(channel1, - mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1.getId(), false)); + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1.getId(), false)); compareChannels(channel2, - mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel2.getId(), false)); + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel2.getId(), false)); - List<NotificationChannelGroup> actualGroups = mHelper.getNotificationChannelGroups( + List<NotificationChannelGroup> actualGroups = mXmlHelper.getNotificationChannelGroups( PKG_N_MR1, UID_N_MR1, false, true, false, true, null).getList(); boolean foundNcg = false; for (NotificationChannelGroup actual : actualGroups) { @@ -634,20 +638,20 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); - assertTrue(mHelper.hasSentInvalidMsg(PKG_P, UID_P)); - assertFalse(mHelper.hasSentInvalidMsg(PKG_N_MR1, UID_N_MR1)); - assertTrue(mHelper.hasSentValidMsg(PKG_P, UID_P)); - assertTrue(mHelper.didUserEverDemoteInvalidMsgApp(PKG_P, UID_P)); - assertTrue(mHelper.hasSentValidBubble(PKG_P, UID_P)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.hasSentInvalidMsg(PKG_P, UID_P)); + assertFalse(mXmlHelper.hasSentInvalidMsg(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.hasSentValidMsg(PKG_P, UID_P)); + assertTrue(mXmlHelper.didUserEverDemoteInvalidMsgApp(PKG_P, UID_P)); + assertTrue(mXmlHelper.hasSentValidBubble(PKG_P, UID_P)); assertEquals(channel1, - mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1.getId(), false)); + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel1.getId(), false)); compareChannels(channel2, - mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel2.getId(), false)); + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel2.getId(), false)); compareChannels(channel3, - mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel3.getId(), false)); + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, channel3.getId(), false)); - List<NotificationChannelGroup> actualGroups = mHelper.getNotificationChannelGroups( + List<NotificationChannelGroup> actualGroups = mXmlHelper.getNotificationChannelGroups( PKG_N_MR1, UID_N_MR1, false, true, false, true, null).getList(); boolean foundNcg = false; for (NotificationChannelGroup actual : actualGroups) { @@ -672,7 +676,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { @Test public void testReadXml_oldXml_migrates() throws Exception { - mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, + mXmlHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, /* showReviewPermissionsNotification= */ true); @@ -715,19 +719,13 @@ public class PreferencesHelperTest extends UiServiceTestCase { .setFlags(0) .build()); - // Notifications enabled, not user set - PackagePermission nMr1Expected = new PackagePermission(PKG_N_MR1, 0, true, false); - // Notifications not enabled, so user set - PackagePermission oExpected = new PackagePermission(PKG_O, 0, false, true); - // Notifications enabled, user set b/c channel modified - PackagePermission pExpected = new PackagePermission(PKG_P, 0, true, true); - // verify data - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); - assertEquals(idn, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); - compareChannels(ido, mHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); - compareChannels(idp, mHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); + assertEquals(idn, + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); + compareChannels(ido, mXmlHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); + compareChannels(idp, mXmlHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); // verify that we also write a state for review_permissions_notification to eventually // show a notification @@ -798,14 +796,14 @@ public class PreferencesHelperTest extends UiServiceTestCase { when(mPm.getPackageUidAsUser("pkg2", USER_SYSTEM)).thenReturn(12); when(mPm.getPackageUidAsUser("pkg3", USER_SYSTEM)).thenReturn(13); - mHelper.onPackagesChanged( + mXmlHelper.onPackagesChanged( false, 0, new String[]{"pkg1", "pkg2", "pkg3"}, new int[] {11, 12, 13}); - assertTrue(mHelper.canShowBadge("pkg1", 11)); + assertTrue(mXmlHelper.canShowBadge("pkg1", 11)); - assertEquals(idn, mHelper.getNotificationChannel("pkg1", 11, idn.getId(), false)); - compareChannels(ido, mHelper.getNotificationChannel("pkg2", 12, ido.getId(), false)); - compareChannels(idp, mHelper.getNotificationChannel("pkg3", 13, idp.getId(), false)); + assertEquals(idn, mXmlHelper.getNotificationChannel("pkg1", 11, idn.getId(), false)); + compareChannels(ido, mXmlHelper.getNotificationChannel("pkg2", 12, ido.getId(), false)); + compareChannels(idp, mXmlHelper.getNotificationChannel("pkg3", 13, idp.getId(), false)); verify(mPermissionHelper).setNotificationPermission(pkg1Expected); verify(mPermissionHelper).setNotificationPermission(pkg2Expected); @@ -814,7 +812,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { @Test public void testReadXml_newXml_noMigration_showPermissionNotification() throws Exception { - mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, + mXmlHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, /* showReviewPermissionsNotification= */ true); @@ -854,11 +852,12 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadByteArrayXml(xml.getBytes(), true, USER_SYSTEM); - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); - assertEquals(idn, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); - compareChannels(ido, mHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); - compareChannels(idp, mHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); + assertEquals(idn, + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); + compareChannels(ido, mXmlHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); + compareChannels(idp, mXmlHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); verify(mPermissionHelper, never()).setNotificationPermission(any()); @@ -912,11 +911,12 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadByteArrayXml(xml.getBytes(), true, USER_SYSTEM); - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); - assertEquals(idn, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); - compareChannels(ido, mHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); - compareChannels(idp, mHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); + assertEquals(idn, + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); + compareChannels(ido, mXmlHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); + compareChannels(idp, mXmlHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); verify(mPermissionHelper, never()).setNotificationPermission(any()); @@ -970,11 +970,12 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadByteArrayXml(xml.getBytes(), true, USER_SYSTEM); - assertTrue(mHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); + assertTrue(mXmlHelper.canShowBadge(PKG_N_MR1, UID_N_MR1)); - assertEquals(idn, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); - compareChannels(ido, mHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); - compareChannels(idp, mHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); + assertEquals(idn, + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, idn.getId(), false)); + compareChannels(ido, mXmlHelper.getNotificationChannel(PKG_O, UID_O, ido.getId(), false)); + compareChannels(idp, mXmlHelper.getNotificationChannel(PKG_P, UID_P, idp.getId(), false)); verify(mPermissionHelper, never()).setNotificationPermission(any()); @@ -1009,8 +1010,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { app.targetSdkVersion = Build.VERSION_CODES.N_MR1 + 1; when(mPm.getApplicationInfoAsUser(eq("something"), anyInt(), anyInt())).thenReturn(app); - mHelper.onPackagesChanged(false, 0, new String[] {"something"}, new int[] {1234}); - + mXmlHelper.onPackagesChanged(false, 0, new String[] {"something"}, new int[] {1234}); verify(mPermissionHelper, times(1)).setNotificationPermission(any()); } @@ -1038,8 +1038,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { app.targetSdkVersion = Build.VERSION_CODES.N_MR1 + 1; when(mPm.getApplicationInfoAsUser(eq("something"), anyInt(), anyInt())).thenReturn(app); - mHelper.onPackagesChanged(false, 0, new String[] {"something"}, new int[] {1234}); - + mXmlHelper.onPackagesChanged(false, 0, new String[] {"something"}, new int[] {1234}); verify(mPermissionHelper, never()).setNotificationPermission(any()); } @@ -1097,17 +1096,19 @@ public class PreferencesHelperTest extends UiServiceTestCase { String expected = "<ranking version=\"4\">\n" + "<package name=\"com.example.o\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" uid=\"1111\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\" uid=\"1111\">\n" + "<channel id=\"id\" name=\"name\" importance=\"2\" " + "sound=\"content://settings/system/notification_sound\" usage=\"5\" " + "content_type=\"4\" flags=\"0\" show_badge=\"true\" orig_imp=\"2\" />\n" + "</package>\n" + "<package name=\"com.example.p\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"true\" sent_valid_msg=\"true\"" - + " user_demote_msg_app=\"true\" uid=\"2222\" />\n" + + " user_demote_msg_app=\"true\" sent_valid_bubble=\"false\" uid=\"2222\" />\n" + "<package name=\"com.example.n_mr1\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" uid=\"0\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\" uid=\"0\">\n" + "<channelGroup id=\"1\" name=\"bye\" blocked=\"false\" locked=\"0\" />\n" + "<channelGroup id=\"2\" name=\"hello\" blocked=\"false\" locked=\"0\" />\n" + "<channel id=\"id1\" name=\"name1\" importance=\"4\" show_badge=\"true\" " @@ -1181,7 +1182,8 @@ public class PreferencesHelperTest extends UiServiceTestCase { // Importance 0 because off in permissionhelper + "<package name=\"com.example.o\" importance=\"0\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\">\n" + "<channel id=\"id\" name=\"name\" importance=\"2\" " + "sound=\"content://settings/system/notification_sound\" usage=\"5\" " + "content_type=\"4\" flags=\"0\" show_badge=\"true\" orig_imp=\"2\" />\n" @@ -1189,11 +1191,12 @@ public class PreferencesHelperTest extends UiServiceTestCase { // Importance default because on in permission helper + "<package name=\"com.example.p\" importance=\"3\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"true\" sent_valid_msg=\"true\"" - + " user_demote_msg_app=\"true\" />\n" + + " user_demote_msg_app=\"true\" sent_valid_bubble=\"false\" />\n" // Importance default because on in permission helper + "<package name=\"com.example.n_mr1\" importance=\"3\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\">\n" + "<channelGroup id=\"1\" name=\"bye\" blocked=\"false\" locked=\"0\" />\n" + "<channelGroup id=\"2\" name=\"hello\" blocked=\"false\" locked=\"0\" />\n" + "<channel id=\"id1\" name=\"name1\" importance=\"4\" show_badge=\"true\" " @@ -1266,7 +1269,8 @@ public class PreferencesHelperTest extends UiServiceTestCase { // Importance 0 because off in permissionhelper + "<package name=\"com.example.o\" importance=\"0\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\">\n" + "<channel id=\"id\" name=\"name\" importance=\"2\" " + "sound=\"content://settings/system/notification_sound\" usage=\"5\" " + "content_type=\"4\" flags=\"0\" show_badge=\"true\" orig_imp=\"2\" />\n" @@ -1274,11 +1278,12 @@ public class PreferencesHelperTest extends UiServiceTestCase { // Importance default because on in permission helper + "<package name=\"com.example.p\" importance=\"3\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"true\" sent_valid_msg=\"true\"" - + " user_demote_msg_app=\"true\" />\n" + + " user_demote_msg_app=\"true\" sent_valid_bubble=\"false\" />\n" // Importance missing because missing from permission helper + "<package name=\"com.example.n_mr1\" show_badge=\"true\" " + "app_user_locked_fields=\"0\" sent_invalid_msg=\"false\" " - + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\">\n" + + "sent_valid_msg=\"false\" user_demote_msg_app=\"false\" sent_valid_bubble" + + "=\"false\">\n" + "<channelGroup id=\"1\" name=\"bye\" blocked=\"false\" locked=\"0\" />\n" + "<channelGroup id=\"2\" name=\"hello\" blocked=\"false\" locked=\"0\" />\n" + "<channel id=\"id1\" name=\"name1\" importance=\"4\" show_badge=\"true\" " @@ -1365,7 +1370,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UID_N_MR1, channel.getId(), false); assertEquals(canonicalBasedOnLocal, actualChannel.getSound()); } @@ -1388,7 +1393,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UID_N_MR1, channel.getId(), false); assertEquals(Settings.System.DEFAULT_NOTIFICATION_URI, actualChannel.getSound()); } @@ -1426,7 +1431,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); // 1st restore pass fails - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UNKNOWN_UID, channel.getId(), false); // sound is CANONICAL_SOUND_URI, unchanged from backup assertEquals(CANONICAL_SOUND_URI, actualChannel.getSound()); @@ -1437,7 +1442,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { when(mPm.getPackageUidAsUser(PKG_N_MR1, USER_SYSTEM)).thenReturn(UID_N_MR1); // Trigger 2nd restore pass - mHelper.onPackagesChanged(false, USER_SYSTEM, new String[]{PKG_N_MR1}, + mXmlHelper.onPackagesChanged(false, USER_SYSTEM, new String[]{PKG_N_MR1}, new int[]{UID_N_MR1}); // sound is flagged as restored and set to default URI @@ -1469,7 +1474,8 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadByteArrayXml( backupWithUncanonicalizedSoundUri.getBytes(), true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, id, false); + NotificationChannel actualChannel = + mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, id, false); assertEquals(Settings.System.DEFAULT_NOTIFICATION_URI, actualChannel.getSound()); assertTrue(actualChannel.isSoundRestored()); @@ -1493,7 +1499,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UID_N_MR1, channel.getId(), false); assertEquals(null, actualChannel.getSound()); } @@ -1513,6 +1519,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { mHelper = new PreferencesHelper(mContext, mPm, mHandler, mMockZenModeHelper, mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, false); + mXmlHelper = new PreferencesHelper(mContext, mPm, mHandler, mMockZenModeHelper, + mPermissionHelper, mPermissionManager, mLogger, mAppOpsManager, mUserProfiles, + false); NotificationChannel channel = new NotificationChannel("id", "name", IMPORTANCE_LOW); @@ -1529,7 +1538,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UNKNOWN_UID, channel.getId(), false); // sound is ANDROID_RES_SOUND_URI, unchanged from backup assertEquals(ANDROID_RES_SOUND_URI, actualChannel.getSound()); @@ -1540,7 +1549,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { when(mPm.getPackageUidAsUser(PKG_N_MR1, USER_SYSTEM)).thenReturn(UID_N_MR1); // Trigger 2nd restore pass - mHelper.onPackagesChanged(false, USER_SYSTEM, new String[]{PKG_N_MR1}, + mXmlHelper.onPackagesChanged(false, USER_SYSTEM, new String[]{PKG_N_MR1}, new int[]{UID_N_MR1}); // sound is flagged as restored @@ -1560,7 +1569,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, true, USER_SYSTEM); - NotificationChannel actualChannel = mHelper.getNotificationChannel( + NotificationChannel actualChannel = mXmlHelper.getNotificationChannel( PKG_N_MR1, UID_N_MR1, channel.getId(), false); // sound is FILE_SOUND_URI, unchanged from backup assertEquals(FILE_SOUND_URI, actualChannel.getSound()); @@ -1624,7 +1633,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, false, UserHandle.USER_ALL); - final NotificationChannel updated = mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, + final NotificationChannel updated = mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, NotificationChannel.DEFAULT_CHANNEL_ID, false); assertEquals(NotificationManager.IMPORTANCE_UNSPECIFIED, updated.getImportance()); assertFalse(updated.canBypassDnd()); @@ -1646,8 +1655,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, false, UserHandle.USER_ALL); - assertEquals(NotificationManager.IMPORTANCE_LOW, mHelper.getNotificationChannel( - PKG_N_MR1, UID_N_MR1, NotificationChannel.DEFAULT_CHANNEL_ID, false).getImportance()); + assertEquals(NotificationManager.IMPORTANCE_LOW, mXmlHelper.getNotificationChannel( + PKG_N_MR1, UID_N_MR1, NotificationChannel.DEFAULT_CHANNEL_ID, false) + .getImportance()); } @Test @@ -1695,7 +1705,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, false, UserHandle.USER_ALL); // Default Channel should be gone. - assertEquals(null, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, + assertEquals(null, mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, NotificationChannel.DEFAULT_CHANNEL_ID, false)); } @@ -1714,7 +1724,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadStreamXml(baos, false, UserHandle.USER_ALL); // Default Channel should be gone. - assertEquals(null, mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, + assertEquals(null, mXmlHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, NotificationChannel.DEFAULT_CHANNEL_ID, false)); } @@ -1722,14 +1732,15 @@ public class PreferencesHelperTest extends UiServiceTestCase { public void testLoadingOldChannelsDoesNotDeleteNewlyCreatedChannels() throws Exception { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_N_MR1, UID_N_MR1, false, UserHandle.USER_ALL, NotificationChannel.DEFAULT_CHANNEL_ID, "bananas"); - mHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, + mXmlHelper.createNotificationChannel(PKG_N_MR1, UID_N_MR1, new NotificationChannel("bananas", "bananas", IMPORTANCE_LOW), true, false, UID_N_MR1, false); loadStreamXml(baos, false, UserHandle.USER_ALL); // Should still have the newly created channel that wasn't in the xml. - assertTrue(mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, "bananas", false) != null); + assertTrue(mXmlHelper.getNotificationChannel( + PKG_N_MR1, UID_N_MR1, "bananas", false) != null); } @Test @@ -3720,18 +3731,40 @@ public class PreferencesHelperTest extends UiServiceTestCase { loadByteArrayXml(preQXml.getBytes(), true, USER_SYSTEM); assertEquals(PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS, - mHelper.shouldHideSilentStatusIcons()); + mXmlHelper.shouldHideSilentStatusIcons()); } @Test public void testXml_statusBarIcons() throws Exception { mHelper.setHideSilentStatusIcons(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS); - ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); + ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_SYSTEM); loadStreamXml(baos, false, UserHandle.USER_ALL); assertEquals(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS, - mHelper.shouldHideSilentStatusIcons()); + mXmlHelper.shouldHideSilentStatusIcons()); + } + + @Test + public void testXml_statusBarIcons_restore() throws Exception { + mHelper.setHideSilentStatusIcons(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS); + + ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_SYSTEM); + loadStreamXml(baos, true, USER_SYSTEM); + + assertEquals(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS, + mXmlHelper.shouldHideSilentStatusIcons()); + } + + @Test + public void testXml_statusBarIcons_restoreSecondary() throws Exception { + mHelper.setHideSilentStatusIcons(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS); + + ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); + loadStreamXml(baos, true, USER_ALL); + + assertEquals(PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS, + mXmlHelper.shouldHideSilentStatusIcons()); } @Test @@ -3797,7 +3830,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); loadStreamXml(baos, false, UserHandle.USER_ALL); - assertNull(mHelper.getNotificationDelegate(PKG_O, UID_O)); + assertNull(mXmlHelper.getNotificationDelegate(PKG_O, UID_O)); } @Test @@ -3807,7 +3840,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); loadStreamXml(baos, false, UserHandle.USER_ALL); - assertEquals("other", mHelper.getNotificationDelegate(PKG_O, UID_O)); + assertEquals("other", mXmlHelper.getNotificationDelegate(PKG_O, UID_O)); } @Test @@ -3818,10 +3851,10 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); loadStreamXml(baos, false, UserHandle.USER_ALL); - assertNull(mHelper.getNotificationDelegate(PKG_O, UID_O)); + assertNull(mXmlHelper.getNotificationDelegate(PKG_O, UID_O)); - mHelper.setNotificationDelegate(PKG_O, UID_O, "other", 53); - assertEquals("other", mHelper.getNotificationDelegate(PKG_O, UID_O)); + mXmlHelper.setNotificationDelegate(PKG_O, UID_O, "other", 53); + assertEquals("other", mXmlHelper.getNotificationDelegate(PKG_O, UID_O)); } @Test @@ -3831,8 +3864,8 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); loadStreamXml(baos, false, UserHandle.USER_ALL); - assertEquals(BUBBLE_PREFERENCE_NONE, mHelper.getBubblePreference(PKG_O, UID_O)); - assertEquals(0, mHelper.getAppLockedFields(PKG_O, UID_O)); + assertEquals(BUBBLE_PREFERENCE_NONE, mXmlHelper.getBubblePreference(PKG_O, UID_O)); + assertEquals(0, mXmlHelper.getAppLockedFields(PKG_O, UID_O)); } @Test @@ -3886,7 +3919,7 @@ public class PreferencesHelperTest extends UiServiceTestCase { assertEquals(BUBBLE_PREFERENCE_SELECTED, mHelper.getBubblePreference(PKG_O, UID_O)); assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE, - mHelper.getAppLockedFields(PKG_O, UID_O)); + mXmlHelper.getAppLockedFields(PKG_O, UID_O)); } @Test @@ -3901,10 +3934,10 @@ public class PreferencesHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream(new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mHelper.readXml(parser, false, UserHandle.USER_ALL); + mXmlHelper.readXml(parser, false, UserHandle.USER_ALL); assertEquals(DEFAULT_BUBBLE_PREFERENCE, mHelper.getBubblePreference(PKG_O, UID_O)); - assertEquals(0, mHelper.getAppLockedFields(PKG_O, UID_O)); + assertEquals(0, mXmlHelper.getAppLockedFields(PKG_O, UID_O)); verify(mAppOpsManager, never()).noteOpNoThrow(eq(OP_SYSTEM_ALERT_WINDOW), anyInt(), anyString(), eq(null), anyString()); } @@ -3919,9 +3952,9 @@ public class PreferencesHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL); loadStreamXml(baos, false, UserHandle.USER_ALL); - assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_NONE); + assertEquals(mXmlHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_NONE); assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE, - mHelper.getAppLockedFields(PKG_O, UID_O)); + mXmlHelper.getAppLockedFields(PKG_O, UID_O)); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index bdbfb7ad80df..17367ef4c072 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -125,6 +125,7 @@ import android.app.servertransaction.ActivityConfigurationChangeItem; import android.app.servertransaction.ClientTransaction; import android.app.servertransaction.DestroyActivityItem; import android.app.servertransaction.PauseActivityItem; +import android.app.servertransaction.WindowStateResizeItem; import android.content.ComponentName; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -3341,6 +3342,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Simulate switching to app2 to make it visible to be IME targets. spyOn(app2); spyOn(app2.mClient); + spyOn(app2.getProcess()); ArgumentCaptor<InsetsState> insetsStateCaptor = ArgumentCaptor.forClass(InsetsState.class); doReturn(true).when(app2).isReadyToDispatchInsetsState(); mDisplayContent.setImeLayeringTarget(app2); @@ -3351,9 +3353,15 @@ public class ActivityRecordTests extends WindowTestsBase { // Verify after unfreezing app2's IME insets state, we won't dispatch visible IME insets // to client if the app didn't request IME visible. assertFalse(app2.mActivityRecord.mImeInsetsFrozenUntilStartInput); - verify(app2.mClient, atLeastOnce()).resized(any(), anyBoolean(), any(), - insetsStateCaptor.capture(), anyBoolean(), anyBoolean(), anyInt(), anyInt(), - anyBoolean()); + + if (mWm.mFlags.mWindowStateResizeItemFlag) { + verify(app2.getProcess()).scheduleClientTransactionItem( + isA(WindowStateResizeItem.class)); + } else { + verify(app2.mClient, atLeastOnce()).resized(any(), anyBoolean(), any(), + insetsStateCaptor.capture(), anyBoolean(), anyBoolean(), anyInt(), anyInt(), + anyBoolean()); + } assertFalse(app2.getInsetsState().isSourceOrDefaultVisible(ID_IME, ime())); } diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java index c2b7fec4ff66..6d67c8b7c7a4 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java @@ -139,6 +139,7 @@ import android.window.DisplayAreaInfo; import android.window.IDisplayAreaOrganizer; import android.window.ScreenCapture; import android.window.WindowContainerToken; +import android.window.WindowContainerTransaction; import androidx.test.filters.SmallTest; @@ -2013,6 +2014,53 @@ public class DisplayContentTests extends WindowTestsBase { } @Test + public void testRemoteDisplayChange() { + mWm.mDisplayChangeController = mock(IDisplayChangeWindowController.class); + final Boolean[] isWaitingForRemote = new Boolean[2]; + final var callbacks = new RemoteDisplayChangeController.ContinueRemoteDisplayChangeCallback[ + isWaitingForRemote.length]; + for (int i = 0; i < isWaitingForRemote.length; i++) { + final int index = i; + var callback = new RemoteDisplayChangeController.ContinueRemoteDisplayChangeCallback() { + @Override + public void onContinueRemoteDisplayChange(WindowContainerTransaction transaction) { + isWaitingForRemote[index] = + mDisplayContent.mRemoteDisplayChangeController + .isWaitingForRemoteDisplayChange(); + } + }; + mDisplayContent.mRemoteDisplayChangeController.performRemoteDisplayChange( + ROTATION_0, ROTATION_0, null /* newDisplayAreaInfo */, callback); + callbacks[i] = callback; + } + + // The last callback is completed, all callbacks should be notified. + mDisplayContent.mRemoteDisplayChangeController.continueDisplayChange(callbacks[1], + null /* transaction */); + // When notifying 0, the callback 1 still exists. + assertTrue(isWaitingForRemote[0]); + assertFalse(isWaitingForRemote[1]); + + // The first callback is completed, other callbacks after it should remain. + for (int i = 0; i < isWaitingForRemote.length; i++) { + isWaitingForRemote[i] = null; + mDisplayContent.mRemoteDisplayChangeController.performRemoteDisplayChange( + ROTATION_0, ROTATION_0, null /* newDisplayAreaInfo */, callbacks[i]); + } + mDisplayContent.mRemoteDisplayChangeController.continueDisplayChange(callbacks[0], + null /* transaction */); + assertTrue(isWaitingForRemote[0]); + assertNull(isWaitingForRemote[1]); + + // Complete the last callback. It should be able to consume pending config change. + mDisplayContent.mWaitingForConfig = true; + mDisplayContent.mRemoteDisplayChangeController.continueDisplayChange(callbacks[1], + null /* transaction */); + assertFalse(isWaitingForRemote[1]); + assertFalse(mDisplayContent.mWaitingForConfig); + } + + @Test public void testShellTransitRotation() { DisplayContent dc = createNewDisplay(); dc.setLastHasContent(); diff --git a/services/tests/wmtests/src/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncherTest.java b/services/tests/wmtests/src/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncherTest.java index cc8dab99c818..08e63963c88f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncherTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/PhysicalDisplaySwitchTransitionLauncherTest.java @@ -34,6 +34,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.animation.ValueAnimator; +import android.annotation.Nullable; import android.content.Context; import android.content.res.Resources; import android.graphics.Rect; @@ -61,8 +62,7 @@ import org.mockito.MockitoAnnotations; */ @SmallTest @Presubmit -@RunWith(WindowTestRunner.class) -public class PhysicalDisplaySwitchTransitionLauncherTest extends WindowTestsBase { +public class PhysicalDisplaySwitchTransitionLauncherTest { @Mock DisplayContent mDisplayContent; @@ -73,6 +73,8 @@ public class PhysicalDisplaySwitchTransitionLauncherTest extends WindowTestsBase @Mock ActivityTaskManagerService mActivityTaskManagerService; @Mock + BLASTSyncEngine mSyncEngine; + @Mock TransitionController mTransitionController; private PhysicalDisplaySwitchTransitionLauncher mTarget; @@ -217,6 +219,20 @@ public class PhysicalDisplaySwitchTransitionLauncherTest extends WindowTestsBase } @Test + public void testDisplaySwitchAfterUnfolding_otherCollectingTransition_collectsDisplaySwitch() { + givenCollectingTransition(createTransition(TRANSIT_CHANGE)); + givenAllAnimationsEnabled(); + mTarget.foldStateChanged(FOLDED); + + mTarget.foldStateChanged(OPEN); + requestDisplaySwitch(); + + // Collects to the current transition + verify(mTransitionController).collect(mDisplayContent); + } + + + @Test public void testDisplaySwitch_whenNoContentInDisplayContent_noTransition() { givenAllAnimationsEnabled(); givenDisplayContentHasContent(false); @@ -267,6 +283,15 @@ public class PhysicalDisplaySwitchTransitionLauncherTest extends WindowTestsBase when(mTransitionController.isShellTransitionsEnabled()).thenReturn(enabled); } + private void givenCollectingTransition(@Nullable Transition transition) { + when(mTransitionController.isCollecting()).thenReturn(transition != null); + when(mTransitionController.getCollectingTransition()).thenReturn(transition); + } + + private Transition createTransition(int type) { + return new Transition(type, /* flags= */ 0, mTransitionController, mSyncEngine); + } + private void givenDisplayContentHasContent(boolean hasContent) { when(mDisplayContent.getLastHasContent()).thenReturn(hasContent); } diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java index 6235b3b67145..c57b05130e77 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java @@ -1742,6 +1742,7 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { private void testApplyTransaction_reorder_failsIfNotSystemOrganizer_common( @TaskFragmentOperation.OperationType int opType) { final Task task = createTask(mDisplayContent); + doNothing().when(task).sendTaskFragmentParentInfoChangedIfNeeded(); // Create a non-embedded Activity at the bottom. final ActivityRecord bottomActivity = new ActivityBuilder(mAtm) .setTask(task) @@ -1934,7 +1935,7 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { /** Setups the mock Task as the parent of the given TaskFragment. */ private static void setupMockParent(TaskFragment taskFragment, Task mockParent) { doReturn(mockParent).when(taskFragment).getTask(); - doReturn(new TaskFragmentParentInfo(new Configuration(), DEFAULT_DISPLAY, true)) + doReturn(new TaskFragmentParentInfo(new Configuration(), DEFAULT_DISPLAY, true, true)) .when(mockParent).getTaskFragmentParentInfo(); // Task needs to be visible diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java index 0c580697bc4a..435a8357dabb 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java @@ -1568,6 +1568,7 @@ public class TaskTests extends WindowTestsBase { final TaskFragment fragment = createTaskFragmentWithEmbeddedActivity(task, organizer); final ActivityRecord embeddedActivity = fragment.getTopMostActivity(); + doNothing().when(task).sendTaskFragmentParentInfoChangedIfNeeded(); task.moveActivityToFront(activity); assertEquals("Activity must be moved to front", activity, task.getTopMostActivity()); diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java index 47730237f675..1aa34eebbbb3 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -1439,6 +1439,7 @@ public class TransitionTests extends WindowTestsBase { activity1.setVisibleRequested(true); activity1.setVisible(true); activity2.setVisibleRequested(false); + activity1.setState(ActivityRecord.State.RESUMED, "test"); // Using abort to force-finish the sync (since we can't wait for drawing in unit test). // We didn't call abort on the transition itself, so it will still run onTransactionReady @@ -1517,6 +1518,8 @@ public class TransitionTests extends WindowTestsBase { // Make sure activity1 visibility was committed assertFalse(activity1.isVisible()); assertFalse(activity1.app.hasActivityInVisibleTask()); + // Make sure the userLeaving is true and the resuming activity is given, + verify(task1).startPausing(eq(true), anyBoolean(), eq(activity2), any()); verify(taskSnapshotController, times(1)).recordSnapshot(eq(task1)); assertTrue(enteringAnimReports.contains(activity2)); @@ -2438,41 +2441,36 @@ public class TransitionTests extends WindowTestsBase { @Test public void testTransitionsTriggerPerformanceHints() { - assumeTrue(explicitRefreshRateHints()); - SystemPerformanceHinter systemPerformanceHinter = mock(SystemPerformanceHinter.class); - final TransitionController controller = new TestTransitionController(mAtm); + final boolean explicitRefreshRateHints = explicitRefreshRateHints(); + final var session = new SystemPerformanceHinter.HighPerfSession[1]; + if (explicitRefreshRateHints) { + final SystemPerformanceHinter perfHinter = mWm.mSystemPerformanceHinter; + spyOn(perfHinter); + doAnswer(invocation -> { + session[0] = (SystemPerformanceHinter.HighPerfSession) invocation.callRealMethod(); + return session[0]; + }).when(perfHinter).createSession(anyInt(), anyInt(), anyString()); + } + final TransitionController controller = mDisplayContent.mTransitionController; final TestTransitionPlayer player = registerTestTransitionPlayer(); - - mSyncEngine = createTestBLASTSyncEngine(); - controller.setSyncEngine(mSyncEngine); - controller.setSystemPerformanceHinter(systemPerformanceHinter); - SystemPerformanceHinter.HighPerfSession session = mock( - SystemPerformanceHinter.HighPerfSession.class); - doReturn(session).when(systemPerformanceHinter).startSession(anyInt(), anyInt(), - anyString()); - + final ActivityRecord app = new ActivityBuilder(mAtm).setCreateTask(true).build(); final Transition transitA = createTestTransition(TRANSIT_OPEN, controller); - final Task task = createTask(mDisplayContent, - WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD); - final ActivityRecord act = createActivityRecord(task); - act.setVisibleRequested(true); - act.setVisible(true); - - controller.startCollectOrQueue(transitA, (deferred) -> { - }); - transitA.collect(act); - - verify(systemPerformanceHinter).startSession( - eq(SystemPerformanceHinter.HINT_SF), anyInt(), eq("Transition collected")); + controller.moveToCollecting(transitA); + transitA.collectExistenceChange(app); + controller.requestStartTransition(transitA, app.getTask(), + null /* remoteTransition */, null /* displayChange */); + player.start(); - transitA.start(); - transitA.setAllReady(); + verify(mDisplayContent).enableHighPerfTransition(true); + if (explicitRefreshRateHints) { + verify(session[0]).start(); + } - // Aborting here doesn't abort the transition, it aborts the sync allowing the transition to - // finish successfully. - mSyncEngine.abort(transitA.getSyncId()); - controller.finishTransition(transitA); - verify(session).close(); + player.finish(); + verify(mDisplayContent).enableHighPerfTransition(false); + if (explicitRefreshRateHints) { + verify(session[0]).close(); + } } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java index a82459fc1baa..55a00fc0ec89 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java @@ -293,6 +293,7 @@ public class WindowContainerTests extends WindowTestsBase { public void testRemoveImmediatelyClearsLeash() { final AnimationAdapter animAdapter = mock(AnimationAdapter.class); final WindowToken token = createTestWindowToken(TYPE_APPLICATION_OVERLAY, mDisplayContent); + mWm.mAnimator.ready(); final SurfaceControl.Transaction t = token.getPendingTransaction(); token.startAnimation(t, animAdapter, false /* hidden */, SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION); @@ -300,9 +301,14 @@ public class WindowContainerTests extends WindowTestsBase { ArgumentCaptor.forClass(SurfaceControl.class); verify(animAdapter).startAnimation(leashCaptor.capture(), eq(t), anyInt(), any()); assertTrue(token.mSurfaceAnimator.hasLeash()); + waitUntilWindowAnimatorIdle(); + verify(mDisplayContent).enableHighFrameRate(true); + token.removeImmediately(); assertFalse(token.mSurfaceAnimator.hasLeash()); verify(t).remove(eq(leashCaptor.getValue())); + waitUntilWindowAnimatorIdle(); + verify(mDisplayContent).enableHighFrameRate(false); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java index cd3fef6b6fdb..699580a6536d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java @@ -101,6 +101,7 @@ import org.mockito.ArgumentCaptor; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.function.BiConsumer; /** * Test class for {@link ITaskOrganizer} and {@link android.window.ITaskOrganizerController}. @@ -583,7 +584,7 @@ public class WindowOrganizerTests extends WindowTestsBase { } @Test - public void testTaskFragmentHiddenAndFocusableChanges() { + public void testTaskFragmentHiddenFocusableTranslucentChanges() { removeGlobalMinSizeRestriction(); final Task rootTask = new TaskBuilder(mSupervisor).setCreateActivity(true) .setWindowingMode(WINDOWING_MODE_FULLSCREEN).build(); @@ -605,10 +606,12 @@ public class WindowOrganizerTests extends WindowTestsBase { assertTrue(taskFragment.shouldBeVisible(null)); assertTrue(taskFragment.isFocusable()); assertTrue(taskFragment.isTopActivityFocusable()); + assertFalse(taskFragment.isForceTranslucent()); // Apply transaction to the TaskFragment hidden and not focusable. t.setHidden(taskFragment.mRemoteToken.toWindowContainerToken(), true); t.setFocusable(taskFragment.mRemoteToken.toWindowContainerToken(), false); + t.setForceTranslucent(taskFragment.mRemoteToken.toWindowContainerToken(), true); mWm.mAtmService.mWindowOrganizerController.applyTaskFragmentTransactionLocked( t, TaskFragmentOrganizer.TASK_FRAGMENT_TRANSIT_CHANGE, false /* shouldApplyIndependently */); @@ -617,10 +620,12 @@ public class WindowOrganizerTests extends WindowTestsBase { assertFalse(taskFragment.shouldBeVisible(null)); assertFalse(taskFragment.isFocusable()); assertFalse(taskFragment.isTopActivityFocusable()); + assertTrue(taskFragment.isForceTranslucent()); // Apply transaction to the TaskFragment not hidden and focusable. t.setHidden(taskFragment.mRemoteToken.toWindowContainerToken(), false); t.setFocusable(taskFragment.mRemoteToken.toWindowContainerToken(), true); + t.setForceTranslucent(taskFragment.mRemoteToken.toWindowContainerToken(), false); mWm.mAtmService.mWindowOrganizerController.applyTaskFragmentTransactionLocked( t, TaskFragmentOrganizer.TASK_FRAGMENT_TRANSIT_CHANGE, false /* shouldApplyIndependently */); @@ -629,10 +634,32 @@ public class WindowOrganizerTests extends WindowTestsBase { assertTrue(taskFragment.shouldBeVisible(null)); assertTrue(taskFragment.isFocusable()); assertTrue(taskFragment.isTopActivityFocusable()); + assertFalse(taskFragment.isForceTranslucent()); } @Test - public void testTaskFragmentHiddenAndFocusableChanges_throwsWhenNotSystemOrganizer() { + public void testTaskFragmentChangeHidden_throwsWhenNotSystemOrganizer() { + // Non-system organizers are not allow to update the hidden state. + testTaskFragmentChangesWithoutSystemOrganizerThrowException( + (t, windowContainerToken) -> t.setHidden(windowContainerToken, true)); + } + + @Test + public void testTaskFragmentChangeFocusable_throwsWhenNotSystemOrganizer() { + // Non-system organizers are not allow to update the focusable state. + testTaskFragmentChangesWithoutSystemOrganizerThrowException( + (t, windowContainerToken) -> t.setFocusable(windowContainerToken, false)); + } + + @Test + public void testTaskFragmentChangeTranslucent_throwsWhenNotSystemOrganizer() { + // Non-system organizers are not allow to update the translucent state. + testTaskFragmentChangesWithoutSystemOrganizerThrowException( + (t, windowContainerToken) -> t.setForceTranslucent(windowContainerToken, true)); + } + + private void testTaskFragmentChangesWithoutSystemOrganizerThrowException( + BiConsumer<WindowContainerTransaction, WindowContainerToken> addOp) { removeGlobalMinSizeRestriction(); final Task rootTask = new TaskBuilder(mSupervisor).setCreateActivity(true) .setWindowingMode(WINDOWING_MODE_FULLSCREEN).build(); @@ -641,21 +668,15 @@ public class WindowOrganizerTests extends WindowTestsBase { final TaskFragmentOrganizer organizer = createTaskFragmentOrganizer(t, false /* isSystemOrganizer */); - final IBinder token = new Binder(); final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm) .setParentTask(rootTask) - .setFragmentToken(token) + .setFragmentToken(new Binder()) .setOrganizer(organizer) .createActivityCount(1) .build(); - assertTrue(rootTask.shouldBeVisible(null)); - assertTrue(taskFragment.shouldBeVisible(null)); - - t.setHidden(taskFragment.mRemoteToken.toWindowContainerToken(), true); - t.setFocusable(taskFragment.mRemoteToken.toWindowContainerToken(), false); + addOp.accept(t, taskFragment.mRemoteToken.toWindowContainerToken()); - // Non-system organizers are not allow to update the hidden and focusable states. assertThrows(SecurityException.class, () -> mWm.mAtmService.mWindowOrganizerController.applyTaskFragmentTransactionLocked( t, TaskFragmentOrganizer.TASK_FRAGMENT_TRANSIT_CHANGE, diff --git a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java index 3ec6f425a37a..973ab846fa4a 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java @@ -448,7 +448,6 @@ public class ZOrderingTests extends WindowTestsBase { mDisplayContent.updateImeParent(); // Ime should on top of the popup IME layering target window. - mDisplayContent.assignChildLayers(mTransaction); assertWindowHigher(mImeWindow, popupImeTargetWin); } diff --git a/telephony/java/android/telephony/ims/ImsCallSession.java b/telephony/java/android/telephony/ims/ImsCallSession.java index ecd703960d08..d30078d9cd97 100755 --- a/telephony/java/android/telephony/ims/ImsCallSession.java +++ b/telephony/java/android/telephony/ims/ImsCallSession.java @@ -29,6 +29,7 @@ import android.util.Log; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsVideoCallProvider; +import com.android.internal.telephony.flags.Flags; import com.android.internal.telephony.util.TelephonyUtils; import java.util.ArrayList; @@ -545,6 +546,11 @@ public class ImsCallSession { try { iSession.setListener(mIImsCallSessionListenerProxy); } catch (RemoteException e) { + if (Flags.ignoreAlreadyTerminatedIncomingCallBeforeRegisteringListener()) { + // Registering listener failed, so other operations are not allowed. + Log.e(TAG, "ImsCallSession : " + e); + mClosed = true; + } } } else { mClosed = true; diff --git a/tests/notification/Android.bp b/tests/notification/Android.bp deleted file mode 100644 index 1c1b5a231e86..000000000000 --- a/tests/notification/Android.bp +++ /dev/null @@ -1,16 +0,0 @@ -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_test { - name: "NotificationTests", - // Include all test java files. - srcs: ["src/**/*.java"], - libs: ["android.test.runner.stubs"], - sdk_version: "21", -} diff --git a/tests/notification/AndroidManifest.xml b/tests/notification/AndroidManifest.xml deleted file mode 100644 index 7cee00a72781..000000000000 --- a/tests/notification/AndroidManifest.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.frameworks.tests.notification" - > - <application> - <uses-library android:name="android.test.runner" /> - </application> - - <instrumentation - android:name="android.test.InstrumentationTestRunner" - android:targetPackage="com.android.frameworks.tests.notification" - android:label="Frameworks Notification Tests" /> -</manifest> diff --git a/tests/notification/OWNERS b/tests/notification/OWNERS deleted file mode 100644 index 396fd1213aca..000000000000 --- a/tests/notification/OWNERS +++ /dev/null @@ -1 +0,0 @@ -include /services/core/java/com/android/server/notification/OWNERS diff --git a/tests/notification/res/drawable-nodpi/arubin_hed.jpeg b/tests/notification/res/drawable-nodpi/arubin_hed.jpeg Binary files differdeleted file mode 100644 index c6d8ae96485b..000000000000 --- a/tests/notification/res/drawable-nodpi/arubin_hed.jpeg +++ /dev/null diff --git a/tests/notification/res/drawable-nodpi/bucket.png b/tests/notification/res/drawable-nodpi/bucket.png Binary files differdeleted file mode 100644 index c8656493dec9..000000000000 --- a/tests/notification/res/drawable-nodpi/bucket.png +++ /dev/null diff --git a/tests/notification/res/drawable-nodpi/matias_hed.jpg b/tests/notification/res/drawable-nodpi/matias_hed.jpg Binary files differdeleted file mode 100644 index 8cc3081359f7..000000000000 --- a/tests/notification/res/drawable-nodpi/matias_hed.jpg +++ /dev/null diff --git a/tests/notification/res/drawable-nodpi/page_hed.jpg b/tests/notification/res/drawable-nodpi/page_hed.jpg Binary files differdeleted file mode 100644 index ea950c8bdb25..000000000000 --- a/tests/notification/res/drawable-nodpi/page_hed.jpg +++ /dev/null diff --git a/tests/notification/res/drawable-nodpi/romainguy_hed.jpg b/tests/notification/res/drawable-nodpi/romainguy_hed.jpg Binary files differdeleted file mode 100644 index 5b7643eb9063..000000000000 --- a/tests/notification/res/drawable-nodpi/romainguy_hed.jpg +++ /dev/null diff --git a/tests/notification/res/drawable-nodpi/romainguy_rockaway.jpg b/tests/notification/res/drawable-nodpi/romainguy_rockaway.jpg Binary files differdeleted file mode 100644 index 68473ba6c962..000000000000 --- a/tests/notification/res/drawable-nodpi/romainguy_rockaway.jpg +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/add.png b/tests/notification/res/drawable-xhdpi/add.png Binary files differdeleted file mode 100644 index 7226b3d8b40c..000000000000 --- a/tests/notification/res/drawable-xhdpi/add.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/ic_dial_action_call.png b/tests/notification/res/drawable-xhdpi/ic_dial_action_call.png Binary files differdeleted file mode 100644 index ca20a917be3d..000000000000 --- a/tests/notification/res/drawable-xhdpi/ic_dial_action_call.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/ic_end_call.png b/tests/notification/res/drawable-xhdpi/ic_end_call.png Binary files differdeleted file mode 100644 index c464a6dc5f6f..000000000000 --- a/tests/notification/res/drawable-xhdpi/ic_end_call.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/ic_media_next.png b/tests/notification/res/drawable-xhdpi/ic_media_next.png Binary files differdeleted file mode 100644 index 4def965cec24..000000000000 --- a/tests/notification/res/drawable-xhdpi/ic_media_next.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/ic_menu_upload.png b/tests/notification/res/drawable-xhdpi/ic_menu_upload.png Binary files differdeleted file mode 100644 index f1438ed66858..000000000000 --- a/tests/notification/res/drawable-xhdpi/ic_menu_upload.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/icon.png b/tests/notification/res/drawable-xhdpi/icon.png Binary files differdeleted file mode 100644 index 189e85b5d4f6..000000000000 --- a/tests/notification/res/drawable-xhdpi/icon.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_alarm.png b/tests/notification/res/drawable-xhdpi/stat_notify_alarm.png Binary files differdeleted file mode 100644 index 658d04feabf9..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_alarm.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_calendar.png b/tests/notification/res/drawable-xhdpi/stat_notify_calendar.png Binary files differdeleted file mode 100644 index 5ae7782d5d5e..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_calendar.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_email.png b/tests/notification/res/drawable-xhdpi/stat_notify_email.png Binary files differdeleted file mode 100644 index 23c4672e8d18..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_email.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_missed_call.png b/tests/notification/res/drawable-xhdpi/stat_notify_missed_call.png Binary files differdeleted file mode 100644 index 8719eff5ae1a..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_missed_call.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_sms.png b/tests/notification/res/drawable-xhdpi/stat_notify_sms.png Binary files differdeleted file mode 100644 index 323cb3df46f9..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_sms.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_snooze.png b/tests/notification/res/drawable-xhdpi/stat_notify_snooze.png Binary files differdeleted file mode 100644 index 26dcda358bf8..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_snooze.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_snooze_longer.png b/tests/notification/res/drawable-xhdpi/stat_notify_snooze_longer.png Binary files differdeleted file mode 100644 index b8b2f8ad1044..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_snooze_longer.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_notify_talk_text.png b/tests/notification/res/drawable-xhdpi/stat_notify_talk_text.png Binary files differdeleted file mode 100644 index 12cae9f110b9..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_notify_talk_text.png +++ /dev/null diff --git a/tests/notification/res/drawable-xhdpi/stat_sys_phone_call.png b/tests/notification/res/drawable-xhdpi/stat_sys_phone_call.png Binary files differdeleted file mode 100644 index db42b7cd969f..000000000000 --- a/tests/notification/res/drawable-xhdpi/stat_sys_phone_call.png +++ /dev/null diff --git a/tests/notification/res/layout/full_screen.xml b/tests/notification/res/layout/full_screen.xml deleted file mode 100644 index 6ff75525d7a1..000000000000 --- a/tests/notification/res/layout/full_screen.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ImageView - android:layout_height="match_parent" - android:layout_width="match_parent" - android:src="@drawable/page_hed" - android:onClick="dismiss" - /> -</FrameLayout>
\ No newline at end of file diff --git a/tests/notification/res/layout/main.xml b/tests/notification/res/layout/main.xml deleted file mode 100644 index f5a740f50bd1..000000000000 --- a/tests/notification/res/layout/main.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - > - <LinearLayout android:id="@+id/linearLayout1" android:orientation="vertical" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_width="match_parent" android:layout_margin="35dp"> - <Button android:id="@+id/button1" android:text="@string/post_button_label" android:layout_height="wrap_content" android:layout_width="match_parent" android:onClick="doPost"></Button> - <Button android:id="@+id/button2" android:text="@string/remove_button_label" android:layout_height="wrap_content" android:layout_width="match_parent" android:onClick="doRemove"></Button> - </LinearLayout> -</FrameLayout> diff --git a/tests/notification/res/values/dimens.xml b/tests/notification/res/values/dimens.xml deleted file mode 100644 index 21e7bc3f1ef2..000000000000 --- a/tests/notification/res/values/dimens.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -** Copyright 2012, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> -<resources> - <!-- The width of the big icons in notifications. --> - <dimen name="notification_large_icon_width">64dp</dimen> - <!-- The width of the big icons in notifications. --> - <dimen name="notification_large_icon_height">64dp</dimen> -</resources> diff --git a/tests/notification/res/values/strings.xml b/tests/notification/res/values/strings.xml deleted file mode 100644 index 80bf10326f7a..000000000000 --- a/tests/notification/res/values/strings.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <string name="hello">Hello World, NotificationShowcaseActivity!</string> - <string name="app_name">NotificationShowcase</string> - <string name="post_button_label">Post Notifications</string> - <string name="remove_button_label">Remove Notifications</string> - <string name="answered">call answered</string> - <string name="ignored">call ignored</string> - <string name="full_screen_name">Full Screen Activity</string> -</resources> diff --git a/tests/notification/src/com/android/frameworks/tests/notification/NotificationTests.java b/tests/notification/src/com/android/frameworks/tests/notification/NotificationTests.java deleted file mode 100644 index 5d639f6f6266..000000000000 --- a/tests/notification/src/com/android/frameworks/tests/notification/NotificationTests.java +++ /dev/null @@ -1,494 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.app; - -import android.content.ContentResolver; -import android.content.Context; -import android.content.Intent; -import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Typeface; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.os.Parcel; -import android.os.SystemClock; -import android.provider.ContactsContract; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.Suppress; -import android.text.SpannableStringBuilder; -import android.text.TextUtils; -import android.text.style.StyleSpan; -import android.util.Log; -import android.view.View; -import android.widget.Toast; - -import java.lang.reflect.Method; -import java.lang.InterruptedException; -import java.lang.NoSuchMethodError; -import java.lang.NoSuchMethodException; -import java.util.ArrayList; - -import com.android.frameworks.tests.notification.R; - -public class NotificationTests extends AndroidTestCase { - private static final String TAG = "NOTEST"; - public static void L(String msg, Object... args) { - Log.v(TAG, (args == null || args.length == 0) ? msg : String.format(msg, args)); - } - - public static final String ACTION_CREATE = "create"; - public static final int NOTIFICATION_ID = 31338; - - public static final boolean SHOW_PHONE_CALL = false; - public static final boolean SHOW_INBOX = true; - public static final boolean SHOW_BIG_TEXT = true; - public static final boolean SHOW_BIG_PICTURE = true; - public static final boolean SHOW_MEDIA = true; - public static final boolean SHOW_STOPWATCH = false; - public static final boolean SHOW_SOCIAL = false; - public static final boolean SHOW_CALENDAR = false; - public static final boolean SHOW_PROGRESS = false; - - private static Bitmap getBitmap(Context context, int resId) { - int largeIconWidth = (int) context.getResources() - .getDimension(R.dimen.notification_large_icon_width); - int largeIconHeight = (int) context.getResources() - .getDimension(R.dimen.notification_large_icon_height); - Drawable d = context.getResources().getDrawable(resId); - Bitmap b = Bitmap.createBitmap(largeIconWidth, largeIconHeight, Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(b); - d.setBounds(0, 0, largeIconWidth, largeIconHeight); - d.draw(c); - return b; - } - - private static PendingIntent makeEmailIntent(Context context, String who) { - final Intent intent = new Intent(android.content.Intent.ACTION_SENDTO, - Uri.parse("mailto:" + who)); - return PendingIntent.getActivity( - context, 0, intent, - PendingIntent.FLAG_CANCEL_CURRENT); - } - - static final String[] LINES = new String[] { - "Uh oh", - "Getting kicked out of this room", - "I'll be back in 5-10 minutes.", - "And now \u2026 I have to find my shoes. \uD83D\uDC63", - "\uD83D\uDC5F \uD83D\uDC5F", - "\uD83D\uDC60 \uD83D\uDC60", - }; - static final int MAX_LINES = 5; - public static Notification makeBigTextNotification(Context context, int update, int id, - long when) { - String personUri = null; - /* - Cursor c = null; - try { - String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.LOOKUP_KEY }; - String selections = ContactsContract.Contacts.DISPLAY_NAME + " = 'Mike Cleron'"; - final ContentResolver contentResolver = context.getContentResolver(); - c = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, - projection, selections, null, null); - if (c != null && c.getCount() > 0) { - c.moveToFirst(); - int lookupIdx = c.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY); - int idIdx = c.getColumnIndex(ContactsContract.Contacts._ID); - String lookupKey = c.getString(lookupIdx); - long contactId = c.getLong(idIdx); - Uri lookupUri = ContactsContract.Contacts.getLookupUri(contactId, lookupKey); - personUri = lookupUri.toString(); - } - } finally { - if (c != null) { - c.close(); - } - } - if (TextUtils.isEmpty(personUri)) { - Log.w(TAG, "failed to find contact for Mike Cleron"); - } else { - Log.w(TAG, "Mike Cleron is " + personUri); - } - */ - - StringBuilder longSmsText = new StringBuilder(); - int end = 2 + update; - if (end > LINES.length) { - end = LINES.length; - } - final int start = Math.max(0, end - MAX_LINES); - for (int i=start; i<end; i++) { - if (i >= LINES.length) break; - if (i > start) longSmsText.append("\n"); - longSmsText.append(LINES[i]); - } - if (update > 2) { - when = System.currentTimeMillis(); - } - Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle() - .bigText(longSmsText); - Notification bigText = new Notification.Builder(context) - .setContentTitle("Mike Cleron") - .setContentIntent(ToastService.getPendingIntent(context, "Clicked on bigText")) - .setContentText(longSmsText) - //.setTicker("Mike Cleron: " + longSmsText) - .setWhen(when) - .setLargeIcon(getBitmap(context, R.drawable.bucket)) - .setPriority(Notification.PRIORITY_HIGH) - .setNumber(update) - .setSmallIcon(R.drawable.stat_notify_talk_text) - .setStyle(bigTextStyle) - .setDefaults(Notification.DEFAULT_SOUND) - .addPerson(personUri) - .build(); - return bigText; - } - - public static Notification makeUploadNotification(Context context, int progress, long when) { - Notification.Builder uploadNotification = new Notification.Builder(context) - .setContentTitle("File Upload") - .setContentText("foo.txt") - .setPriority(Notification.PRIORITY_MIN) - .setContentIntent(ToastService.getPendingIntent(context, "Clicked on Upload")) - .setWhen(when) - .setSmallIcon(R.drawable.ic_menu_upload) - .setProgress(100, Math.min(progress, 100), false); - return uploadNotification.build(); - } - - static SpannableStringBuilder BOLD(CharSequence str) { - final SpannableStringBuilder ssb = new SpannableStringBuilder(str); - ssb.setSpan(new StyleSpan(Typeface.BOLD), 0, ssb.length(), 0); - return ssb; - } - - public static class ToastService extends IntentService { - - private static final String TAG = "ToastService"; - - private static final String ACTION_TOAST = "toast"; - - private Handler handler; - - public ToastService() { - super(TAG); - } - public ToastService(String name) { - super(name); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - handler = new Handler(); - return super.onStartCommand(intent, flags, startId); - } - - @Override - protected void onHandleIntent(Intent intent) { - Log.v(TAG, "clicked a thing! intent=" + intent.toString()); - if (intent.hasExtra("text")) { - final String text = intent.getStringExtra("text"); - handler.post(new Runnable() { - @Override - public void run() { - Toast.makeText(ToastService.this, text, Toast.LENGTH_LONG).show(); - Log.v(TAG, "toast " + text); - } - }); - } - } - - public static PendingIntent getPendingIntent(Context context, String text) { - Intent toastIntent = new Intent(context, ToastService.class); - toastIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - toastIntent.setAction(ACTION_TOAST + ":" + text); // one per toast message - toastIntent.putExtra("text", text); - PendingIntent pi = PendingIntent.getService( - context, 58, toastIntent, PendingIntent.FLAG_UPDATE_CURRENT); - return pi; - } - } - - public static void sleepIfYouCan(int ms) { - try { - Thread.sleep(ms); - } catch (InterruptedException e) {} - } - - @Override - public void setUp() throws Exception { - super.setUp(); - } - - public static String summarize(Notification n) { - return String.format("<notif title=\"%s\" icon=0x%08x view=%s>", - n.extras.get(Notification.EXTRA_TITLE), - n.icon, - String.valueOf(n.contentView)); - } - - public void testCreate() throws Exception { - ArrayList<Notification> mNotifications = new ArrayList<Notification>(); - NotificationManager noMa = - (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); - - L("Constructing notifications..."); - if (SHOW_BIG_TEXT) { - int bigtextId = mNotifications.size(); - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = makeBigTextNotification(mContext, 0, bigtextId, System.currentTimeMillis()); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - int uploadId = mNotifications.size(); - long uploadWhen = System.currentTimeMillis(); - - if (SHOW_PROGRESS) { - mNotifications.add(makeUploadNotification(mContext, 0, uploadWhen)); - } - - if (SHOW_PHONE_CALL) { - int phoneId = mNotifications.size(); - final PendingIntent fullscreenIntent - = FullScreenActivity.getPendingIntent(mContext, phoneId); - final long time = SystemClock.currentThreadTimeMillis(); - Notification phoneCall = new Notification.Builder(mContext) - .setContentTitle("Incoming call") - .setContentText("Matias Duarte") - .setLargeIcon(getBitmap(mContext, R.drawable.matias_hed)) - .setSmallIcon(R.drawable.stat_sys_phone_call) - .setDefaults(Notification.DEFAULT_SOUND) - .setPriority(Notification.PRIORITY_MAX) - .setContentIntent(fullscreenIntent) - .setFullScreenIntent(fullscreenIntent, true) - .addAction(R.drawable.ic_dial_action_call, "Answer", - ToastService.getPendingIntent(mContext, "Clicked on Answer")) - .addAction(R.drawable.ic_end_call, "Ignore", - ToastService.getPendingIntent(mContext, "Clicked on Ignore")) - .setOngoing(true) - .addPerson(Uri.fromParts("tel", "1 (617) 555-1212", null).toString()) - .build(); - L(" %s: create=%dms", phoneCall.toString(), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(phoneCall); - } - - if (SHOW_STOPWATCH) { - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = new Notification.Builder(mContext) - .setContentTitle("Stopwatch PRO") - .setContentText("Counting up") - .setContentIntent(ToastService.getPendingIntent(mContext, "Clicked on Stopwatch")) - .setSmallIcon(R.drawable.stat_notify_alarm) - .setUsesChronometer(true) - .build(); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - if (SHOW_CALENDAR) { - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = new Notification.Builder(mContext) - .setContentTitle("J Planning") - .setContentText("The Botcave") - .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.stat_notify_calendar) - .setContentIntent(ToastService.getPendingIntent(mContext, "Clicked on calendar event")) - .setContentInfo("7PM") - .addAction(R.drawable.stat_notify_snooze, "+10 min", - ToastService.getPendingIntent(mContext, "snoozed 10 min")) - .addAction(R.drawable.stat_notify_snooze_longer, "+1 hour", - ToastService.getPendingIntent(mContext, "snoozed 1 hr")) - .addAction(R.drawable.stat_notify_email, "Email", - ToastService.getPendingIntent(mContext, - "Congratulations, you just destroyed someone's inbox zero")) - .build(); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - if (SHOW_BIG_PICTURE) { - BitmapDrawable d = - (BitmapDrawable) mContext.getResources().getDrawable(R.drawable.romainguy_rockaway); - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = new Notification.Builder(mContext) - .setContentTitle("Romain Guy") - .setContentText("I was lucky to find a Canon 5D Mk III at a local Bay Area " - + "store last week but I had not been able to try it in the field " - + "until tonight. After a few days of rain the sky finally cleared " - + "up. Rockaway Beach did not disappoint and I was finally able to " - + "see what my new camera feels like when shooting landscapes.") - .setSmallIcon(android.R.drawable.stat_notify_chat) - .setContentIntent( - ToastService.getPendingIntent(mContext, "Clicked picture")) - .setLargeIcon(getBitmap(mContext, R.drawable.romainguy_hed)) - .addAction(R.drawable.add, "Add to Gallery", - ToastService.getPendingIntent(mContext, "Added")) - .setStyle(new Notification.BigPictureStyle() - .bigPicture(d.getBitmap())) - .build(); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - if (SHOW_INBOX) { - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = new Notification.Builder(mContext) - .setContentTitle("New mail") - .setContentText("3 new messages") - .setSubText("example@gmail.com") - .setContentIntent(ToastService.getPendingIntent(mContext, "Clicked on Mail")) - .setSmallIcon(R.drawable.stat_notify_email) - .setStyle(new Notification.InboxStyle() - .setSummaryText("example@gmail.com") - .addLine(BOLD("Alice:").append(" hey there!")) - .addLine(BOLD("Bob:").append(" hi there!")) - .addLine(BOLD("Charlie:").append(" Iz IN UR EMAILZ!!")) - ).build(); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - if (SHOW_SOCIAL) { - final long time = SystemClock.currentThreadTimeMillis(); - final Notification n = new Notification.Builder(mContext) - .setContentTitle("Social Network") - .setContentText("You were mentioned in a post") - .setContentInfo("example@gmail.com") - .setContentIntent(ToastService.getPendingIntent(mContext, "Clicked on Social")) - .setSmallIcon(android.R.drawable.stat_notify_chat) - .setPriority(Notification.PRIORITY_LOW) - .build(); - L(" %s: create=%dms", summarize(n), SystemClock.currentThreadTimeMillis() - time); - mNotifications.add(n); - } - - L("Posting notifications..."); - for (int i=0; i<mNotifications.size(); i++) { - final int count = 4; - for (int j=0; j<count; j++) { - long time = SystemClock.currentThreadTimeMillis(); - final Notification n = mNotifications.get(i); - noMa.notify(NOTIFICATION_ID + i, n); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: notify=%dms (%d/%d)", summarize(n), time, - j + 1, count); - sleepIfYouCan(150); - } - } - - sleepIfYouCan(1000); - - L("Canceling notifications..."); - for (int i=0; i<mNotifications.size(); i++) { - final Notification n = mNotifications.get(i); - long time = SystemClock.currentThreadTimeMillis(); - noMa.cancel(NOTIFICATION_ID + i); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: cancel=%dms", summarize(n), time); - } - - sleepIfYouCan(500); - - L("Parceling notifications..."); - // we want to be able to use this test on older OSes that do not have getOpenAshmemSize - Method getOpenAshmemSize = null; - try { - getOpenAshmemSize = Parcel.class.getMethod("getOpenAshmemSize"); - } catch (NoSuchMethodException ex) { - } - for (int i=0; i<mNotifications.size(); i++) { - Parcel p = Parcel.obtain(); - { - final Notification n = mNotifications.get(i); - long time = SystemClock.currentThreadTimeMillis(); - n.writeToParcel(p, 0); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: write parcel=%dms size=%d ashmem=%s", - summarize(n), time, p.dataPosition(), - (getOpenAshmemSize != null) - ? getOpenAshmemSize.invoke(p) - : "???"); - p.setDataPosition(0); - } - - long time = SystemClock.currentThreadTimeMillis(); - final Notification n2 = Notification.CREATOR.createFromParcel(p); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: parcel read=%dms", summarize(n2), time); - - time = SystemClock.currentThreadTimeMillis(); - noMa.notify(NOTIFICATION_ID + i, n2); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: notify=%dms", summarize(n2), time); - } - - sleepIfYouCan(500); - - L("Canceling notifications..."); - for (int i=0; i<mNotifications.size(); i++) { - long time = SystemClock.currentThreadTimeMillis(); - final Notification n = mNotifications.get(i); - noMa.cancel(NOTIFICATION_ID + i); - time = SystemClock.currentThreadTimeMillis() - time; - L(" %s: cancel=%dms", summarize(n), time); - } - - -// if (SHOW_PROGRESS) { -// ProgressService.startProgressUpdater(this, uploadId, uploadWhen, 0); -// } - } - - public static class FullScreenActivity extends Activity { - public static final String EXTRA_ID = "id"; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.full_screen); - final Intent intent = getIntent(); - if (intent != null && intent.hasExtra(EXTRA_ID)) { - final int id = intent.getIntExtra(EXTRA_ID, -1); - if (id >= 0) { - NotificationManager noMa = - (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - noMa.cancel(NOTIFICATION_ID + id); - } - } - } - - public void dismiss(View v) { - finish(); - } - - public static PendingIntent getPendingIntent(Context context, int id) { - Intent fullScreenIntent = new Intent(context, FullScreenActivity.class); - fullScreenIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - fullScreenIntent.putExtra(EXTRA_ID, id); - PendingIntent pi = PendingIntent.getActivity( - context, 22, fullScreenIntent, PendingIntent.FLAG_UPDATE_CURRENT); - return pi; - } - } -} - diff --git a/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java b/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java index a1a39ff173b4..cb3782173dc8 100644 --- a/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java +++ b/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java @@ -117,6 +117,16 @@ public class VcnGatewayConnectionConfigTest { return buildTestConfig(UNDERLYING_NETWORK_TEMPLATES); } + // Public for use in VcnGatewayConnectionTest + public static VcnGatewayConnectionConfig.Builder newTestBuilderMinimal() { + final VcnGatewayConnectionConfig.Builder builder = newBuilder(); + for (int caps : EXPOSED_CAPS) { + builder.addExposedCapability(caps); + } + + return builder; + } + private static VcnGatewayConnectionConfig.Builder newBuilder() { // Append a unique identifier to the name prefix to guarantee that all created // VcnGatewayConnectionConfigs have a unique name (required by VcnConfig). @@ -125,6 +135,17 @@ public class VcnGatewayConnectionConfigTest { TUNNEL_CONNECTION_PARAMS); } + private static VcnGatewayConnectionConfig.Builder newBuilderMinimal() { + final VcnGatewayConnectionConfig.Builder builder = + new VcnGatewayConnectionConfig.Builder( + "newBuilderMinimal", TUNNEL_CONNECTION_PARAMS); + for (int caps : EXPOSED_CAPS) { + builder.addExposedCapability(caps); + } + + return builder; + } + private static VcnGatewayConnectionConfig buildTestConfigWithExposedCapsAndOptions( VcnGatewayConnectionConfig.Builder builder, Set<Integer> gatewayOptions, @@ -273,6 +294,7 @@ public class VcnGatewayConnectionConfigTest { assertArrayEquals(RETRY_INTERVALS_MS, config.getRetryIntervalsMillis()); assertEquals(MAX_MTU, config.getMaxMtu()); + assertTrue(config.isSafeModeEnabled()); assertFalse( config.hasGatewayOption( @@ -290,6 +312,13 @@ public class VcnGatewayConnectionConfigTest { } @Test + public void testBuilderAndGettersSafeModeDisabled() { + final VcnGatewayConnectionConfig config = newBuilderMinimal().enableSafeMode(false).build(); + + assertFalse(config.isSafeModeEnabled()); + } + + @Test public void testPersistableBundle() { final VcnGatewayConnectionConfig config = buildTestConfig(); @@ -305,6 +334,13 @@ public class VcnGatewayConnectionConfigTest { } @Test + public void testPersistableBundleSafeModeDisabled() { + final VcnGatewayConnectionConfig config = newBuilderMinimal().enableSafeMode(false).build(); + + assertEquals(config, new VcnGatewayConnectionConfig(config.toPersistableBundle())); + } + + @Test public void testParsePersistableBundleWithoutVcnUnderlyingNetworkTemplates() { PersistableBundle configBundle = buildTestConfig().toPersistableBundle(); configBundle.putPersistableBundle(UNDERLYING_NETWORK_TEMPLATES_KEY, null); @@ -411,4 +447,18 @@ public class VcnGatewayConnectionConfigTest { assertEquals(config, configEqual); assertNotEquals(config, configNotEqual); } + + @Test + public void testSafeModeEnableDisableEquality() throws Exception { + final VcnGatewayConnectionConfig config = newBuilderMinimal().build(); + final VcnGatewayConnectionConfig configEqual = newBuilderMinimal().build(); + + assertEquals(config.isSafeModeEnabled(), configEqual.isSafeModeEnabled()); + + final VcnGatewayConnectionConfig configNotEqual = + newBuilderMinimal().enableSafeMode(false).build(); + + assertEquals(config, configEqual); + assertNotEquals(config, configNotEqual); + } } diff --git a/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java b/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java index 302af523a4bd..bf73198d1006 100644 --- a/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java +++ b/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java @@ -75,6 +75,9 @@ import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.server.vcn.VcnGatewayConnection.VcnChildSessionCallback; +import com.android.server.vcn.VcnGatewayConnection.VcnChildSessionConfiguration; +import com.android.server.vcn.VcnGatewayConnection.VcnIkeSession; +import com.android.server.vcn.VcnGatewayConnection.VcnNetworkAgent; import com.android.server.vcn.routeselection.UnderlyingNetworkRecord; import com.android.server.vcn.util.MtuUtils; @@ -651,6 +654,74 @@ public class VcnGatewayConnectionConnectedStateTest extends VcnGatewayConnection verifySafeModeStateAndCallbackFired(2 /* invocationCount */, true /* isInSafeMode */); } + private void verifySetSafeModeAlarm( + boolean safeModeEnabledByCaller, + boolean safeModeConfigFlagEnabled, + boolean expectingSafeModeEnabled) + throws Exception { + final VcnGatewayConnectionConfig config = + VcnGatewayConnectionConfigTest.newTestBuilderMinimal() + .enableSafeMode(safeModeEnabledByCaller) + .build(); + final VcnGatewayConnection.Dependencies deps = + mock(VcnGatewayConnection.Dependencies.class); + setUpWakeupMessage( + mSafeModeTimeoutAlarm, VcnGatewayConnection.SAFEMODE_TIMEOUT_ALARM, deps); + doReturn(safeModeConfigFlagEnabled).when(mFeatureFlags).safeModeConfig(); + + final VcnGatewayConnection connection = + new VcnGatewayConnection( + mVcnContext, + TEST_SUB_GRP, + TEST_SUBSCRIPTION_SNAPSHOT, + config, + mGatewayStatusCallback, + true /* isMobileDataEnabled */, + deps); + + connection.setSafeModeAlarm(); + + final int expectedCallCnt = expectingSafeModeEnabled ? 1 : 0; + verify(deps, times(expectedCallCnt)) + .newWakeupMessage( + eq(mVcnContext), + any(), + eq(VcnGatewayConnection.SAFEMODE_TIMEOUT_ALARM), + any()); + } + + @Test + public void testSafeModeEnabled_configFlagEnabled() throws Exception { + verifySetSafeModeAlarm( + true /* safeModeEnabledByCaller */, + true /* safeModeConfigFlagEnabled */, + true /* expectingSafeModeEnabled */); + } + + @Test + public void testSafeModeEnabled_configFlagDisabled() throws Exception { + verifySetSafeModeAlarm( + true /* safeModeEnabledByCaller */, + false /* safeModeConfigFlagEnabled */, + true /* expectingSafeModeEnabled */); + } + + @Test + public void testSafeModeDisabled_configFlagEnabled() throws Exception { + verifySetSafeModeAlarm( + false /* safeModeEnabledByCaller */, + true /* safeModeConfigFlagEnabled */, + false /* expectingSafeModeEnabled */); + } + + @Test + public void testSafeModeDisabled_configFlagDisabled() throws Exception { + verifySetSafeModeAlarm( + false /* safeModeEnabledByCaller */, + false /* safeModeConfigFlagEnabled */, + true /* expectingSafeModeEnabled */); + } + private Consumer<VcnNetworkAgent> setupNetworkAndGetUnwantedCallback() { triggerChildOpened(); mTestLooper.dispatchAll(); diff --git a/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionTestBase.java b/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionTestBase.java index 5efbf598f941..edced87427c8 100644 --- a/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionTestBase.java +++ b/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionTestBase.java @@ -53,6 +53,7 @@ import android.net.ipsec.ike.ChildSessionCallback; import android.net.ipsec.ike.IkeSessionCallback; import android.net.ipsec.ike.IkeSessionConfiguration; import android.net.ipsec.ike.IkeSessionConnectionInfo; +import android.net.vcn.FeatureFlags; import android.net.vcn.VcnGatewayConnectionConfig; import android.net.vcn.VcnGatewayConnectionConfigTest; import android.os.ParcelUuid; @@ -165,6 +166,7 @@ public class VcnGatewayConnectionTestBase { @NonNull protected final Context mContext; @NonNull protected final TestLooper mTestLooper; @NonNull protected final VcnNetworkProvider mVcnNetworkProvider; + @NonNull protected final FeatureFlags mFeatureFlags; @NonNull protected final VcnContext mVcnContext; @NonNull protected final VcnGatewayConnectionConfig mConfig; @NonNull protected final VcnGatewayStatusCallback mGatewayStatusCallback; @@ -190,6 +192,7 @@ public class VcnGatewayConnectionTestBase { mContext = mock(Context.class); mTestLooper = new TestLooper(); mVcnNetworkProvider = mock(VcnNetworkProvider.class); + mFeatureFlags = mock(FeatureFlags.class); mVcnContext = mock(VcnContext.class); mConfig = VcnGatewayConnectionConfigTest.buildTestConfig(); mGatewayStatusCallback = mock(VcnGatewayStatusCallback.class); @@ -222,6 +225,7 @@ public class VcnGatewayConnectionTestBase { doReturn(mContext).when(mVcnContext).getContext(); doReturn(mTestLooper.getLooper()).when(mVcnContext).getLooper(); doReturn(mVcnNetworkProvider).when(mVcnContext).getVcnNetworkProvider(); + doReturn(mFeatureFlags).when(mVcnContext).getFeatureFlags(); doReturn(mUnderlyingNetworkController) .when(mDeps) @@ -241,8 +245,15 @@ public class VcnGatewayConnectionTestBase { doReturn(ELAPSED_REAL_TIME).when(mDeps).getElapsedRealTime(); } + protected void setUpWakeupMessage( + @NonNull WakeupMessage msg, + @NonNull String cmdName, + VcnGatewayConnection.Dependencies deps) { + doReturn(msg).when(deps).newWakeupMessage(eq(mVcnContext), any(), eq(cmdName), any()); + } + private void setUpWakeupMessage(@NonNull WakeupMessage msg, @NonNull String cmdName) { - doReturn(msg).when(mDeps).newWakeupMessage(eq(mVcnContext), any(), eq(cmdName), any()); + setUpWakeupMessage(msg, cmdName, mDeps); } @Before diff --git a/tools/aapt2/Android.bp b/tools/aapt2/Android.bp index 977b2768e702..fff8f78a5d01 100644 --- a/tools/aapt2/Android.bp +++ b/tools/aapt2/Android.bp @@ -122,7 +122,6 @@ cc_library_host_static { "link/AutoVersioner.cpp", "link/ManifestFixer.cpp", "link/NoDefaultResourceRemover.cpp", - "link/ProductFilter.cpp", "link/PrivateAttributeMover.cpp", "link/ReferenceLinker.cpp", "link/ResourceExcluder.cpp", @@ -135,6 +134,7 @@ cc_library_host_static { "optimize/ResourceFilter.cpp", "optimize/Obfuscator.cpp", "optimize/VersionCollapser.cpp", + "process/ProductFilter.cpp", "process/SymbolTable.cpp", "split/TableSplitter.cpp", "text/Printer.cpp", diff --git a/tools/aapt2/cmd/Compile.cpp b/tools/aapt2/cmd/Compile.cpp index b5c290ec8dad..728ba8aa4fdd 100644 --- a/tools/aapt2/cmd/Compile.cpp +++ b/tools/aapt2/cmd/Compile.cpp @@ -45,6 +45,7 @@ #include "io/StringStream.h" #include "io/Util.h" #include "io/ZipArchive.h" +#include "process/ProductFilter.h" #include "trace/TraceBuffer.h" #include "util/Files.h" #include "util/Util.h" @@ -179,6 +180,15 @@ static bool CompileTable(IAaptContext* context, const CompileOptions& options, if (!res_parser.Parse(&xml_parser)) { return false; } + + if (options.product_.has_value()) { + if (!ProductFilter({*options.product_}, /* remove_default_config_values = */ true) + .Consume(context, &table)) { + context->GetDiagnostics()->Error(android::DiagMessage(path_data.source) + << "failed to filter product"); + return false; + } + } } if (options.pseudolocalize && translatable_file) { diff --git a/tools/aapt2/cmd/Compile.h b/tools/aapt2/cmd/Compile.h index 22890fc53d5c..61c5b60adb76 100644 --- a/tools/aapt2/cmd/Compile.h +++ b/tools/aapt2/cmd/Compile.h @@ -44,6 +44,7 @@ struct CompileOptions { // See comments on aapt::ResourceParserOptions. bool preserve_visibility_of_styleables = false; bool verbose = false; + std::optional<std::string> product_; }; /** Parses flags and compiles resources to be used in linking. */ @@ -87,6 +88,10 @@ class CompileCommand : public Command { "Sets the ratio of resources to generate grammatical gender strings for. The " "ratio has to be a float number between 0 and 1.", &options_.pseudo_localize_gender_ratio); + AddOptionalFlag("--filter-product", + "Leave only resources specific to the given product. All " + "other resources (including defaults) are removed.", + &options_.product_); } int Action(const std::vector<std::string>& args) override; diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp index eb4e38c5f35f..159c6fd9ef58 100644 --- a/tools/aapt2/cmd/Link.cpp +++ b/tools/aapt2/cmd/Link.cpp @@ -66,6 +66,7 @@ #include "optimize/ResourceDeduper.h" #include "optimize/VersionCollapser.h" #include "process/IResourceTableConsumer.h" +#include "process/ProductFilter.h" #include "process/SymbolTable.h" #include "split/TableSplitter.h" #include "trace/TraceBuffer.h" @@ -2128,7 +2129,7 @@ class Linker { << "can't select products when building static library"); } } else { - ProductFilter product_filter(options_.products); + ProductFilter product_filter(options_.products, /* remove_default_config_values = */ false); if (!product_filter.Consume(context_, &final_table_)) { context_->GetDiagnostics()->Error(android::DiagMessage() << "failed stripping products"); return 1; diff --git a/tools/aapt2/cmd/Link.h b/tools/aapt2/cmd/Link.h index 1b1e93bd480a..a08f385b2270 100644 --- a/tools/aapt2/cmd/Link.h +++ b/tools/aapt2/cmd/Link.h @@ -323,6 +323,7 @@ class LinkCommand : public Command { "should only be used together with the --static-lib flag.", &options_.merge_only); AddOptionalSwitch("-v", "Enables verbose logging.", &verbose_); + AddOptionalFlagList("--feature-flags", "Placeholder, to be implemented.", &feature_flags_args_); } int Action(const std::vector<std::string>& args) override; @@ -347,6 +348,7 @@ class LinkCommand : public Command { std::optional<std::string> stable_id_file_path_; std::vector<std::string> split_args_; std::optional<std::string> trace_folder_; + std::vector<std::string> feature_flags_args_; }; }// namespace aapt diff --git a/tools/aapt2/link/Linkers.h b/tools/aapt2/link/Linkers.h index 44cd276f77a2..18165f7d489f 100644 --- a/tools/aapt2/link/Linkers.h +++ b/tools/aapt2/link/Linkers.h @@ -20,12 +20,12 @@ #include <set> #include <unordered_set> +#include "Resource.h" +#include "SdkConstants.h" #include "android-base/macros.h" +#include "android-base/result.h" #include "androidfw/ConfigDescription.h" #include "androidfw/StringPiece.h" - -#include "Resource.h" -#include "SdkConstants.h" #include "process/IResourceTableConsumer.h" #include "xml/XmlDom.h" @@ -92,28 +92,6 @@ class PrivateAttributeMover : public IResourceTableConsumer { DISALLOW_COPY_AND_ASSIGN(PrivateAttributeMover); }; -class ResourceConfigValue; - -class ProductFilter : public IResourceTableConsumer { - public: - using ResourceConfigValueIter = std::vector<std::unique_ptr<ResourceConfigValue>>::iterator; - - explicit ProductFilter(std::unordered_set<std::string> products) : products_(products) { - } - - ResourceConfigValueIter SelectProductToKeep(const ResourceNameRef& name, - const ResourceConfigValueIter begin, - const ResourceConfigValueIter end, - android::IDiagnostics* diag); - - bool Consume(IAaptContext* context, ResourceTable* table) override; - - private: - DISALLOW_COPY_AND_ASSIGN(ProductFilter); - - std::unordered_set<std::string> products_; -}; - // Removes namespace nodes and URI information from the XmlResource. // // Once an XmlResource is processed by this consumer, it is no longer able to have its attributes diff --git a/tools/aapt2/link/ProductFilter.cpp b/tools/aapt2/process/ProductFilter.cpp index 9544986fda76..0b1c0a6adb51 100644 --- a/tools/aapt2/link/ProductFilter.cpp +++ b/tools/aapt2/process/ProductFilter.cpp @@ -14,16 +14,18 @@ * limitations under the License. */ -#include "link/Linkers.h" +#include "process/ProductFilter.h" + +#include <algorithm> #include "ResourceTable.h" #include "trace/TraceBuffer.h" namespace aapt { -ProductFilter::ResourceConfigValueIter ProductFilter::SelectProductToKeep( - const ResourceNameRef& name, const ResourceConfigValueIter begin, - const ResourceConfigValueIter end, android::IDiagnostics* diag) { +std::optional<ProductFilter::ResourceConfigValueIter> ProductFilter::SelectProductToKeep( + const ResourceNameRef& name, ResourceConfigValueIter begin, ResourceConfigValueIter end, + android::IDiagnostics* diag) { ResourceConfigValueIter default_product_iter = end; ResourceConfigValueIter selected_product_iter = end; @@ -36,12 +38,11 @@ ProductFilter::ResourceConfigValueIter ProductFilter::SelectProductToKeep( << "selection of product '" << config_value->product << "' for resource " << name << " is ambiguous"); - ResourceConfigValue* previously_selected_config_value = - selected_product_iter->get(); + ResourceConfigValue* previously_selected_config_value = selected_product_iter->get(); diag->Note(android::DiagMessage(previously_selected_config_value->value->GetSource()) << "product '" << previously_selected_config_value->product << "' is also a candidate"); - return end; + return std::nullopt; } // Select this product. @@ -54,11 +55,10 @@ ProductFilter::ResourceConfigValueIter ProductFilter::SelectProductToKeep( diag->Error(android::DiagMessage(config_value->value->GetSource()) << "multiple default products defined for resource " << name); - ResourceConfigValue* previously_default_config_value = - default_product_iter->get(); + ResourceConfigValue* previously_default_config_value = default_product_iter->get(); diag->Note(android::DiagMessage(previously_default_config_value->value->GetSource()) << "default product also defined here"); - return end; + return std::nullopt; } // Mark the default. @@ -66,9 +66,16 @@ ProductFilter::ResourceConfigValueIter ProductFilter::SelectProductToKeep( } } + if (remove_default_config_values_) { + // If we are leaving only a specific product, return early here instead of selecting the default + // value. Returning end here will cause this value set to be skipped, and will be removed with + // ClearEmptyValues method. + return selected_product_iter; + } + if (default_product_iter == end) { diag->Error(android::DiagMessage() << "no default product defined for resource " << name); - return end; + return std::nullopt; } if (selected_product_iter == end) { @@ -89,20 +96,27 @@ bool ProductFilter::Consume(IAaptContext* context, ResourceTable* table) { ResourceConfigValueIter start_range_iter = iter; while (iter != entry->values.end()) { ++iter; - if (iter == entry->values.end() || - (*iter)->config != (*start_range_iter)->config) { + if (iter == entry->values.end() || (*iter)->config != (*start_range_iter)->config) { // End of the array, or we saw a different config, // so this must be the end of a range of products. // Select the product to keep from the set of products defined. ResourceNameRef name(pkg->name, type->named_type, entry->name); - auto value_to_keep = SelectProductToKeep( - name, start_range_iter, iter, context->GetDiagnostics()); - if (value_to_keep == iter) { + auto value_to_keep = + SelectProductToKeep(name, start_range_iter, iter, context->GetDiagnostics()); + if (!value_to_keep.has_value()) { // An error occurred, we could not pick a product. error = true; - } else { + } else if (auto val = value_to_keep.value(); val != iter) { // We selected a product to keep. Move it to the new array. - new_values.push_back(std::move(*value_to_keep)); + if (remove_default_config_values_) { + // We are filtering values with the given product. The selected value here will be + // a new default value, and all other values will be removed. + new_values.push_back( + std::make_unique<ResourceConfigValue>((*val)->config, android::StringPiece{})); + new_values.back()->value = std::move((*val)->value); + } else { + new_values.push_back(std::move(*val)); + } } // Start the next range of products. @@ -115,7 +129,27 @@ bool ProductFilter::Consume(IAaptContext* context, ResourceTable* table) { } } } + + if (remove_default_config_values_) { + ClearEmptyValues(table); + } + return !error; } +void ProductFilter::ClearEmptyValues(ResourceTable* table) { + // Clear any empty packages/types/entries, as remove_default_config_values_ may remove an entire + // value set. + CHECK(remove_default_config_values_) + << __func__ << " should only be called when remove_default_config_values_ is set"; + + for (auto& pkg : table->packages) { + for (auto& type : pkg->types) { + std::erase_if(type->entries, [](auto& entry) { return entry->values.empty(); }); + } + std::erase_if(pkg->types, [](auto& type) { return type->entries.empty(); }); + } + std::erase_if(table->packages, [](auto& package) { return package->types.empty(); }); +} + } // namespace aapt diff --git a/tools/aapt2/process/ProductFilter.h b/tools/aapt2/process/ProductFilter.h new file mode 100644 index 000000000000..0ec2f00863fc --- /dev/null +++ b/tools/aapt2/process/ProductFilter.h @@ -0,0 +1,65 @@ +#pragma once + +#include <memory> +#include <optional> +#include <string> +#include <unordered_set> +#include <utility> +#include <vector> + +#include "Resource.h" +#include "android-base/macros.h" +#include "androidfw/ConfigDescription.h" +#include "androidfw/IDiagnostics.h" +#include "process/IResourceTableConsumer.h" + +namespace aapt { + +class ResourceConfigValue; + +class ProductFilter : public IResourceTableConsumer { + public: + using ResourceConfigValueIter = std::vector<std::unique_ptr<ResourceConfigValue>>::iterator; + + // Setting remove_default_config_values will remove all values other than + // specified product, including default. For example, if the following table + // + // <string name="foo" product="default">foo_default</string> + // <string name="foo" product="tablet">foo_tablet</string> + // <string name="bar">bar</string> + // + // is consumed with tablet, it will result in + // + // <string name="foo">foo_tablet</string> + // + // removing foo_default and bar. This option is to generate an RRO package + // with given product. + explicit ProductFilter(std::unordered_set<std::string> products, + bool remove_default_config_values) + : products_(std::move(products)), + remove_default_config_values_(remove_default_config_values) { + } + + bool Consume(IAaptContext* context, ResourceTable* table) override; + + private: + DISALLOW_COPY_AND_ASSIGN(ProductFilter); + + // SelectProductToKeep returns an iterator for the selected value. + // + // Returns std::nullopt in case of failure (e.g. ambiguous values, missing or duplicated default + // values). + // Returns `end` if keep_as_default_product is set and no value for the specified product was + // found. + std::optional<ResourceConfigValueIter> SelectProductToKeep(const ResourceNameRef& name, + ResourceConfigValueIter begin, + ResourceConfigValueIter end, + android::IDiagnostics* diag); + + void ClearEmptyValues(ResourceTable* table); + + std::unordered_set<std::string> products_; + bool remove_default_config_values_; +}; + +} // namespace aapt diff --git a/tools/aapt2/link/ProductFilter_test.cpp b/tools/aapt2/process/ProductFilter_test.cpp index 2cb9afa05cad..27a82dcc3453 100644 --- a/tools/aapt2/link/ProductFilter_test.cpp +++ b/tools/aapt2/process/ProductFilter_test.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "link/Linkers.h" +#include "process/ProductFilter.h" #include "test/Test.h" @@ -57,17 +57,15 @@ TEST(ProductFilterTest, SelectTwoProducts) { .Build(), context->GetDiagnostics())); - ProductFilter filter({"tablet"}); + ProductFilter filter({"tablet"}, /* remove_default_config_values = */ false); ASSERT_TRUE(filter.Consume(context.get(), &table)); - EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", land, "")); - EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", land, "tablet")); - EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", port, "")); - EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", port, "tablet")); + EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", land, "")); + EXPECT_NE(nullptr, + test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", land, "tablet")); + EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", port, "")); + EXPECT_NE(nullptr, + test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", port, "tablet")); } TEST(ProductFilterTest, SelectDefaultProduct) { @@ -88,15 +86,15 @@ TEST(ProductFilterTest, SelectDefaultProduct) { context->GetDiagnostics())); ; - ProductFilter filter(std::unordered_set<std::string>{}); + ProductFilter filter(std::unordered_set<std::string>{}, + /* remove_default_config_values = */ false); ASSERT_TRUE(filter.Consume(context.get(), &table)); - EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", - ConfigDescription::DefaultConfig(), "")); - EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>( - &table, "android:string/one", - ConfigDescription::DefaultConfig(), "tablet")); + EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", + ConfigDescription::DefaultConfig(), "")); + EXPECT_EQ(nullptr, + test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", + ConfigDescription::DefaultConfig(), "tablet")); } TEST(ProductFilterTest, FailOnAmbiguousProduct) { @@ -123,7 +121,7 @@ TEST(ProductFilterTest, FailOnAmbiguousProduct) { .Build(), context->GetDiagnostics())); - ProductFilter filter({"tablet", "no-sdcard"}); + ProductFilter filter({"tablet", "no-sdcard"}, /* remove_default_config_values = */ false); ASSERT_FALSE(filter.Consume(context.get(), &table)); } @@ -144,8 +142,67 @@ TEST(ProductFilterTest, FailOnMultipleDefaults) { .Build(), context->GetDiagnostics())); - ProductFilter filter(std::unordered_set<std::string>{}); + ProductFilter filter(std::unordered_set<std::string>{}, + /* remove_default_config_values = */ false); ASSERT_FALSE(filter.Consume(context.get(), &table)); } +TEST(ProductFilterTest, RemoveDefaultConfigValues) { + std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build(); + + const ConfigDescription land = test::ParseConfigOrDie("land"); + const ConfigDescription port = test::ParseConfigOrDie("port"); + + ResourceTable table; + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/one")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("land/default.xml")).Build(), + land) + .Build(), + context->GetDiagnostics())); + + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/one")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("land/tablet.xml")).Build(), + land, "tablet") + .Build(), + context->GetDiagnostics())); + + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/two")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("land/default.xml")).Build(), + land) + .Build(), + context->GetDiagnostics())); + + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/one")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("port/default.xml")).Build(), + port) + .Build(), + context->GetDiagnostics())); + + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/one")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("port/tablet.xml")).Build(), + port, "tablet") + .Build(), + context->GetDiagnostics())); + + ASSERT_TRUE(table.AddResource( + NewResourceBuilder(test::ParseNameOrDie("android:string/two")) + .SetValue(test::ValueBuilder<Id>().SetSource(android::Source("port/default.xml")).Build(), + port) + .Build(), + context->GetDiagnostics())); + + ProductFilter filter({"tablet"}, /* remove_default_config_values = */ true); + ASSERT_TRUE(filter.Consume(context.get(), &table)); + + EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", land, "")); + EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/two", land, "")); + EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/one", port, "")); + EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(&table, "android:string/two", port, "")); +} + } // namespace aapt |