diff options
441 files changed, 10339 insertions, 4903 deletions
diff --git a/AconfigFlags.bp b/AconfigFlags.bp index c211b0202925..76377e72fb6b 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -29,6 +29,7 @@ aconfig_srcjars = [ ":android.service.notification.flags-aconfig-java{.generated_srcjars}", ":android.view.flags-aconfig-java{.generated_srcjars}", ":android.view.accessibility.flags-aconfig-java{.generated_srcjars}", + ":audio-framework-aconfig", ":camera_platform_flags_core_java_lib{.generated_srcjars}", ":com.android.window.flags.window-aconfig-java{.generated_srcjars}", ":android.hardware.biometrics.flags-aconfig-java{.generated_srcjars}", @@ -39,7 +40,6 @@ aconfig_srcjars = [ ":android.companion.virtual.flags-aconfig-java{.generated_srcjars}", ":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}", ":android.widget.flags-aconfig-java{.generated_srcjars}", - ":com.android.media.audio.flags-aconfig-java{.generated_srcjars}", ":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}", ":sdk_sandbox_flags_lib{.generated_srcjars}", ":android.permission.flags-aconfig-java{.generated_srcjars}", @@ -54,7 +54,6 @@ aconfig_srcjars = [ ":android.view.contentprotection.flags-aconfig-java{.generated_srcjars}", ":android.service.voice.flags-aconfig-java{.generated_srcjars}", ":android.media.tv.flags-aconfig-java{.generated_srcjars}", - ":aconfig_midi_flags_java_lib{.generated_srcjars}", ":android.service.autofill.flags-aconfig-java{.generated_srcjars}", ":com.android.net.flags-aconfig-java{.generated_srcjars}", ":device_policy_aconfig_flags_lib{.generated_srcjars}", @@ -393,13 +392,6 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } -// Media Audio -java_aconfig_library { - name: "com.android.media.audio.flags-aconfig-java", - aconfig_declarations: "aconfig_audio_flags", - defaults: ["framework-minus-apex-aconfig-java-defaults"], -} - // Permissions aconfig_declarations { name: "android.permission.flags-aconfig", diff --git a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java index a92a01fe06f0..9961c4fdf3f7 100644 --- a/apex/jobscheduler/framework/java/android/app/job/JobInfo.java +++ b/apex/jobscheduler/framework/java/android/app/job/JobInfo.java @@ -432,7 +432,6 @@ public class JobInfo implements Parcelable { @UnsupportedAppUsage private final ComponentName service; private final int constraintFlags; - private final int mPreferredConstraintFlags; private final TriggerContentUri[] triggerContentUris; private final long triggerContentUpdateDelay; private final long triggerContentMaxDelay; @@ -523,30 +522,6 @@ public class JobInfo implements Parcelable { } /** - * @hide - * @see JobInfo.Builder#setPrefersBatteryNotLow(boolean) - */ - public boolean isPreferBatteryNotLow() { - return (mPreferredConstraintFlags & CONSTRAINT_FLAG_BATTERY_NOT_LOW) != 0; - } - - /** - * @hide - * @see JobInfo.Builder#setPrefersCharging(boolean) - */ - public boolean isPreferCharging() { - return (mPreferredConstraintFlags & CONSTRAINT_FLAG_CHARGING) != 0; - } - - /** - * @hide - * @see JobInfo.Builder#setPrefersDeviceIdle(boolean) - */ - public boolean isPreferDeviceIdle() { - return (mPreferredConstraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0; - } - - /** * @see JobInfo.Builder#setRequiresCharging(boolean) */ public boolean isRequireCharging() { @@ -582,13 +557,6 @@ public class JobInfo implements Parcelable { } /** - * @hide - */ - public int getPreferredConstraintFlags() { - return mPreferredConstraintFlags; - } - - /** * Which content: URIs must change for the job to be scheduled. Returns null * if there are none required. * @see JobInfo.Builder#addTriggerContentUri(TriggerContentUri) @@ -832,9 +800,6 @@ public class JobInfo implements Parcelable { if (constraintFlags != j.constraintFlags) { return false; } - if (mPreferredConstraintFlags != j.mPreferredConstraintFlags) { - return false; - } if (!Arrays.equals(triggerContentUris, j.triggerContentUris)) { return false; } @@ -915,7 +880,6 @@ public class JobInfo implements Parcelable { hashCode = 31 * hashCode + service.hashCode(); } hashCode = 31 * hashCode + constraintFlags; - hashCode = 31 * hashCode + mPreferredConstraintFlags; if (triggerContentUris != null) { hashCode = 31 * hashCode + Arrays.hashCode(triggerContentUris); } @@ -958,7 +922,6 @@ public class JobInfo implements Parcelable { } service = in.readParcelable(null); constraintFlags = in.readInt(); - mPreferredConstraintFlags = in.readInt(); triggerContentUris = in.createTypedArray(TriggerContentUri.CREATOR); triggerContentUpdateDelay = in.readLong(); triggerContentMaxDelay = in.readLong(); @@ -993,7 +956,6 @@ public class JobInfo implements Parcelable { clipGrantFlags = b.mClipGrantFlags; service = b.mJobService; constraintFlags = b.mConstraintFlags; - mPreferredConstraintFlags = b.mPreferredConstraintFlags; triggerContentUris = b.mTriggerContentUris != null ? b.mTriggerContentUris.toArray(new TriggerContentUri[b.mTriggerContentUris.size()]) : null; @@ -1037,7 +999,6 @@ public class JobInfo implements Parcelable { } out.writeParcelable(service, flags); out.writeInt(constraintFlags); - out.writeInt(mPreferredConstraintFlags); out.writeTypedArray(triggerContentUris, flags); out.writeLong(triggerContentUpdateDelay); out.writeLong(triggerContentMaxDelay); @@ -1185,7 +1146,6 @@ public class JobInfo implements Parcelable { private int mFlags; // Requirements. private int mConstraintFlags; - private int mPreferredConstraintFlags; private NetworkRequest mNetworkRequest; private long mNetworkDownloadBytes = NETWORK_BYTES_UNKNOWN; private long mNetworkUploadBytes = NETWORK_BYTES_UNKNOWN; @@ -1239,7 +1199,6 @@ public class JobInfo implements Parcelable { mBias = job.getBias(); mFlags = job.getFlags(); mConstraintFlags = job.getConstraintFlags(); - mPreferredConstraintFlags = job.getPreferredConstraintFlags(); mNetworkRequest = job.getRequiredNetwork(); mNetworkDownloadBytes = job.getEstimatedNetworkDownloadBytes(); mNetworkUploadBytes = job.getEstimatedNetworkUploadBytes(); @@ -1389,6 +1348,10 @@ public class JobInfo implements Parcelable { * {@link android.Manifest.permission#ACCESS_NETWORK_STATE} permission to * schedule a job that requires a network. * + * <p> Starting in Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, + * {@link JobScheduler} may try to shift the execution of jobs requiring + * {@link #NETWORK_TYPE_ANY} to when there is access to an un-metered network. + * * <p class="note"> * When your job executes in * {@link JobService#onStartJob(JobParameters)}, be sure to use the @@ -1555,100 +1518,6 @@ public class JobInfo implements Parcelable { } /** - * Specify that this job would prefer to be run when the device's battery is not low. - * This defaults to {@code false}. - * - * <p>The system may attempt to delay this job until the device's battery is not low, - * but may choose to run it even if the device's battery is low. JobScheduler will not stop - * this job if this constraint is no longer satisfied after the job has started running. - * If this job must only run when the device's battery is not low, - * use {@link #setRequiresBatteryNotLow(boolean)} instead. - * - * <p> - * Because it doesn't make sense for a constraint to be both preferred and required, - * calling both this and {@link #setRequiresBatteryNotLow(boolean)} with {@code true} - * will result in an {@link java.lang.IllegalArgumentException} when - * {@link android.app.job.JobInfo.Builder#build()} is called. - * - * @param prefersBatteryNotLow Pass {@code true} to prefer that the device's battery level - * not be low in order to run the job. - * @return This object for method chaining - * @see JobInfo#isPreferBatteryNotLow() - * @hide - */ - @NonNull - public Builder setPrefersBatteryNotLow(boolean prefersBatteryNotLow) { - mPreferredConstraintFlags = - (mPreferredConstraintFlags & ~CONSTRAINT_FLAG_BATTERY_NOT_LOW) - | (prefersBatteryNotLow ? CONSTRAINT_FLAG_BATTERY_NOT_LOW : 0); - return this; - } - - /** - * Specify that this job would prefer to be run when the device is charging (or be a - * non-battery-powered device connected to permanent power, such as Android TV - * devices). This defaults to {@code false}. - * - * <p> - * The system may attempt to delay this job until the device is charging, but may - * choose to run it even if the device is not charging. JobScheduler will not stop - * this job if this constraint is no longer satisfied after the job has started running. - * If this job must only run when the device is charging, - * use {@link #setRequiresCharging(boolean)} instead. - * - * <p> - * Because it doesn't make sense for a constraint to be both preferred and required, - * calling both this and {@link #setRequiresCharging(boolean)} with {@code true} - * will result in an {@link java.lang.IllegalArgumentException} when - * {@link android.app.job.JobInfo.Builder#build()} is called. - * - * @param prefersCharging Pass {@code true} to prefer that the device be - * charging in order to run the job. - * @return This object for method chaining - * @see JobInfo#isPreferCharging() - * @hide - */ - @NonNull - public Builder setPrefersCharging(boolean prefersCharging) { - mPreferredConstraintFlags = (mPreferredConstraintFlags & ~CONSTRAINT_FLAG_CHARGING) - | (prefersCharging ? CONSTRAINT_FLAG_CHARGING : 0); - return this; - } - - /** - * Specify that this job would prefer to be run when the device is not in active use. - * This defaults to {@code false}. - * - * <p>The system may attempt to delay this job until the device is not in active use, - * but may choose to run it even if the device is not idle. JobScheduler will not stop - * this job if this constraint is no longer satisfied after the job has started running. - * If this job must only run when the device is not in active use, - * use {@link #setRequiresDeviceIdle(boolean)} instead. - * - * <p> - * Because it doesn't make sense for a constraint to be both preferred and required, - * calling both this and {@link #setRequiresDeviceIdle(boolean)} with {@code true} - * will result in an {@link java.lang.IllegalArgumentException} when - * {@link android.app.job.JobInfo.Builder#build()} is called. - * - * <p class="note">Despite the similar naming, this job constraint is <em>not</em> - * related to the system's "device idle" or "doze" states. This constraint only - * determines whether a job is allowed to run while the device is directly in use. - * - * @param prefersDeviceIdle Pass {@code true} to prefer that the device not be in active - * use when running this job. - * @return This object for method chaining - * @see JobInfo#isRequireDeviceIdle() - * @hide - */ - @NonNull - public Builder setPrefersDeviceIdle(boolean prefersDeviceIdle) { - mPreferredConstraintFlags = (mPreferredConstraintFlags & ~CONSTRAINT_FLAG_DEVICE_IDLE) - | (prefersDeviceIdle ? CONSTRAINT_FLAG_DEVICE_IDLE : 0); - return this; - } - - /** * Specify that to run this job, the device must be charging (or be a * non-battery-powered device connected to permanent power, such as Android TV * devices). This defaults to {@code false}. Setting this to {@code false} <b>DOES NOT</b> @@ -1922,7 +1791,10 @@ public class JobInfo implements Parcelable { * <ol> * <li>Run as soon as possible</li> * <li>Be less restricted during Doze and battery saver</li> - * <li>Bypass Doze, app standby, and battery saver network restrictions</li> + * <li> + * Bypass Doze, app standby, and battery saver network restrictions (if the job + * has a {@link #setRequiredNetwork(NetworkRequest) connectivity constraint}) + * </li> * <li>Be less likely to be killed than regular jobs</li> * <li>Be subject to background location throttling</li> * <li>Be exempt from delay to optimize job execution</li> @@ -2306,29 +2178,6 @@ public class JobInfo implements Parcelable { } } - if ((constraintFlags & mPreferredConstraintFlags) != 0) { - // Something is marked as both preferred and required. Try to give a clear exception - // reason. - if ((constraintFlags & CONSTRAINT_FLAG_BATTERY_NOT_LOW) != 0 - && (mPreferredConstraintFlags & CONSTRAINT_FLAG_BATTERY_NOT_LOW) != 0) { - throw new IllegalArgumentException( - "battery-not-low constraint cannot be both preferred and required"); - } - if ((constraintFlags & CONSTRAINT_FLAG_CHARGING) != 0 - && (mPreferredConstraintFlags & CONSTRAINT_FLAG_CHARGING) != 0) { - throw new IllegalArgumentException( - "charging constraint cannot be both preferred and required"); - } - if ((constraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0 - && (mPreferredConstraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0) { - throw new IllegalArgumentException( - "device idle constraint cannot be both preferred and required"); - } - // Couldn't figure out what the overlap was. Just use a generic message. - throw new IllegalArgumentException( - "constraints cannot be both preferred and required"); - } - if (isUserInitiated) { if (hasEarlyConstraint) { throw new IllegalArgumentException("A user-initiated job cannot have a time delay"); @@ -2346,8 +2195,7 @@ public class JobInfo implements Parcelable { if (mPriority != PRIORITY_MAX) { throw new IllegalArgumentException("A user-initiated job must be max priority."); } - if ((constraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0 - || (mPreferredConstraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0) { + if ((constraintFlags & CONSTRAINT_FLAG_DEVICE_IDLE) != 0) { throw new IllegalArgumentException( "A user-initiated job cannot have a device-idle constraint"); } 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 23b36e20b174..bff43534ce05 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -3859,10 +3859,16 @@ public class JobSchedulerService extends com.android.server.SystemService // Only let the app use the higher runtime if it hasn't repeatedly timed out. final String timeoutTag = job.shouldTreatAsExpeditedJob() ? QUOTA_TRACKER_TIMEOUT_EJ_TAG : QUOTA_TRACKER_TIMEOUT_REG_TAG; + // Developers are informed that expedited jobs can be stopped earlier than regular jobs + // and so shouldn't use them for long pieces of work. There's little reason to let + // them run longer than the normal 10 minutes. + final long normalUpperLimitMs = job.shouldTreatAsExpeditedJob() + ? mConstants.RUNTIME_MIN_GUARANTEE_MS + : mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS; final long upperLimitMs = mQuotaTracker.isWithinQuota(job.getTimeoutBlameUserId(), job.getTimeoutBlamePackageName(), timeoutTag) - ? mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS + ? normalUpperLimitMs : mConstants.RUNTIME_MIN_GUARANTEE_MS; return Math.min(upperLimitMs, mConstants.USE_TARE_POLICY diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java index 2d49cfb3b171..721a8bdce57a 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -427,34 +427,30 @@ public final class JobServiceContext implements ServiceConnection { boolean binding = false; boolean startedWithForegroundFlag = false; try { - final Context.BindServiceFlags bindFlags; + long bindFlags = Context.BIND_AUTO_CREATE | Context.BIND_NOT_APP_COMPONENT_USAGE; if (job.shouldTreatAsUserInitiatedJob() && !job.isUserBgRestricted()) { // If the user has bg restricted the app, don't give the job FG privileges // such as bypassing data saver or getting the higher foreground proc state. // If we've gotten to this point, the app is most likely in the foreground, // so the job will run just fine while the user keeps the app in the foreground. - bindFlags = Context.BindServiceFlags.of( - Context.BIND_AUTO_CREATE - | Context.BIND_ALMOST_PERCEPTIBLE - | Context.BIND_BYPASS_POWER_NETWORK_RESTRICTIONS - | Context.BIND_BYPASS_USER_NETWORK_RESTRICTIONS - | Context.BIND_NOT_APP_COMPONENT_USAGE); + bindFlags |= Context.BIND_ALMOST_PERCEPTIBLE; + if (job.hasConnectivityConstraint()) { + // Only add network restriction bypass flags if the job requires network. + bindFlags |= Context.BIND_BYPASS_POWER_NETWORK_RESTRICTIONS + | Context.BIND_BYPASS_USER_NETWORK_RESTRICTIONS; + } startedWithForegroundFlag = true; } else if (job.shouldTreatAsExpeditedJob() || job.shouldTreatAsUserInitiatedJob()) { - bindFlags = Context.BindServiceFlags.of( - Context.BIND_AUTO_CREATE - | Context.BIND_NOT_FOREGROUND - | Context.BIND_ALMOST_PERCEPTIBLE - | Context.BIND_BYPASS_POWER_NETWORK_RESTRICTIONS - | Context.BIND_NOT_APP_COMPONENT_USAGE); + bindFlags |= Context.BIND_NOT_FOREGROUND | Context.BIND_ALMOST_PERCEPTIBLE; + if (job.hasConnectivityConstraint()) { + // Only add network restriction bypass flags if the job requires network. + bindFlags |= Context.BIND_BYPASS_POWER_NETWORK_RESTRICTIONS; + } } else { - bindFlags = Context.BindServiceFlags.of( - Context.BIND_AUTO_CREATE - | Context.BIND_NOT_FOREGROUND - | Context.BIND_NOT_PERCEPTIBLE - | Context.BIND_NOT_APP_COMPONENT_USAGE); + bindFlags |= Context.BIND_NOT_FOREGROUND | Context.BIND_NOT_PERCEPTIBLE; } - binding = mContext.bindServiceAsUser(intent, this, bindFlags, + binding = mContext.bindServiceAsUser(intent, this, + Context.BindServiceFlags.of(bindFlags), UserHandle.of(job.getUserId())); } catch (SecurityException e) { // Some permission policy, for example INTERACT_ACROSS_USERS and diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java index 1fdf906fd4ea..d466f0d8912c 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java @@ -938,15 +938,6 @@ public final class JobStore { if (job.isRequireStorageNotLow()) { out.attribute(null, "storage-not-low", Boolean.toString(true)); } - if (job.isPreferBatteryNotLow()) { - out.attributeBoolean(null, "prefer-battery-not-low", true); - } - if (job.isPreferCharging()) { - out.attributeBoolean(null, "prefer-charging", true); - } - if (job.isPreferDeviceIdle()) { - out.attributeBoolean(null, "prefer-idle", true); - } out.endTag(null, XML_TAG_PARAMS_CONSTRAINTS); } @@ -1638,13 +1629,6 @@ public final class JobStore { if (val != null) { jobBuilder.setRequiresStorageNotLow(true); } - - jobBuilder.setPrefersBatteryNotLow( - parser.getAttributeBoolean(null, "prefer-battery-not-low", false)); - jobBuilder.setPrefersCharging( - parser.getAttributeBoolean(null, "prefer-charging", false)); - jobBuilder.setPrefersDeviceIdle( - parser.getAttributeBoolean(null, "prefer-idle", false)); } /** diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java index 63eaa63db72e..ae4e99cfeef3 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/ConnectivityController.java @@ -1263,9 +1263,10 @@ public final class ConnectivityController extends RestrictingController implemen final boolean changed = jobStatus.setConnectivityConstraintSatisfied(nowElapsed, satisfied); - jobStatus.setHasAccessToUnmetered(satisfied && capabilities != null - && capabilities.hasCapability(NET_CAPABILITY_NOT_METERED)); if (jobStatus.getPreferUnmetered()) { + jobStatus.setHasAccessToUnmetered(satisfied && capabilities != null + && capabilities.hasCapability(NET_CAPABILITY_NOT_METERED)); + jobStatus.setFlexibilityConstraintSatisfied(nowElapsed, mFlexibilityController.isFlexibilitySatisfiedLocked(jobStatus)); } diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java index b9e3b76b0279..0e03ea1ebe7d 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java @@ -252,15 +252,15 @@ public final class FlexibilityController extends StateController { boolean isFlexibilitySatisfiedLocked(JobStatus js) { return !mFlexibilityEnabled || mService.getUidBias(js.getSourceUid()) == JobInfo.BIAS_TOP_APP - || getNumSatisfiedFlexibleConstraintsLocked(js) + || getNumSatisfiedRequiredConstraintsLocked(js) >= js.getNumRequiredFlexibleConstraints() || mService.isCurrentlyRunningLocked(js); } @VisibleForTesting @GuardedBy("mLock") - int getNumSatisfiedFlexibleConstraintsLocked(JobStatus js) { - return Integer.bitCount(mSatisfiedFlexibleConstraints & js.getPreferredConstraintFlags()) + int getNumSatisfiedRequiredConstraintsLocked(JobStatus js) { + return Integer.bitCount(mSatisfiedFlexibleConstraints) // Connectivity is job-specific, so must be handled separately. + (js.getHasAccessToUnmetered() ? 1 : 0); } diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java index a25af7110ee5..47d3fd5bc8c4 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java @@ -18,13 +18,16 @@ package com.android.server.job.controllers; import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; +import android.annotation.NonNull; import android.content.Context; import android.content.pm.PackageManager; import android.os.UserHandle; +import android.provider.DeviceConfig; import android.util.ArraySet; import android.util.IndentingPrintWriter; import android.util.proto.ProtoOutputStream; +import com.android.internal.annotations.GuardedBy; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateControllerProto; import com.android.server.job.controllers.idle.CarIdlenessTracker; @@ -89,6 +92,19 @@ public final class IdleController extends RestrictingController implements Idlen } } + @Override + public void processConstantLocked(@NonNull DeviceConfig.Properties properties, + @NonNull String key) { + mIdleTracker.processConstant(properties, key); + } + + @Override + @GuardedBy("mLock") + public void onBatteryStateChangedLocked() { + mIdleTracker.onBatteryStateChanged( + mService.isBatteryCharging(), mService.isBatteryNotLow()); + } + /** * State-change notifications from the idleness tracker */ @@ -119,7 +135,16 @@ public final class IdleController extends RestrictingController implements Idlen } else { mIdleTracker = new DeviceIdlenessTracker(); } - mIdleTracker.startTracking(ctx, this); + mIdleTracker.startTracking(ctx, mService, this); + } + + @Override + public void dumpConstants(IndentingPrintWriter pw) { + pw.println(); + pw.println("IdleController:"); + pw.increaseIndent(); + mIdleTracker.dumpConstants(pw); + pw.decreaseIndent(); } @Override diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java index 1fb54d59179b..cb6cc2bd58aa 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java @@ -16,6 +16,7 @@ package com.android.server.job.controllers; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED; import static android.text.format.DateUtils.HOUR_IN_MILLIS; import static com.android.server.job.JobSchedulerService.ACTIVE_INDEX; @@ -24,6 +25,8 @@ import static com.android.server.job.JobSchedulerService.NEVER_INDEX; import static com.android.server.job.JobSchedulerService.RESTRICTED_INDEX; import static com.android.server.job.JobSchedulerService.WORKING_INDEX; import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; +import static com.android.server.job.controllers.FlexibilityController.NUM_SYSTEM_WIDE_FLEXIBLE_CONSTRAINTS; +import static com.android.server.job.controllers.FlexibilityController.SYSTEM_WIDE_FLEXIBLE_CONSTRAINTS; import android.annotation.ElapsedRealtimeLong; import android.annotation.NonNull; @@ -124,11 +127,12 @@ public final class JobStatus { static final int CONSTRAINT_WITHIN_QUOTA = 1 << 24; // Implicit constraint static final int CONSTRAINT_PREFETCH = 1 << 23; static final int CONSTRAINT_BACKGROUND_NOT_RESTRICTED = 1 << 22; // Implicit constraint - static final int CONSTRAINT_FLEXIBLE = 1 << 21; + static final int CONSTRAINT_FLEXIBLE = 1 << 21; // Implicit constraint private static final int IMPLICIT_CONSTRAINTS = 0 | CONSTRAINT_BACKGROUND_NOT_RESTRICTED | CONSTRAINT_DEVICE_NOT_DOZING + | CONSTRAINT_FLEXIBLE | CONSTRAINT_TARE_WEALTH | CONSTRAINT_WITHIN_QUOTA; @@ -323,7 +327,6 @@ public final class JobStatus { // Constraints. final int requiredConstraints; - private final int mPreferredConstraints; private final int mRequiredConstraintsOfInterest; int satisfiedConstraints = 0; private int mSatisfiedConstraintsOfInterest = 0; @@ -668,26 +671,24 @@ public final class JobStatus { } mHasExemptedMediaUrisOnly = exemptedMediaUrisOnly; - mPreferredConstraints = job.getPreferredConstraintFlags(); - - // Exposing a preferredNetworkRequest API requires that we make sure that the preferred - // NetworkRequest is a subset of the required NetworkRequest. We currently don't have the - // code to ensure that, so disable this part for now. - // TODO(236261941): look into enabling flexible network constraint requests - mPreferUnmetered = false; - // && job.getRequiredNetwork() != null - // && !job.getRequiredNetwork().hasCapability(NET_CAPABILITY_NOT_METERED); + mPreferUnmetered = job.getRequiredNetwork() != null + && !job.getRequiredNetwork().hasCapability(NET_CAPABILITY_NOT_METERED); + final boolean lacksSomeFlexibleConstraints = + ((~requiredConstraints) & SYSTEM_WIDE_FLEXIBLE_CONSTRAINTS) != 0 + || mPreferUnmetered; final boolean satisfiesMinWindowException = (latestRunTimeElapsedMillis - earliestRunTimeElapsedMillis) >= MIN_WINDOW_FOR_FLEXIBILITY_MS; // The first time a job is rescheduled it will not be subject to flexible constraints. // Otherwise, every consecutive reschedule increases a jobs' flexibility deadline. - if (mPreferredConstraints != 0 && !isRequestedExpeditedJob() && !job.isUserInitiated() + if (!isRequestedExpeditedJob() && !job.isUserInitiated() && satisfiesMinWindowException - && (numFailures + numSystemStops) != 1) { - mNumRequiredFlexibleConstraints = Integer.bitCount(mPreferredConstraints); + && (numFailures + numSystemStops) != 1 + && lacksSomeFlexibleConstraints) { + mNumRequiredFlexibleConstraints = + NUM_SYSTEM_WIDE_FLEXIBLE_CONSTRAINTS + (mPreferUnmetered ? 1 : 0); requiredConstraints |= CONSTRAINT_FLEXIBLE; } else { mNumRequiredFlexibleConstraints = 0; @@ -1393,10 +1394,6 @@ public final class JobStatus { mInternalFlags = mInternalFlags & ~flags; } - int getPreferredConstraintFlags() { - return mPreferredConstraints; - } - public int getSatisfiedConstraintFlags() { return satisfiedConstraints; } @@ -2778,9 +2775,6 @@ public final class JobStatus { pw.print("Required constraints:"); dumpConstraints(pw, requiredConstraints); pw.println(); - pw.print("Preferred constraints:"); - dumpConstraints(pw, mPreferredConstraints); - pw.println(); pw.print("Dynamic constraints:"); dumpConstraints(pw, mDynamicConstraints); pw.println(); diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/CarIdlenessTracker.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/CarIdlenessTracker.java index c458caec2873..ba0e63397505 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/CarIdlenessTracker.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/CarIdlenessTracker.java @@ -16,10 +16,13 @@ package com.android.server.job.controllers.idle; +import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.provider.DeviceConfig; +import android.util.IndentingPrintWriter; import android.util.Log; import android.util.Slog; import android.util.proto.ProtoOutputStream; @@ -73,7 +76,8 @@ public final class CarIdlenessTracker extends BroadcastReceiver implements Idlen } @Override - public void startTracking(Context context, IdlenessListener listener) { + public void startTracking(Context context, JobSchedulerService service, + IdlenessListener listener) { mIdleListener = listener; IntentFilter filter = new IntentFilter(); @@ -94,6 +98,15 @@ public final class CarIdlenessTracker extends BroadcastReceiver implements Idlen context.registerReceiver(this, filter, null, AppSchedulingModuleThread.getHandler()); } + /** Process the specified constant and update internal constants if relevant. */ + public void processConstant(@NonNull DeviceConfig.Properties properties, + @NonNull String key) { + } + + @Override + public void onBatteryStateChanged(boolean isCharging, boolean isBatteryNotLow) { + } + @Override public void dump(PrintWriter pw) { pw.print(" mIdle: "); pw.println(mIdle); @@ -119,6 +132,10 @@ public final class CarIdlenessTracker extends BroadcastReceiver implements Idlen } @Override + public void dumpConstants(IndentingPrintWriter pw) { + } + + @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); logIfDebug("Received action: " + action); diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java index c943e73eb12c..7dd3d1343379 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java @@ -17,9 +17,12 @@ package com.android.server.job.controllers.idle; import static android.app.UiModeManager.PROJECTION_TYPE_NONE; +import static android.text.format.DateUtils.HOUR_IN_MILLIS; +import static android.text.format.DateUtils.MINUTE_IN_MILLIS; import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; +import android.annotation.NonNull; import android.app.AlarmManager; import android.app.UiModeManager; import android.content.BroadcastReceiver; @@ -27,10 +30,13 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.PowerManager; +import android.provider.DeviceConfig; +import android.util.IndentingPrintWriter; import android.util.Log; import android.util.Slog; import android.util.proto.ProtoOutputStream; +import com.android.internal.annotations.VisibleForTesting; import com.android.server.AppSchedulingModuleThread; import com.android.server.am.ActivityManagerService; import com.android.server.job.JobSchedulerService; @@ -45,17 +51,38 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id private static final boolean DEBUG = JobSchedulerService.DEBUG || Log.isLoggable(TAG, Log.DEBUG); + /** Prefix to use with all constant keys in order to "sub-namespace" the keys. */ + private static final String IC_DIT_CONSTANT_PREFIX = "ic_dit_"; + @VisibleForTesting + static final String KEY_INACTIVITY_IDLE_THRESHOLD_MS = + IC_DIT_CONSTANT_PREFIX + "inactivity_idle_threshold_ms"; + @VisibleForTesting + static final String KEY_INACTIVITY_STABLE_POWER_IDLE_THRESHOLD_MS = + IC_DIT_CONSTANT_PREFIX + "inactivity_idle_stable_power_threshold_ms"; + private static final String KEY_IDLE_WINDOW_SLOP_MS = + IC_DIT_CONSTANT_PREFIX + "idle_window_slop_ms"; + private AlarmManager mAlarm; private PowerManager mPowerManager; // After construction, mutations of idle/screen-on/projection states will only happen // on the JobScheduler thread, either in onReceive(), in an alarm callback, or in on.*Changed. private long mInactivityIdleThreshold; + private long mInactivityStablePowerIdleThreshold; private long mIdleWindowSlop; + /** Stable power is defined as "charging + battery not low." */ + private boolean mIsStablePower; private boolean mIdle; private boolean mScreenOn; private boolean mDockIdle; private boolean mProjectionActive; + + /** + * Time (in the elapsed realtime timebase) when the idleness check was scheduled. This should + * be a negative value if the device is not in state to be considered idle. + */ + private long mIdlenessCheckScheduledElapsed = -1; + private IdlenessListener mIdleListener; private final UiModeManager.OnProjectionStateChangedListener mOnProjectionStateChangedListener = this::onProjectionStateChanged; @@ -76,10 +103,14 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id } @Override - public void startTracking(Context context, IdlenessListener listener) { + public void startTracking(Context context, JobSchedulerService service, + IdlenessListener listener) { mIdleListener = listener; mInactivityIdleThreshold = context.getResources().getInteger( com.android.internal.R.integer.config_jobSchedulerInactivityIdleThreshold); + mInactivityStablePowerIdleThreshold = context.getResources().getInteger( + com.android.internal.R.integer + .config_jobSchedulerInactivityIdleThresholdOnStablePower); mIdleWindowSlop = context.getResources().getInteger( com.android.internal.R.integer.config_jobSchedulerIdleWindowSlop); mAlarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); @@ -107,6 +138,46 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id context.getSystemService(UiModeManager.class).addOnProjectionStateChangedListener( UiModeManager.PROJECTION_TYPE_ALL, AppSchedulingModuleThread.getExecutor(), mOnProjectionStateChangedListener); + + mIsStablePower = service.isBatteryCharging() && service.isBatteryNotLow(); + } + + /** Process the specified constant and update internal constants if relevant. */ + public void processConstant(@NonNull DeviceConfig.Properties properties, + @NonNull String key) { + switch (key) { + case KEY_INACTIVITY_IDLE_THRESHOLD_MS: + // Keep the threshold in the range [1 minute, 4 hours]. + mInactivityIdleThreshold = Math.max(MINUTE_IN_MILLIS, Math.min(4 * HOUR_IN_MILLIS, + properties.getLong(key, mInactivityIdleThreshold))); + // Don't bother updating any pending alarms. Just wait until the next time we + // attempt to check for idle state to use the new value. + break; + case KEY_INACTIVITY_STABLE_POWER_IDLE_THRESHOLD_MS: + // Keep the threshold in the range [1 minute, 4 hours]. + mInactivityStablePowerIdleThreshold = Math.max(MINUTE_IN_MILLIS, + Math.min(4 * HOUR_IN_MILLIS, + properties.getLong(key, mInactivityStablePowerIdleThreshold))); + // Don't bother updating any pending alarms. Just wait until the next time we + // attempt to check for idle state to use the new value. + break; + case KEY_IDLE_WINDOW_SLOP_MS: + // Keep the slop in the range [1 minute, 15 minutes]. + mIdleWindowSlop = Math.max(MINUTE_IN_MILLIS, Math.min(15 * MINUTE_IN_MILLIS, + properties.getLong(key, mIdleWindowSlop))); + // Don't bother updating any pending alarms. Just wait until the next time we + // attempt to check for idle state to use the new value. + break; + } + } + + @Override + public void onBatteryStateChanged(boolean isCharging, boolean isBatteryNotLow) { + final boolean isStablePower = isCharging && isBatteryNotLow; + if (mIsStablePower != isStablePower) { + mIsStablePower = isStablePower; + maybeScheduleIdlenessCheck("stable power changed"); + } } private void onProjectionStateChanged(@UiModeManager.ProjectionType int activeProjectionTypes, @@ -134,8 +205,10 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id public void dump(PrintWriter pw) { pw.print(" mIdle: "); pw.println(mIdle); pw.print(" mScreenOn: "); pw.println(mScreenOn); + pw.print(" mIsStablePower: "); pw.println(mIsStablePower); pw.print(" mDockIdle: "); pw.println(mDockIdle); pw.print(" mProjectionActive: "); pw.println(mProjectionActive); + pw.print(" mIdlenessCheckScheduledElapsed: "); pw.println(mIdlenessCheckScheduledElapsed); } @Override @@ -162,6 +235,17 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id } @Override + public void dumpConstants(IndentingPrintWriter pw) { + pw.println("DeviceIdlenessTracker:"); + pw.increaseIndent(); + pw.print(KEY_INACTIVITY_IDLE_THRESHOLD_MS, mInactivityIdleThreshold).println(); + pw.print(KEY_INACTIVITY_STABLE_POWER_IDLE_THRESHOLD_MS, mInactivityStablePowerIdleThreshold) + .println(); + pw.print(KEY_IDLE_WINDOW_SLOP_MS, mIdleWindowSlop).println(); + pw.decreaseIndent(); + } + + @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (DEBUG) { @@ -220,9 +304,24 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id private void maybeScheduleIdlenessCheck(String reason) { if ((!mScreenOn || mDockIdle) && !mProjectionActive) { final long nowElapsed = sElapsedRealtimeClock.millis(); - final long when = nowElapsed + mInactivityIdleThreshold; + final long inactivityThresholdMs = mIsStablePower + ? mInactivityStablePowerIdleThreshold : mInactivityIdleThreshold; + if (mIdlenessCheckScheduledElapsed >= 0) { + if (mIdlenessCheckScheduledElapsed + inactivityThresholdMs <= nowElapsed) { + if (DEBUG) { + Slog.v(TAG, "Previous idle check @ " + mIdlenessCheckScheduledElapsed + + " allows device to be idle now"); + } + handleIdleTrigger(); + return; + } + } else { + mIdlenessCheckScheduledElapsed = nowElapsed; + } + final long when = mIdlenessCheckScheduledElapsed + inactivityThresholdMs; if (DEBUG) { - Slog.v(TAG, "Scheduling idle : " + reason + " now:" + nowElapsed + " when=" + when); + Slog.v(TAG, "Scheduling idle : " + reason + " now:" + nowElapsed + + " checkElapsed=" + mIdlenessCheckScheduledElapsed + " when=" + when); } mAlarm.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, mIdleWindowSlop, "JS idleness", @@ -232,6 +331,7 @@ public final class DeviceIdlenessTracker extends BroadcastReceiver implements Id private void cancelIdlenessCheck() { mAlarm.cancel(mIdleAlarmListener); + mIdlenessCheckScheduledElapsed = -1; } private void handleIdleTrigger() { diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/IdlenessTracker.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/IdlenessTracker.java index cdab7e538ca5..92ad4dfddfc2 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/IdlenessTracker.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/IdlenessTracker.java @@ -16,9 +16,14 @@ package com.android.server.job.controllers.idle; +import android.annotation.NonNull; import android.content.Context; +import android.provider.DeviceConfig; +import android.util.IndentingPrintWriter; import android.util.proto.ProtoOutputStream; +import com.android.server.job.JobSchedulerService; + import java.io.PrintWriter; public interface IdlenessTracker { @@ -29,7 +34,7 @@ public interface IdlenessTracker { * non-interacting state. When the idle state changes thereafter, the given * listener must be called to report the new state. */ - void startTracking(Context context, IdlenessListener listener); + void startTracking(Context context, JobSchedulerService service, IdlenessListener listener); /** * Report whether the device is currently considered "idle" for purposes of @@ -40,6 +45,12 @@ public interface IdlenessTracker { */ boolean isIdle(); + /** Process the specified constant and update internal constants if relevant. */ + void processConstant(@NonNull DeviceConfig.Properties properties, @NonNull String key); + + /** Called when the battery state changes. */ + void onBatteryStateChanged(boolean isCharging, boolean isBatteryNotLow); + /** * Dump useful information about tracked idleness-related state in plaintext. */ @@ -49,4 +60,7 @@ public interface IdlenessTracker { * Dump useful information about tracked idleness-related state to proto. */ void dump(ProtoOutputStream proto, long fieldId); + + /** Dump any internal constants the tracker may have. */ + void dumpConstants(IndentingPrintWriter pw); } diff --git a/boot/boot-image-profile.txt b/boot/boot-image-profile.txt index 039234428661..937833d67648 100644 --- a/boot/boot-image-profile.txt +++ b/boot/boot-image-profile.txt @@ -802,10 +802,7 @@ HSPLandroid/app/ActivityTaskManager;->getTasks(IZ)Ljava/util/List; HSPLandroid/app/ActivityTaskManager;->getTasks(IZZ)Ljava/util/List; HSPLandroid/app/ActivityTaskManager;->supportsMultiWindow(Landroid/content/Context;)Z HSPLandroid/app/ActivityThread$$ExternalSyntheticLambda1;-><init>()V -HSPLandroid/app/ActivityThread$2;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$2;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V HSPLandroid/app/ActivityThread$3;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$3;->run()V HSPLandroid/app/ActivityThread$ActivityClientRecord$1;-><init>(Landroid/app/ActivityThread$ActivityClientRecord;)V HSPLandroid/app/ActivityThread$ActivityClientRecord$1;->onConfigurationChanged(Landroid/content/res/Configuration;I)V HSPLandroid/app/ActivityThread$ActivityClientRecord;->-$$Nest$misPreHoneycomb(Landroid/app/ActivityThread$ActivityClientRecord;)Z @@ -1485,7 +1482,7 @@ HSPLandroid/app/ContextImpl;->fileList()[Ljava/lang/String; HSPLandroid/app/ContextImpl;->finalize()V HSPLandroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder; HSPLandroid/app/ContextImpl;->getApplicationContext()Landroid/content/Context; -HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; +HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/app/LoadedApk;Landroid/app/LoadedApk; HSPLandroid/app/ContextImpl;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/app/ContextImpl;->getAssociatedDisplayId()I HSPLandroid/app/ContextImpl;->getAttributionSource()Landroid/content/AttributionSource; @@ -2053,7 +2050,7 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;-><i HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->run()V 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$Args;->lambda$getRunnable$0()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 @@ -2473,7 +2470,7 @@ HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$fputmHighWaterMark(Landroid/a HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V -HSPLandroid/app/PropertyInvalidatedCache;->bypass(Ljava/lang/Object;)Z +HSPLandroid/app/PropertyInvalidatedCache;->bypass(Ljava/lang/Object;)Z+]Landroid/app/PropertyInvalidatedCache$QueryHandler;Landroid/app/PropertyInvalidatedCache$DefaultComputer; HSPLandroid/app/PropertyInvalidatedCache;->cacheName()Ljava/lang/String; HSPLandroid/app/PropertyInvalidatedCache;->clear()V HSPLandroid/app/PropertyInvalidatedCache;->createMap()Ljava/util/LinkedHashMap; @@ -2482,13 +2479,13 @@ HSPLandroid/app/PropertyInvalidatedCache;->disableLocal()V HSPLandroid/app/PropertyInvalidatedCache;->dumpCacheInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->getActiveCaches()Ljava/util/ArrayList; HSPLandroid/app/PropertyInvalidatedCache;->getActiveCorks()Ljava/util/ArrayList; -HSPLandroid/app/PropertyInvalidatedCache;->getCurrentNonce()J +HSPLandroid/app/PropertyInvalidatedCache;->getCurrentNonce()J+]Landroid/os/SystemProperties$Handle;Landroid/os/SystemProperties$Handle; HSPLandroid/app/PropertyInvalidatedCache;->invalidateCache(Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->invalidateCacheLocked(Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->isDisabled()Z HSPLandroid/app/PropertyInvalidatedCache;->isReservedNonce(J)Z HSPLandroid/app/PropertyInvalidatedCache;->maybeCheckConsistency(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1;]Landroid/app/PropertyInvalidatedCache;megamorphic_types HSPLandroid/app/PropertyInvalidatedCache;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->refresh(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->registerCache()V @@ -2827,6 +2824,7 @@ HSPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$96;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Landroid/view/contentcapture/ContentCaptureManager; HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -3949,7 +3947,7 @@ HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder; HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context; -HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; +HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/ContextWrapper;->getAttributionSource()Landroid/content/AttributionSource; HSPLandroid/content/ContextWrapper;->getAttributionTag()Ljava/lang/String; @@ -5050,7 +5048,7 @@ 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+]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;->setToDefaults()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V 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; @@ -5114,8 +5112,7 @@ HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String; 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;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; 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 @@ -5129,7 +5126,7 @@ HSPLandroid/content/res/Resources;->dumpHistory(Ljava/io/PrintWriter;Ljava/lang/ HSPLandroid/content/res/Resources;->finishPreloading()V HSPLandroid/content/res/Resources;->getAnimation(I)Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/Resources;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; -HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager; +HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I HSPLandroid/content/res/Resources;->getBoolean(I)Z HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader; @@ -5138,7 +5135,7 @@ HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$The HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; -HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; +HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/Resources;->getDimension(I)F HSPLandroid/content/res/Resources;->getDimensionPixelOffset(I)I HSPLandroid/content/res/Resources;->getDimensionPixelSize(I)I @@ -5222,7 +5219,7 @@ HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getParentThemeIdentifier(I)I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getTheme()[Ljava/lang/String; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase(Landroid/content/res/AssetManager;)V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z @@ -5267,7 +5264,7 @@ HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resour HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface; HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock; HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; @@ -5333,8 +5330,8 @@ 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;+]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 +HSPLandroid/content/res/TypedArray;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; +HSPLandroid/content/res/TypedArray;->resize(I)V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLandroid/content/res/XmlBlock$Parser;-><init>(Landroid/content/res/XmlBlock;JLandroid/content/res/XmlBlock;)V HSPLandroid/content/res/XmlBlock$Parser;->close()V HSPLandroid/content/res/XmlBlock$Parser;->finalize()V @@ -5353,14 +5350,14 @@ HSPLandroid/content/res/XmlBlock$Parser;->getClassAttribute()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getDepth()I HSPLandroid/content/res/XmlBlock$Parser;->getEventType()I HSPLandroid/content/res/XmlBlock$Parser;->getLineNumber()I -HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence; HSPLandroid/content/res/XmlBlock$Parser;->getPositionDescription()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSourceResId()I HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z -HSPLandroid/content/res/XmlBlock$Parser;->next()I +HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V @@ -5641,8 +5638,8 @@ HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/ HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executePerConnectionSqlFromConfiguration(I)V HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V @@ -5652,7 +5649,7 @@ HSPLandroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z HSPLandroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V -HSPLandroid/database/sqlite/SQLiteConnection;->open()V +HSPLandroid/database/sqlite/SQLiteConnection;->open()V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection; HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V HSPLandroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V @@ -5825,7 +5822,7 @@ HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isWalEnabledInternal() HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveJournalMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveSyncMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;-><clinit>()V HSPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats; HSPLandroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z @@ -6373,7 +6370,7 @@ HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/Matrix;->isIdentity()Z HSPLandroid/graphics/Matrix;->mapPoints([F)V HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V -HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z +HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z HSPLandroid/graphics/Matrix;->ni()J HSPLandroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z @@ -6439,7 +6436,7 @@ HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getHinting()I HSPLandroid/graphics/Paint;->getLetterSpacing()F HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter; -HSPLandroid/graphics/Paint;->getNativeInstance()J +HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/PorterDuffColorFilter;,Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint;]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;,Landroid/graphics/RadialGradient; HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FI)F @@ -6476,7 +6473,7 @@ HSPLandroid/graphics/Paint;->installXfermode(Landroid/graphics/Xfermode;)Landroi HSPLandroid/graphics/Paint;->isAntiAlias()Z HSPLandroid/graphics/Paint;->isDither()Z HSPLandroid/graphics/Paint;->isElegantTextHeight()Z -HSPLandroid/graphics/Paint;->isFilterBitmap()Z +HSPLandroid/graphics/Paint;->isFilterBitmap()Z+]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint; HSPLandroid/graphics/Paint;->measureText(Ljava/lang/CharSequence;II)F HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;)F HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;II)F @@ -6610,8 +6607,8 @@ HSPLandroid/graphics/RecordingCanvas;->finishRecording(Landroid/graphics/RenderN HSPLandroid/graphics/RecordingCanvas;->getHeight()I HSPLandroid/graphics/RecordingCanvas;->getWidth()I HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z -HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/RecordingCanvas;->recycle()V +HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; +HSPLandroid/graphics/RecordingCanvas;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect; HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -6624,7 +6621,7 @@ HSPLandroid/graphics/Rect;->centerX()I HSPLandroid/graphics/Rect;->centerY()I HSPLandroid/graphics/Rect;->contains(II)Z HSPLandroid/graphics/Rect;->contains(Landroid/graphics/Rect;)Z -HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z +HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/graphics/Rect; HSPLandroid/graphics/Rect;->exactCenterX()F HSPLandroid/graphics/Rect;->exactCenterY()F HSPLandroid/graphics/Rect;->hashCode()I @@ -6711,10 +6708,10 @@ HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingC HSPLandroid/graphics/RenderNode;->clearStretch()Z HSPLandroid/graphics/RenderNode;->create(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)Landroid/graphics/RenderNode; HSPLandroid/graphics/RenderNode;->discardDisplayList()V -HSPLandroid/graphics/RenderNode;->endRecording()V +HSPLandroid/graphics/RenderNode;->endRecording()V+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/RenderNode;->getClipToOutline()Z HSPLandroid/graphics/RenderNode;->getElevation()F -HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V +HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/RenderNode;->getPivotY()F HSPLandroid/graphics/RenderNode;->getRotationX()F HSPLandroid/graphics/RenderNode;->getRotationY()F @@ -7945,7 +7942,6 @@ HSPLandroid/hardware/OverlayProperties$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/hardware/OverlayProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/OverlayProperties;->-$$Nest$smnReadOverlayPropertiesFromParcel(Landroid/os/Parcel;)J HSPLandroid/hardware/OverlayProperties;-><init>(J)V -HSPLandroid/hardware/OverlayProperties;->supportFp16ForHdr()Z HSPLandroid/hardware/Sensor;-><init>()V HSPLandroid/hardware/Sensor;->getHandle()I HSPLandroid/hardware/Sensor;->getMaxLengthValuesArray(Landroid/hardware/Sensor;I)I @@ -8188,8 +8184,8 @@ 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;->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;->getDisplays([ILjava/util/function/Predicate;)[Landroid/view/Display;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2; +HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/content/Context;Landroid/app/Application;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display; 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 @@ -8199,12 +8195,8 @@ HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILjava/lang/String;)V HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integer;)Landroid/view/DisplayInfo; HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;JLandroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()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 -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->sendDisplayEvent(IILandroid/view/DisplayInfo;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback-IA;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V @@ -8217,13 +8209,12 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandro HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds(Z)[I HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo; -HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfoLocked(I)Landroid/view/DisplayInfo; +HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfoLocked(I)Landroid/view/DisplayInfo;+]Landroid/app/PropertyInvalidatedCache;Landroid/hardware/display/DisplayManagerGlobal$1; HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal; HSPLandroid/hardware/display/DisplayManagerGlobal;->getLooperForHandler(Landroid/os/Handler;)Landroid/os/Looper; HSPLandroid/hardware/display/DisplayManagerGlobal;->getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace; HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; -HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V @@ -8493,7 +8484,7 @@ HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer; HSPLandroid/icu/impl/ICUBinary;->addBaseNamesInFileFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I -HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I +HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/ICUBinary;->getBytes(Ljava/nio/ByteBuffer;II)[B HSPLandroid/icu/impl/ICUBinary;->getChars(Ljava/nio/ByteBuffer;II)[C HSPLandroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/ByteBuffer; @@ -8641,11 +8632,11 @@ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getString()Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;I)V -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->findString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;+]Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V @@ -8658,7 +8649,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$Array32;->getContainerResource(Land HSPLandroid/icu/impl/ICUResourceBundleReader$Array;-><init>()V HSPLandroid/icu/impl/ICUResourceBundleReader$Array;->getValue(ILandroid/icu/impl/UResource$Value;)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Container;-><init>()V -HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I +HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I+]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer32Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getSize()I @@ -8676,11 +8667,11 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljav HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getTable()Landroid/icu/impl/UResource$Table; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getType()I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;+]Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->makeKey(I)I HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object; @@ -8727,8 +8718,8 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getReader(Ljava/lang/String;Ljava HSPLandroid/icu/impl/ICUResourceBundleReader;->getResourceByteOffset(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getRootResource()I HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer;]Ljava/lang/CharSequence;Ljava/nio/ByteBufferAsCharBuffer; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->getTableKeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V @@ -8842,7 +8833,7 @@ HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String; HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z HSPLandroid/icu/impl/PatternProps;->skipWhiteSpace(Ljava/lang/CharSequence;I)I HSPLandroid/icu/impl/PatternTokenizer;-><init>()V -HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I +HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I+]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/PatternTokenizer;->quoteLiteral(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/PatternTokenizer;->setExtraQuotingCharacters(Landroid/icu/text/UnicodeSet;)Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/impl/PatternTokenizer;->setPattern(Ljava/lang/String;)Landroid/icu/impl/PatternTokenizer; @@ -10679,7 +10670,7 @@ HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;-><init>(Landroid/medi HSPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes; HSPLandroid/media/AudioPlaybackConfiguration;->isActive()Z HSPLandroid/media/AudioPort$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V +HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$Head;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;,Ljava/util/stream/ReferencePipeline$4;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/media/AudioProfile;Landroid/media/AudioProfile;]Ljava/util/Set;Ljava/util/HashSet; HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle; HSPLandroid/media/AudioPort;->id()I @@ -11700,7 +11691,7 @@ HSPLandroid/os/BaseBundle;->remove(Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V HSPLandroid/os/BaseBundle;->size()I -HSPLandroid/os/BaseBundle;->unparcel()V +HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->unparcel(Z)V HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V @@ -11811,7 +11802,6 @@ 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; @@ -12038,7 +12028,7 @@ HSPLandroid/os/Handler;->getMain()Landroid/os/Handler; HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message; HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message; HSPLandroid/os/Handler;->getTraceName(Landroid/os/Message;)Ljava/lang/String; -HSPLandroid/os/Handler;->handleCallback(Landroid/os/Message;)V +HSPLandroid/os/Handler;->handleCallback(Landroid/os/Message;)V+]Ljava/lang/Runnable;missing_types HSPLandroid/os/Handler;->handleMessage(Landroid/os/Message;)V HSPLandroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z HSPLandroid/os/Handler;->hasMessages(I)Z @@ -12289,7 +12279,7 @@ HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z 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;->postSyncBarrier(J)I+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->quit(Z)V HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V HSPLandroid/os/MessageQueue;->removeAllMessagesLocked()V @@ -12456,7 +12446,7 @@ HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeBlob([B)V -HSPLandroid/os/Parcel;->writeBoolean(Z)V +HSPLandroid/os/Parcel;->writeBoolean(Z)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeBooleanArray([Z)V HSPLandroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V HSPLandroid/os/Parcel;->writeByte(B)V @@ -12574,7 +12564,7 @@ HSPLandroid/os/PersistableBundle;-><init>(I)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/Parcel;I)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;Z)V -HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle; +HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;Z)V HSPLandroid/os/PersistableBundle;->deepCopy()Landroid/os/PersistableBundle; HSPLandroid/os/PersistableBundle;->getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle; HSPLandroid/os/PersistableBundle;->isValidType(Ljava/lang/Object;)Z @@ -12852,7 +12842,6 @@ HSPLandroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V HSPLandroid/os/StrictMode;->initThreadDefaults(Landroid/content/pm/ApplicationInfo;)V HSPLandroid/os/StrictMode;->initVmDefaults(Landroid/content/pm/ApplicationInfo;)V HSPLandroid/os/StrictMode;->isBundledSystemApp(Landroid/content/pm/ApplicationInfo;)Z -HSPLandroid/os/StrictMode;->isUserKeyUnlocked(I)Z HSPLandroid/os/StrictMode;->lambda$dropboxViolationAsync$2(ILandroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode;->lambda$static$0(Landroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode;->noteSlowCall(Ljava/lang/String;)V @@ -13109,7 +13098,6 @@ HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->asBinder()Landroid/os/IBinde HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume; HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumes(I)[Landroid/os/storage/VolumeInfo; -HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z HSPLandroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager; HSPLandroid/os/storage/StorageEventListener;-><init>()V HSPLandroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V @@ -14776,7 +14764,7 @@ HSPLandroid/text/MeasuredParagraph;->reset()V HSPLandroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V HSPLandroid/text/PackedIntVector;->adjustValuesBelow(III)V HSPLandroid/text/PackedIntVector;->deleteAt(II)V -HSPLandroid/text/PackedIntVector;->getValue(II)I +HSPLandroid/text/PackedIntVector;->getValue(II)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->growBuffer()V HSPLandroid/text/PackedIntVector;->insertAt(I[I)V HSPLandroid/text/PackedIntVector;->moveRowGapTo(I)V @@ -14839,7 +14827,7 @@ HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V HSPLandroid/text/SpannableStringBuilder;->checkSortBuffer([II)[I HSPLandroid/text/SpannableStringBuilder;->clear()V HSPLandroid/text/SpannableStringBuilder;->compareSpans(II[I[I)I -HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I +HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V @@ -14900,9 +14888,9 @@ HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V HSPLandroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringInternal;->length()I -HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I +HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->length()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V @@ -15039,7 +15027,7 @@ HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I -HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I +HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I+]Ljava/lang/Object;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I HSPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z @@ -15360,11 +15348,11 @@ HSPLandroid/util/ArrayMap;->ensureCapacity(I)V HSPLandroid/util/ArrayMap;->entrySet()Ljava/util/Set; HSPLandroid/util/ArrayMap;->equals(Ljava/lang/Object;)Z HSPLandroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V -HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/util/ArrayMap;->getCollection()Landroid/util/MapCollections; HSPLandroid/util/ArrayMap;->hashCode()I -HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I -HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I +HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I+]Ljava/lang/Object;megamorphic_types +HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;megamorphic_types HSPLandroid/util/ArrayMap;->indexOfNull()I HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/ArrayMap;->isEmpty()Z @@ -15402,7 +15390,7 @@ HSPLandroid/util/ArraySet;->clear()V HSPLandroid/util/ArraySet;->contains(Ljava/lang/Object;)Z HSPLandroid/util/ArraySet;->ensureCapacity(I)V HSPLandroid/util/ArraySet;->equals(Ljava/lang/Object;)Z -HSPLandroid/util/ArraySet;->forEach(Ljava/util/function/Consumer;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;missing_types +HSPLandroid/util/ArraySet;->forEach(Ljava/util/function/Consumer;)V HSPLandroid/util/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V HSPLandroid/util/ArraySet;->getCollection()Landroid/util/MapCollections; HSPLandroid/util/ArraySet;->hashCode()I @@ -15618,14 +15606,14 @@ HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->hitCount()I HSPLandroid/util/LruCache;->maxSize()I HSPLandroid/util/LruCache;->missCount()I -HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->resize(I)V HSPLandroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->size()I HSPLandroid/util/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->snapshot()Ljava/util/Map; -HSPLandroid/util/LruCache;->trimToSize(I)V +HSPLandroid/util/LruCache;->trimToSize(I)V+]Ljava/util/Map$Entry;Ljava/util/LinkedHashMap$LinkedHashMapEntry;]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V HSPLandroid/util/MapCollections$ArrayIterator;->hasNext()Z HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object; @@ -15750,7 +15738,7 @@ HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V HSPLandroid/util/SparseArray;->clear()V HSPLandroid/util/SparseArray;->clone()Landroid/util/SparseArray; HSPLandroid/util/SparseArray;->contains(I)Z -HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z HSPLandroid/util/SparseArray;->delete(I)V HSPLandroid/util/SparseArray;->gc()V HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object; @@ -16063,7 +16051,7 @@ HSPLandroid/view/Display;->isWideColorGamut()Z HSPLandroid/view/Display;->shouldReportMaxBounds()Z HSPLandroid/view/Display;->stateToString(I)Ljava/lang/String; HSPLandroid/view/Display;->updateCachedAppSizeIfNeededLocked()V -HSPLandroid/view/Display;->updateDisplayInfoLocked()V +HSPLandroid/view/Display;->updateDisplayInfoLocked()V+]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal; HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical; HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V @@ -16195,7 +16183,7 @@ HSPLandroid/view/GestureDetector;->cancel()V HSPLandroid/view/GestureDetector;->cancelTaps()V HSPLandroid/view/GestureDetector;->init(Landroid/content/Context;)V HSPLandroid/view/GestureDetector;->isConsideredDoubleTap(Landroid/view/MotionEvent;Landroid/view/MotionEvent;Landroid/view/MotionEvent;)Z -HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/VelocityTracker;Landroid/view/VelocityTracker;]Landroid/os/Handler;Landroid/view/GestureDetector$GestureHandler;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/GestureDetector;->recordGestureClassification(I)V HSPLandroid/view/GestureDetector;->setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V HSPLandroid/view/GestureDetector;->setIsLongpressEnabled(Z)V @@ -16329,7 +16317,7 @@ HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEve HSPLandroid/view/InputEventReceiver;->dispose()V HSPLandroid/view/InputEventReceiver;->dispose(Z)V HSPLandroid/view/InputEventReceiver;->finalize()V -HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V +HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/InputEventReceiver;->onBatchedInputEventPending(I)V HSPLandroid/view/InputEventReceiver;->reportTimeline(IJJ)V HSPLandroid/view/InputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V @@ -16523,8 +16511,8 @@ HSPLandroid/view/InsetsState;-><init>()V HSPLandroid/view/InsetsState;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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; @@ -16547,14 +16535,14 @@ HSPLandroid/view/InsetsState;->isSourceOrDefaultVisible(II)Z HSPLandroid/view/InsetsState;->peekSource(I)Landroid/view/InsetsSource; HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V -HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;I)V HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->setDisplayCutout(Landroid/view/DisplayCutout;)V HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/InsetsState;->setPrivacyIndicatorBounds(Landroid/view/PrivacyIndicatorBounds;)V HSPLandroid/view/InsetsState;->setRoundedCorners(Landroid/view/RoundedCorners;)V -HSPLandroid/view/InsetsState;->sourceAt(I)Landroid/view/InsetsSource;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->sourceAt(I)Landroid/view/InsetsSource; HSPLandroid/view/InsetsState;->sourceIdAt(I)I HSPLandroid/view/InsetsState;->sourceSize()I HSPLandroid/view/InsetsState;->traverse(Landroid/view/InsetsState;Landroid/view/InsetsState;Landroid/view/InsetsState$OnTraverseCallbacks;)V @@ -16619,8 +16607,6 @@ HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Fact HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->initPrecompiledViews()V -HSPLandroid/view/LayoutInflater;->initPrecompiledViews(Z)V HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; @@ -16631,7 +16617,6 @@ HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Facto HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->tryInflatePrecompiled(ILandroid/content/res/Resources;Landroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/MotionEvent$PointerCoords;-><init>()V @@ -16675,7 +16660,7 @@ HSPLandroid/view/MotionEvent;->getY(I)F HSPLandroid/view/MotionEvent;->initialize(IIIIIIIIIFFFFJJI[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;)Z HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z HSPLandroid/view/MotionEvent;->isTouchEvent()Z -HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; +HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFIIII)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; @@ -16828,7 +16813,6 @@ 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 @@ -16838,7 +16822,6 @@ 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 @@ -17039,10 +17022,10 @@ HSPLandroid/view/View$TintInfo;-><init>()V HSPLandroid/view/View$TransformationInfo;-><init>()V HSPLandroid/view/View$UnsetPressedState;->run()V HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;)V +HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/view/View;missing_types]Ljava/lang/Object;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/content/Context;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V @@ -17133,7 +17116,7 @@ HSPLandroid/view/View;->dispatchSetPressed(Z)V HSPLandroid/view/View;->dispatchSetSelected(Z)V HSPLandroid/view/View;->dispatchStartTemporaryDetach()V HSPLandroid/view/View;->dispatchSystemUiVisibilityChanged(I)V -HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/View;->dispatchVisibilityAggregated(Z)Z HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V HSPLandroid/view/View;->dispatchWindowFocusChanged(Z)V @@ -17141,13 +17124,13 @@ HSPLandroid/view/View;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowIns HSPLandroid/view/View;->dispatchWindowSystemUiVisiblityChanged(I)V HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z -HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V +HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation;]Landroid/view/animation/Animation;Landroid/view/animation/TranslateAnimation;,Landroid/view/animation/AlphaAnimation;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; +HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawableHotspotChanged(FF)V HSPLandroid/view/View;->drawableStateChanged()V -HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z +HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->ensureTransformationInfo()V HSPLandroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View; HSPLandroid/view/View;->findFocus()Landroid/view/View; @@ -17208,7 +17191,7 @@ HSPLandroid/view/View;->getForegroundGravity()I HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/View;->getHandler()Landroid/os/Handler; -HSPLandroid/view/View;->getHasOverlappingRendering()Z +HSPLandroid/view/View;->getHasOverlappingRendering()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->getHeight()I HSPLandroid/view/View;->getHitRect(Landroid/graphics/Rect;)V HSPLandroid/view/View;->getHorizontalFadingEdgeLength()I @@ -17221,7 +17204,7 @@ HSPLandroid/view/View;->getImportantForContentCapture()I HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; HSPLandroid/view/View;->getLayerType()I -HSPLandroid/view/View;->getLayoutDirection()I +HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/view/View;->getLeft()I HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; @@ -17229,8 +17212,8 @@ HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getLocationInSurface([I)V HSPLandroid/view/View;->getLocationInWindow([I)V HSPLandroid/view/View;->getLocationOnScreen()[I -HSPLandroid/view/View;->getLocationOnScreen([I)V -HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix; +HSPLandroid/view/View;->getLocationOnScreen([I)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getMeasuredHeight()I HSPLandroid/view/View;->getMeasuredState()I HSPLandroid/view/View;->getMeasuredWidth()I @@ -17269,8 +17252,8 @@ HSPLandroid/view/View;->getScrollY()I HSPLandroid/view/View;->getSolidColor()I HSPLandroid/view/View;->getStateListAnimator()Landroid/animation/StateListAnimator; HSPLandroid/view/View;->getStraightVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V -HSPLandroid/view/View;->getSuggestedMinimumHeight()I -HSPLandroid/view/View;->getSuggestedMinimumWidth()I +HSPLandroid/view/View;->getSuggestedMinimumHeight()I+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->getSuggestedMinimumWidth()I+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->getSystemGestureExclusionRects()Ljava/util/List; HSPLandroid/view/View;->getSystemUiVisibility()I HSPLandroid/view/View;->getTag()Ljava/lang/Object; @@ -17309,7 +17292,7 @@ HSPLandroid/view/View;->hasExplicitFocusable()Z HSPLandroid/view/View;->hasFocus()Z HSPLandroid/view/View;->hasFocusable()Z HSPLandroid/view/View;->hasFocusable(ZZ)Z -HSPLandroid/view/View;->hasIdentityMatrix()Z +HSPLandroid/view/View;->hasIdentityMatrix()Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->hasImeFocus()Z HSPLandroid/view/View;->hasListenersForAccessibility()Z HSPLandroid/view/View;->hasNestedScrollingParent()Z @@ -17380,10 +17363,10 @@ HSPLandroid/view/View;->isKeyboardNavigationCluster()Z HSPLandroid/view/View;->isLaidOut()Z HSPLandroid/view/View;->isLayoutDirectionInherited()Z HSPLandroid/view/View;->isLayoutDirectionResolved()Z -HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z +HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->isLayoutRequested()Z HSPLandroid/view/View;->isLayoutRtl()Z -HSPLandroid/view/View;->isLayoutValid()Z +HSPLandroid/view/View;->isLayoutValid()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->isLongClickable()Z HSPLandroid/view/View;->isNestedScrollingEnabled()Z HSPLandroid/view/View;->isOpaque()Z @@ -17408,12 +17391,12 @@ HSPLandroid/view/View;->isViewIdGenerated(I)Z HSPLandroid/view/View;->isVisibleToUser()Z HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->jumpDrawablesToCurrentState()V -HSPLandroid/view/View;->layout(IIII)V +HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V HSPLandroid/view/View;->mapRectFromViewToWindowCoords(Landroid/graphics/RectF;Z)V -HSPLandroid/view/View;->measure(II)V +HSPLandroid/view/View;->measure(II)V+]Landroid/view/View;missing_types]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLandroid/view/View;->mergeDrawableStates([I[I)[I HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V HSPLandroid/view/View;->needRtlPropertiesResolution()Z @@ -17513,7 +17496,7 @@ HSPLandroid/view/View;->requestFocus()Z HSPLandroid/view/View;->requestFocus(I)Z HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z -HSPLandroid/view/View;->requestLayout()V +HSPLandroid/view/View;->requestLayout()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z HSPLandroid/view/View;->requireViewById(I)Landroid/view/View; @@ -17530,7 +17513,7 @@ HSPLandroid/view/View;->resetRtlProperties()V HSPLandroid/view/View;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/View;->resolveDrawables()V HSPLandroid/view/View;->resolveLayoutDirection()Z -HSPLandroid/view/View;->resolveLayoutParams()V +HSPLandroid/view/View;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup$LayoutParams;missing_types HSPLandroid/view/View;->resolvePadding()V HSPLandroid/view/View;->resolveRtlPropertiesIfNeeded()Z HSPLandroid/view/View;->resolveSize(II)I @@ -17576,7 +17559,7 @@ HSPLandroid/view/View;->setClipToOutline(Z)V HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V HSPLandroid/view/View;->setDetached(Z)V -HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V +HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setDrawingCacheEnabled(Z)V HSPLandroid/view/View;->setElevation(F)V HSPLandroid/view/View;->setEnabled(Z)V @@ -17587,7 +17570,7 @@ HSPLandroid/view/View;->setFocusable(Z)V HSPLandroid/view/View;->setFocusableInTouchMode(Z)V HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setForegroundGravity(I)V -HSPLandroid/view/View;->setFrame(IIII)Z +HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setHandwritingArea(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V HSPLandroid/view/View;->setHasTransientState(Z)V @@ -17672,7 +17655,7 @@ HSPLandroid/view/View;->setVisibility(I)V HSPLandroid/view/View;->setWillNotDraw(Z)V HSPLandroid/view/View;->setX(F)V HSPLandroid/view/View;->setY(F)V -HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z +HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HSPLandroid/view/View;->sizeChange(IIII)V HSPLandroid/view/View;->skipInvalidate()Z HSPLandroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V @@ -17680,7 +17663,7 @@ HSPLandroid/view/View;->startNestedScroll(I)Z HSPLandroid/view/View;->stopNestedScroll()V HSPLandroid/view/View;->switchDefaultFocusHighlight()V HSPLandroid/view/View;->toString()Ljava/lang/String; -HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V +HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V+]Landroid/view/View;missing_types 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 @@ -17749,7 +17732,7 @@ HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutP HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V -HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V +HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V @@ -17757,7 +17740,7 @@ HSPLandroid/view/ViewGroup$MarginLayoutParams;->getLayoutDirection()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginEnd()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginStart()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->isMarginRelative()Z -HSPLandroid/view/ViewGroup$MarginLayoutParams;->resolveLayoutDirection(I)V +HSPLandroid/view/ViewGroup$MarginLayoutParams;->resolveLayoutDirection(I)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types HSPLandroid/view/ViewGroup$MarginLayoutParams;->setLayoutDirection(I)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginEnd(I)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginStart(I)V @@ -17779,7 +17762,7 @@ HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z -HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V +HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->bringChildToFront(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList; @@ -17806,7 +17789,7 @@ HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V +HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V @@ -17824,8 +17807,8 @@ 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+]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;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/ViewGroup$TouchTarget;Landroid/view/ViewGroup$TouchTarget; +HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/View;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V @@ -17835,7 +17818,7 @@ HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/ViewGroup;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/ViewGroup;->dispatchWindowSystemUiVisiblityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V -HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z +HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->drawableStateChanged()V HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->exitHoverTargets()V @@ -17901,7 +17884,7 @@ HSPLandroid/view/ViewGroup;->layout(IIII)V HSPLandroid/view/ViewGroup;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->measureChild(Landroid/view/View;II)V -HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V +HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->measureChildren(II)V HSPLandroid/view/ViewGroup;->newDispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChangedIfNeeded()V @@ -17950,9 +17933,9 @@ HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/ViewGroup;->resetTouchState()V HSPLandroid/view/ViewGroup;->resolveDrawables()V HSPLandroid/view/ViewGroup;->resolveLayoutDirection()Z -HSPLandroid/view/ViewGroup;->resolveLayoutParams()V +HSPLandroid/view/ViewGroup;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolvePadding()V -HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z +HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z HSPLandroid/view/ViewGroup;->resolveTextDirection()Z HSPLandroid/view/ViewGroup;->restoreDefaultFocus()Z @@ -18045,6 +18028,7 @@ 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;-><init>(Landroid/view/ViewRootImpl;Landroid/view/SurfaceControl$Transaction;Landroid/window/SurfaceSyncGroup;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 @@ -18061,7 +18045,7 @@ HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;-><init>(Landroid/view/View HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I +HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl$HighContrastTextManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V @@ -18117,7 +18101,7 @@ HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Lan HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I +HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/HandwritingInitiator;Landroid/view/HandwritingInitiator;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewRootHandler;-><init>(Landroid/view/ViewRootImpl;)V @@ -18143,7 +18127,7 @@ HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchInsetsControlChanged(Landroid/v HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchResized(Landroid/view/ViewRootImpl;Landroid/window/ClientWindowFrames;ZLandroid/util/MergedConfiguration;Landroid/view/InsetsState;ZZIIZ)V HSPLandroid/view/ViewRootImpl;->-$$Nest$mprofileRendering(Landroid/view/ViewRootImpl;Z)V HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V -HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V+]Landroid/view/WindowLeaked;Landroid/view/WindowLeaked;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V HSPLandroid/view/ViewRootImpl;->addSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V @@ -18162,7 +18146,7 @@ HSPLandroid/view/ViewRootImpl;->clearLowProfileModeIfNeeded(IZ)V HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z HSPLandroid/view/ViewRootImpl;->controlInsetsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V -HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V +HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/ViewRootImpl$InputStage;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;]Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V HSPLandroid/view/ViewRootImpl;->destroySurface()V @@ -18181,20 +18165,20 @@ HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V HSPLandroid/view/ViewRootImpl;->dispatchResized(Landroid/window/ClientWindowFrames;ZLandroid/util/MergedConfiguration;Landroid/view/InsetsState;ZZIIZ)V HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V -HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V +HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; 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;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]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 HSPLandroid/view/ViewRootImpl;->endDragResizing()V HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V -HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V +HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->ensureTouchMode(Z)Z HSPLandroid/view/ViewRootImpl;->ensureTouchModeLocally(Z)Z HSPLandroid/view/ViewRootImpl;->enterTouchMode()Z HSPLandroid/view/ViewRootImpl;->findOnBackInvokedDispatcherForChild(Landroid/view/View;Landroid/view/View;)Landroid/window/OnBackInvokedDispatcher; -HSPLandroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V +HSPLandroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/InputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->fireAccessibilityFocusEventIfHasFocusedNode()V HSPLandroid/view/ViewRootImpl;->focusableViewAvailable(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->forceLayout(Landroid/view/View;)V @@ -18205,7 +18189,7 @@ HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/Autof HSPLandroid/view/ViewRootImpl;->getBufferTransformHint()I HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/ViewRootImpl;->getCompatWindowConfiguration()Landroid/app/WindowConfiguration; -HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration; +HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext; HSPLandroid/view/ViewRootImpl;->getDisplayId()I HSPLandroid/view/ViewRootImpl;->getHandwritingInitiator()Landroid/view/HandwritingInitiator; HSPLandroid/view/ViewRootImpl;->getHostVisibility()I @@ -18289,7 +18273,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;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V @@ -18306,8 +18290,8 @@ HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V HSPLandroid/view/ViewRootImpl;->requestLayout()V HSPLandroid/view/ViewRootImpl;->requestLayoutDuringLayout(Landroid/view/View;)Z HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V -HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V -HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V +HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z HSPLandroid/view/ViewRootImpl;->sendBackKeyEvent(I)V HSPLandroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V @@ -18376,16 +18360,16 @@ HSPLandroid/view/ViewStub;->setLayoutResource(I)V HSPLandroid/view/ViewStub;->setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V HSPLandroid/view/ViewStub;->setVisibility(I)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;-><init>()V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z @@ -18401,10 +18385,10 @@ HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/Vie HSPLandroid/view/ViewTreeObserver;->captureFrameCommitCallbacks()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver;->checkIsAlive()V HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V +HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/ViewTreeObserver$OnDrawListener;Landroid/widget/Editor$2; HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z +HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V+]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; +HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z+]Landroid/view/ViewTreeObserver$OnPreDrawListener;missing_types]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; HSPLandroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V HSPLandroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V @@ -19094,7 +19078,7 @@ HSPLandroid/view/inputmethod/ImeTracker$1$$ExternalSyntheticLambda0;-><init>(Lan HSPLandroid/view/inputmethod/ImeTracker$1;-><init>()V HSPLandroid/view/inputmethod/ImeTracker$1;->getTag(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/view/inputmethod/ImeTracker$1;->onProgress(Landroid/view/inputmethod/ImeTracker$Token;I)V -HSPLandroid/view/inputmethod/ImeTracker$1;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/inputmethod/ImeTracker$1;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;)V HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda1;-><init>()V @@ -19759,7 +19743,7 @@ HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V HSPLandroid/widget/Editor$InsertionPointCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor$InsertionPointCursorController;->show()V HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V -HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z +HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z+]Landroid/widget/Editor$TextViewPositionListener;Landroid/widget/Editor$CursorAnchorInfoNotifier; HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V HSPLandroid/widget/Editor$PositionListener;->updatePosition()V @@ -19883,13 +19867,13 @@ HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams; HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/FrameLayout;->getAccessibilityClassName()Ljava/lang/CharSequence; -HSPLandroid/widget/FrameLayout;->getPaddingBottomWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingLeftWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I -HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V -HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V -HSPLandroid/widget/FrameLayout;->onMeasure(II)V +HSPLandroid/widget/FrameLayout;->getPaddingBottomWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingLeftWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/widget/FrameLayout;missing_types]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/widget/FrameLayout;->setForegroundGravity(I)V HSPLandroid/widget/FrameLayout;->setMeasureAllChildren(Z)V HSPLandroid/widget/FrameLayout;->shouldDelayChildPressedState()Z @@ -20064,14 +20048,14 @@ HSPLandroid/widget/LinearLayout;->getGravity()I HSPLandroid/widget/LinearLayout;->getLocationOffset(Landroid/view/View;)I HSPLandroid/widget/LinearLayout;->getNextLocationOffset(Landroid/view/View;)I HSPLandroid/widget/LinearLayout;->getOrientation()I -HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View; -HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I +HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;+]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V -HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V +HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V HSPLandroid/widget/LinearLayout;->measureHorizontal(II)V -HSPLandroid/widget/LinearLayout;->measureVertical(II)V +HSPLandroid/widget/LinearLayout;->measureVertical(II)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->onDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/LinearLayout;->onLayout(ZIIII)V HSPLandroid/widget/LinearLayout;->onMeasure(II)V @@ -20349,7 +20333,6 @@ HSPLandroid/widget/RemoteViews$BitmapReflectionAction;-><init>(Landroid/widget/R HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->getActionTag()I HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->setHierarchyRootData(Landroid/widget/RemoteViews$HierarchyRootData;)V HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/widget/RemoteViews$HierarchyRootData;-><init>(Landroid/widget/RemoteViews$BitmapCache;Landroid/widget/RemoteViews$ApplicationInfoCache;Ljava/util/Map;)V HSPLandroid/widget/RemoteViews$MethodKey;->equals(Ljava/lang/Object;)Z HSPLandroid/widget/RemoteViews$MethodKey;->hashCode()I HSPLandroid/widget/RemoteViews$MethodKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V @@ -20528,7 +20511,7 @@ HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/Te HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/TextView;->addSearchHighlightPaths()V HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V @@ -20712,7 +20695,7 @@ HSPLandroid/widget/TextView;->onVisibilityChanged(Landroid/view/View;I)V HSPLandroid/widget/TextView;->onWindowFocusChanged(Z)V HSPLandroid/widget/TextView;->originalToTransformed(II)I HSPLandroid/widget/TextView;->preloadFontCache()V -HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V +HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/TextView;->registerForPreDraw()V HSPLandroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V @@ -21239,10 +21222,10 @@ HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/ByteBuffer HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetEncoderICU;-><init>(Ljava/nio/charset/Charset;FF[BJ)V -HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I -HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Lcom/android/icu/charset/CharsetEncoderICU;Lcom/android/icu/charset/CharsetEncoderICU; HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implReset()V @@ -21455,7 +21438,7 @@ HSPLcom/android/internal/inputmethod/EditableInputConnection;->getEditable()Land HSPLcom/android/internal/inputmethod/EditableInputConnection;->setImeConsumesInput(Z)Z HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->asBinder()Landroid/os/IBinder; -HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Lcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;Lcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; HSPLcom/android/internal/inputmethod/IImeTracker$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/inputmethod/IImeTracker; HSPLcom/android/internal/inputmethod/IInputMethodClient$Stub;->asBinder()Landroid/os/IBinder; HSPLcom/android/internal/inputmethod/IInputMethodClient$Stub;->getMaxTransactionId()I @@ -21674,7 +21657,6 @@ HSPLcom/android/internal/os/Zygote;->applyUidSecurityPolicy(Lcom/android/interna HSPLcom/android/internal/os/Zygote;->callPostForkChildHooks(IZZLjava/lang/String;)V HSPLcom/android/internal/os/Zygote;->containsInetGid([I)Z HSPLcom/android/internal/os/Zygote;->createManagedSocketFromInitSocket(Ljava/lang/String;)Landroid/net/LocalServerSocket; -HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;[Ljava/lang/String;ZZ)I HSPLcom/android/internal/os/Zygote;->forkSystemServer(II[II[[IJJ)I HSPLcom/android/internal/os/Zygote;->getConfigurationProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/internal/os/Zygote;->getUsapPoolEventFD()Ljava/io/FileDescriptor; @@ -21744,7 +21726,7 @@ HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V HSPLcom/android/internal/policy/DecorContext;-><init>(Landroid/content/Context;Lcom/android/internal/policy/PhoneWindow;)V HSPLcom/android/internal/policy/DecorContext;->getAutofillOptions()Landroid/content/AutofillOptions; HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions; -HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources; +HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; HSPLcom/android/internal/policy/DecorContext;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; HSPLcom/android/internal/policy/DecorContext;->isUiContext()Z HSPLcom/android/internal/policy/DecorContext;->setPhoneWindow(Lcom/android/internal/policy/PhoneWindow;)V @@ -21775,7 +21757,7 @@ HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/dra HSPLcom/android/internal/policy/DecorView;->getCaptionHeight()I HSPLcom/android/internal/policy/DecorView;->getCaptionInsetsHeight()I HSPLcom/android/internal/policy/DecorView;->getNavBarSize(III)I -HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources; +HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext; HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String; HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController; HSPLcom/android/internal/policy/DecorView;->initializeElevation()V @@ -22054,7 +22036,7 @@ HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I HSPLcom/android/internal/util/ArrayUtils;->deepToString(Ljava/lang/Object;)Ljava/lang/String; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String; -HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/ArrayUtils;->emptyIfNull([Ljava/lang/Object;Ljava/lang/Class;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->filter([Ljava/lang/Object;Ljava/util/function/IntFunction;Ljava/util/function/Predicate;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->getOrNull([Ljava/lang/Object;I)Ljava/lang/Object; @@ -22097,7 +22079,7 @@ HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(C)V -HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String; +HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V HSPLcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V HSPLcom/android/internal/util/FastPrintWriter;->close()V HSPLcom/android/internal/util/FastPrintWriter;->flush()V @@ -32160,7 +32142,6 @@ Landroid/widget/RemoteViews$MethodArgs; Landroid/widget/RemoteViews$MethodKey; Landroid/widget/RemoteViews$NightModeReflectionAction; Landroid/widget/RemoteViews$OnViewAppliedListener; -Landroid/widget/RemoteViews$OverrideTextColorsAction; Landroid/widget/RemoteViews$ReflectionAction; Landroid/widget/RemoteViews$RemoteCollectionItems$1; Landroid/widget/RemoteViews$RemoteCollectionItems; @@ -32182,7 +32163,6 @@ Landroid/widget/RemoteViews$SetRadioGroupCheckedAction; Landroid/widget/RemoteViews$SetRemoteCollectionItemListAdapterAction; Landroid/widget/RemoteViews$SetRemoteInputsAction; Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent; -Landroid/widget/RemoteViews$SetRemoteViewsAdapterList; Landroid/widget/RemoteViews$SetRippleDrawableColor; Landroid/widget/RemoteViews$SetViewOutlinePreferredRadiusAction; Landroid/widget/RemoteViews$TextViewDrawableAction; diff --git a/boot/preloaded-classes b/boot/preloaded-classes index 0f69d13d1a59..72322ef5ec9e 100644 --- a/boot/preloaded-classes +++ b/boot/preloaded-classes @@ -370,6 +370,7 @@ android.app.BackgroundServiceStartNotAllowedException android.app.BroadcastOptions android.app.ClientTransactionHandler android.app.ComponentOptions +android.app.ConfigurationChangedListenerController android.app.ConfigurationController android.app.ContentProviderHolder$1 android.app.ContentProviderHolder @@ -1275,6 +1276,8 @@ android.appwidget.AppWidgetManager$$ExternalSyntheticLambda1 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda2 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda3 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda4 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda5 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda6 android.appwidget.AppWidgetManager android.appwidget.AppWidgetManagerInternal android.appwidget.AppWidgetProvider @@ -1338,6 +1341,7 @@ android.content.ComponentName$1 android.content.ComponentName$WithComponentName android.content.ComponentName android.content.ContentCaptureOptions$1 +android.content.ContentCaptureOptions$ContentProtectionOptions android.content.ContentCaptureOptions android.content.ContentInterface android.content.ContentProvider$1 @@ -8386,6 +8390,7 @@ android.view.IScrollCaptureCallbacks android.view.IScrollCaptureResponseListener$Stub$Proxy android.view.IScrollCaptureResponseListener$Stub android.view.IScrollCaptureResponseListener +android.view.ISurfaceControlViewHost android.view.ISurfaceControlViewHostParent$Stub android.view.ISurfaceControlViewHostParent android.view.ISystemGestureExclusionListener$Stub$Proxy @@ -8971,7 +8976,9 @@ android.view.autofill.AutofillManager$AugmentedAutofillManagerClient android.view.autofill.AutofillManager$AutofillCallback android.view.autofill.AutofillManager$AutofillClient android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda10 +android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda11 android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda13 +android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda14 android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda16 android.view.autofill.AutofillManager$AutofillManagerClient android.view.autofill.AutofillManager$CompatibilityBridge @@ -9045,6 +9052,7 @@ android.view.contentcapture.MainContentCaptureSession android.view.contentcapture.ViewNode$ViewNodeText android.view.contentcapture.ViewNode$ViewStructureImpl android.view.contentcapture.ViewNode +android.view.contentprotection.ContentProtectionEventProcessor android.view.displayhash.DisplayHash$1 android.view.displayhash.DisplayHash android.view.displayhash.DisplayHashManager @@ -9142,10 +9150,15 @@ android.view.inputmethod.JoinOrSplitGesture android.view.inputmethod.ParcelableHandwritingGesture$1 android.view.inputmethod.ParcelableHandwritingGesture android.view.inputmethod.PreviewableHandwritingGesture +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda11 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda24 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda25 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda27 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda28 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda37 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda39 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda40 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda42 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda8 android.view.inputmethod.RemoteInputConnectionImpl$1 android.view.inputmethod.RemoteInputConnectionImpl$KnownAlwaysTrueEndBatchEditCache @@ -9609,7 +9622,6 @@ android.widget.RemoteViews$MethodArgs android.widget.RemoteViews$MethodKey android.widget.RemoteViews$NightModeReflectionAction android.widget.RemoteViews$OnViewAppliedListener -android.widget.RemoteViews$OverrideTextColorsAction android.widget.RemoteViews$ReflectionAction android.widget.RemoteViews$RemoteCollectionItems$1 android.widget.RemoteViews$RemoteCollectionItems @@ -9631,7 +9643,6 @@ android.widget.RemoteViews$SetRadioGroupCheckedAction android.widget.RemoteViews$SetRemoteCollectionItemListAdapterAction android.widget.RemoteViews$SetRemoteInputsAction android.widget.RemoteViews$SetRemoteViewsAdapterIntent -android.widget.RemoteViews$SetRemoteViewsAdapterList android.widget.RemoteViews$SetRippleDrawableColor android.widget.RemoteViews$SetViewOutlinePreferredRadiusAction android.widget.RemoteViews$TextViewDrawableAction @@ -9702,6 +9713,7 @@ android.widget.TextClock android.widget.TextView$$ExternalSyntheticLambda2 android.widget.TextView$$ExternalSyntheticLambda3 android.widget.TextView$$ExternalSyntheticLambda4 +android.widget.TextView$$ExternalSyntheticLambda5 android.widget.TextView$1 android.widget.TextView$2 android.widget.TextView$3 diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt index 9abac0f47100..4442b063ec62 100644 --- a/config/boot-image-profile.txt +++ b/config/boot-image-profile.txt @@ -802,10 +802,7 @@ HSPLandroid/app/ActivityTaskManager;->getTasks(IZ)Ljava/util/List; HSPLandroid/app/ActivityTaskManager;->getTasks(IZZ)Ljava/util/List; HSPLandroid/app/ActivityTaskManager;->supportsMultiWindow(Landroid/content/Context;)Z HSPLandroid/app/ActivityThread$$ExternalSyntheticLambda1;-><init>()V -HSPLandroid/app/ActivityThread$2;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$2;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V HSPLandroid/app/ActivityThread$3;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$3;->run()V HSPLandroid/app/ActivityThread$ActivityClientRecord$1;-><init>(Landroid/app/ActivityThread$ActivityClientRecord;)V HSPLandroid/app/ActivityThread$ActivityClientRecord$1;->onConfigurationChanged(Landroid/content/res/Configuration;I)V HSPLandroid/app/ActivityThread$ActivityClientRecord;->-$$Nest$misPreHoneycomb(Landroid/app/ActivityThread$ActivityClientRecord;)Z @@ -1485,7 +1482,7 @@ HSPLandroid/app/ContextImpl;->fileList()[Ljava/lang/String; HSPLandroid/app/ContextImpl;->finalize()V HSPLandroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder; HSPLandroid/app/ContextImpl;->getApplicationContext()Landroid/content/Context; -HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; +HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/app/LoadedApk;Landroid/app/LoadedApk; HSPLandroid/app/ContextImpl;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/app/ContextImpl;->getAssociatedDisplayId()I HSPLandroid/app/ContextImpl;->getAttributionSource()Landroid/content/AttributionSource; @@ -2053,7 +2050,7 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;-><i HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->run()V 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$Args;->lambda$getRunnable$0()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 @@ -2473,7 +2470,7 @@ HSPLandroid/app/PropertyInvalidatedCache;->-$$Nest$fputmHighWaterMark(Landroid/a HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PropertyInvalidatedCache$QueryHandler;)V -HSPLandroid/app/PropertyInvalidatedCache;->bypass(Ljava/lang/Object;)Z +HSPLandroid/app/PropertyInvalidatedCache;->bypass(Ljava/lang/Object;)Z+]Landroid/app/PropertyInvalidatedCache$QueryHandler;Landroid/app/PropertyInvalidatedCache$DefaultComputer; HSPLandroid/app/PropertyInvalidatedCache;->cacheName()Ljava/lang/String; HSPLandroid/app/PropertyInvalidatedCache;->clear()V HSPLandroid/app/PropertyInvalidatedCache;->createMap()Ljava/util/LinkedHashMap; @@ -2482,13 +2479,13 @@ HSPLandroid/app/PropertyInvalidatedCache;->disableLocal()V HSPLandroid/app/PropertyInvalidatedCache;->dumpCacheInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->getActiveCaches()Ljava/util/ArrayList; HSPLandroid/app/PropertyInvalidatedCache;->getActiveCorks()Ljava/util/ArrayList; -HSPLandroid/app/PropertyInvalidatedCache;->getCurrentNonce()J +HSPLandroid/app/PropertyInvalidatedCache;->getCurrentNonce()J+]Landroid/os/SystemProperties$Handle;Landroid/os/SystemProperties$Handle; HSPLandroid/app/PropertyInvalidatedCache;->invalidateCache(Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->invalidateCacheLocked(Ljava/lang/String;)V HSPLandroid/app/PropertyInvalidatedCache;->isDisabled()Z HSPLandroid/app/PropertyInvalidatedCache;->isReservedNonce(J)Z HSPLandroid/app/PropertyInvalidatedCache;->maybeCheckConsistency(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1;]Landroid/app/PropertyInvalidatedCache;megamorphic_types HSPLandroid/app/PropertyInvalidatedCache;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->refresh(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->registerCache()V @@ -2827,6 +2824,7 @@ HSPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$96;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Landroid/view/contentcapture/ContentCaptureManager; HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -3952,7 +3950,7 @@ HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder; HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context; -HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; +HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/ContextWrapper;->getAttributionSource()Landroid/content/AttributionSource; HSPLandroid/content/ContextWrapper;->getAttributionTag()Ljava/lang/String; @@ -5053,7 +5051,7 @@ 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+]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;->setToDefaults()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V 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; @@ -5117,8 +5115,7 @@ HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String; 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;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; 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 @@ -5132,7 +5129,7 @@ HSPLandroid/content/res/Resources;->dumpHistory(Ljava/io/PrintWriter;Ljava/lang/ HSPLandroid/content/res/Resources;->finishPreloading()V HSPLandroid/content/res/Resources;->getAnimation(I)Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/Resources;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; -HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager; +HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I HSPLandroid/content/res/Resources;->getBoolean(I)Z HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader; @@ -5141,7 +5138,7 @@ HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$The HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; -HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; +HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/Resources;->getDimension(I)F HSPLandroid/content/res/Resources;->getDimensionPixelOffset(I)I HSPLandroid/content/res/Resources;->getDimensionPixelSize(I)I @@ -5225,7 +5222,7 @@ HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getParentThemeIdentifier(I)I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getTheme()[Ljava/lang/String; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase(Landroid/content/res/AssetManager;)V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z @@ -5270,7 +5267,7 @@ HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resour HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface; HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock; HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; @@ -5336,8 +5333,8 @@ 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;+]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 +HSPLandroid/content/res/TypedArray;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; +HSPLandroid/content/res/TypedArray;->resize(I)V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLandroid/content/res/XmlBlock$Parser;-><init>(Landroid/content/res/XmlBlock;JLandroid/content/res/XmlBlock;)V HSPLandroid/content/res/XmlBlock$Parser;->close()V HSPLandroid/content/res/XmlBlock$Parser;->finalize()V @@ -5356,14 +5353,14 @@ HSPLandroid/content/res/XmlBlock$Parser;->getClassAttribute()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getDepth()I HSPLandroid/content/res/XmlBlock$Parser;->getEventType()I HSPLandroid/content/res/XmlBlock$Parser;->getLineNumber()I -HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence; HSPLandroid/content/res/XmlBlock$Parser;->getPositionDescription()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSourceResId()I HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z -HSPLandroid/content/res/XmlBlock$Parser;->next()I +HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V @@ -5644,8 +5641,8 @@ HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/ HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executePerConnectionSqlFromConfiguration(I)V HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V @@ -5655,7 +5652,7 @@ HSPLandroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z HSPLandroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V -HSPLandroid/database/sqlite/SQLiteConnection;->open()V +HSPLandroid/database/sqlite/SQLiteConnection;->open()V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection; HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V HSPLandroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V @@ -5828,7 +5825,7 @@ HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isWalEnabledInternal() HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveJournalMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveSyncMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;-><clinit>()V HSPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats; HSPLandroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z @@ -6376,7 +6373,7 @@ HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/Matrix;->isIdentity()Z HSPLandroid/graphics/Matrix;->mapPoints([F)V HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V -HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z +HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z HSPLandroid/graphics/Matrix;->ni()J HSPLandroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z @@ -6442,7 +6439,7 @@ HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getHinting()I HSPLandroid/graphics/Paint;->getLetterSpacing()F HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter; -HSPLandroid/graphics/Paint;->getNativeInstance()J +HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/PorterDuffColorFilter;,Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint;]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;,Landroid/graphics/RadialGradient; HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FI)F @@ -6479,7 +6476,7 @@ HSPLandroid/graphics/Paint;->installXfermode(Landroid/graphics/Xfermode;)Landroi HSPLandroid/graphics/Paint;->isAntiAlias()Z HSPLandroid/graphics/Paint;->isDither()Z HSPLandroid/graphics/Paint;->isElegantTextHeight()Z -HSPLandroid/graphics/Paint;->isFilterBitmap()Z +HSPLandroid/graphics/Paint;->isFilterBitmap()Z+]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint; HSPLandroid/graphics/Paint;->measureText(Ljava/lang/CharSequence;II)F HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;)F HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;II)F @@ -6613,8 +6610,8 @@ HSPLandroid/graphics/RecordingCanvas;->finishRecording(Landroid/graphics/RenderN HSPLandroid/graphics/RecordingCanvas;->getHeight()I HSPLandroid/graphics/RecordingCanvas;->getWidth()I HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z -HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/RecordingCanvas;->recycle()V +HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; +HSPLandroid/graphics/RecordingCanvas;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect; HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -6627,7 +6624,7 @@ HSPLandroid/graphics/Rect;->centerX()I HSPLandroid/graphics/Rect;->centerY()I HSPLandroid/graphics/Rect;->contains(II)Z HSPLandroid/graphics/Rect;->contains(Landroid/graphics/Rect;)Z -HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z +HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/graphics/Rect; HSPLandroid/graphics/Rect;->exactCenterX()F HSPLandroid/graphics/Rect;->exactCenterY()F HSPLandroid/graphics/Rect;->hashCode()I @@ -6714,10 +6711,10 @@ HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingC HSPLandroid/graphics/RenderNode;->clearStretch()Z HSPLandroid/graphics/RenderNode;->create(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)Landroid/graphics/RenderNode; HSPLandroid/graphics/RenderNode;->discardDisplayList()V -HSPLandroid/graphics/RenderNode;->endRecording()V +HSPLandroid/graphics/RenderNode;->endRecording()V+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/RenderNode;->getClipToOutline()Z HSPLandroid/graphics/RenderNode;->getElevation()F -HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V +HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/RenderNode;->getPivotY()F HSPLandroid/graphics/RenderNode;->getRotationX()F HSPLandroid/graphics/RenderNode;->getRotationY()F @@ -7948,7 +7945,6 @@ HSPLandroid/hardware/OverlayProperties$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/hardware/OverlayProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/OverlayProperties;->-$$Nest$smnReadOverlayPropertiesFromParcel(Landroid/os/Parcel;)J HSPLandroid/hardware/OverlayProperties;-><init>(J)V -HSPLandroid/hardware/OverlayProperties;->supportFp16ForHdr()Z HSPLandroid/hardware/Sensor;-><init>()V HSPLandroid/hardware/Sensor;->getHandle()I HSPLandroid/hardware/Sensor;->getMaxLengthValuesArray(Landroid/hardware/Sensor;I)I @@ -8191,8 +8187,8 @@ 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;->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;->getDisplays([ILjava/util/function/Predicate;)[Landroid/view/Display;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/function/Predicate;Landroid/hardware/display/DisplayManager$$ExternalSyntheticLambda2; +HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplay(IZ)Landroid/view/Display;+]Landroid/hardware/display/DisplayManager$WeakDisplayCache;Landroid/hardware/display/DisplayManager$WeakDisplayCache;]Landroid/content/Context;Landroid/app/Application;]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal;]Landroid/view/Display;Landroid/view/Display; 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 @@ -8202,12 +8198,8 @@ HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILjava/lang/String;)V HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integer;)Landroid/view/DisplayInfo; HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;-><init>(Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;JLandroid/os/Message;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()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 -HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->sendDisplayEvent(IILandroid/view/DisplayInfo;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback-IA;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V @@ -8220,13 +8212,12 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandro HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds(Z)[I HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo; -HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfoLocked(I)Landroid/view/DisplayInfo; +HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfoLocked(I)Landroid/view/DisplayInfo;+]Landroid/app/PropertyInvalidatedCache;Landroid/hardware/display/DisplayManagerGlobal$1; HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal; HSPLandroid/hardware/display/DisplayManagerGlobal;->getLooperForHandler(Landroid/os/Handler;)Landroid/os/Looper; HSPLandroid/hardware/display/DisplayManagerGlobal;->getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace; HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; -HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V @@ -8496,7 +8487,7 @@ HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer; HSPLandroid/icu/impl/ICUBinary;->addBaseNamesInFileFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I -HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I +HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/ICUBinary;->getBytes(Ljava/nio/ByteBuffer;II)[B HSPLandroid/icu/impl/ICUBinary;->getChars(Ljava/nio/ByteBuffer;II)[C HSPLandroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/ByteBuffer; @@ -8644,11 +8635,11 @@ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getString()Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;I)V -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->findString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;+]Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V @@ -8661,7 +8652,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$Array32;->getContainerResource(Land HSPLandroid/icu/impl/ICUResourceBundleReader$Array;-><init>()V HSPLandroid/icu/impl/ICUResourceBundleReader$Array;->getValue(ILandroid/icu/impl/UResource$Value;)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Container;-><init>()V -HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I +HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I+]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer32Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getSize()I @@ -8679,11 +8670,11 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljav HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getTable()Landroid/icu/impl/UResource$Table; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getType()I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;+]Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->makeKey(I)I HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object; @@ -8730,8 +8721,8 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getReader(Ljava/lang/String;Ljava HSPLandroid/icu/impl/ICUResourceBundleReader;->getResourceByteOffset(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getRootResource()I HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer;]Ljava/lang/CharSequence;Ljava/nio/ByteBufferAsCharBuffer; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->getTableKeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V @@ -8845,7 +8836,7 @@ HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String; HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z HSPLandroid/icu/impl/PatternProps;->skipWhiteSpace(Ljava/lang/CharSequence;I)I HSPLandroid/icu/impl/PatternTokenizer;-><init>()V -HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I +HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I+]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/PatternTokenizer;->quoteLiteral(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/PatternTokenizer;->setExtraQuotingCharacters(Landroid/icu/text/UnicodeSet;)Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/impl/PatternTokenizer;->setPattern(Ljava/lang/String;)Landroid/icu/impl/PatternTokenizer; @@ -10682,7 +10673,7 @@ HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;-><init>(Landroid/medi HSPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes; HSPLandroid/media/AudioPlaybackConfiguration;->isActive()Z HSPLandroid/media/AudioPort$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V +HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$Head;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;,Ljava/util/stream/ReferencePipeline$4;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/media/AudioProfile;Landroid/media/AudioProfile;]Ljava/util/Set;Ljava/util/HashSet; HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle; HSPLandroid/media/AudioPort;->id()I @@ -11703,7 +11694,7 @@ HSPLandroid/os/BaseBundle;->remove(Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V HSPLandroid/os/BaseBundle;->size()I -HSPLandroid/os/BaseBundle;->unparcel()V +HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->unparcel(Z)V HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V @@ -11814,7 +11805,6 @@ 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; @@ -12041,7 +12031,7 @@ HSPLandroid/os/Handler;->getMain()Landroid/os/Handler; HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message; HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message; HSPLandroid/os/Handler;->getTraceName(Landroid/os/Message;)Ljava/lang/String; -HSPLandroid/os/Handler;->handleCallback(Landroid/os/Message;)V +HSPLandroid/os/Handler;->handleCallback(Landroid/os/Message;)V+]Ljava/lang/Runnable;missing_types HSPLandroid/os/Handler;->handleMessage(Landroid/os/Message;)V HSPLandroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z HSPLandroid/os/Handler;->hasMessages(I)Z @@ -12292,7 +12282,7 @@ HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z 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;->postSyncBarrier(J)I+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->quit(Z)V HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V HSPLandroid/os/MessageQueue;->removeAllMessagesLocked()V @@ -12459,7 +12449,7 @@ HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeBlob([B)V -HSPLandroid/os/Parcel;->writeBoolean(Z)V +HSPLandroid/os/Parcel;->writeBoolean(Z)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeBooleanArray([Z)V HSPLandroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V HSPLandroid/os/Parcel;->writeByte(B)V @@ -12577,7 +12567,7 @@ HSPLandroid/os/PersistableBundle;-><init>(I)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/Parcel;I)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;)V HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;Z)V -HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle; +HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;Z)V HSPLandroid/os/PersistableBundle;->deepCopy()Landroid/os/PersistableBundle; HSPLandroid/os/PersistableBundle;->getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle; HSPLandroid/os/PersistableBundle;->isValidType(Ljava/lang/Object;)Z @@ -12855,7 +12845,6 @@ HSPLandroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V HSPLandroid/os/StrictMode;->initThreadDefaults(Landroid/content/pm/ApplicationInfo;)V HSPLandroid/os/StrictMode;->initVmDefaults(Landroid/content/pm/ApplicationInfo;)V HSPLandroid/os/StrictMode;->isBundledSystemApp(Landroid/content/pm/ApplicationInfo;)Z -HSPLandroid/os/StrictMode;->isUserKeyUnlocked(I)Z HSPLandroid/os/StrictMode;->lambda$dropboxViolationAsync$2(ILandroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode;->lambda$static$0(Landroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode;->noteSlowCall(Ljava/lang/String;)V @@ -13112,7 +13101,6 @@ HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->asBinder()Landroid/os/IBinde HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume; HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumes(I)[Landroid/os/storage/VolumeInfo; -HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z HSPLandroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager; HSPLandroid/os/storage/StorageEventListener;-><init>()V HSPLandroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V @@ -14840,7 +14828,7 @@ HSPLandroid/text/MeasuredParagraph;->reset()V HSPLandroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V HSPLandroid/text/PackedIntVector;->adjustValuesBelow(III)V HSPLandroid/text/PackedIntVector;->deleteAt(II)V -HSPLandroid/text/PackedIntVector;->getValue(II)I +HSPLandroid/text/PackedIntVector;->getValue(II)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->growBuffer()V HSPLandroid/text/PackedIntVector;->insertAt(I[I)V HSPLandroid/text/PackedIntVector;->moveRowGapTo(I)V @@ -14903,7 +14891,7 @@ HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V HSPLandroid/text/SpannableStringBuilder;->checkSortBuffer([II)[I HSPLandroid/text/SpannableStringBuilder;->clear()V HSPLandroid/text/SpannableStringBuilder;->compareSpans(II[I[I)I -HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I +HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V @@ -14964,9 +14952,9 @@ HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V HSPLandroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringInternal;->length()I -HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I +HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->length()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V @@ -15103,7 +15091,7 @@ HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I -HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I +HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I+]Ljava/lang/Object;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I HSPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z @@ -15424,11 +15412,11 @@ HSPLandroid/util/ArrayMap;->ensureCapacity(I)V HSPLandroid/util/ArrayMap;->entrySet()Ljava/util/Set; HSPLandroid/util/ArrayMap;->equals(Ljava/lang/Object;)Z HSPLandroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V -HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/util/ArrayMap;->getCollection()Landroid/util/MapCollections; HSPLandroid/util/ArrayMap;->hashCode()I -HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I -HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I +HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I+]Ljava/lang/Object;megamorphic_types +HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;megamorphic_types HSPLandroid/util/ArrayMap;->indexOfNull()I HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/ArrayMap;->isEmpty()Z @@ -15466,7 +15454,7 @@ HSPLandroid/util/ArraySet;->clear()V HSPLandroid/util/ArraySet;->contains(Ljava/lang/Object;)Z HSPLandroid/util/ArraySet;->ensureCapacity(I)V HSPLandroid/util/ArraySet;->equals(Ljava/lang/Object;)Z -HSPLandroid/util/ArraySet;->forEach(Ljava/util/function/Consumer;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/function/Consumer;missing_types +HSPLandroid/util/ArraySet;->forEach(Ljava/util/function/Consumer;)V HSPLandroid/util/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V HSPLandroid/util/ArraySet;->getCollection()Landroid/util/MapCollections; HSPLandroid/util/ArraySet;->hashCode()I @@ -15682,14 +15670,14 @@ HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->hitCount()I HSPLandroid/util/LruCache;->maxSize()I HSPLandroid/util/LruCache;->missCount()I -HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->resize(I)V HSPLandroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->size()I HSPLandroid/util/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->snapshot()Ljava/util/Map; -HSPLandroid/util/LruCache;->trimToSize(I)V +HSPLandroid/util/LruCache;->trimToSize(I)V+]Ljava/util/Map$Entry;Ljava/util/LinkedHashMap$LinkedHashMapEntry;]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V HSPLandroid/util/MapCollections$ArrayIterator;->hasNext()Z HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object; @@ -15814,7 +15802,7 @@ HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V HSPLandroid/util/SparseArray;->clear()V HSPLandroid/util/SparseArray;->clone()Landroid/util/SparseArray; HSPLandroid/util/SparseArray;->contains(I)Z -HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z HSPLandroid/util/SparseArray;->delete(I)V HSPLandroid/util/SparseArray;->gc()V HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object; @@ -16127,7 +16115,7 @@ HSPLandroid/view/Display;->isWideColorGamut()Z HSPLandroid/view/Display;->shouldReportMaxBounds()Z HSPLandroid/view/Display;->stateToString(I)Ljava/lang/String; HSPLandroid/view/Display;->updateCachedAppSizeIfNeededLocked()V -HSPLandroid/view/Display;->updateDisplayInfoLocked()V +HSPLandroid/view/Display;->updateDisplayInfoLocked()V+]Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal; HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical; HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V @@ -16259,7 +16247,7 @@ HSPLandroid/view/GestureDetector;->cancel()V HSPLandroid/view/GestureDetector;->cancelTaps()V HSPLandroid/view/GestureDetector;->init(Landroid/content/Context;)V HSPLandroid/view/GestureDetector;->isConsideredDoubleTap(Landroid/view/MotionEvent;Landroid/view/MotionEvent;Landroid/view/MotionEvent;)Z -HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/VelocityTracker;Landroid/view/VelocityTracker;]Landroid/os/Handler;Landroid/view/GestureDetector$GestureHandler;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/GestureDetector;->recordGestureClassification(I)V HSPLandroid/view/GestureDetector;->setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V HSPLandroid/view/GestureDetector;->setIsLongpressEnabled(Z)V @@ -16393,7 +16381,7 @@ HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEve HSPLandroid/view/InputEventReceiver;->dispose()V HSPLandroid/view/InputEventReceiver;->dispose(Z)V HSPLandroid/view/InputEventReceiver;->finalize()V -HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V +HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/InputEventReceiver;->onBatchedInputEventPending(I)V HSPLandroid/view/InputEventReceiver;->reportTimeline(IJJ)V HSPLandroid/view/InputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V @@ -16587,8 +16575,8 @@ HSPLandroid/view/InsetsState;-><init>()V HSPLandroid/view/InsetsState;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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; @@ -16611,14 +16599,14 @@ HSPLandroid/view/InsetsState;->isSourceOrDefaultVisible(II)Z HSPLandroid/view/InsetsState;->peekSource(I)Landroid/view/InsetsSource; HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V -HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;I)V HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->setDisplayCutout(Landroid/view/DisplayCutout;)V HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/InsetsState;->setPrivacyIndicatorBounds(Landroid/view/PrivacyIndicatorBounds;)V HSPLandroid/view/InsetsState;->setRoundedCorners(Landroid/view/RoundedCorners;)V -HSPLandroid/view/InsetsState;->sourceAt(I)Landroid/view/InsetsSource;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->sourceAt(I)Landroid/view/InsetsSource; HSPLandroid/view/InsetsState;->sourceIdAt(I)I HSPLandroid/view/InsetsState;->sourceSize()I HSPLandroid/view/InsetsState;->traverse(Landroid/view/InsetsState;Landroid/view/InsetsState;Landroid/view/InsetsState$OnTraverseCallbacks;)V @@ -16683,8 +16671,6 @@ HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Fact HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->initPrecompiledViews()V -HSPLandroid/view/LayoutInflater;->initPrecompiledViews(Z)V HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; @@ -16695,7 +16681,6 @@ HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Facto HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->tryInflatePrecompiled(ILandroid/content/res/Resources;Landroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/MotionEvent$PointerCoords;-><init>()V @@ -16739,7 +16724,7 @@ HSPLandroid/view/MotionEvent;->getY(I)F HSPLandroid/view/MotionEvent;->initialize(IIIIIIIIIFFFFJJI[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;)Z HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z HSPLandroid/view/MotionEvent;->isTouchEvent()Z -HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; +HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFIIII)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; @@ -16892,7 +16877,6 @@ 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 @@ -16902,7 +16886,6 @@ 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 @@ -17103,10 +17086,10 @@ HSPLandroid/view/View$TintInfo;-><init>()V HSPLandroid/view/View$TransformationInfo;-><init>()V HSPLandroid/view/View$UnsetPressedState;->run()V HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;)V +HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/view/View;missing_types]Ljava/lang/Object;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/content/Context;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V @@ -17197,7 +17180,7 @@ HSPLandroid/view/View;->dispatchSetPressed(Z)V HSPLandroid/view/View;->dispatchSetSelected(Z)V HSPLandroid/view/View;->dispatchStartTemporaryDetach()V HSPLandroid/view/View;->dispatchSystemUiVisibilityChanged(I)V -HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/View;->dispatchVisibilityAggregated(Z)Z HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V HSPLandroid/view/View;->dispatchWindowFocusChanged(Z)V @@ -17205,13 +17188,13 @@ HSPLandroid/view/View;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowIns HSPLandroid/view/View;->dispatchWindowSystemUiVisiblityChanged(I)V HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z -HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V +HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation;]Landroid/view/animation/Animation;Landroid/view/animation/TranslateAnimation;,Landroid/view/animation/AlphaAnimation;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; +HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawableHotspotChanged(FF)V HSPLandroid/view/View;->drawableStateChanged()V -HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z +HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->ensureTransformationInfo()V HSPLandroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View; HSPLandroid/view/View;->findFocus()Landroid/view/View; @@ -17272,7 +17255,7 @@ HSPLandroid/view/View;->getForegroundGravity()I HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/View;->getHandler()Landroid/os/Handler; -HSPLandroid/view/View;->getHasOverlappingRendering()Z +HSPLandroid/view/View;->getHasOverlappingRendering()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->getHeight()I HSPLandroid/view/View;->getHitRect(Landroid/graphics/Rect;)V HSPLandroid/view/View;->getHorizontalFadingEdgeLength()I @@ -17285,7 +17268,7 @@ HSPLandroid/view/View;->getImportantForContentCapture()I HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; HSPLandroid/view/View;->getLayerType()I -HSPLandroid/view/View;->getLayoutDirection()I +HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/view/View;->getLeft()I HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; @@ -17293,8 +17276,8 @@ HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getLocationInSurface([I)V HSPLandroid/view/View;->getLocationInWindow([I)V HSPLandroid/view/View;->getLocationOnScreen()[I -HSPLandroid/view/View;->getLocationOnScreen([I)V -HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix; +HSPLandroid/view/View;->getLocationOnScreen([I)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getMeasuredHeight()I HSPLandroid/view/View;->getMeasuredState()I HSPLandroid/view/View;->getMeasuredWidth()I @@ -17333,8 +17316,8 @@ HSPLandroid/view/View;->getScrollY()I HSPLandroid/view/View;->getSolidColor()I HSPLandroid/view/View;->getStateListAnimator()Landroid/animation/StateListAnimator; HSPLandroid/view/View;->getStraightVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V -HSPLandroid/view/View;->getSuggestedMinimumHeight()I -HSPLandroid/view/View;->getSuggestedMinimumWidth()I +HSPLandroid/view/View;->getSuggestedMinimumHeight()I+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->getSuggestedMinimumWidth()I+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->getSystemGestureExclusionRects()Ljava/util/List; HSPLandroid/view/View;->getSystemUiVisibility()I HSPLandroid/view/View;->getTag()Ljava/lang/Object; @@ -17373,7 +17356,7 @@ HSPLandroid/view/View;->hasExplicitFocusable()Z HSPLandroid/view/View;->hasFocus()Z HSPLandroid/view/View;->hasFocusable()Z HSPLandroid/view/View;->hasFocusable(ZZ)Z -HSPLandroid/view/View;->hasIdentityMatrix()Z +HSPLandroid/view/View;->hasIdentityMatrix()Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->hasImeFocus()Z HSPLandroid/view/View;->hasListenersForAccessibility()Z HSPLandroid/view/View;->hasNestedScrollingParent()Z @@ -17444,10 +17427,10 @@ HSPLandroid/view/View;->isKeyboardNavigationCluster()Z HSPLandroid/view/View;->isLaidOut()Z HSPLandroid/view/View;->isLayoutDirectionInherited()Z HSPLandroid/view/View;->isLayoutDirectionResolved()Z -HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z +HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->isLayoutRequested()Z HSPLandroid/view/View;->isLayoutRtl()Z -HSPLandroid/view/View;->isLayoutValid()Z +HSPLandroid/view/View;->isLayoutValid()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->isLongClickable()Z HSPLandroid/view/View;->isNestedScrollingEnabled()Z HSPLandroid/view/View;->isOpaque()Z @@ -17472,12 +17455,12 @@ HSPLandroid/view/View;->isViewIdGenerated(I)Z HSPLandroid/view/View;->isVisibleToUser()Z HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->jumpDrawablesToCurrentState()V -HSPLandroid/view/View;->layout(IIII)V +HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V HSPLandroid/view/View;->mapRectFromViewToWindowCoords(Landroid/graphics/RectF;Z)V -HSPLandroid/view/View;->measure(II)V +HSPLandroid/view/View;->measure(II)V+]Landroid/view/View;missing_types]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLandroid/view/View;->mergeDrawableStates([I[I)[I HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V HSPLandroid/view/View;->needRtlPropertiesResolution()Z @@ -17577,7 +17560,7 @@ HSPLandroid/view/View;->requestFocus()Z HSPLandroid/view/View;->requestFocus(I)Z HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z -HSPLandroid/view/View;->requestLayout()V +HSPLandroid/view/View;->requestLayout()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z HSPLandroid/view/View;->requireViewById(I)Landroid/view/View; @@ -17594,7 +17577,7 @@ HSPLandroid/view/View;->resetRtlProperties()V HSPLandroid/view/View;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/View;->resolveDrawables()V HSPLandroid/view/View;->resolveLayoutDirection()Z -HSPLandroid/view/View;->resolveLayoutParams()V +HSPLandroid/view/View;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup$LayoutParams;missing_types HSPLandroid/view/View;->resolvePadding()V HSPLandroid/view/View;->resolveRtlPropertiesIfNeeded()Z HSPLandroid/view/View;->resolveSize(II)I @@ -17640,7 +17623,7 @@ HSPLandroid/view/View;->setClipToOutline(Z)V HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V HSPLandroid/view/View;->setDetached(Z)V -HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V +HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setDrawingCacheEnabled(Z)V HSPLandroid/view/View;->setElevation(F)V HSPLandroid/view/View;->setEnabled(Z)V @@ -17651,7 +17634,7 @@ HSPLandroid/view/View;->setFocusable(Z)V HSPLandroid/view/View;->setFocusableInTouchMode(Z)V HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setForegroundGravity(I)V -HSPLandroid/view/View;->setFrame(IIII)Z +HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setHandwritingArea(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V HSPLandroid/view/View;->setHasTransientState(Z)V @@ -17736,7 +17719,7 @@ HSPLandroid/view/View;->setVisibility(I)V HSPLandroid/view/View;->setWillNotDraw(Z)V HSPLandroid/view/View;->setX(F)V HSPLandroid/view/View;->setY(F)V -HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z +HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HSPLandroid/view/View;->sizeChange(IIII)V HSPLandroid/view/View;->skipInvalidate()Z HSPLandroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V @@ -17744,7 +17727,7 @@ HSPLandroid/view/View;->startNestedScroll(I)Z HSPLandroid/view/View;->stopNestedScroll()V HSPLandroid/view/View;->switchDefaultFocusHighlight()V HSPLandroid/view/View;->toString()Ljava/lang/String; -HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V +HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V+]Landroid/view/View;missing_types 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 @@ -17813,7 +17796,7 @@ HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutP HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V -HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V +HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V @@ -17821,7 +17804,7 @@ HSPLandroid/view/ViewGroup$MarginLayoutParams;->getLayoutDirection()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginEnd()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginStart()I HSPLandroid/view/ViewGroup$MarginLayoutParams;->isMarginRelative()Z -HSPLandroid/view/ViewGroup$MarginLayoutParams;->resolveLayoutDirection(I)V +HSPLandroid/view/ViewGroup$MarginLayoutParams;->resolveLayoutDirection(I)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types HSPLandroid/view/ViewGroup$MarginLayoutParams;->setLayoutDirection(I)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginEnd(I)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginStart(I)V @@ -17843,7 +17826,7 @@ HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z -HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V +HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->bringChildToFront(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList; @@ -17870,7 +17853,7 @@ HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V +HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V @@ -17888,8 +17871,8 @@ 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+]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;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/ViewGroup$TouchTarget;Landroid/view/ViewGroup$TouchTarget; +HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/View;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V @@ -17899,7 +17882,7 @@ HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/ViewGroup;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/ViewGroup;->dispatchWindowSystemUiVisiblityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V -HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z +HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->drawableStateChanged()V HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->exitHoverTargets()V @@ -17965,7 +17948,7 @@ HSPLandroid/view/ViewGroup;->layout(IIII)V HSPLandroid/view/ViewGroup;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->measureChild(Landroid/view/View;II)V -HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V +HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->measureChildren(II)V HSPLandroid/view/ViewGroup;->newDispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChangedIfNeeded()V @@ -18014,9 +17997,9 @@ HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/ViewGroup;->resetTouchState()V HSPLandroid/view/ViewGroup;->resolveDrawables()V HSPLandroid/view/ViewGroup;->resolveLayoutDirection()Z -HSPLandroid/view/ViewGroup;->resolveLayoutParams()V +HSPLandroid/view/ViewGroup;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolvePadding()V -HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z +HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z HSPLandroid/view/ViewGroup;->resolveTextDirection()Z HSPLandroid/view/ViewGroup;->restoreDefaultFocus()Z @@ -18109,6 +18092,7 @@ 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;-><init>(Landroid/view/ViewRootImpl;Landroid/view/SurfaceControl$Transaction;Landroid/window/SurfaceSyncGroup;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 @@ -18125,7 +18109,7 @@ HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;-><init>(Landroid/view/View HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I +HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl$HighContrastTextManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V @@ -18181,7 +18165,7 @@ HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Lan HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I +HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/HandwritingInitiator;Landroid/view/HandwritingInitiator;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewRootHandler;-><init>(Landroid/view/ViewRootImpl;)V @@ -18207,7 +18191,7 @@ HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchInsetsControlChanged(Landroid/v HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchResized(Landroid/view/ViewRootImpl;Landroid/window/ClientWindowFrames;ZLandroid/util/MergedConfiguration;Landroid/view/InsetsState;ZZIIZ)V HSPLandroid/view/ViewRootImpl;->-$$Nest$mprofileRendering(Landroid/view/ViewRootImpl;Z)V HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V -HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V+]Landroid/view/WindowLeaked;Landroid/view/WindowLeaked;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V HSPLandroid/view/ViewRootImpl;->addSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V @@ -18226,7 +18210,7 @@ HSPLandroid/view/ViewRootImpl;->clearLowProfileModeIfNeeded(IZ)V HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z HSPLandroid/view/ViewRootImpl;->controlInsetsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V -HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V +HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/ViewRootImpl$InputStage;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;]Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V HSPLandroid/view/ViewRootImpl;->destroySurface()V @@ -18245,20 +18229,20 @@ HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V HSPLandroid/view/ViewRootImpl;->dispatchResized(Landroid/window/ClientWindowFrames;ZLandroid/util/MergedConfiguration;Landroid/view/InsetsState;ZZIIZ)V HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V -HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V +HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; 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;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]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 HSPLandroid/view/ViewRootImpl;->endDragResizing()V HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V -HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V +HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->ensureTouchMode(Z)Z HSPLandroid/view/ViewRootImpl;->ensureTouchModeLocally(Z)Z HSPLandroid/view/ViewRootImpl;->enterTouchMode()Z HSPLandroid/view/ViewRootImpl;->findOnBackInvokedDispatcherForChild(Landroid/view/View;Landroid/view/View;)Landroid/window/OnBackInvokedDispatcher; -HSPLandroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V +HSPLandroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/InputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver;]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewRootImpl;->fireAccessibilityFocusEventIfHasFocusedNode()V HSPLandroid/view/ViewRootImpl;->focusableViewAvailable(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->forceLayout(Landroid/view/View;)V @@ -18269,7 +18253,7 @@ HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/Autof HSPLandroid/view/ViewRootImpl;->getBufferTransformHint()I HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/ViewRootImpl;->getCompatWindowConfiguration()Landroid/app/WindowConfiguration; -HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration; +HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext; HSPLandroid/view/ViewRootImpl;->getDisplayId()I HSPLandroid/view/ViewRootImpl;->getHandwritingInitiator()Landroid/view/HandwritingInitiator; HSPLandroid/view/ViewRootImpl;->getHostVisibility()I @@ -18353,7 +18337,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;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V @@ -18370,8 +18354,8 @@ HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V HSPLandroid/view/ViewRootImpl;->requestLayout()V HSPLandroid/view/ViewRootImpl;->requestLayoutDuringLayout(Landroid/view/View;)Z HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V -HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V -HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V +HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z HSPLandroid/view/ViewRootImpl;->sendBackKeyEvent(I)V HSPLandroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V @@ -18440,16 +18424,16 @@ HSPLandroid/view/ViewStub;->setLayoutResource(I)V HSPLandroid/view/ViewStub;->setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V HSPLandroid/view/ViewStub;->setVisibility(I)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;-><init>()V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z @@ -18465,10 +18449,10 @@ HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/Vie HSPLandroid/view/ViewTreeObserver;->captureFrameCommitCallbacks()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver;->checkIsAlive()V HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V +HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/ViewTreeObserver$OnDrawListener;Landroid/widget/Editor$2; HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z +HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V+]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; +HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z+]Landroid/view/ViewTreeObserver$OnPreDrawListener;missing_types]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; HSPLandroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V HSPLandroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V @@ -19158,7 +19142,7 @@ HSPLandroid/view/inputmethod/ImeTracker$1$$ExternalSyntheticLambda0;-><init>(Lan HSPLandroid/view/inputmethod/ImeTracker$1;-><init>()V HSPLandroid/view/inputmethod/ImeTracker$1;->getTag(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/view/inputmethod/ImeTracker$1;->onProgress(Landroid/view/inputmethod/ImeTracker$Token;I)V -HSPLandroid/view/inputmethod/ImeTracker$1;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/inputmethod/ImeTracker$1;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda0;-><init>(Ljava/lang/String;)V HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z HSPLandroid/view/inputmethod/ImeTracker$Debug$$ExternalSyntheticLambda1;-><init>()V @@ -19823,7 +19807,7 @@ HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V HSPLandroid/widget/Editor$InsertionPointCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor$InsertionPointCursorController;->show()V HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V -HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z +HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z+]Landroid/widget/Editor$TextViewPositionListener;Landroid/widget/Editor$CursorAnchorInfoNotifier; HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V HSPLandroid/widget/Editor$PositionListener;->updatePosition()V @@ -19947,13 +19931,13 @@ HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams; HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/FrameLayout;->getAccessibilityClassName()Ljava/lang/CharSequence; -HSPLandroid/widget/FrameLayout;->getPaddingBottomWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingLeftWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I -HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I -HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V -HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V -HSPLandroid/widget/FrameLayout;->onMeasure(II)V +HSPLandroid/widget/FrameLayout;->getPaddingBottomWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingLeftWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V+]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/widget/FrameLayout;missing_types]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/widget/FrameLayout;->setForegroundGravity(I)V HSPLandroid/widget/FrameLayout;->setMeasureAllChildren(Z)V HSPLandroid/widget/FrameLayout;->shouldDelayChildPressedState()Z @@ -20128,14 +20112,14 @@ HSPLandroid/widget/LinearLayout;->getGravity()I HSPLandroid/widget/LinearLayout;->getLocationOffset(Landroid/view/View;)I HSPLandroid/widget/LinearLayout;->getNextLocationOffset(Landroid/view/View;)I HSPLandroid/widget/LinearLayout;->getOrientation()I -HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View; -HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I +HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;+]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V -HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V +HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V HSPLandroid/widget/LinearLayout;->measureHorizontal(II)V -HSPLandroid/widget/LinearLayout;->measureVertical(II)V +HSPLandroid/widget/LinearLayout;->measureVertical(II)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->onDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/LinearLayout;->onLayout(ZIIII)V HSPLandroid/widget/LinearLayout;->onMeasure(II)V @@ -20413,7 +20397,6 @@ HSPLandroid/widget/RemoteViews$BitmapReflectionAction;-><init>(Landroid/widget/R HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->getActionTag()I HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->setHierarchyRootData(Landroid/widget/RemoteViews$HierarchyRootData;)V HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/widget/RemoteViews$HierarchyRootData;-><init>(Landroid/widget/RemoteViews$BitmapCache;Landroid/widget/RemoteViews$ApplicationInfoCache;Ljava/util/Map;)V HSPLandroid/widget/RemoteViews$MethodKey;->equals(Ljava/lang/Object;)Z HSPLandroid/widget/RemoteViews$MethodKey;->hashCode()I HSPLandroid/widget/RemoteViews$MethodKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V @@ -20592,7 +20575,7 @@ HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/Te HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/TextView;->addSearchHighlightPaths()V HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V @@ -20776,7 +20759,7 @@ HSPLandroid/widget/TextView;->onVisibilityChanged(Landroid/view/View;I)V HSPLandroid/widget/TextView;->onWindowFocusChanged(Z)V HSPLandroid/widget/TextView;->originalToTransformed(II)I HSPLandroid/widget/TextView;->preloadFontCache()V -HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V +HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/TextView;->registerForPreDraw()V HSPLandroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V @@ -21303,10 +21286,10 @@ HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/ByteBuffer HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetEncoderICU;-><init>(Ljava/nio/charset/Charset;FF[BJ)V -HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I -HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Lcom/android/icu/charset/CharsetEncoderICU;Lcom/android/icu/charset/CharsetEncoderICU; HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implReset()V @@ -21519,7 +21502,7 @@ HSPLcom/android/internal/inputmethod/EditableInputConnection;->getEditable()Land HSPLcom/android/internal/inputmethod/EditableInputConnection;->setImeConsumesInput(Z)Z HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->asBinder()Landroid/os/IBinder; -HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Lcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;Lcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLcom/android/internal/inputmethod/IImeTracker$Stub$Proxy;->onRequestHide(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; HSPLcom/android/internal/inputmethod/IImeTracker$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/inputmethod/IImeTracker; HSPLcom/android/internal/inputmethod/IInputMethodClient$Stub;->asBinder()Landroid/os/IBinder; HSPLcom/android/internal/inputmethod/IInputMethodClient$Stub;->getMaxTransactionId()I @@ -21738,7 +21721,6 @@ HSPLcom/android/internal/os/Zygote;->applyUidSecurityPolicy(Lcom/android/interna HSPLcom/android/internal/os/Zygote;->callPostForkChildHooks(IZZLjava/lang/String;)V HSPLcom/android/internal/os/Zygote;->containsInetGid([I)Z HSPLcom/android/internal/os/Zygote;->createManagedSocketFromInitSocket(Ljava/lang/String;)Landroid/net/LocalServerSocket; -HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;[Ljava/lang/String;ZZ)I HSPLcom/android/internal/os/Zygote;->forkSystemServer(II[II[[IJJ)I HSPLcom/android/internal/os/Zygote;->getConfigurationProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/internal/os/Zygote;->getUsapPoolEventFD()Ljava/io/FileDescriptor; @@ -21808,7 +21790,7 @@ HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V HSPLcom/android/internal/policy/DecorContext;-><init>(Landroid/content/Context;Lcom/android/internal/policy/PhoneWindow;)V HSPLcom/android/internal/policy/DecorContext;->getAutofillOptions()Landroid/content/AutofillOptions; HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions; -HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources; +HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; HSPLcom/android/internal/policy/DecorContext;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; HSPLcom/android/internal/policy/DecorContext;->isUiContext()Z HSPLcom/android/internal/policy/DecorContext;->setPhoneWindow(Lcom/android/internal/policy/PhoneWindow;)V @@ -21839,7 +21821,7 @@ HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/dra HSPLcom/android/internal/policy/DecorView;->getCaptionHeight()I HSPLcom/android/internal/policy/DecorView;->getCaptionInsetsHeight()I HSPLcom/android/internal/policy/DecorView;->getNavBarSize(III)I -HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources; +HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext; HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String; HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController; HSPLcom/android/internal/policy/DecorView;->initializeElevation()V @@ -22118,7 +22100,7 @@ HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I HSPLcom/android/internal/util/ArrayUtils;->deepToString(Ljava/lang/Object;)Ljava/lang/String; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String; -HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/ArrayUtils;->emptyIfNull([Ljava/lang/Object;Ljava/lang/Class;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->filter([Ljava/lang/Object;Ljava/util/function/IntFunction;Ljava/util/function/Predicate;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->getOrNull([Ljava/lang/Object;I)Ljava/lang/Object; @@ -22161,7 +22143,7 @@ HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(C)V -HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String; +HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V HSPLcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V HSPLcom/android/internal/util/FastPrintWriter;->close()V HSPLcom/android/internal/util/FastPrintWriter;->flush()V @@ -23482,7 +23464,7 @@ HSPLcom/android/org/kxml2/io/KXmlParser;->readEndTag()V HSPLcom/android/org/kxml2/io/KXmlParser;->readEntity(Ljava/lang/StringBuilder;ZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)V HSPLcom/android/org/kxml2/io/KXmlParser;->readName()Ljava/lang/String; HSPLcom/android/org/kxml2/io/KXmlParser;->readUntil([CZ)Ljava/lang/String; -HSPLcom/android/org/kxml2/io/KXmlParser;->readValue(CZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)Ljava/lang/String;+]Llibcore/internal/StringPool;Llibcore/internal/StringPool; +HSPLcom/android/org/kxml2/io/KXmlParser;->readValue(CZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)Ljava/lang/String; HSPLcom/android/org/kxml2/io/KXmlParser;->readXmlDeclaration()V HSPLcom/android/org/kxml2/io/KXmlParser;->require(ILjava/lang/String;Ljava/lang/String;)V HSPLcom/android/org/kxml2/io/KXmlParser;->setFeature(Ljava/lang/String;Z)V @@ -23615,7 +23597,7 @@ HSPLdalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; HSPLdalvik/system/VMRuntime;->getSdkVersion()I HSPLdalvik/system/VMRuntime;->getTargetSdkVersion()I HSPLdalvik/system/VMRuntime;->hiddenApiUsed(ILjava/lang/String;Ljava/lang/String;IZ)V -HSPLdalvik/system/VMRuntime;->notifyNativeAllocation()V +HSPLdalvik/system/VMRuntime;->notifyNativeAllocation()V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger; HSPLdalvik/system/VMRuntime;->registerNativeAllocation(I)V HSPLdalvik/system/VMRuntime;->registerNativeFree(I)V HSPLdalvik/system/VMRuntime;->runFinalization(J)V @@ -23627,6 +23609,7 @@ HSPLdalvik/system/VMRuntime;->setTargetSdkVersion(I)V HSPLdalvik/system/ZipPathValidator$Callback;->onZipEntryAccess(Ljava/lang/String;)V HSPLdalvik/system/ZipPathValidator;->clearCallback()V HSPLdalvik/system/ZipPathValidator;->getInstance()Ldalvik/system/ZipPathValidator$Callback; +HSPLdalvik/system/ZipPathValidator;->isClear()Z HSPLdalvik/system/ZipPathValidator;->setCallback(Ldalvik/system/ZipPathValidator$Callback;)V HSPLdalvik/system/ZygoteHooks;->cleanLocaleCaches()V HSPLdalvik/system/ZygoteHooks;->gcAndFinalize()V @@ -23731,7 +23714,7 @@ HSPLjava/io/DataInputStream;->readLong()J 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 +HSPLjava/io/DataInputStream;->readUnsignedByte()I+]Ljava/io/InputStream;Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1; HSPLjava/io/DataInputStream;->readUnsignedShort()I HSPLjava/io/DataInputStream;->skipBytes(I)I HSPLjava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V @@ -23849,7 +23832,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+]Ljava/io/InputStream;Ljava/io/BufferedInputStream;,Ljava/io/PushbackInputStream; +HSPLjava/io/FilterInputStream;->read()I+]Ljava/io/InputStream;Ljava/io/BufferedInputStream;,Ljava/io/PushbackInputStream;,Ljava/util/jar/JarVerifier$VerifierStream; HSPLjava/io/FilterInputStream;->read([B)I HSPLjava/io/FilterInputStream;->read([BII)I HSPLjava/io/FilterInputStream;->reset()V @@ -24321,7 +24304,7 @@ HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/StringBuffer;)Ljava/lang HSPLjava/lang/AbstractStringBuilder;->append(Z)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->append([CII)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->appendChars(Ljava/lang/CharSequence;II)V+]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/lang/AbstractStringBuilder;Ljava/lang/StringBuilder; -HSPLjava/lang/AbstractStringBuilder;->appendChars([CII)V+]Ljava/lang/AbstractStringBuilder;Ljava/lang/StringBuilder;,Ljava/lang/StringBuffer; +HSPLjava/lang/AbstractStringBuilder;->appendChars([CII)V HSPLjava/lang/AbstractStringBuilder;->appendCodePoint(I)Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->appendNull()Ljava/lang/AbstractStringBuilder; HSPLjava/lang/AbstractStringBuilder;->charAt(I)C @@ -24495,10 +24478,10 @@ HSPLjava/lang/Class;->getTypeName()Ljava/lang/String; 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;->isArray()Z+]Ljava/lang/Class;Ljava/lang/Class; 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+]Ljava/lang/Class;Ljava/lang/Class; +HSPLjava/lang/Class;->isInstance(Ljava/lang/Object;)Z+]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types HSPLjava/lang/Class;->isInterface()Z HSPLjava/lang/Class;->isLocalClass()Z HSPLjava/lang/Class;->isLocalOrAnonymousClass()Z @@ -24676,7 +24659,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;missing_types]Ljava/util/Iterator;missing_types +HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V+]Ljava/lang/Iterable;Ljava/util/HashSet;,Ljava/util/WeakHashMap$KeySet;]Ljava/util/Iterator;missing_types]Ljava/util/function/Consumer;missing_types HSPLjava/lang/LinkageError;-><init>(Ljava/lang/String;)V HSPLjava/lang/Long;-><init>(J)V HSPLjava/lang/Long;->bitCount(J)I @@ -24833,7 +24816,7 @@ HSPLjava/lang/StackTraceElement;->getLineNumber()I HSPLjava/lang/StackTraceElement;->getMethodName()Ljava/lang/String; HSPLjava/lang/StackTraceElement;->hashCode()I HSPLjava/lang/StackTraceElement;->isNativeMethod()Z -HSPLjava/lang/StackTraceElement;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/StackTraceElement;Ljava/lang/StackTraceElement; +HSPLjava/lang/StackTraceElement;->toString()Ljava/lang/String; HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I HSPLjava/lang/String;->checkBoundsBeginEnd(III)V @@ -24890,7 +24873,7 @@ HSPLjava/lang/String;->startsWith(Ljava/lang/String;)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; +HSPLjava/lang/String;->substring(II)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLjava/lang/String;->toLowerCase()Ljava/lang/String; HSPLjava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String; HSPLjava/lang/String;->toString()Ljava/lang/String; @@ -25097,7 +25080,7 @@ 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;+]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;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;+]Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; HSPLjava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I HSPLjava/lang/ThreadLocal$ThreadLocalMap;->prevIndex(II)I HSPLjava/lang/ThreadLocal$ThreadLocalMap;->rehash()V @@ -25144,7 +25127,7 @@ HSPLjava/lang/Throwable;->printEnclosedStackTrace(Ljava/lang/Throwable$PrintStre HSPLjava/lang/Throwable;->printStackTrace()V HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V -HSPLjava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Throwable$PrintStreamOrWriter;Ljava/lang/Throwable$WrappedPrintWriter;]Ljava/lang/Throwable;Ljava/lang/IllegalStateException;]Ljava/util/Set;Ljava/util/Collections$SetFromMap; +HSPLjava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V HSPLjava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V HSPLjava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V HSPLjava/lang/Throwable;->toString()Ljava/lang/String; @@ -25250,7 +25233,7 @@ HSPLjava/lang/ref/Reference;->refersTo(Ljava/lang/Object;)Z HSPLjava/lang/ref/ReferenceQueue;-><init>()V HSPLjava/lang/ref/ReferenceQueue;->add(Ljava/lang/ref/Reference;)V HSPLjava/lang/ref/ReferenceQueue;->enqueueLocked(Ljava/lang/ref/Reference;)Z -HSPLjava/lang/ref/ReferenceQueue;->enqueuePending(Ljava/lang/ref/Reference;Ljava/util/concurrent/atomic/AtomicInteger;)V +HSPLjava/lang/ref/ReferenceQueue;->enqueuePending(Ljava/lang/ref/Reference;Ljava/util/concurrent/atomic/AtomicInteger;)V+]Ljava/lang/Object;Ljava/lang/Object;]Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;]Lsun/misc/Cleaner;Lsun/misc/Cleaner; HSPLjava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference; HSPLjava/lang/ref/ReferenceQueue;->reallyPollLocked()Ljava/lang/ref/Reference; HSPLjava/lang/ref/ReferenceQueue;->remove()Ljava/lang/ref/Reference; @@ -25990,7 +25973,6 @@ HSPLjava/net/URLStreamHandler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V HSPLjava/net/URLStreamHandler;->setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLjava/net/URLStreamHandler;->toExternalForm(Ljava/net/URL;)Ljava/lang/String; HSPLjava/net/UnknownHostException;-><init>(Ljava/lang/String;)V -HSPLjava/nio/Bits;->byteOrder()Ljava/nio/ByteOrder; HSPLjava/nio/Bits;->char0(C)B HSPLjava/nio/Bits;->char1(C)B HSPLjava/nio/Bits;->getFloat(Ljava/nio/ByteBuffer;IZ)F @@ -26019,7 +26001,6 @@ HSPLjava/nio/Bits;->long7(J)B HSPLjava/nio/Bits;->makeInt(BBBB)I HSPLjava/nio/Bits;->makeLong(BBBBBBBB)J HSPLjava/nio/Bits;->makeShort(BB)S -HSPLjava/nio/Bits;->pageCount(J)I HSPLjava/nio/Bits;->pageSize()I HSPLjava/nio/Bits;->putChar(Ljava/nio/ByteBuffer;ICZ)V HSPLjava/nio/Bits;->putCharB(Ljava/nio/ByteBuffer;IC)V @@ -26036,7 +26017,6 @@ HSPLjava/nio/Bits;->putShortB(Ljava/nio/ByteBuffer;IS)V HSPLjava/nio/Bits;->putShortL(Ljava/nio/ByteBuffer;IS)V HSPLjava/nio/Bits;->short0(S)B HSPLjava/nio/Bits;->short1(S)B -HSPLjava/nio/Bits;->unsafe()Lsun/misc/Unsafe; HSPLjava/nio/Buffer;-><init>(IIIII)V HSPLjava/nio/Buffer;->capacity()I HSPLjava/nio/Buffer;->checkBounds(III)V @@ -26118,7 +26098,7 @@ HSPLjava/nio/CharBuffer;-><init>(IIII[CI)V HSPLjava/nio/CharBuffer;->allocate(I)Ljava/nio/CharBuffer; HSPLjava/nio/CharBuffer;->array()[C HSPLjava/nio/CharBuffer;->arrayOffset()I -HSPLjava/nio/CharBuffer;->charAt(I)C +HSPLjava/nio/CharBuffer;->charAt(I)C+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer;,Ljava/nio/ByteBufferAsCharBuffer; HSPLjava/nio/CharBuffer;->clear()Ljava/nio/Buffer; HSPLjava/nio/CharBuffer;->flip()Ljava/nio/Buffer; HSPLjava/nio/CharBuffer;->get([C)Ljava/nio/CharBuffer; @@ -26260,7 +26240,6 @@ HSPLjava/nio/LongBuffer;->get([J)Ljava/nio/LongBuffer; HSPLjava/nio/LongBuffer;->limit(I)Ljava/nio/Buffer; HSPLjava/nio/LongBuffer;->position(I)Ljava/nio/Buffer; HSPLjava/nio/MappedByteBuffer;-><init>(IIII)V -HSPLjava/nio/MappedByteBuffer;-><init>(IIIILjava/io/FileDescriptor;)V HSPLjava/nio/MappedByteBuffer;-><init>(IIII[BI)V HSPLjava/nio/MappedByteBuffer;->checkMapped()V HSPLjava/nio/MappedByteBuffer;->load()Ljava/nio/MappedByteBuffer; @@ -26352,7 +26331,7 @@ HSPLjava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z HSPLjava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; HSPLjava/nio/charset/Charset;->forNameUEE(Ljava/lang/String;)Ljava/nio/charset/Charset; HSPLjava/nio/charset/Charset;->isSupported(Ljava/lang/String;)Z -HSPLjava/nio/charset/Charset;->lookup(Ljava/lang/String;)Ljava/nio/charset/Charset; +HSPLjava/nio/charset/Charset;->lookup(Ljava/lang/String;)Ljava/nio/charset/Charset;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Map$Entry;Ljava/util/AbstractMap$SimpleImmutableEntry; HSPLjava/nio/charset/Charset;->lookup2(Ljava/lang/String;)Ljava/nio/charset/Charset; HSPLjava/nio/charset/Charset;->name()Ljava/lang/String; HSPLjava/nio/charset/CharsetDecoder;-><init>(Ljava/nio/charset/Charset;FF)V @@ -26545,7 +26524,7 @@ HSPLjava/security/Provider;->getService(Ljava/lang/String;Ljava/lang/String;)Lja HSPLjava/security/Provider;->getServices()Ljava/util/Set; HSPLjava/security/Provider;->getTypeAndAlgorithm(Ljava/lang/String;)[Ljava/lang/String; HSPLjava/security/Provider;->implPut(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLjava/security/Provider;->parseLegacyPut(Ljava/lang/String;Ljava/lang/String;)V +HSPLjava/security/Provider;->parseLegacyPut(Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/security/Provider$Service;Ljava/security/Provider$Service;]Ljava/util/Map;Ljava/util/LinkedHashMap; HSPLjava/security/Provider;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/security/Provider;->putId()V HSPLjava/security/Provider;->removeInvalidServices(Ljava/util/Map;)V @@ -27077,7 +27056,7 @@ HSPLjava/time/chrono/AbstractChronology;->resolveDate(Ljava/util/Map;Ljava/time/ HSPLjava/time/chrono/ChronoLocalDate;->isSupported(Ljava/time/temporal/TemporalField;)Z HSPLjava/time/chrono/ChronoLocalDateTime;->getChronology()Ljava/time/chrono/Chronology; HSPLjava/time/chrono/ChronoLocalDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object; -HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J+]Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;]Ljava/time/LocalTime;Ljava/time/LocalTime;]Ljava/time/chrono/ChronoLocalDateTime;Ljava/time/LocalDateTime;]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate; +HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J HSPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology; HSPLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object; HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J+]Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;]Ljava/time/LocalTime;Ljava/time/LocalTime;]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime;]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate; @@ -27432,7 +27411,7 @@ HSPLjava/util/ArrayList;->batchRemove(Ljava/util/Collection;ZII)Z HSPLjava/util/ArrayList;->checkForComodification(I)V HSPLjava/util/ArrayList;->clear()V HSPLjava/util/ArrayList;->clone()Ljava/lang/Object; -HSPLjava/util/ArrayList;->contains(Ljava/lang/Object;)Z +HSPLjava/util/ArrayList;->contains(Ljava/lang/Object;)Z+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLjava/util/ArrayList;->elementAt([Ljava/lang/Object;I)Ljava/lang/Object; HSPLjava/util/ArrayList;->elementData(I)Ljava/lang/Object; HSPLjava/util/ArrayList;->ensureCapacity(I)V @@ -27446,8 +27425,8 @@ HSPLjava/util/ArrayList;->grow()[Ljava/lang/Object; HSPLjava/util/ArrayList;->grow(I)[Ljava/lang/Object; HSPLjava/util/ArrayList;->hashCode()I HSPLjava/util/ArrayList;->hashCodeRange(II)I -HSPLjava/util/ArrayList;->indexOf(Ljava/lang/Object;)I -HSPLjava/util/ArrayList;->indexOfRange(Ljava/lang/Object;II)I +HSPLjava/util/ArrayList;->indexOf(Ljava/lang/Object;)I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLjava/util/ArrayList;->indexOfRange(Ljava/lang/Object;II)I+]Ljava/lang/Object;missing_types HSPLjava/util/ArrayList;->isEmpty()Z HSPLjava/util/ArrayList;->iterator()Ljava/util/Iterator; HSPLjava/util/ArrayList;->lastIndexOf(Ljava/lang/Object;)I @@ -27543,7 +27522,7 @@ HSPLjava/util/Arrays;->hashCode([B)I HSPLjava/util/Arrays;->hashCode([F)I HSPLjava/util/Arrays;->hashCode([I)I HSPLjava/util/Arrays;->hashCode([J)I -HSPLjava/util/Arrays;->hashCode([Ljava/lang/Object;)I +HSPLjava/util/Arrays;->hashCode([Ljava/lang/Object;)I+]Ljava/lang/Object;Ljava/lang/Integer;,Ljava/lang/Long; HSPLjava/util/Arrays;->rangeCheck(III)V HSPLjava/util/Arrays;->sort([C)V HSPLjava/util/Arrays;->sort([F)V @@ -28003,14 +27982,14 @@ HSPLjava/util/Formatter$Flags;->contains(Ljava/util/Formatter$Flags;)Z HSPLjava/util/Formatter$Flags;->parse(C)Ljava/util/Formatter$Flags; HSPLjava/util/Formatter$Flags;->parse(Ljava/lang/String;II)Ljava/util/Formatter$Flags; HSPLjava/util/Formatter$Flags;->valueOf()I -HSPLjava/util/Formatter$FormatSpecifier;-><init>(Ljava/util/Formatter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; +HSPLjava/util/Formatter$FormatSpecifier;-><init>(Ljava/util/Formatter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLjava/util/Formatter$FormatSpecifier;->addZeros(Ljava/lang/StringBuilder;I)V HSPLjava/util/Formatter$FormatSpecifier;->adjustWidth(ILjava/util/Formatter$Flags;Z)I HSPLjava/util/Formatter$FormatSpecifier;->checkBadFlags([Ljava/util/Formatter$Flags;)V HSPLjava/util/Formatter$FormatSpecifier;->checkCharacter()V HSPLjava/util/Formatter$FormatSpecifier;->checkDateTime()V HSPLjava/util/Formatter$FormatSpecifier;->checkFloat()V -HSPLjava/util/Formatter$FormatSpecifier;->checkGeneral()V+]Ljava/util/Formatter$Flags;Ljava/util/Formatter$Flags; +HSPLjava/util/Formatter$FormatSpecifier;->checkGeneral()V HSPLjava/util/Formatter$FormatSpecifier;->checkInteger()V HSPLjava/util/Formatter$FormatSpecifier;->checkNumeric()V HSPLjava/util/Formatter$FormatSpecifier;->checkText()V @@ -28038,7 +28017,7 @@ HSPLjava/util/Formatter$FormatSpecifier;->printInteger(Ljava/lang/Object;Ljava/u HSPLjava/util/Formatter$FormatSpecifier;->printString(Ljava/lang/Object;Ljava/util/Locale;)V HSPLjava/util/Formatter$FormatSpecifier;->trailingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder; HSPLjava/util/Formatter$FormatSpecifier;->trailingZeros(Ljava/lang/StringBuilder;I)V -HSPLjava/util/Formatter$FormatSpecifierParser;-><init>(Ljava/util/Formatter;Ljava/lang/String;I)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String; +HSPLjava/util/Formatter$FormatSpecifierParser;-><init>(Ljava/util/Formatter;Ljava/lang/String;I)V HSPLjava/util/Formatter$FormatSpecifierParser;->advance()C HSPLjava/util/Formatter$FormatSpecifierParser;->back(I)V HSPLjava/util/Formatter$FormatSpecifierParser;->getEndIdx()I @@ -28060,7 +28039,7 @@ HSPLjava/util/Formatter;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang HSPLjava/util/Formatter;->locale()Ljava/util/Locale; HSPLjava/util/Formatter;->nonNullAppendable(Ljava/lang/Appendable;)Ljava/lang/Appendable; HSPLjava/util/Formatter;->out()Ljava/lang/Appendable; -HSPLjava/util/Formatter;->parse(Ljava/lang/String;)Ljava/util/List;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Formatter$FormatSpecifierParser;Ljava/util/Formatter$FormatSpecifierParser;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLjava/util/Formatter;->parse(Ljava/lang/String;)Ljava/util/List; HSPLjava/util/Formatter;->toString()Ljava/lang/String; HSPLjava/util/GregorianCalendar;-><init>()V HSPLjava/util/GregorianCalendar;-><init>(IIIIII)V @@ -28170,9 +28149,9 @@ HSPLjava/util/HashMap;->containsValue(Ljava/lang/Object;)Z HSPLjava/util/HashMap;->entrySet()Ljava/util/Set; 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;->getNode(Ljava/lang/Object;)Ljava/util/HashMap$Node;+]Ljava/lang/Object;megamorphic_types HSPLjava/util/HashMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I+]Ljava/lang/Object;missing_types +HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I+]Ljava/lang/Object;megamorphic_types HSPLjava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V HSPLjava/util/HashMap;->isEmpty()Z HSPLjava/util/HashMap;->keySet()Ljava/util/Set; @@ -28318,7 +28297,7 @@ HSPLjava/util/ImmutableCollections$Map1;->entrySet()Ljava/util/Set; HSPLjava/util/ImmutableCollections$MapN;-><init>([Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$MapN;->containsKey(Ljava/lang/Object;)Z HSPLjava/util/ImmutableCollections$MapN;->get(Ljava/lang/Object;)Ljava/lang/Object; -HSPLjava/util/ImmutableCollections$MapN;->probe(Ljava/lang/Object;)I +HSPLjava/util/ImmutableCollections$MapN;->probe(Ljava/lang/Object;)I+]Ljava/lang/Object;Ljava/lang/String; 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 @@ -28372,7 +28351,7 @@ HSPLjava/util/LinkedHashMap;->afterNodeRemoval(Ljava/util/HashMap$Node;)V HSPLjava/util/LinkedHashMap;->clear()V HSPLjava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry; HSPLjava/util/LinkedHashMap;->entrySet()Ljava/util/Set; -HSPLjava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLjava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;,Lcom/android/i18n/timezone/internal/BasicLruCache$CacheMap;,Landroid/app/PropertyInvalidatedCache$1; HSPLjava/util/LinkedHashMap;->keySet()Ljava/util/Set; HSPLjava/util/LinkedHashMap;->linkNodeLast(Ljava/util/LinkedHashMap$LinkedHashMapEntry;)V HSPLjava/util/LinkedHashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node; @@ -28578,8 +28557,6 @@ HSPLjava/util/PriorityQueue;->siftUp(ILjava/lang/Object;)V HSPLjava/util/PriorityQueue;->size()I HSPLjava/util/PriorityQueue;->toArray()[Ljava/lang/Object; HSPLjava/util/PriorityQueue;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; -HSPLjava/util/Properties$LineReader;-><init>(Ljava/util/Properties;Ljava/io/InputStream;)V -HSPLjava/util/Properties$LineReader;-><init>(Ljava/util/Properties;Ljava/io/Reader;)V HSPLjava/util/Properties$LineReader;->readLine()I HSPLjava/util/Properties;-><init>()V HSPLjava/util/Properties;-><init>(Ljava/util/Properties;)V @@ -28588,7 +28565,6 @@ HSPLjava/util/Properties;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljav HSPLjava/util/Properties;->load(Ljava/io/InputStream;)V HSPLjava/util/Properties;->load(Ljava/io/Reader;)V HSPLjava/util/Properties;->load0(Ljava/util/Properties$LineReader;)V -HSPLjava/util/Properties;->loadConvert([CII[C)Ljava/lang/String; HSPLjava/util/Properties;->saveConvert(Ljava/lang/String;ZZ)Ljava/lang/String; HSPLjava/util/Properties;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object; HSPLjava/util/Properties;->store(Ljava/io/OutputStream;Ljava/lang/String;)V @@ -28914,7 +28890,7 @@ HSPLjava/util/TreeMap;->navigableKeySet()Ljava/util/NavigableSet; HSPLjava/util/TreeMap;->parentOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry; HSPLjava/util/TreeMap;->pollFirstEntry()Ljava/util/Map$Entry; HSPLjava/util/TreeMap;->predecessor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry; -HSPLjava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/TreeMap;Ljava/util/TreeMap;]Ljava/lang/Comparable;Ljava/lang/String; +HSPLjava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V HSPLjava/util/TreeMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/TreeMap;->rightOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry; @@ -28959,7 +28935,7 @@ HSPLjava/util/UUID;->getMostSignificantBits()J HSPLjava/util/UUID;->hashCode()I HSPLjava/util/UUID;->nameUUIDFromBytes([B)Ljava/util/UUID; HSPLjava/util/UUID;->randomUUID()Ljava/util/UUID; -HSPLjava/util/UUID;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLjava/util/UUID;->toString()Ljava/lang/String; HSPLjava/util/Vector$1;-><init>(Ljava/util/Vector;)V HSPLjava/util/Vector$1;->hasMoreElements()Z HSPLjava/util/Vector$1;->nextElement()Ljava/lang/Object; @@ -29127,7 +29103,7 @@ HSPLjava/util/concurrent/ConcurrentHashMap;-><init>()V HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(I)V HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(Ljava/util/Map;)V -HSPLjava/util/concurrent/ConcurrentHashMap;->addCount(JI)V +HSPLjava/util/concurrent/ConcurrentHashMap;->addCount(JI)V+]Ljdk/internal/misc/Unsafe;Ljdk/internal/misc/Unsafe;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap; HSPLjava/util/concurrent/ConcurrentHashMap;->casTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)Z HSPLjava/util/concurrent/ConcurrentHashMap;->clear()V HSPLjava/util/concurrent/ConcurrentHashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; @@ -29145,7 +29121,7 @@ HSPLjava/util/concurrent/ConcurrentHashMap;->mappingCount()J HSPLjava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/concurrent/ConcurrentHashMap;->putAll(Ljava/util/Map;)V HSPLjava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object; +HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;+]Ljava/lang/Object;megamorphic_types 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 @@ -29806,7 +29782,7 @@ HSPLjava/util/jar/Attributes;-><init>(I)V HSPLjava/util/jar/Attributes;->entrySet()Ljava/util/Set; HSPLjava/util/jar/Attributes;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/jar/Attributes;->getValue(Ljava/util/jar/Attributes$Name;)Ljava/lang/String; -HSPLjava/util/jar/Attributes;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLjava/util/jar/Attributes;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/Map;Ljava/util/LinkedHashMap; HSPLjava/util/jar/Attributes;->putValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLjava/util/jar/Attributes;->read(Ljava/util/jar/Manifest$FastInputStream;[B)V HSPLjava/util/jar/Attributes;->read(Ljava/util/jar/Manifest$FastInputStream;[BLjava/lang/String;I)I+]Ljava/util/jar/Attributes;Ljava/util/jar/Attributes;]Ljava/util/jar/Manifest$FastInputStream;Ljava/util/jar/Manifest$FastInputStream; @@ -30023,13 +29999,13 @@ HSPLjava/util/regex/Matcher;->appendTail(Ljava/lang/StringBuilder;)Ljava/lang/St HSPLjava/util/regex/Matcher;->end()I HSPLjava/util/regex/Matcher;->end(I)I HSPLjava/util/regex/Matcher;->ensureMatch()V -HSPLjava/util/regex/Matcher;->find()Z +HSPLjava/util/regex/Matcher;->find()Z+]Lcom/android/icu/util/regex/MatcherNative;Lcom/android/icu/util/regex/MatcherNative; HSPLjava/util/regex/Matcher;->find(I)Z HSPLjava/util/regex/Matcher;->getSubSequence(II)Ljava/lang/CharSequence; HSPLjava/util/regex/Matcher;->getTextLength()I HSPLjava/util/regex/Matcher;->group()Ljava/lang/String; HSPLjava/util/regex/Matcher;->group(I)Ljava/lang/String; -HSPLjava/util/regex/Matcher;->groupCount()I +HSPLjava/util/regex/Matcher;->groupCount()I+]Lcom/android/icu/util/regex/MatcherNative;Lcom/android/icu/util/regex/MatcherNative; HSPLjava/util/regex/Matcher;->hitEnd()Z HSPLjava/util/regex/Matcher;->lookingAt()Z HSPLjava/util/regex/Matcher;->matches()Z @@ -30039,8 +30015,8 @@ HSPLjava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String; HSPLjava/util/regex/Matcher;->replaceFirst(Ljava/lang/String;)Ljava/lang/String; HSPLjava/util/regex/Matcher;->reset()Ljava/util/regex/Matcher; HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; -HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher; -HSPLjava/util/regex/Matcher;->resetForInput()V +HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher;+]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLjava/util/regex/Matcher;->resetForInput()V+]Lcom/android/icu/util/regex/MatcherNative;Lcom/android/icu/util/regex/MatcherNative; HSPLjava/util/regex/Matcher;->start()I HSPLjava/util/regex/Matcher;->start(I)I HSPLjava/util/regex/Matcher;->useAnchoringBounds(Z)Ljava/util/regex/Matcher; @@ -30059,9 +30035,9 @@ HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;)[Ljava/lang/String; HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;I)[Ljava/lang/String; HSPLjava/util/regex/Pattern;->toString()Ljava/lang/String; HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V -HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V +HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V+]Ljava/util/stream/AbstractPipeline;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$4; HSPLjava/util/stream/AbstractPipeline;->close()V -HSPLjava/util/stream/AbstractPipeline;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V +HSPLjava/util/stream/AbstractPipeline;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V+]Ljava/util/Spliterator;Ljava/util/Spliterators$IntArraySpliterator;,Ljava/util/HashMap$KeySpliterator;]Ljava/util/stream/AbstractPipeline;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$4;]Ljava/util/stream/Sink;Ljava/util/stream/ReferencePipeline$4$1;,Ljava/util/stream/IntPipeline$4$1;]Ljava/util/stream/StreamOpFlag;Ljava/util/stream/StreamOpFlag; HSPLjava/util/stream/AbstractPipeline;->evaluate(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node; HSPLjava/util/stream/AbstractPipeline;->evaluate(Ljava/util/stream/TerminalOp;)Ljava/lang/Object; HSPLjava/util/stream/AbstractPipeline;->evaluateToArrayNode(Ljava/util/function/IntFunction;)Ljava/util/stream/Node; @@ -30491,13 +30467,13 @@ HSPLjava/util/zip/ZipFile$ZipFileInputStream;->available()I HSPLjava/util/zip/ZipFile$ZipFileInputStream;->close()V HSPLjava/util/zip/ZipFile$ZipFileInputStream;->finalize()V HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read()I -HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read([BII)I +HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read([BII)I+]Ljava/util/zip/ZipFile$ZipFileInputStream;Ljava/util/zip/ZipFile$ZipFileInputStream; HSPLjava/util/zip/ZipFile$ZipFileInputStream;->size()J HSPLjava/util/zip/ZipFile;->-$$Nest$mensureOpen(Ljava/util/zip/ZipFile;)V HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;)V -HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;Z)V+]Ljava/io/File;Ljava/io/File;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;Z)V HSPLjava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V HSPLjava/util/zip/ZipFile;->close()V HSPLjava/util/zip/ZipFile;->ensureOpen()V @@ -31171,9 +31147,9 @@ HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;JJZ)V HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;J)Llibcore/util/NativeAllocationRegistry; HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry; HSPLlibcore/util/NativeAllocationRegistry;->createNonmalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry; -HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(J)V -HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(Ljava/lang/Object;J)Ljava/lang/Runnable; -HSPLlibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V +HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(J)V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; +HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(Ljava/lang/Object;J)Ljava/lang/Runnable;+]Llibcore/util/NativeAllocationRegistry$CleanerThunk;Llibcore/util/NativeAllocationRegistry$CleanerThunk; +HSPLlibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLlibcore/util/SneakyThrow;->sneakyThrow(Ljava/lang/Throwable;)V HSPLlibcore/util/SneakyThrow;->sneakyThrow_(Ljava/lang/Throwable;)V HSPLlibcore/util/XmlObjectFactory;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser; @@ -31476,7 +31452,7 @@ HSPLsun/misc/ASCIICaseInsensitiveComparator;->lowerCaseHashCode(Ljava/lang/Strin HSPLsun/misc/ASCIICaseInsensitiveComparator;->toLower(I)I HSPLsun/misc/Cleaner;-><init>(Ljava/lang/Object;Ljava/lang/Runnable;)V HSPLsun/misc/Cleaner;->add(Lsun/misc/Cleaner;)Lsun/misc/Cleaner; -HSPLsun/misc/Cleaner;->clean()V +HSPLsun/misc/Cleaner;->clean()V+]Ljava/lang/Runnable;Llibcore/util/NativeAllocationRegistry$CleanerThunk; HSPLsun/misc/Cleaner;->create(Ljava/lang/Object;Ljava/lang/Runnable;)Lsun/misc/Cleaner; HSPLsun/misc/Cleaner;->isCleanerQueue(Ljava/lang/ref/ReferenceQueue;)Z HSPLsun/misc/Cleaner;->remove(Lsun/misc/Cleaner;)Z @@ -32113,7 +32089,7 @@ HSPLsun/security/util/DerInputStream;->init([BIIZ)V HSPLsun/security/util/DerInputStream;->mark(I)V HSPLsun/security/util/DerInputStream;->peekByte()I HSPLsun/security/util/DerInputStream;->readVector(I)[Lsun/security/util/DerValue; -HSPLsun/security/util/DerInputStream;->readVector(IZ)[Lsun/security/util/DerValue; +HSPLsun/security/util/DerInputStream;->readVector(IZ)[Lsun/security/util/DerValue;+]Lsun/security/util/DerInputBuffer;Lsun/security/util/DerInputBuffer;]Ljava/util/Vector;Ljava/util/Vector;]Lsun/security/util/DerInputStream;Lsun/security/util/DerInputStream; HSPLsun/security/util/DerInputStream;->reset()V HSPLsun/security/util/DerInputStream;->subStream(IZ)Lsun/security/util/DerInputStream; HSPLsun/security/util/DerInputStream;->toByteArray()[B @@ -32131,7 +32107,7 @@ HSPLsun/security/util/DerOutputStream;->write(B[B)V HSPLsun/security/util/DerValue;-><init>(B[B)V HSPLsun/security/util/DerValue;-><init>(Ljava/io/InputStream;)V HSPLsun/security/util/DerValue;-><init>(Ljava/lang/String;)V -HSPLsun/security/util/DerValue;-><init>(Lsun/security/util/DerInputBuffer;Z)V +HSPLsun/security/util/DerValue;-><init>(Lsun/security/util/DerInputBuffer;Z)V+]Lsun/security/util/DerInputBuffer;Lsun/security/util/DerInputBuffer; HSPLsun/security/util/DerValue;-><init>([B)V HSPLsun/security/util/DerValue;->encode(Lsun/security/util/DerOutputStream;)V HSPLsun/security/util/DerValue;->getBigInteger()Ljava/math/BigInteger; @@ -32473,16 +32449,16 @@ HSPLsun/util/locale/BaseLocale$Cache;->normalizeKey(Lsun/util/locale/BaseLocale$ HSPLsun/util/locale/BaseLocale$Key;->-$$Nest$mgetBaseLocale(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale; HSPLsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V HSPLsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLsun/util/locale/BaseLocale$Key-IA;)V -HSPLsun/util/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z +HSPLsun/util/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z+]Ljava/lang/String;Ljava/lang/String;]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLsun/util/locale/BaseLocale$Key;->getBaseLocale()Lsun/util/locale/BaseLocale; HSPLsun/util/locale/BaseLocale$Key;->hashCode()I -HSPLsun/util/locale/BaseLocale$Key;->hashCode(Lsun/util/locale/BaseLocale;)I +HSPLsun/util/locale/BaseLocale$Key;->hashCode(Lsun/util/locale/BaseLocale;)I+]Ljava/lang/String;Ljava/lang/String;]Lsun/util/locale/BaseLocale;Lsun/util/locale/BaseLocale; HSPLsun/util/locale/BaseLocale$Key;->normalize(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale$Key; -HSPLsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V +HSPLsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V+]Ljava/lang/String;Ljava/lang/String; HSPLsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLsun/util/locale/BaseLocale-IA;)V HSPLsun/util/locale/BaseLocale;->cleanCache()V HSPLsun/util/locale/BaseLocale;->equals(Ljava/lang/Object;)Z -HSPLsun/util/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/BaseLocale; +HSPLsun/util/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/BaseLocale;+]Lsun/util/locale/BaseLocale$Cache;Lsun/util/locale/BaseLocale$Cache; HSPLsun/util/locale/BaseLocale;->getLanguage()Ljava/lang/String; HSPLsun/util/locale/BaseLocale;->getRegion()Ljava/lang/String; HSPLsun/util/locale/BaseLocale;->getScript()Ljava/lang/String; @@ -32496,7 +32472,7 @@ HSPLsun/util/locale/InternalLocaleBuilder;->getBaseLocale()Lsun/util/locale/Base HSPLsun/util/locale/InternalLocaleBuilder;->getLocaleExtensions()Lsun/util/locale/LocaleExtensions; HSPLsun/util/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; -HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder; +HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder;+]Lsun/util/locale/InternalLocaleBuilder;Lsun/util/locale/InternalLocaleBuilder;]Ljava/lang/String;Ljava/lang/String;]Lsun/util/locale/LanguageTag;Lsun/util/locale/LanguageTag;]Ljava/util/List;Ljava/util/Collections$EmptyList; HSPLsun/util/locale/InternalLocaleBuilder;->setRegion(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/InternalLocaleBuilder;->setScript(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/InternalLocaleBuilder;->setVariant(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; @@ -32516,7 +32492,7 @@ HSPLsun/util/locale/LanguageTag;->isLanguage(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isRegion(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isScript(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isVariant(Ljava/lang/String;)Z -HSPLsun/util/locale/LanguageTag;->parse(Ljava/lang/String;Lsun/util/locale/ParseStatus;)Lsun/util/locale/LanguageTag; +HSPLsun/util/locale/LanguageTag;->parse(Ljava/lang/String;Lsun/util/locale/ParseStatus;)Lsun/util/locale/LanguageTag;+]Lsun/util/locale/StringTokenIterator;Lsun/util/locale/StringTokenIterator;]Ljava/util/Map;Ljava/util/HashMap; HSPLsun/util/locale/LanguageTag;->parseExtensions(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z HSPLsun/util/locale/LanguageTag;->parseExtlangs(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z HSPLsun/util/locale/LanguageTag;->parseLanguage(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z @@ -32528,7 +32504,7 @@ HSPLsun/util/locale/LanguageTag;->parseVariants(Lsun/util/locale/StringTokenIter HSPLsun/util/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V HSPLsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object; HSPLsun/util/locale/LocaleObjectCache;->cleanStaleEntries()V -HSPLsun/util/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLsun/util/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/concurrent/ConcurrentMap;Ljava/util/concurrent/ConcurrentHashMap;]Lsun/util/locale/LocaleObjectCache;Lsun/util/locale/BaseLocale$Cache;,Ljava/util/Locale$Cache;]Lsun/util/locale/LocaleObjectCache$CacheEntry;Lsun/util/locale/LocaleObjectCache$CacheEntry; HSPLsun/util/locale/LocaleObjectCache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object; HSPLsun/util/locale/LocaleUtils;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z HSPLsun/util/locale/LocaleUtils;->isAlpha(C)Z @@ -32544,7 +32520,7 @@ HSPLsun/util/locale/LocaleUtils;->isNumeric(C)Z HSPLsun/util/locale/LocaleUtils;->isNumericString(Ljava/lang/String;)Z HSPLsun/util/locale/LocaleUtils;->isUpper(C)Z HSPLsun/util/locale/LocaleUtils;->toLower(C)C -HSPLsun/util/locale/LocaleUtils;->toLowerString(Ljava/lang/String;)Ljava/lang/String; +HSPLsun/util/locale/LocaleUtils;->toLowerString(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLsun/util/locale/LocaleUtils;->toTitleString(Ljava/lang/String;)Ljava/lang/String; HSPLsun/util/locale/LocaleUtils;->toUpperString(Ljava/lang/String;)Ljava/lang/String; HSPLsun/util/locale/ParseStatus;-><init>()V @@ -42228,7 +42204,6 @@ Landroid/widget/RemoteViews$MethodArgs; Landroid/widget/RemoteViews$MethodKey; Landroid/widget/RemoteViews$NightModeReflectionAction; Landroid/widget/RemoteViews$OnViewAppliedListener; -Landroid/widget/RemoteViews$OverrideTextColorsAction; Landroid/widget/RemoteViews$ReflectionAction; Landroid/widget/RemoteViews$RemoteCollectionItems$1; Landroid/widget/RemoteViews$RemoteCollectionItems; @@ -42250,7 +42225,6 @@ Landroid/widget/RemoteViews$SetRadioGroupCheckedAction; Landroid/widget/RemoteViews$SetRemoteCollectionItemListAdapterAction; Landroid/widget/RemoteViews$SetRemoteInputsAction; Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent; -Landroid/widget/RemoteViews$SetRemoteViewsAdapterList; Landroid/widget/RemoteViews$SetRippleDrawableColor; Landroid/widget/RemoteViews$SetViewOutlinePreferredRadiusAction; Landroid/widget/RemoteViews$TextViewDrawableAction; diff --git a/config/preloaded-classes b/config/preloaded-classes index 8331358455c4..cace87c76a15 100644 --- a/config/preloaded-classes +++ b/config/preloaded-classes @@ -370,6 +370,7 @@ android.app.BackgroundServiceStartNotAllowedException android.app.BroadcastOptions android.app.ClientTransactionHandler android.app.ComponentOptions +android.app.ConfigurationChangedListenerController android.app.ConfigurationController android.app.ContentProviderHolder$1 android.app.ContentProviderHolder @@ -1275,6 +1276,8 @@ android.appwidget.AppWidgetManager$$ExternalSyntheticLambda1 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda2 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda3 android.appwidget.AppWidgetManager$$ExternalSyntheticLambda4 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda5 +android.appwidget.AppWidgetManager$$ExternalSyntheticLambda6 android.appwidget.AppWidgetManager android.appwidget.AppWidgetManagerInternal android.appwidget.AppWidgetProvider @@ -1342,6 +1345,7 @@ android.content.ComponentName$1 android.content.ComponentName$WithComponentName android.content.ComponentName android.content.ContentCaptureOptions$1 +android.content.ContentCaptureOptions$ContentProtectionOptions android.content.ContentCaptureOptions android.content.ContentInterface android.content.ContentProvider$1 @@ -8417,6 +8421,7 @@ android.view.IScrollCaptureCallbacks android.view.IScrollCaptureResponseListener$Stub$Proxy android.view.IScrollCaptureResponseListener$Stub android.view.IScrollCaptureResponseListener +android.view.ISurfaceControlViewHost android.view.ISurfaceControlViewHostParent$Stub android.view.ISurfaceControlViewHostParent android.view.ISystemGestureExclusionListener$Stub$Proxy @@ -9002,7 +9007,9 @@ android.view.autofill.AutofillManager$AugmentedAutofillManagerClient android.view.autofill.AutofillManager$AutofillCallback android.view.autofill.AutofillManager$AutofillClient android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda10 +android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda11 android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda13 +android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda14 android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda16 android.view.autofill.AutofillManager$AutofillManagerClient android.view.autofill.AutofillManager$CompatibilityBridge @@ -9076,6 +9083,7 @@ android.view.contentcapture.MainContentCaptureSession android.view.contentcapture.ViewNode$ViewNodeText android.view.contentcapture.ViewNode$ViewStructureImpl android.view.contentcapture.ViewNode +android.view.contentprotection.ContentProtectionEventProcessor android.view.displayhash.DisplayHash$1 android.view.displayhash.DisplayHash android.view.displayhash.DisplayHashManager @@ -9173,10 +9181,15 @@ android.view.inputmethod.JoinOrSplitGesture android.view.inputmethod.ParcelableHandwritingGesture$1 android.view.inputmethod.ParcelableHandwritingGesture android.view.inputmethod.PreviewableHandwritingGesture +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda11 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda24 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda25 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda27 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda28 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda37 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda39 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda40 +android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda42 android.view.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda8 android.view.inputmethod.RemoteInputConnectionImpl$1 android.view.inputmethod.RemoteInputConnectionImpl$KnownAlwaysTrueEndBatchEditCache @@ -9640,7 +9653,6 @@ android.widget.RemoteViews$MethodArgs android.widget.RemoteViews$MethodKey android.widget.RemoteViews$NightModeReflectionAction android.widget.RemoteViews$OnViewAppliedListener -android.widget.RemoteViews$OverrideTextColorsAction android.widget.RemoteViews$ReflectionAction android.widget.RemoteViews$RemoteCollectionItems$1 android.widget.RemoteViews$RemoteCollectionItems @@ -9662,7 +9674,6 @@ android.widget.RemoteViews$SetRadioGroupCheckedAction android.widget.RemoteViews$SetRemoteCollectionItemListAdapterAction android.widget.RemoteViews$SetRemoteInputsAction android.widget.RemoteViews$SetRemoteViewsAdapterIntent -android.widget.RemoteViews$SetRemoteViewsAdapterList android.widget.RemoteViews$SetRippleDrawableColor android.widget.RemoteViews$SetViewOutlinePreferredRadiusAction android.widget.RemoteViews$TextViewDrawableAction @@ -9733,6 +9744,7 @@ android.widget.TextClock android.widget.TextView$$ExternalSyntheticLambda2 android.widget.TextView$$ExternalSyntheticLambda3 android.widget.TextView$$ExternalSyntheticLambda4 +android.widget.TextView$$ExternalSyntheticLambda5 android.widget.TextView$1 android.widget.TextView$2 android.widget.TextView$3 diff --git a/core/api/current.txt b/core/api/current.txt index 7d5157457cd2..013010be95be 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -6727,7 +6727,7 @@ package android.app { field protected android.app.Notification.Builder mBuilder; } - public static final class Notification.TvExtender implements android.app.Notification.Extender { + @FlaggedApi("android.app.api_tvextender") public static final class Notification.TvExtender implements android.app.Notification.Extender { ctor public Notification.TvExtender(); ctor public Notification.TvExtender(@NonNull android.app.Notification); method @NonNull public android.app.Notification.Builder extend(@NonNull android.app.Notification.Builder); @@ -9321,6 +9321,21 @@ package android.app.usage { field public static final int USER_INTERACTION = 7; // 0x7 } + @FlaggedApi("android.app.usage.filter_based_event_query_api") public final class UsageEventsQuery implements android.os.Parcelable { + method public int describeContents(); + method public long getBeginTimeMillis(); + method public long getEndTimeMillis(); + method @NonNull public java.util.Set<java.lang.Integer> getEventTypes(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageEventsQuery> CREATOR; + } + + public static final class UsageEventsQuery.Builder { + ctor public UsageEventsQuery.Builder(long, long); + method @NonNull public android.app.usage.UsageEventsQuery.Builder addEventTypes(@NonNull int...); + method @NonNull public android.app.usage.UsageEventsQuery build(); + } + public final class UsageStats implements android.os.Parcelable { ctor public UsageStats(android.app.usage.UsageStats); method public void add(android.app.usage.UsageStats); @@ -9345,6 +9360,7 @@ package android.app.usage { method public java.util.List<android.app.usage.ConfigurationStats> queryConfigurations(int, long, long); method public java.util.List<android.app.usage.EventStats> queryEventStats(int, long, long); method public android.app.usage.UsageEvents queryEvents(long, long); + method @FlaggedApi("android.app.usage.filter_based_event_query_api") @NonNull @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public android.app.usage.UsageEvents queryEvents(@NonNull android.app.usage.UsageEventsQuery); method public android.app.usage.UsageEvents queryEventsForSelf(long, long); method public java.util.List<android.app.usage.UsageStats> queryUsageStats(int, long, long); field public static final int INTERVAL_BEST = 4; // 0x4 @@ -18526,11 +18542,13 @@ package android.hardware.biometrics { public class BiometricManager { method @Deprecated @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(); method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(int); + method @FlaggedApi("android.hardware.biometrics.last_authentication_time") @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public long getLastAuthenticationTime(int); method @NonNull @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public android.hardware.biometrics.BiometricManager.Strings getStrings(int); field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1 field public static final int BIOMETRIC_ERROR_NONE_ENROLLED = 11; // 0xb field public static final int BIOMETRIC_ERROR_NO_HARDWARE = 12; // 0xc field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf + field @FlaggedApi("android.hardware.biometrics.last_authentication_time") public static final long BIOMETRIC_NO_AUTHENTICATION = -1L; // 0xffffffffffffffffL field public static final int BIOMETRIC_SUCCESS = 0; // 0x0 } @@ -18576,6 +18594,7 @@ package android.hardware.biometrics { field public static final int BIOMETRIC_ERROR_UNABLE_TO_PROCESS = 2; // 0x2 field public static final int BIOMETRIC_ERROR_USER_CANCELED = 10; // 0xa field public static final int BIOMETRIC_ERROR_VENDOR = 8; // 0x8 + field @FlaggedApi("android.hardware.biometrics.last_authentication_time") public static final long BIOMETRIC_NO_AUTHENTICATION = -1L; // 0xffffffffffffffffL } public abstract static class BiometricPrompt.AuthenticationCallback { @@ -18614,6 +18633,7 @@ package android.hardware.biometrics { method @Deprecated @Nullable public android.security.identity.IdentityCredential getIdentityCredential(); method @FlaggedApi("android.hardware.biometrics.add_key_agreement_crypto_object") @Nullable public javax.crypto.KeyAgreement getKeyAgreement(); method @Nullable public javax.crypto.Mac getMac(); + method @FlaggedApi("android.hardware.biometrics.get_op_id_crypto_object") public long getOpId(); method @Nullable public android.security.identity.PresentationSession getPresentationSession(); method @Nullable public java.security.Signature getSignature(); } @@ -25847,15 +25867,15 @@ package android.media.midi { method public abstract void onDisconnect(android.media.midi.MidiReceiver); } - @FlaggedApi("com.android.media.midi.flags.virtual_ump") public abstract class MidiUmpDeviceService extends android.app.Service { + @FlaggedApi("android.media.midi.virtual_ump") public abstract class MidiUmpDeviceService extends android.app.Service { ctor public MidiUmpDeviceService(); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") @Nullable public final android.media.midi.MidiDeviceInfo getDeviceInfo(); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") @NonNull public final java.util.List<android.media.midi.MidiReceiver> getOutputPortReceivers(); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") public void onClose(); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") public void onDeviceStatusChanged(@NonNull android.media.midi.MidiDeviceStatus); - method @FlaggedApi("com.android.media.midi.flags.virtual_ump") @NonNull public abstract java.util.List<android.media.midi.MidiReceiver> onGetInputPortReceivers(); - field @FlaggedApi("com.android.media.midi.flags.virtual_ump") public static final String SERVICE_INTERFACE = "android.media.midi.MidiUmpDeviceService"; + method @FlaggedApi("android.media.midi.virtual_ump") @Nullable public final android.media.midi.MidiDeviceInfo getDeviceInfo(); + method @FlaggedApi("android.media.midi.virtual_ump") @NonNull public final java.util.List<android.media.midi.MidiReceiver> getOutputPortReceivers(); + method @FlaggedApi("android.media.midi.virtual_ump") @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); + method @FlaggedApi("android.media.midi.virtual_ump") public void onClose(); + method @FlaggedApi("android.media.midi.virtual_ump") public void onDeviceStatusChanged(@NonNull android.media.midi.MidiDeviceStatus); + method @FlaggedApi("android.media.midi.virtual_ump") @NonNull public abstract java.util.List<android.media.midi.MidiReceiver> onGetInputPortReceivers(); + field @FlaggedApi("android.media.midi.virtual_ump") public static final String SERVICE_INTERFACE = "android.media.midi.MidiUmpDeviceService"; } } @@ -28503,12 +28523,12 @@ 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); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setMinUdpPort4500NatTimeoutSeconds(@IntRange(from=0x78) int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setRetryIntervalsMillis(@NonNull long[]); + method @FlaggedApi("android.net.vcn.safe_mode_config") @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setSafeModeEnabled(boolean); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setVcnUnderlyingNetworkPriorities(@NonNull java.util.List<android.net.vcn.VcnUnderlyingNetworkTemplate>); } @@ -49810,6 +49830,7 @@ package android.view { method public default void removeOnBufferTransformHintChangedListener(@NonNull android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener); method public default void setChildBoundingInsets(@NonNull android.graphics.Rect); method public default void setTouchableRegion(@Nullable android.graphics.Region); + method @FlaggedApi("com.android.window.flags.transfer_gesture_to_embedded") public default boolean transferHostTouchGestureToEmbedded(@NonNull android.view.SurfaceControlViewHost.SurfacePackage); } @UiThread public static interface AttachedSurfaceControl.OnBufferTransformHintChangedListener { diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 7691c1e8f5f7..346d62bf8a30 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -261,6 +261,7 @@ package android { field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"; field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT"; field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE"; + field @FlaggedApi("android.content.pm.quarantined_enabled") public static final String QUARANTINE_APPS = "android.permission.QUARANTINE_APPS"; field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY"; field public static final String QUERY_CLONED_APPS = "android.permission.QUERY_CLONED_APPS"; field @Deprecated public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; @@ -981,7 +982,7 @@ package android.app { field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb } - public static final class Notification.TvExtender implements android.app.Notification.Extender { + @FlaggedApi("android.app.api_tvextender") public static final class Notification.TvExtender implements android.app.Notification.Extender { method public boolean getSuppressShowOverApps(); method public android.app.Notification.TvExtender setChannel(String); } @@ -3861,7 +3862,7 @@ package android.content.pm { method public boolean getInstallAsVirtualPreload(); method public int getPendingUserActionReason(); method public boolean getRequestDowngrade(); - method @Nullable @RequiresPermission(android.Manifest.permission.READ_INSTALLED_SESSION_PATHS) public String getResolvedBaseApkPath(); + method @FlaggedApi("android.content.pm.get_resolved_apk_path") @Nullable @RequiresPermission(android.Manifest.permission.READ_INSTALLED_SESSION_PATHS) public String getResolvedBaseApkPath(); method public int getRollbackDataPolicy(); method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions(); } @@ -4089,7 +4090,7 @@ package android.content.pm { field public static final int PROTECTION_FLAG_MODULE = 4194304; // 0x400000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000 - field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000 + field @Deprecated public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000 field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000 @@ -6750,7 +6751,7 @@ package android.media.audiopolicy { method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>); method public String toLogFriendlyString(); - method @FlaggedApi("com.android.media.audio.flags.audio_policy_update_mixing_rules_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int updateMixingRules(@NonNull java.util.List<android.util.Pair<android.media.audiopolicy.AudioMix,android.media.audiopolicy.AudioMixingRule>>); + method @FlaggedApi("android.media.audiopolicy.audio_policy_update_mixing_rules_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int updateMixingRules(@NonNull java.util.List<android.util.Pair<android.media.audiopolicy.AudioMix,android.media.audiopolicy.AudioMixingRule>>); field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0 field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0 field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1 diff --git a/core/api/system-removed.txt b/core/api/system-removed.txt index aa17df3471d7..402a7184c7c2 100644 --- a/core/api/system-removed.txt +++ b/core/api/system-removed.txt @@ -15,7 +15,7 @@ package android.app { method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String); } - public static final class Notification.TvExtender implements android.app.Notification.Extender { + @FlaggedApi("android.app.api_tvextender") public static final class Notification.TvExtender implements android.app.Notification.Extender { method @Deprecated public String getChannel(); } diff --git a/core/api/test-current.txt b/core/api/test-current.txt index a3ebe6e72712..66436633b089 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -575,7 +575,6 @@ package android.app.admin { method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean setDeviceOwnerOnly(@NonNull android.content.ComponentName, int); method public void setDeviceOwnerType(@NonNull android.content.ComponentName, int); method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void setNextOperationSafety(int, int); - method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setOverrideKeepProfilesRunning(boolean); method @RequiresPermission(anyOf={android.Manifest.permission.MARK_DEVICE_ORGANIZATION_OWNED, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}, conditional=true) public void setProfileOwnerOnOrganizationOwnedDevice(@NonNull android.content.ComponentName, boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean triggerDevicePolicyEngineMigration(boolean); field public static final String ACTION_DATA_SHARING_RESTRICTION_APPLIED = "android.app.action.DATA_SHARING_RESTRICTION_APPLIED"; @@ -1802,8 +1801,8 @@ package android.media { public class AudioManager { method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String); - 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 @FlaggedApi("android.media.audio.focus_freeze_test_api") @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull java.util.List<java.lang.Integer>); + method @FlaggedApi("android.media.audio.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); @@ -1811,9 +1810,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 @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 @FlaggedApi("android.media.audio.focus_freeze_test_api") @NonNull @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public java.util.List<java.lang.Integer> getFocusDuckedUidsForTest(); + method @FlaggedApi("android.media.audio.focus_freeze_test_api") @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest(); + method @FlaggedApi("android.media.audio.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(); @@ -1935,7 +1934,7 @@ package android.media { field public static final int VIBRATION_SOURCE_URI = 2; // 0x2 } - public static final class RingtoneSelection.Builder { + @FlaggedApi("android.os.vibrator.haptics_customization_enabled") public static final class RingtoneSelection.Builder { ctor public RingtoneSelection.Builder(); ctor public RingtoneSelection.Builder(@NonNull android.media.RingtoneSelection); method @NonNull public android.media.RingtoneSelection build(); @@ -3573,8 +3572,8 @@ package android.view { method public default void holdLock(android.os.IBinder, int); method public default boolean isGlobalKey(int); method public default boolean isTaskSnapshotSupported(); - method @FlaggedApi("REPLACE_CONTENT_WITH_MIRROR") @RequiresPermission(android.Manifest.permission.ACCESS_SURFACE_FLINGER) public default boolean replaceContentOnDisplayWithMirror(int, @NonNull android.view.Window); - method @FlaggedApi("REPLACE_CONTENT_WITH_MIRROR") @RequiresPermission(android.Manifest.permission.ACCESS_SURFACE_FLINGER) public default boolean replaceContentOnDisplayWithSc(int, @NonNull android.view.SurfaceControl); + method @RequiresPermission(android.Manifest.permission.ACCESS_SURFACE_FLINGER) public default boolean replaceContentOnDisplayWithMirror(int, @NonNull android.view.Window); + method @RequiresPermission(android.Manifest.permission.ACCESS_SURFACE_FLINGER) public default boolean replaceContentOnDisplayWithSc(int, @NonNull android.view.SurfaceControl); method public default void setDisplayImePolicy(int, int); method public default void setShouldShowSystemDecors(int, boolean); method public default void setShouldShowWithInsecureKeyguard(int, boolean); diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 3b6ea14ab0b6..dfb416abd495 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -56,7 +56,7 @@ import android.app.backup.BackupAnnotations.BackupDestination; import android.app.backup.BackupAnnotations.OperationType; import android.app.compat.CompatChanges; import android.app.sdksandbox.sandboxactivity.ActivityContextInfo; -import android.app.sdksandbox.sandboxactivity.ActivityContextInfoProvider; +import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.servertransaction.ActivityLifecycleItem; import android.app.servertransaction.ActivityLifecycleItem.LifecycleState; import android.app.servertransaction.ActivityRelaunchItem; @@ -2272,7 +2272,8 @@ public final class ActivityThread extends ClientTransactionHandler case DUMP_HEAP: return "DUMP_HEAP"; case DUMP_ACTIVITY: return "DUMP_ACTIVITY"; case SET_CORE_SETTINGS: return "SET_CORE_SETTINGS"; - case UPDATE_PACKAGE_COMPATIBILITY_INFO: return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; + case UPDATE_PACKAGE_COMPATIBILITY_INFO: + return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; case DUMP_PROVIDER: return "DUMP_PROVIDER"; case UNSTABLE_PROVIDER_DIED: return "UNSTABLE_PROVIDER_DIED"; case REQUEST_ASSIST_CONTEXT_EXTRAS: return "REQUEST_ASSIST_CONTEXT_EXTRAS"; @@ -3776,8 +3777,10 @@ public final class ActivityThread extends ClientTransactionHandler r.activityInfo.targetActivity); } - boolean isSandboxActivityContext = sandboxActivitySdkBasedContext() - && r.intent.isSandboxActivity(mSystemContext); + boolean isSandboxActivityContext = + sandboxActivitySdkBasedContext() + && SdkSandboxActivityAuthority.isSdkSandboxActivity( + mSystemContext, r.intent); boolean isSandboxedSdkContextUsed = false; ContextImpl activityBaseContext; if (isSandboxActivityContext) { @@ -4022,11 +4025,12 @@ public final class ActivityThread extends ClientTransactionHandler */ @Nullable private ContextImpl createBaseContextForSandboxActivity(@NonNull ActivityClientRecord r) { - ActivityContextInfoProvider contextInfoProvider = ActivityContextInfoProvider.getInstance(); + SdkSandboxActivityAuthority sdkSandboxActivityAuthority = + SdkSandboxActivityAuthority.getInstance(); ActivityContextInfo contextInfo; try { - contextInfo = contextInfoProvider.getActivityContextInfo(r.intent); + contextInfo = sdkSandboxActivityAuthority.getActivityContextInfo(r.intent); } catch (IllegalArgumentException e) { Log.e(TAG, "Passed intent does not match an expected sandbox activity", e); return null; diff --git a/core/java/android/app/BackgroundStartPrivileges.java b/core/java/android/app/BackgroundStartPrivileges.java index 76c0ccf98322..20278eaee3b2 100644 --- a/core/java/android/app/BackgroundStartPrivileges.java +++ b/core/java/android/app/BackgroundStartPrivileges.java @@ -174,6 +174,15 @@ public class BackgroundStartPrivileges { @Override public String toString() { + if (this == ALLOW_BAL) { + return "BSP.ALLOW_BAL"; + } + if (this == ALLOW_FGS) { + return "BSP.ALLOW_FGS"; + } + if (this == NONE) { + return "BSP.NONE"; + } return "BackgroundStartPrivileges[" + "allowsBackgroundActivityStarts=" + mAllowsBackgroundActivityStarts + ", allowsBackgroundForegroundServiceStarts=" diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl index 2c428efe4edb..1f8784bf72dd 100644 --- a/core/java/android/app/IActivityTaskManager.aidl +++ b/core/java/android/app/IActivityTaskManager.aidl @@ -259,12 +259,10 @@ interface IActivityTaskManager { * @param taskId the id of the task to retrieve the sAutoapshots for * @param isLowResolution if set, if the snapshot needs to be loaded from disk, this will load * a reduced resolution of it, which is much faster - * @param takeSnapshotIfNeeded if set, call {@link #takeTaskSnapshot} to trigger the snapshot - if no cache exists. * @return a graphic buffer representing a screenshot of a task */ android.window.TaskSnapshot getTaskSnapshot( - int taskId, boolean isLowResolution, boolean takeSnapshotIfNeeded); + int taskId, boolean isLowResolution); /** * Requests for a new snapshot to be taken for the task with the given id, storing it in the diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java index 10747bb0e57e..357ee0a89697 100644 --- a/core/java/android/app/Instrumentation.java +++ b/core/java/android/app/Instrumentation.java @@ -66,6 +66,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeoutException; /** @@ -1890,6 +1891,7 @@ public class Instrumentation { public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options) { + Objects.requireNonNull(intent); IApplicationThread whoThread = (IApplicationThread) contextThread; Uri referrer = target != null ? target.onProvideReferrer() : null; if (referrer != null) { @@ -1969,6 +1971,10 @@ public class Instrumentation { public int execStartActivitiesAsUser(Context who, IBinder contextThread, IBinder token, Activity target, Intent[] intents, Bundle options, int userId) { + Objects.requireNonNull(intents); + for (int i = intents.length - 1; i >= 0; i--) { + Objects.requireNonNull(intents[i]); + } IApplicationThread whoThread = (IApplicationThread) contextThread; if (isSdkSandboxAllowedToStartActivities()) { for (Intent intent : intents) { @@ -2022,33 +2028,34 @@ public class Instrumentation { * Like {@link #execStartActivity(android.content.Context, android.os.IBinder, * android.os.IBinder, String, android.content.Intent, int, android.os.Bundle)}, * but for calls from a {@link Fragment}. - * + * * @param who The Context from which the activity is being started. * @param contextThread The main thread of the Context from which the activity * is being started. - * @param token Internal token identifying to the system who is starting + * @param token Internal token identifying to the system who is starting * the activity; may be null. - * @param target Which element is performing the start (and thus receiving + * @param target Which element is performing the start (and thus receiving * any result). * @param intent The actual Intent to start. - * @param requestCode Identifier for this request's result; less than zero + * @param requestCode Identifier for this request's result; less than zero * if the caller is not expecting a result. - * - * @return To force the return of a particular result, return an + * + * @return To force the return of a particular result, return an * ActivityResult object containing the desired data; otherwise * return null. The default implementation always returns null. - * + * * @throws android.content.ActivityNotFoundException - * + * * @see Activity#startActivity(Intent) * @see Activity#startActivityForResult(Intent, int) - * + * * {@hide} */ @UnsupportedAppUsage public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, String target, Intent intent, int requestCode, Bundle options) { + Objects.requireNonNull(intent); IApplicationThread whoThread = (IApplicationThread) contextThread; if (isSdkSandboxAllowedToStartActivities()) { adjustIntentForCtsInSdkSandboxInstrumentation(intent); @@ -2123,6 +2130,7 @@ public class Instrumentation { public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, String resultWho, Intent intent, int requestCode, Bundle options, UserHandle user) { + Objects.requireNonNull(intent); IApplicationThread whoThread = (IApplicationThread) contextThread; if (isSdkSandboxAllowedToStartActivities()) { adjustIntentForCtsInSdkSandboxInstrumentation(intent); @@ -2176,6 +2184,7 @@ public class Instrumentation { Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options, boolean ignoreTargetSecurity, int userId) { + Objects.requireNonNull(intent); IApplicationThread whoThread = (IApplicationThread) contextThread; if (isSdkSandboxAllowedToStartActivities()) { adjustIntentForCtsInSdkSandboxInstrumentation(intent); @@ -2230,6 +2239,7 @@ public class Instrumentation { public void execStartActivityFromAppTask( Context who, IBinder contextThread, IAppTask appTask, Intent intent, Bundle options) { + Objects.requireNonNull(intent); IApplicationThread whoThread = (IApplicationThread) contextThread; if (isSdkSandboxAllowedToStartActivities()) { adjustIntentForCtsInSdkSandboxInstrumentation(intent); diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index bbc843b0acc5..2d80b1ffca6c 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -31,6 +31,7 @@ import android.annotation.ColorRes; import android.annotation.DimenRes; import android.annotation.Dimension; import android.annotation.DrawableRes; +import android.annotation.FlaggedApi; import android.annotation.IdRes; import android.annotation.IntDef; import android.annotation.NonNull; @@ -12242,6 +12243,7 @@ public class Notification implements Parcelable * {@code TvExtender(Notification)} constructor, and then using the {@code get} methods * to access values. */ + @FlaggedApi(Flags.FLAG_API_TVEXTENDER) public static final class TvExtender implements Extender { private static final String TAG = "TvExtender"; diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index a46c1006d314..4c70c914ff21 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -17048,23 +17048,6 @@ public class DevicePolicyManager { } /** - * Overrides the effective cached value of enable_keep_profiles_running for testing purposes. - * - * @hide - */ - @TestApi - @RequiresPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) - public void setOverrideKeepProfilesRunning(boolean enabled) { - if (mService != null) { - try { - mService.setOverrideKeepProfilesRunning(enabled); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - } - - /** * Triggers the data migration of device policies for existing DPCs to the Device Policy Engine. * If {@code forceMigration} is set to {@code true} it skips the prerequisite checks before * triggering the migration. diff --git a/core/java/android/app/admin/DevicePolicyManagerInternal.java b/core/java/android/app/admin/DevicePolicyManagerInternal.java index 8dd50f0c42e8..304359bc6105 100644 --- a/core/java/android/app/admin/DevicePolicyManagerInternal.java +++ b/core/java/android/app/admin/DevicePolicyManagerInternal.java @@ -312,21 +312,11 @@ public abstract class DevicePolicyManagerInternal { int targetUserId); /** - * Returns whether new "turn off work" behavior is enabled via feature flag. - */ - public abstract boolean isKeepProfilesRunningEnabled(); - - /** * True if either the entire device or the user is organization managed. */ public abstract boolean isUserOrganizationManaged(@UserIdInt int userId); /** - * Returns the list of packages suspended by admin on a given user. - */ - public abstract Set<String> getPackagesSuspendedByAdmin(@UserIdInt int userId); - - /** * Returns whether the application exemptions feature flag is enabled. */ public abstract boolean isApplicationExemptionsFlagEnabled(); diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index 58f9d57763fa..6fe40be041cc 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -603,8 +603,6 @@ interface IDevicePolicyManager { DevicePolicyState getDevicePolicyState(); - void setOverrideKeepProfilesRunning(boolean enabled); - boolean triggerDevicePolicyEngineMigration(boolean forceMigration); boolean isDeviceFinanced(String callerPackageName); diff --git a/core/java/android/app/notification.aconfig b/core/java/android/app/notification.aconfig index cd1d8ce66cb5..d9b521f1a9a8 100644 --- a/core/java/android/app/notification.aconfig +++ b/core/java/android/app/notification.aconfig @@ -5,4 +5,13 @@ flag { namespace: "systemui" description: "This flag controls new and updated DND apis" bug: "300477976" -}
\ No newline at end of file +} + +flag { + name: "api_tvextender" + namespace: "systemui" + description: "Guards new android.app.Notification.TvExtender api" + bug: "308164892" + is_fixed_read_only: true +} + diff --git a/core/java/android/app/usage/IUsageStatsManager.aidl b/core/java/android/app/usage/IUsageStatsManager.aidl index 49543a1e3d99..ebd5d649fc2b 100644 --- a/core/java/android/app/usage/IUsageStatsManager.aidl +++ b/core/java/android/app/usage/IUsageStatsManager.aidl @@ -20,10 +20,9 @@ import android.app.PendingIntent; import android.app.usage.BroadcastResponseStats; import android.app.usage.BroadcastResponseStatsList; import android.app.usage.UsageEvents; +import android.app.usage.UsageEventsQuery; import android.content.pm.ParceledListSlice; -import java.util.Map; - /** * System private API for talking with the UsageStatsManagerService. * @@ -42,6 +41,8 @@ interface IUsageStatsManager { UsageEvents queryEventsForPackage(long beginTime, long endTime, String callingPackage); UsageEvents queryEventsForUser(long beginTime, long endTime, int userId, String callingPackage); UsageEvents queryEventsForPackageForUser(long beginTime, long endTime, int userId, String pkg, String callingPackage); + @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)") + UsageEvents queryEventsWithFilter(in UsageEventsQuery query, String callingPackage); @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553) void setAppInactive(String packageName, boolean inactive, int userId); boolean isAppStandbyEnabled(); diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java index c188686d2d5b..1eb452cfd085 100644 --- a/core/java/android/app/usage/UsageEvents.java +++ b/core/java/android/app/usage/UsageEvents.java @@ -349,6 +349,47 @@ public final class UsageEvents implements Parcelable { */ public static final int MAX_EVENT_TYPE = 31; + /** + * Keep in sync with the event types defined above. + * @hide + */ + @IntDef(flag = false, value = { + NONE, + ACTIVITY_RESUMED, + ACTIVITY_PAUSED, + END_OF_DAY, + CONTINUE_PREVIOUS_DAY, + CONFIGURATION_CHANGE, + SYSTEM_INTERACTION, + USER_INTERACTION, + SHORTCUT_INVOCATION, + CHOOSER_ACTION, + NOTIFICATION_SEEN, + STANDBY_BUCKET_CHANGED, + NOTIFICATION_INTERRUPTION, + SLICE_PINNED_PRIV, + SLICE_PINNED, + SCREEN_INTERACTIVE, + SCREEN_NON_INTERACTIVE, + KEYGUARD_SHOWN, + KEYGUARD_HIDDEN, + FOREGROUND_SERVICE_START, + FOREGROUND_SERVICE_STOP, + CONTINUING_FOREGROUND_SERVICE, + ROLLOVER_FOREGROUND_SERVICE, + ACTIVITY_STOPPED, + ACTIVITY_DESTROYED, + FLUSH_TO_DISK, + DEVICE_SHUTDOWN, + DEVICE_STARTUP, + USER_UNLOCKED, + USER_STOPPED, + LOCUS_ID_SET, + APP_COMPONENT_USED, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface EventType {} + /** @hide */ public static final int FLAG_IS_PACKAGE_INSTANT_APP = 1 << 0; diff --git a/core/java/android/app/usage/UsageEventsQuery.aidl b/core/java/android/app/usage/UsageEventsQuery.aidl new file mode 100644 index 000000000000..5ed370ddfa86 --- /dev/null +++ b/core/java/android/app/usage/UsageEventsQuery.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.app.usage; + +parcelable UsageEventsQuery;
\ No newline at end of file diff --git a/core/java/android/app/usage/UsageEventsQuery.java b/core/java/android/app/usage/UsageEventsQuery.java new file mode 100644 index 000000000000..8c63d1857865 --- /dev/null +++ b/core/java/android/app/usage/UsageEventsQuery.java @@ -0,0 +1,173 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.app.usage; + +import android.annotation.CurrentTimeMillisLong; +import android.annotation.FlaggedApi; +import android.annotation.NonNull; +import android.app.usage.UsageEvents.Event; +import android.os.Parcel; +import android.os.Parcelable; +import android.util.ArraySet; + +import com.android.internal.util.ArrayUtils; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +/** + * An Object-Oriented representation for a {@link UsageEvents} query. + * Used by {@link UsageStatsManager#queryEvents(UsageEventsQuery)} call. + */ +@FlaggedApi(Flags.FLAG_FILTER_BASED_EVENT_QUERY_API) +public final class UsageEventsQuery implements Parcelable { + private final @CurrentTimeMillisLong long mBeginTimeMillis; + private final @CurrentTimeMillisLong long mEndTimeMillis; + private final @Event.EventType int[] mEventTypes; + + private UsageEventsQuery(@NonNull Builder builder) { + mBeginTimeMillis = builder.mBeginTimeMillis; + mEndTimeMillis = builder.mEndTimeMillis; + mEventTypes = ArrayUtils.convertToIntArray(builder.mEventTypes); + } + + private UsageEventsQuery(Parcel in) { + mBeginTimeMillis = in.readLong(); + mEndTimeMillis = in.readLong(); + int eventTypesLength = in.readInt(); + mEventTypes = new int[eventTypesLength]; + in.readIntArray(mEventTypes); + } + + /** + * Returns the inclusive timestamp to indicate the beginning of the range of events. + * Defined in terms of "Unix time", see {@link java.lang.System#currentTimeMillis}. + */ + public @CurrentTimeMillisLong long getBeginTimeMillis() { + return mBeginTimeMillis; + } + + /** + * Returns the exclusive timpstamp to indicate the end of the range of events. + * Defined in terms of "Unix time", see {@link java.lang.System#currentTimeMillis}. + */ + public @CurrentTimeMillisLong long getEndTimeMillis() { + return mEndTimeMillis; + } + + /** + * Returns the set of usage event types for the query. + * <em>Note: An empty set indicates query for all usage events. </em> + */ + public @NonNull Set<Integer> getEventTypes() { + if (ArrayUtils.isEmpty(mEventTypes)) { + return Collections.emptySet(); + } + + HashSet<Integer> eventTypeSet = new HashSet<>(); + for (int eventType : mEventTypes) { + eventTypeSet.add(eventType); + } + return eventTypeSet; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeLong(mBeginTimeMillis); + dest.writeLong(mEndTimeMillis); + dest.writeInt(mEventTypes.length); + dest.writeIntArray(mEventTypes); + } + + @NonNull + public static final Creator<UsageEventsQuery> CREATOR = + new Creator<UsageEventsQuery>() { + @Override + public UsageEventsQuery createFromParcel(Parcel in) { + return new UsageEventsQuery(in); + } + + @Override + public UsageEventsQuery[] newArray(int size) { + return new UsageEventsQuery[size]; + } + }; + + /** @hide */ + public int[] getEventTypeFilter() { + return Arrays.copyOf(mEventTypes, mEventTypes.length); + } + + /** + * Builder for UsageEventsQuery. + */ + public static final class Builder { + private final @CurrentTimeMillisLong long mBeginTimeMillis; + private final @CurrentTimeMillisLong long mEndTimeMillis; + private final ArraySet<Integer> mEventTypes = new ArraySet<>(); + + /** + * Constructor that specifies the period for which to return events. + * @param beginTimeMillis Inclusive beginning timestamp, as per + * {@link java.lang.System#currentTimeMillis()} + * @param endTimeMillis Exclusive ending timestamp, as per + * {@link java.lang.System#currentTimeMillis()} + * + * @throws IllegalArgumentException if {@code beginTimeMillis} < + * {@code endTimeMillis} + */ + public Builder(@CurrentTimeMillisLong long beginTimeMillis, + @CurrentTimeMillisLong long endTimeMillis) { + if (beginTimeMillis < 0 || endTimeMillis < beginTimeMillis) { + throw new IllegalArgumentException("Invalid period"); + } + mBeginTimeMillis = beginTimeMillis; + mEndTimeMillis = endTimeMillis; + } + + /** + * Builds a read-only UsageEventsQuery object. + */ + public @NonNull UsageEventsQuery build() { + return new UsageEventsQuery(this); + } + + /** + * Specifies the list of usage event types to be included in the query. + * @param eventTypes List of the usage event types. See {@link UsageEvents.Event} + * + * @throws llegalArgumentException if the event type is not valid. + */ + public @NonNull Builder addEventTypes(@NonNull @Event.EventType int... eventTypes) { + for (int i = 0; i < eventTypes.length; i++) { + final int eventType = eventTypes[i]; + if (eventType < Event.NONE || eventType > Event.MAX_EVENT_TYPE) { + throw new IllegalArgumentException("Invalid usage event type: " + eventType); + } + mEventTypes.add(eventType); + } + return this; + } + } +} diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java index 2a10ed181576..4f1c993bfa1a 100644 --- a/core/java/android/app/usage/UsageStatsManager.java +++ b/core/java/android/app/usage/UsageStatsManager.java @@ -18,6 +18,7 @@ package android.app.usage; import android.Manifest; import android.annotation.CurrentTimeMillisLong; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; @@ -581,6 +582,29 @@ public final class UsageStatsManager { } /** + * Query for events with specific UsageEventsQuery object. + * <em>Note: if the user's device is not in an unlocked state (as defined by + * {@link UserManager#isUserUnlocked()}), then {@code null} will be returned.</em> + * + * @param query The query object used to specify the query parameters. + * @return A {@link UsageEvents}. + */ + @FlaggedApi(Flags.FLAG_FILTER_BASED_EVENT_QUERY_API) + @NonNull + @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) + public UsageEvents queryEvents(@NonNull UsageEventsQuery query) { + try { + UsageEvents iter = mService.queryEventsWithFilter(query, mContext.getOpPackageName()); + if (iter != null) { + return iter; + } + } catch (RemoteException e) { + // fallthrough and return empty result. + } + return sEmptyResults; + } + + /** * Like {@link #queryEvents(long, long)}, but only returns events for the calling package. * <em>Note: Starting from {@link android.os.Build.VERSION_CODES#R Android R}, if the user's * device is not in an unlocked state (as defined by {@link UserManager#isUserUnlocked()}), diff --git a/core/java/android/app/usage/flags.aconfig b/core/java/android/app/usage/flags.aconfig index 0b8e29f954a5..a611255c3817 100644 --- a/core/java/android/app/usage/flags.aconfig +++ b/core/java/android/app/usage/flags.aconfig @@ -28,3 +28,10 @@ flag { description: "Flag for parcelable usage event list" bug: "301254110" } + +flag { + name: "filter_based_event_query_api" + namespace: "backstage_power" + description: " Feature flag to support filter based event query API" + bug: "194321117" +} diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index ea54c912d4b9..02e0cf6c5203 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -12587,8 +12587,12 @@ public class Intent implements Parcelable, Cloneable { return (mFlags & FLAG_ACTIVITY_NEW_DOCUMENT) == FLAG_ACTIVITY_NEW_DOCUMENT; } - // TODO(b/299109198): Refactor into the {@link SdkSandboxManagerLocal} - /** @hide */ + /** + * @deprecated Use {@link SdkSandboxActivityAuthority#isSdkSandboxActivity} instead. + * Once the other API is finalized this method will be removed. + * @hide + */ + @Deprecated public boolean isSandboxActivity(@NonNull Context context) { if (mAction != null && mAction.equals(ACTION_START_SANDBOXED_ACTIVITY)) { return true; diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index 1114b358e08a..6681e54beaa1 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -3832,6 +3832,7 @@ public class PackageInstaller { */ @SystemApi @RequiresPermission(Manifest.permission.READ_INSTALLED_SESSION_PATHS) + @FlaggedApi(Flags.FLAG_GET_RESOLVED_APK_PATH) public @Nullable String getResolvedBaseApkPath() { return resolvedBaseCodePath; } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 36433ce84618..e2a5747a4bcb 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1480,6 +1480,7 @@ public abstract class PackageManager { INSTALL_ALLOW_DOWNGRADE, INSTALL_STAGED, INSTALL_REQUEST_UPDATE_OWNERSHIP, + INSTALL_IGNORE_DEXOPT_PROFILE, }) @Retention(RetentionPolicy.SOURCE) public @interface InstallFlags {} @@ -1712,6 +1713,18 @@ public abstract class PackageManager { public static final int INSTALL_ARCHIVED = 1 << 27; /** + * If set, all dexopt profiles are ignored by dexopt during the installation, including the + * profile in the DM file and the profile embedded in the APK file. If an invalid profile is + * provided during installation, no warning will be reported by {@code adb install}. + * + * This option does not affect later dexopt operations (e.g., background dexopt and manual `pm + * compile` invocations). + * + * @hide + */ + public static final int INSTALL_IGNORE_DEXOPT_PROFILE = 1 << 28; + + /** * Flag parameter for {@link #installPackage} to force a non-staged update of an APEX. This is * a development-only feature and should not be used on end user devices. * diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java index cdda12eebdc4..012b6c49f4c5 100644 --- a/core/java/android/content/pm/PermissionInfo.java +++ b/core/java/android/content/pm/PermissionInfo.java @@ -273,6 +273,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { * to the <code>retailDemo</code> value of * {@link android.R.attr#protectionLevel}. * + * @deprecated This flag has been replaced by the retail demo role and is a no-op since Android + * V. + * * @hide */ @SystemApi diff --git a/core/java/android/content/pm/flags.aconfig b/core/java/android/content/pm/flags.aconfig index a8fe21ebfbbd..814eae6726a9 100644 --- a/core/java/android/content/pm/flags.aconfig +++ b/core/java/android/content/pm/flags.aconfig @@ -60,7 +60,6 @@ flag { } flag { - name: "rollback_lifetime" namespace: "package_manager_service" description: "Feature flag to enable custom rollback lifetime during install." @@ -74,3 +73,10 @@ flag { description: "Feature flag to improve install freeze time." bug: "307561242" } + +flag { + name: "get_resolved_apk_path" + namespace: "package_manager_service" + description: "Feature flag to retrieve resolved path of the base APK during an app install." + bug: "269728874" +} diff --git a/core/java/android/hardware/biometrics/BiometricConstants.java b/core/java/android/hardware/biometrics/BiometricConstants.java index 943eee461809..61d87026b6e9 100644 --- a/core/java/android/hardware/biometrics/BiometricConstants.java +++ b/core/java/android/hardware/biometrics/BiometricConstants.java @@ -18,6 +18,7 @@ package android.hardware.biometrics; import static android.hardware.biometrics.BiometricManager.Authenticators; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.compat.annotation.UnsupportedAppUsage; import android.os.Build; @@ -296,4 +297,15 @@ public interface BiometricConstants { @Retention(RetentionPolicy.SOURCE) @IntDef({BIOMETRIC_LOCKOUT_NONE, BIOMETRIC_LOCKOUT_TIMED, BIOMETRIC_LOCKOUT_PERMANENT}) @interface LockoutMode {} + + // + // Other miscellaneous constants + // + + /** + * Returned from {@link BiometricManager#getLastAuthenticationTime(int)} when there has + * been no successful authentication for the given authenticator since boot. + */ + @FlaggedApi(Flags.FLAG_LAST_AUTHENTICATION_TIME) + long BIOMETRIC_NO_AUTHENTICATION = -1; } diff --git a/core/java/android/hardware/biometrics/BiometricManager.java b/core/java/android/hardware/biometrics/BiometricManager.java index 82694ee3463b..90bbca8336e1 100644 --- a/core/java/android/hardware/biometrics/BiometricManager.java +++ b/core/java/android/hardware/biometrics/BiometricManager.java @@ -23,6 +23,8 @@ import static android.Manifest.permission.WRITE_DEVICE_CONFIG; import static com.android.internal.util.FrameworkStatsLog.AUTH_DEPRECATED_APIUSED__DEPRECATED_API__API_BIOMETRIC_MANAGER_CAN_AUTHENTICATE; +import android.annotation.ElapsedRealtimeLong; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -30,6 +32,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.app.KeyguardManager; import android.content.Context; import android.os.IBinder; import android.os.RemoteException; @@ -86,6 +89,17 @@ public class BiometricManager { BiometricConstants.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED; /** + * Returned from {@link BiometricManager#getLastAuthenticationTime(int)} when no matching + * successful authentication has been performed since boot. + */ + @FlaggedApi(Flags.FLAG_LAST_AUTHENTICATION_TIME) + public static final long BIOMETRIC_NO_AUTHENTICATION = + BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; + + private static final int GET_LAST_AUTH_TIME_ALLOWED_AUTHENTICATORS = + Authenticators.DEVICE_CREDENTIAL | Authenticators.BIOMETRIC_STRONG; + + /** * @hide */ @IntDef({BIOMETRIC_SUCCESS, @@ -637,5 +651,58 @@ public class BiometricManager { } } + + /** + * Gets the last time the user successfully authenticated using one of the given authenticators. + * The returned value is time in + * {@link android.os.SystemClock#elapsedRealtime SystemClock.elapsedRealtime()} (time since + * boot, including sleep). + * <p> + * {@link BiometricManager#BIOMETRIC_NO_AUTHENTICATION} is returned in the case where there + * has been no successful authentication using any of the given authenticators since boot. + * <p> + * Currently, only {@link Authenticators#DEVICE_CREDENTIAL} and + * {@link Authenticators#BIOMETRIC_STRONG} are accepted. {@link IllegalArgumentException} will + * be thrown if {@code authenticators} contains other authenticator types. + * <p> + * Note that this may return successful authentication times even if the device is currently + * locked. You may use {@link KeyguardManager#isDeviceLocked()} to determine if the device + * is unlocked or not. Additionally, this method may return valid times for an authentication + * method that is no longer available. For instance, if the user unlocked the device with a + * {@link Authenticators#BIOMETRIC_STRONG} authenticator but then deleted that authenticator + * (e.g., fingerprint data), this method will still return the time of that unlock for + * {@link Authenticators#BIOMETRIC_STRONG} if it is the most recent successful event. The caveat + * is that {@link BiometricManager#BIOMETRIC_NO_AUTHENTICATION} will be returned if the device + * no longer has a secure lock screen at all, even if there were successful authentications + * performed before the lock screen was made insecure. + * + * @param authenticators bit field consisting of constants defined in {@link Authenticators}. + * @return the time of last authentication or + * {@link BiometricManager#BIOMETRIC_NO_AUTHENTICATION} + * @throws IllegalArgumentException if {@code authenticators} contains values other than + * {@link Authenticators#DEVICE_CREDENTIAL} and {@link Authenticators#BIOMETRIC_STRONG} or is + * 0. + */ + @RequiresPermission(USE_BIOMETRIC) + @ElapsedRealtimeLong + @FlaggedApi(Flags.FLAG_LAST_AUTHENTICATION_TIME) + public long getLastAuthenticationTime( + @BiometricManager.Authenticators.Types int authenticators) { + if (authenticators == 0 + || (GET_LAST_AUTH_TIME_ALLOWED_AUTHENTICATORS & authenticators) != authenticators) { + throw new IllegalArgumentException( + "Only BIOMETRIC_STRONG and DEVICE_CREDENTIAL authenticators may be used."); + } + + if (mService != null) { + try { + return mService.getLastAuthenticationTime(UserHandle.myUserId(), authenticators); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } else { + return BIOMETRIC_NO_AUTHENTICATION; + } + } } diff --git a/core/java/android/hardware/biometrics/BiometricPrompt.java b/core/java/android/hardware/biometrics/BiometricPrompt.java index 7a43286692c4..97bbfbbe4908 100644 --- a/core/java/android/hardware/biometrics/BiometricPrompt.java +++ b/core/java/android/hardware/biometrics/BiometricPrompt.java @@ -21,6 +21,7 @@ import static android.Manifest.permission.USE_BIOMETRIC; import static android.Manifest.permission.USE_BIOMETRIC_INTERNAL; import static android.hardware.biometrics.BiometricManager.Authenticators; import static android.hardware.biometrics.Flags.FLAG_ADD_KEY_AGREEMENT_CRYPTO_OBJECT; +import static android.hardware.biometrics.Flags.FLAG_GET_OP_ID_CRYPTO_OBJECT; import android.annotation.CallbackExecutor; import android.annotation.FlaggedApi; @@ -851,6 +852,14 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan public @Nullable KeyAgreement getKeyAgreement() { return super.getKeyAgreement(); } + + /** + * Get the operation handle associated with this object or 0 if none. + */ + @FlaggedApi(FLAG_GET_OP_ID_CRYPTO_OBJECT) + public long getOpId() { + return super.getOpId(); + } } /** diff --git a/core/java/android/hardware/biometrics/CryptoObject.java b/core/java/android/hardware/biometrics/CryptoObject.java index 39fbe83b6abb..8d3ea3f914ec 100644 --- a/core/java/android/hardware/biometrics/CryptoObject.java +++ b/core/java/android/hardware/biometrics/CryptoObject.java @@ -154,7 +154,7 @@ public class CryptoObject { * @hide * @return the opId associated with this object or 0 if none */ - public final long getOpId() { + public long getOpId() { if (mCrypto == null) { return 0; } else if (mCrypto instanceof IdentityCredential) { diff --git a/core/java/android/hardware/biometrics/IAuthService.aidl b/core/java/android/hardware/biometrics/IAuthService.aidl index c2e5c0b6d519..5bdbe2b573b2 100644 --- a/core/java/android/hardware/biometrics/IAuthService.aidl +++ b/core/java/android/hardware/biometrics/IAuthService.aidl @@ -57,6 +57,9 @@ interface IAuthService { // Checks if biometrics can be used. int canAuthenticate(String opPackageName, int userId, int authenticators); + // Gets the time of last authentication for the given user and authenticators. + long getLastAuthenticationTime(int userId, int authenticators); + // Checks if any biometrics are enrolled. boolean hasEnrolledBiometrics(int userId, String opPackageName); diff --git a/core/java/android/hardware/biometrics/IBiometricService.aidl b/core/java/android/hardware/biometrics/IBiometricService.aidl index 18c8d1bd3a1e..058f302af62b 100644 --- a/core/java/android/hardware/biometrics/IBiometricService.aidl +++ b/core/java/android/hardware/biometrics/IBiometricService.aidl @@ -53,6 +53,10 @@ interface IBiometricService { @EnforcePermission("USE_BIOMETRIC_INTERNAL") int canAuthenticate(String opPackageName, int userId, int callingUserId, int authenticators); + // Gets the time of last authentication for the given user and authenticators. + @EnforcePermission("USE_BIOMETRIC_INTERNAL") + long getLastAuthenticationTime(int userId, int authenticators); + // Checks if any biometrics are enrolled. @EnforcePermission("USE_BIOMETRIC_INTERNAL") boolean hasEnrolledBiometrics(int userId, String opPackageName); diff --git a/core/java/android/hardware/biometrics/flags.aconfig b/core/java/android/hardware/biometrics/flags.aconfig index 66429e5046d8..56ec7632fa20 100644 --- a/core/java/android/hardware/biometrics/flags.aconfig +++ b/core/java/android/hardware/biometrics/flags.aconfig @@ -1,9 +1,23 @@ package: "android.hardware.biometrics" flag { + name: "last_authentication_time" + namespace: "wallet_integration" + description: "Feature flag for adding getLastAuthenticationTime API to BiometricManager" + bug: "301979982" +} + +flag { name: "add_key_agreement_crypto_object" namespace: "biometrics" description: "Feature flag for adding KeyAgreement api to CryptoObject." bug: "282058146" } +flag { + name: "get_op_id_crypto_object" + namespace: "biometrics" + description: "Feature flag for adding a get operation id api to CryptoObject." + bug: "307601768" +} + diff --git a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java index 779a8db433a8..6f11d3ae661c 100644 --- a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java +++ b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java @@ -493,7 +493,7 @@ public final class VcnGatewayConnectionConfig { /** * Check whether safe mode is enabled * - * @see Builder#enableSafeMode(boolean) + * @see Builder#setSafeModeEnabled(boolean) */ @FlaggedApi(FLAG_SAFE_MODE_CONFIG) public boolean isSafeModeEnabled() { @@ -815,8 +815,8 @@ public final class VcnGatewayConnectionConfig { * * <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. + * connectivity by allowing underlying cellular or WiFi 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 @@ -826,7 +826,7 @@ public final class VcnGatewayConnectionConfig { */ @FlaggedApi(FLAG_SAFE_MODE_CONFIG) @NonNull - public Builder enableSafeMode(boolean enabled) { + public Builder setSafeModeEnabled(boolean enabled) { mIsSafeModeDisabled = !enabled; return this; } diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java index a07735e7540e..8fcff78fb025 100644 --- a/core/java/android/os/GraphicsEnvironment.java +++ b/core/java/android/os/GraphicsEnvironment.java @@ -117,8 +117,6 @@ public class GraphicsEnvironment { private static final String ANGLE_GL_DRIVER_CHOICE_NATIVE = "native"; private static final String SYSTEM_ANGLE_STRING = "system"; - private static final String PROPERTY_RO_ANGLE_SUPPORTED = "ro.gfx.angle.supported"; - private ClassLoader mClassLoader; private String mLibrarySearchPaths; private String mLibraryPermittedPaths; @@ -620,8 +618,7 @@ public class GraphicsEnvironment { } /** - * Attempt to set up ANGLE from system, if the apk can be found, pass ANGLE details to - * the C++ GraphicsEnv class. + * Set up ANGLE from system. * * @param context - Context of the application. * @param bundle - Bundle of the application. @@ -630,14 +627,8 @@ public class GraphicsEnvironment { * false: can not set up to use system ANGLE because it doesn't exist. */ private boolean setupAngleFromSystem(Context context, Bundle bundle, String packageName) { - final boolean systemAngleSupported = SystemProperties - .getBoolean(PROPERTY_RO_ANGLE_SUPPORTED, false); - if (!systemAngleSupported) { - return false; - } - - // If we make it to here, system ANGLE will be used. Call nativeSetAngleInfo() with - // the application package name and ANGLE features to use. + // System ANGLE always exists, call nativeSetAngleInfo() with the application package + // name and ANGLE features to use. final String[] features = getAngleEglFeatures(context, bundle); nativeSetAngleInfo(SYSTEM_ANGLE_STRING, false, packageName, features); return true; diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java index a3b836adfc8b..d4688f8794a4 100644 --- a/core/java/android/os/RecoverySystem.java +++ b/core/java/android/os/RecoverySystem.java @@ -933,6 +933,12 @@ public class RecoverySystem { rebootWipeUserData(context, shutdown, reason, force, false /* wipeEuicc */); } + /** {@hide} */ + public static void rebootWipeUserData(Context context, boolean shutdown, String reason, + boolean force, boolean wipeEuicc) throws IOException { + rebootWipeUserData(context, shutdown, reason, force, wipeEuicc, false /* keepMemtagMode */); + } + /** * Reboots the device and wipes the user data and cache * partitions. This is sometimes called a "factory reset", which @@ -948,6 +954,7 @@ public class RecoverySystem { * @param force whether the {@link UserManager.DISALLOW_FACTORY_RESET} user restriction * should be ignored * @param wipeEuicc whether wipe the euicc data + * @param keepMemtagMode whether to tell recovery to keep currently configured memtag mode * * @throws IOException if writing the recovery command file * fails, or if the reboot itself fails. @@ -956,7 +963,7 @@ public class RecoverySystem { * @hide */ public static void rebootWipeUserData(Context context, boolean shutdown, String reason, - boolean force, boolean wipeEuicc) throws IOException { + boolean force, boolean wipeEuicc, boolean keepMemtagMode) throws IOException { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); if (!force && um.hasUserRestriction(UserManager.DISALLOW_FACTORY_RESET)) { throw new SecurityException("Wiping data is not allowed for this user."); @@ -996,8 +1003,13 @@ public class RecoverySystem { reasonArg = "--reason=" + sanitizeArg(reason + "," + timeStamp); } + String memtagArg = null; + if (keepMemtagMode) { + memtagArg = "--keep_memtag_mode"; + } + final String localeArg = "--locale=" + Locale.getDefault().toLanguageTag() ; - bootCommand(context, shutdownArg, "--wipe_data", reasonArg, localeArg); + bootCommand(context, shutdownArg, "--wipe_data", reasonArg, localeArg, memtagArg); } /** diff --git a/core/java/android/preference/OWNERS b/core/java/android/preference/OWNERS index 827134e8fc9d..b4cb9ec7ceda 100644 --- a/core/java/android/preference/OWNERS +++ b/core/java/android/preference/OWNERS @@ -1,3 +1,5 @@ lpf@google.com pavlis@google.com clarabayarri@google.com + +per-file SeekBarVolumizer.java = jmtrivi@google.com
\ No newline at end of file diff --git a/core/java/android/preference/SeekBarVolumizer.java b/core/java/android/preference/SeekBarVolumizer.java index 3f4013908612..cda3e4e27f38 100644 --- a/core/java/android/preference/SeekBarVolumizer.java +++ b/core/java/android/preference/SeekBarVolumizer.java @@ -407,6 +407,7 @@ public class SeekBarVolumizer implements OnSeekBarChangeListener, Handler.Callba mRingtone.setAudioAttributes(new AudioAttributes.Builder(mRingtone .getAudioAttributes()) .setFlags(AudioAttributes.FLAG_BYPASS_MUTE) + .addTag("VX_AOSP_SAMPLESOUND") .build()); mRingtone.play(); } catch (Throwable e) { diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 996309244efa..c012ff34bfab 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5914,6 +5914,7 @@ public final class Settings { * * @hide */ + @Readable public static final String TOUCHPAD_NATURAL_SCROLLING = "touchpad_natural_scrolling"; /** @@ -15278,6 +15279,7 @@ public final class Settings { * max_history_files (int) * max_history_buffer_kb (int) * battery_charged_delay_ms (int) + * battery_charging_enforce_level (int) * </pre> * * <p> @@ -18305,8 +18307,11 @@ public final class Settings { /** * Delay for sending ACTION_CHARGING after device is plugged in. - * This is used as an override for constants defined in BatteryStatsImpl for - * ease of experimentation. + * This is used as an override for constants defined in BatteryStatsImpl. Its purposes are: + * <ol> + * <li>Ease of experimentation</li> + * <li>Customization of different device</li> + * </ol> * * @see com.android.internal.os.BatteryStatsImpl.Constants.KEY_BATTERY_CHARGED_DELAY_MS * @hide @@ -18316,6 +18321,22 @@ public final class Settings { "battery_charging_state_update_delay"; /** + * Threshold battery level to enforce battery state as charging. That means when battery + * level is equal to or higher than this threshold, it is always considered charging, even + * if battery level lowered. + * This is used as an override for constants defined in BatteryStatsImpl. Its purposes are: + * <ol> + * <li>Ease of experimentation</li> + * <li>Customization of different device</li> + * </ol> + * + * @hide + * @see com.android.internal.os.BatteryStatsImpl.Constants.BATTERY_CHARGING_ENFORCE_LEVEL + */ + public static final String BATTERY_CHARGING_STATE_ENFORCE_LEVEL = + "battery_charging_state_enforce_level"; + + /** * A serialized string of params that will be loaded into a text classifier action model. * * @hide diff --git a/core/java/android/service/notification/flags.aconfig b/core/java/android/service/notification/flags.aconfig index 52d4d47007a3..2a05c847f404 100644 --- a/core/java/android/service/notification/flags.aconfig +++ b/core/java/android/service/notification/flags.aconfig @@ -4,7 +4,7 @@ flag { name: "ranking_update_ashmem" namespace: "systemui" description: "This flag controls moving ranking update contents into ashmem" - bug: "284297289" + bug: "249848655" } flag { diff --git a/core/java/android/speech/tts/BlockingAudioTrack.java b/core/java/android/speech/tts/BlockingAudioTrack.java index be5851c3e64f..d84cc2c60c3b 100644 --- a/core/java/android/speech/tts/BlockingAudioTrack.java +++ b/core/java/android/speech/tts/BlockingAudioTrack.java @@ -194,17 +194,22 @@ class BlockingAudioTrack { audioTrack.play(); } - int count = 0; - while (count < bytes.length) { - // Note that we don't take bufferCopy.mOffset into account because - // it is guaranteed to be 0. - int written = audioTrack.write(bytes, count, bytes.length); + int offset = 0; + while (offset < bytes.length) { + // Although it requests to write the entire bytes at once, it might fail when the track + // got stopped or the thread is interrupted. In that case, it needs to carry on from + // last offset. + int sizeToWrite = bytes.length - offset; + int written = audioTrack.write(bytes, offset, sizeToWrite); if (written <= 0) { + if (written < 0) { + Log.e(TAG, "An error occurred while writing to audio track: " + written); + } break; } - count += written; + offset += written; } - return count; + return offset; } private AudioTrack createStreamingAudioTrack() { diff --git a/core/java/android/view/AttachedSurfaceControl.java b/core/java/android/view/AttachedSurfaceControl.java index d5457511876b..fd5517d29d74 100644 --- a/core/java/android/view/AttachedSurfaceControl.java +++ b/core/java/android/view/AttachedSurfaceControl.java @@ -231,4 +231,19 @@ public interface AttachedSurfaceControl { default void removeTrustedPresentationCallback(@NonNull SurfaceControl.Transaction t, @NonNull Consumer<Boolean> listener) { } + + /** + * Transfer the currently in progress touch gesture from the host to the requested + * {@link SurfaceControlViewHost.SurfacePackage}. This requires that the + * SurfaceControlViewHost was created with the current host's inputToken. + * + * @param surfacePackage The SurfacePackage to transfer the gesture to. + * @return Whether the touch stream was transferred. + */ + @FlaggedApi(Flags.FLAG_TRANSFER_GESTURE_TO_EMBEDDED) + default boolean transferHostTouchGestureToEmbedded( + @NonNull SurfaceControlViewHost.SurfacePackage surfacePackage) { + throw new UnsupportedOperationException( + "transferHostTouchGestureToEmbedded is unimplemented"); + } } diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index 7acf2f8ce06d..02e97dae70e2 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -357,4 +357,6 @@ interface IWindowSession { boolean cancelDraw(IWindow window); boolean transferEmbeddedTouchFocusToHost(IWindow embeddedWindow); + + boolean transferHostTouchGestureToEmbedded(IWindow hostWindow, IBinder transferTouchToken); } diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 9d88af95ade8..451a71b71e3f 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -2671,7 +2671,7 @@ public final class SurfaceControl implements Parcelable { * * @param minAlpha The min alpha the {@link SurfaceControl} is required to * have to be considered inside the threshold. - * @param minFractionRendered The min fraction of the SurfaceControl that was resented + * @param minFractionRendered The min fraction of the SurfaceControl that was presented * to the user to be considered inside the threshold. * @param stabilityRequirementMs The time in milliseconds required for the * {@link SurfaceControl} to be in the threshold. diff --git a/core/java/android/view/SurfaceControlViewHost.java b/core/java/android/view/SurfaceControlViewHost.java index 57b19a8ce12f..405653123f79 100644 --- a/core/java/android/view/SurfaceControlViewHost.java +++ b/core/java/android/view/SurfaceControlViewHost.java @@ -287,7 +287,8 @@ public class SurfaceControlViewHost { } /** - * Returns an input token used which can be used to request focus on the embedded surface. + * Returns an input token used which can be used to request focus on the embedded surface + * or to transfer touch gesture to the embedded surface. * * @hide */ @@ -526,7 +527,8 @@ public class SurfaceControlViewHost { } /** - * Returns an input token used which can be used to request focus on the embedded surface. + * Returns an input token used which can be used to request focus on the embedded surface + * or to transfer touch gesture to the embedded surface. * * @hide */ diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 5720fc01abce..287c7b29813f 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3752,15 +3752,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager && !child.isActivityDeniedForAutofillForUnimportantView()) || (shouldIncludeAllChildrenViewWithAutofillTypeNotNone(afm) && child.getAutofillType() != AUTOFILL_TYPE_NONE) - || shouldIncludeAllChildrenViews(afm) - || (child instanceof ViewGroup && child.getVisibility() != View.VISIBLE)) { - // If the child is a ViewGroup object and its visibility is not visible, include - // it as part of the assist structure. The children of these invisible ViewGroup - // objects are parsed and included in the assist structure. When the Autofill - // Provider determines the visibility of these children, it looks at their - // visibility as well as their parent's visibility. Omitting invisible parents - // will lead to the Autofill Provider incorrectly assuming that these children - // of invisible parents are actually visible. + || shouldIncludeAllChildrenViews(afm)){ list.add(child); } else if (child instanceof ViewGroup) { ((ViewGroup) child).populateChildrenForAutofill(list, flags); diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 24223694e421..1ee303ccdd02 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -11893,4 +11893,17 @@ public final class ViewRootImpl implements ViewParent, } Log.d(mTag, msg); } + + @Override + public boolean transferHostTouchGestureToEmbedded( + @NonNull SurfaceControlViewHost.SurfacePackage surfacePackage) { + final IWindowSession realWm = WindowManagerGlobal.getWindowSession(); + try { + return realWm.transferHostTouchGestureToEmbedded(mWindow, + surfacePackage.getInputToken()); + } catch (RemoteException e) { + e.rethrowAsRuntimeException(); + } + return false; + } } diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 4f03ce98ccac..cfec08120776 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -90,6 +90,7 @@ import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; +import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; @@ -5872,7 +5873,7 @@ public interface WindowManager extends ViewManager { * * @hide */ - @FlaggedApi("REPLACE_CONTENT_WITH_MIRROR") + @SuppressLint("UnflaggedApi") // The API is only used for tests. @TestApi @RequiresPermission(permission.ACCESS_SURFACE_FLINGER) default boolean replaceContentOnDisplayWithMirror(int displayId, @NonNull Window window) { @@ -5888,7 +5889,7 @@ public interface WindowManager extends ViewManager { * * @hide */ - @FlaggedApi("REPLACE_CONTENT_WITH_MIRROR") + @SuppressLint("UnflaggedApi") // The API is only used for tests. @TestApi @RequiresPermission(permission.ACCESS_SURFACE_FLINGER) default boolean replaceContentOnDisplayWithSc(int displayId, @NonNull SurfaceControl sc) { diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java index 7c3b6ae42fcf..652fe2445ddc 100644 --- a/core/java/android/view/WindowlessWindowManager.java +++ b/core/java/android/view/WindowlessWindowManager.java @@ -656,6 +656,14 @@ public class WindowlessWindowManager implements IWindowSession { return false; } + @Override + public boolean transferHostTouchGestureToEmbedded(IWindow hostWindow, + IBinder embeddedInputToken) { + Log.e(TAG, "Received request to transferHostTouchGestureToEmbedded on" + + " WindowlessWindowManager. We shouldn't get here!"); + return false; + } + void setParentInterface(@Nullable ISurfaceControlViewHostParent parentInterface) { IBinder oldInterface = mParentInterface == null ? null : mParentInterface.asBinder(); IBinder newInterface = parentInterface == null ? null : parentInterface.asBinder(); diff --git a/core/java/android/window/StartingWindowInfo.java b/core/java/android/window/StartingWindowInfo.java index 451acbe84a60..260d9a82472f 100644 --- a/core/java/android/window/StartingWindowInfo.java +++ b/core/java/android/window/StartingWindowInfo.java @@ -165,6 +165,13 @@ public final class StartingWindowInfo implements Parcelable { public static final int TYPE_PARAMETER_WINDOWLESS = 0x00000100; /** + * Application has set Window_windowSplashScreenBehavior to + * SPLASH_SCREEN_BEHAVIOR_ICON_PREFERRED. + * @hide + */ + public static final int TYPE_PARAMETER_APP_PREFERS_ICON = 0x00000200; + + /** * Application is allowed to use the legacy splash screen * @hide */ diff --git a/core/java/android/window/flags/window_surfaces.aconfig b/core/java/android/window/flags/window_surfaces.aconfig index 5ad5c79f2d42..68eddff19922 100644 --- a/core/java/android/window/flags/window_surfaces.aconfig +++ b/core/java/android/window/flags/window_surfaces.aconfig @@ -25,3 +25,10 @@ flag { is_fixed_read_only: true bug: "304508760" } + +flag { + namespace: "window_surfaces" + name: "transfer_gesture_to_embedded" + description: "Enable public API for Window Surfaces" + bug: "287076178" +} diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index c75f99616f5b..ec302e7f0147 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -2358,6 +2358,15 @@ <permission android:name="android.permission.SUSPEND_APPS" android:protectionLevel="signature|role" /> + <!-- @SystemApi + @hide + @FlaggedApi("android.content.pm.quarantined_enabled") + Allows an application to quarantine other apps, which will prevent + them from running without explicit user action. + --> + <permission android:name="android.permission.QUARANTINE_APPS" + android:protectionLevel="internal|verifier" /> + <!-- Allows applications to discover and pair bluetooth devices. <p>Protection level: normal --> diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index 95f14931c6ef..9f99dc94bc92 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -301,7 +301,9 @@ granted to the system companion device manager service --> <flag name="companion" value="0x800000" /> <!-- Additional flag from base permission type: this permission will be granted to the - retail demo app, as defined by the OEM. --> + retail demo app, as defined by the OEM. + This flag has been replaced by the retail demo role and is a no-op since Android V. + --> <flag name="retailDemo" value="0x1000000" /> <!-- Additional flag from base permission type: this permission will be granted to the recents app. --> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index dbce054dd01a..862e537aa8c9 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4177,6 +4177,10 @@ <!-- Inactivity threshold (in milliseconds) used in JobScheduler. JobScheduler will consider the device to be "idle" after being inactive for this long. --> <integer name="config_jobSchedulerInactivityIdleThreshold">1860000</integer> + <!-- Inactivity threshold (in milliseconds) used in JobScheduler. JobScheduler will consider + the device to be "idle" after being inactive for this long if the device is on stable + power. Stable power is defined as "charging + battery not low". --> + <integer name="config_jobSchedulerInactivityIdleThresholdOnStablePower">1860000</integer> <!-- The alarm window (in milliseconds) that JobScheduler uses to enter the idle state --> <integer name="config_jobSchedulerIdleWindowSlop">300000</integer> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index a2f0086491a1..e646548b8ccb 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2882,6 +2882,7 @@ <java-symbol type="integer" name="config_defaultNightMode" /> <java-symbol type="integer" name="config_jobSchedulerInactivityIdleThreshold" /> + <java-symbol type="integer" name="config_jobSchedulerInactivityIdleThresholdOnStablePower" /> <java-symbol type="integer" name="config_jobSchedulerIdleWindowSlop" /> <java-symbol type="bool" name="config_jobSchedulerRestrictBackgroundUser" /> <java-symbol type="integer" name="config_jobSchedulerUserGracePeriod" /> diff --git a/core/tests/coretests/src/android/app/usage/UsageEventsQueryTest.java b/core/tests/coretests/src/android/app/usage/UsageEventsQueryTest.java new file mode 100644 index 000000000000..839b645cf352 --- /dev/null +++ b/core/tests/coretests/src/android/app/usage/UsageEventsQueryTest.java @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package android.app.usage; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import android.app.usage.UsageEvents.Event; + +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Random; +import java.util.Set; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class UsageEventsQueryTest { + @Test + public void testQueryDuration() { + // Test with negative beginTimeMillis. + long beginTimeMillis = -100; + long endTimeMillis = 100; + try { + UsageEventsQuery query = new UsageEventsQuery.Builder(beginTimeMillis, endTimeMillis) + .build(); + fail("beginTimeMillis should be a non-negative timestamp measured as the number of" + + " milliseconds since 1970-01-01T00:00:00Z."); + } catch (IllegalArgumentException e) { + // Expected, fall through; + } + + // Test with negative endTimeMillis. + beginTimeMillis = 1001; + endTimeMillis = -1; + try { + UsageEventsQuery query = new UsageEventsQuery.Builder(beginTimeMillis, endTimeMillis) + .build(); + fail("endTimeMillis should be a non-negative timestamp measured as the number of" + + " milliseconds since 1970-01-01T00:00:00Z."); + } catch (IllegalArgumentException e) { + // Expected, fall through; + } + + // Test with beginTimeMillis < endTimeMillis; + beginTimeMillis = 2001; + endTimeMillis = 1000; + try { + UsageEventsQuery query = new UsageEventsQuery.Builder(beginTimeMillis, endTimeMillis) + .build(); + fail("beginTimeMillis should be smaller than endTimeMillis"); + } catch (IllegalArgumentException e) { + // Expected, fall through; + } + + // Test with beginTimeMillis == endTimeMillis, valid. + beginTimeMillis = 1001; + endTimeMillis = 1001; + try { + UsageEventsQuery query = new UsageEventsQuery.Builder(beginTimeMillis, endTimeMillis) + .build(); + assertEquals(query.getBeginTimeMillis(), query.getEndTimeMillis()); + } catch (IllegalArgumentException e) { + // Not expected for valid duration. + fail("Valid duration for beginTimeMillis=" + beginTimeMillis + + ", endTimeMillis=" + endTimeMillis); + } + + beginTimeMillis = 2001; + endTimeMillis = 3001; + try { + UsageEventsQuery query = new UsageEventsQuery.Builder(beginTimeMillis, endTimeMillis) + .build(); + assertEquals(query.getBeginTimeMillis(), 2001); + assertEquals(query.getEndTimeMillis(), 3001); + } catch (IllegalArgumentException e) { + // Not expected for valid duration. + fail("Valid duration for beginTimeMillis=" + beginTimeMillis + + ", endTimeMillis=" + endTimeMillis); + } + } + + @Test + public void testQueryEventTypes() { + Random rnd = new Random(); + UsageEventsQuery.Builder queryBuilder = new UsageEventsQuery.Builder(1000, 2000); + + // Test with invalid event type. + int eventType = Event.NONE - 1; + try { + queryBuilder.addEventTypes(eventType); + fail("Invalid event type: " + eventType); + } catch (IllegalArgumentException e) { + // Expected, fall through. + } + + eventType = Event.MAX_EVENT_TYPE + 1; + try { + queryBuilder.addEventTypes(eventType); + fail("Invalid event type: " + eventType); + } catch (IllegalArgumentException e) { + // Expected, fall through. + } + + // Test with valid and duplicate event types. + eventType = rnd.nextInt(Event.MAX_EVENT_TYPE + 1); + try { + UsageEventsQuery query = queryBuilder.addEventTypes(eventType, eventType, eventType) + .build(); + Set<Integer> eventTypeSet = query.getEventTypes(); + assertEquals(eventTypeSet.size(), 1); + int type = eventTypeSet.iterator().next(); + assertEquals(type, eventType); + } catch (IllegalArgumentException e) { + fail("Valid event type: " + eventType); + } + } +} diff --git a/keystore/java/android/security/Authorization.java b/keystore/java/android/security/Authorization.java index 2d2dd24763c4..b4b3e9275035 100644 --- a/keystore/java/android/security/Authorization.java +++ b/keystore/java/android/security/Authorization.java @@ -18,7 +18,9 @@ package android.security; import android.annotation.NonNull; import android.annotation.Nullable; +import android.hardware.biometrics.BiometricConstants; import android.hardware.security.keymint.HardwareAuthToken; +import android.hardware.security.keymint.HardwareAuthenticatorType; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceSpecificException; @@ -37,7 +39,10 @@ public class Authorization { public static final int SYSTEM_ERROR = ResponseCode.SYSTEM_ERROR; - private static IKeystoreAuthorization getService() { + /** + * @return an instance of IKeystoreAuthorization + */ + public static IKeystoreAuthorization getService() { return IKeystoreAuthorization.Stub.asInterface( ServiceManager.checkService("android.security.authorization")); } @@ -100,4 +105,24 @@ public class Authorization { } } + /** + * Gets the last authentication time of the given user and authenticators. + * + * @param userId user id + * @param authenticatorTypes an array of {@link HardwareAuthenticatorType}. + * @return the last authentication time or + * {@link BiometricConstants#BIOMETRIC_NO_AUTHENTICATION}. + */ + public static long getLastAuthenticationTime( + long userId, @HardwareAuthenticatorType int[] authenticatorTypes) { + try { + return getService().getLastAuthTime(userId, authenticatorTypes); + } catch (RemoteException | NullPointerException e) { + Log.w(TAG, "Can not connect to keystore", e); + return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; + } catch (ServiceSpecificException e) { + return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; + } + } + } diff --git a/keystore/java/android/security/GateKeeper.java b/keystore/java/android/security/GateKeeper.java index af188a95c929..464714fe2895 100644 --- a/keystore/java/android/security/GateKeeper.java +++ b/keystore/java/android/security/GateKeeper.java @@ -45,8 +45,19 @@ public abstract class GateKeeper { @UnsupportedAppUsage public static long getSecureUserId() throws IllegalStateException { + return getSecureUserId(UserHandle.myUserId()); + } + + /** + * Return the secure user id for a given user id + * @param userId the user id, e.g. 0 + * @return the secure user id or {@link GateKeeper#INVALID_SECURE_USER_ID} if no such mapping + * for the given user id is found. + * @throws IllegalStateException if there is an error retrieving the secure user id + */ + public static long getSecureUserId(int userId) throws IllegalStateException { try { - return getService().getSecureUserId(UserHandle.myUserId()); + return getService().getSecureUserId(userId); } catch (RemoteException e) { throw new IllegalStateException( "Failed to obtain secure user ID from gatekeeper", e); diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/WindowExtensionsImpl.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/WindowExtensionsImpl.java index a663f9fafb50..ed99501b867d 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/WindowExtensionsImpl.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/WindowExtensionsImpl.java @@ -20,6 +20,7 @@ import android.app.ActivityTaskManager; import android.app.ActivityThread; import android.app.Application; import android.content.Context; +import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -40,12 +41,17 @@ import java.util.Objects; */ public class WindowExtensionsImpl implements WindowExtensions { + private static final String TAG = "WindowExtensionsImpl"; private final Object mLock = new Object(); private volatile DeviceStateManagerFoldingFeatureProducer mFoldingFeatureProducer; private volatile WindowLayoutComponentImpl mWindowLayoutComponent; private volatile SplitController mSplitController; private volatile WindowAreaComponent mWindowAreaComponent; + public WindowExtensionsImpl() { + Log.i(TAG, "Initializing Window Extensions."); + } + // TODO(b/241126279) Introduce constants to better version functionality @Override public int getVendorApiLevel() { 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 76f0b6769855..4973a4d85af7 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -156,6 +156,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen public SplitController(@NonNull WindowLayoutComponentImpl windowLayoutComponent, @NonNull DeviceStateManagerFoldingFeatureProducer foldingFeatureProducer) { + Log.i(TAG, "Initializing Activity Embedding Controller."); final MainThreadExecutor executor = new MainThreadExecutor(); mHandler = executor.mHandler; mPresenter = new SplitPresenter(executor, windowLayoutComponent, this); @@ -208,6 +209,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void setEmbeddingRules(@NonNull Set<EmbeddingRule> rules) { synchronized (mLock) { + Log.i(TAG, "Setting embedding rules. Size: " + rules.size()); mSplitRules.clear(); mSplitRules.addAll(rules); } @@ -216,6 +218,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public boolean pinTopActivityStack(int taskId, @NonNull SplitPinRule splitPinRule) { synchronized (mLock) { + Log.i(TAG, "Request to pin top activity stack."); final TaskContainer task = getTaskContainer(taskId); if (task == null) { Log.e(TAG, "Cannot find the task for id: " + taskId); @@ -272,6 +275,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen @Override public void unpinTopActivityStack(int taskId){ synchronized (mLock) { + Log.i(TAG, "Request to unpin top activity stack."); final TaskContainer task = getTaskContainer(taskId); if (task == null) { Log.e(TAG, "Cannot find the task to unpin, id: " + taskId); diff --git a/libs/WindowManager/Shell/res/values-television/config.xml b/libs/WindowManager/Shell/res/values-television/config.xml index 8d2e28b9492f..464e13225506 100644 --- a/libs/WindowManager/Shell/res/values-television/config.xml +++ b/libs/WindowManager/Shell/res/values-television/config.xml @@ -57,4 +57,9 @@ - 0 for radial vanish + slide up - 1 for fade out --> <integer name="starting_window_exit_animation_type">1</integer> + + <!-- Whether this device allows to use the appIcon as a fallback icon for the splash screen + window. If false, the splash screen will be a solid color splash screen whenever the + app has not provided a windowSplashScreenAnimatedIcon. --> + <bool name="config_canUseAppIconForSplashScreen">false</bool> </resources> diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml index 74364001b6c5..6a6f2b02766d 100644 --- a/libs/WindowManager/Shell/res/values/config.xml +++ b/libs/WindowManager/Shell/res/values/config.xml @@ -136,4 +136,9 @@ <!-- Whether DragAndDrop capability is enabled --> <bool name="config_enableShellDragDrop">true</bool> + + <!-- Whether this device allows to use the appIcon as a fallback icon for the splash screen + window. If false, the splash screen will be a solid color splash screen whenever the + app has not provided a windowSplashScreenAnimatedIcon. --> + <bool name="config_canUseAppIconForSplashScreen">true</bool> </resources> diff --git a/libs/WindowManager/Shell/res/values/dimen.xml b/libs/WindowManager/Shell/res/values/dimen.xml index c4be384f48b3..55a91323295a 100644 --- a/libs/WindowManager/Shell/res/values/dimen.xml +++ b/libs/WindowManager/Shell/res/values/dimen.xml @@ -476,4 +476,11 @@ <item type="dimen" format="float" name="splash_icon_enlarge_foreground_threshold">0.44</item> <!-- Scaling factor applied to splash icons without provided background i.e. (192 / 160) --> <item type="dimen" format="float" name="splash_icon_no_background_scale_factor">1.2</item> + + <!-- The margin between the entering window and the exiting window during cross task back --> + <dimen name="cross_task_back_inter_window_margin">14dp</dimen> + <!-- The vertical margin that needs to be preserved between the scaled window bounds and the + original window bounds (once the surface is scaled enough to do so) --> + <dimen name="cross_task_back_vertical_margin">8dp</dimen> + </resources> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/animation/Interpolators.java b/libs/WindowManager/Shell/src/com/android/wm/shell/animation/Interpolators.java index 2ec9e8b12fc6..880579d6a772 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/animation/Interpolators.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/animation/Interpolators.java @@ -88,6 +88,8 @@ public class Interpolators { public static final PathInterpolator DIM_INTERPOLATOR = new PathInterpolator(.23f, .87f, .52f, -0.11f); + public static final Interpolator DECELERATE = new PathInterpolator(0f, 0f, 0.5f, 1f); + // Create the default emphasized interpolator private static PathInterpolator createEmphasizedInterpolator() { Path path = new Path(); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java index fc5ff017ebe5..8ec297e1e79c 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/CrossTaskBackAnimation.java @@ -18,7 +18,6 @@ package com.android.wm.shell.back; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.RemoteAnimationTarget.MODE_OPENING; -import static android.window.BackEvent.EDGE_RIGHT; import static com.android.internal.jank.InteractionJankMonitor.CUJ_PREDICTIVE_BACK_CROSS_TASK; import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_BACK_PREVIEW; @@ -37,7 +36,7 @@ import android.view.IRemoteAnimationFinishedCallback; import android.view.IRemoteAnimationRunner; import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; -import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; import android.window.BackEvent; import android.window.BackMotionEvent; @@ -46,6 +45,8 @@ import android.window.IOnBackInvokedCallback; import com.android.internal.policy.ScreenDecorationsUtils; import com.android.internal.protolog.common.ProtoLog; +import com.android.wm.shell.R; +import com.android.wm.shell.animation.Interpolators; import com.android.wm.shell.common.annotations.ShellMainThread; import javax.inject.Inject; @@ -68,32 +69,18 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { private static final int BACKGROUNDCOLOR = 0x43433A; /** - * Minimum scale of the entering window. + * Minimum scale of the entering and closing window. */ - private static final float ENTERING_MIN_WINDOW_SCALE = 0.85f; + private static final float MIN_WINDOW_SCALE = 0.8f; - /** - * Minimum scale of the closing window. - */ - private static final float CLOSING_MIN_WINDOW_SCALE = 0.75f; - - /** - * Minimum color scale of the closing window. - */ - private static final float CLOSING_MIN_WINDOW_COLOR_SCALE = 0.1f; - - /** - * The margin between the entering window and the closing window - */ - private static final int WINDOW_MARGIN = 35; - - /** Max window translation in the Y axis. */ - private static final int WINDOW_MAX_DELTA_Y = 160; + /** Duration of post animation after gesture committed. */ + private static final int POST_ANIMATION_DURATION_MS = 500; private final Rect mStartTaskRect = new Rect(); private final float mCornerRadius; // The closing window properties. + private final Rect mClosingStartRect = new Rect(); private final RectF mClosingCurrentRect = new RectF(); // The entering window properties. @@ -101,44 +88,32 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { private final RectF mEnteringCurrentRect = new RectF(); private final PointF mInitialTouchPos = new PointF(); - private final Interpolator mInterpolator = new AccelerateDecelerateInterpolator(); - + private final Interpolator mPostAnimationInterpolator = Interpolators.EMPHASIZED; + private final Interpolator mYMovementInterpolator = Interpolators.DECELERATE; + private final Interpolator mProgressInterpolator = new DecelerateInterpolator(); private final Matrix mTransformMatrix = new Matrix(); private final float[] mTmpFloat9 = new float[9]; - private final float[] mTmpTranslate = {0, 0, 0}; private final BackAnimationRunner mBackAnimationRunner; private final BackAnimationBackground mBackground; private final Context mContext; private RemoteAnimationTarget mEnteringTarget; private RemoteAnimationTarget mClosingTarget; - private SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction(); + private final SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction(); private boolean mBackInProgress = false; - private boolean mIsRightEdge; - private float mProgress = 0; - private PointF mTouchPos = new PointF(); + private final PointF mTouchPos = new PointF(); private IRemoteAnimationFinishedCallback mFinishCallback; - private BackProgressAnimator mProgressAnimator = new BackProgressAnimator(); + private final BackProgressAnimator mProgressAnimator = new BackProgressAnimator(); + private float mInterWindowMargin; + private float mVerticalMargin; @Inject public CrossTaskBackAnimation(Context context, BackAnimationBackground background) { - mContext = context; mCornerRadius = ScreenDecorationsUtils.getWindowCornerRadius(context); mBackAnimationRunner = new BackAnimationRunner( new Callback(), new Runner(), context, CUJ_PREDICTIVE_BACK_CROSS_TASK); mBackground = background; - } - - private static void computeScaleTransformMatrix(float scale, float[] matrix) { - matrix[0] = scale; - matrix[1] = 0; - matrix[2] = 0; - matrix[3] = 0; - matrix[4] = scale; - matrix[5] = 0; - matrix[6] = 0; - matrix[7] = 0; - matrix[8] = scale; + mContext = context; } private static float mapRange(float value, float min, float max) { @@ -146,7 +121,7 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { } private float getInterpolatedProgress(float backProgress) { - return 1 - (1 - backProgress) * (1 - backProgress) * (1 - backProgress); + return mProgressInterpolator.getInterpolation(backProgress); } private void startBackAnimation() { @@ -162,6 +137,10 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { // Draw background. mBackground.ensureBackground(mClosingTarget.windowConfiguration.getBounds(), BACKGROUNDCOLOR, mTransaction); + mInterWindowMargin = mContext.getResources() + .getDimension(R.dimen.cross_task_back_inter_window_margin); + mVerticalMargin = mContext.getResources() + .getDimension(R.dimen.cross_task_back_vertical_margin); } private void updateGestureBackProgress(float progress, BackEvent event) { @@ -169,44 +148,38 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { return; } - float touchX = event.getTouchX(); float touchY = event.getTouchY(); - float dX = Math.abs(touchX - mInitialTouchPos.x); // The 'follow width' is the width of the window if it completely matches // the gesture displacement. final int width = mStartTaskRect.width(); final int height = mStartTaskRect.height(); - // The 'progress width' is the width of the window if it strictly linearly interpolates - // to minimum scale base on progress. - float enteringScale = mapRange(progress, 1, ENTERING_MIN_WINDOW_SCALE); - float closingScale = mapRange(progress, 1, CLOSING_MIN_WINDOW_SCALE); - float closingColorScale = mapRange(progress, 1, CLOSING_MIN_WINDOW_COLOR_SCALE); - - // The final width is derived from interpolating between the follow with and progress width - // using gesture progress. - float enteringWidth = enteringScale * width; - float closingWidth = closingScale * width; - float enteringHeight = (float) height / width * enteringWidth; - float closingHeight = (float) height / width * closingWidth; + float scale = mapRange(progress, 1, MIN_WINDOW_SCALE); + float scaledWidth = scale * width; + float scaledHeight = scale * height; - float deltaYRatio = (touchY - mInitialTouchPos.y) / height; // Base the window movement in the Y axis on the touch movement in the Y axis. - float deltaY = (float) Math.sin(deltaYRatio * Math.PI * 0.5f) * WINDOW_MAX_DELTA_Y; + float rawYDelta = touchY - mInitialTouchPos.y; + float yDirection = rawYDelta < 0 ? -1 : 1; + // limit yDelta interpretation to 1/2 of screen height in either direction + float deltaYRatio = Math.min(height / 2f, Math.abs(rawYDelta)) / (height / 2f); + float interpolatedYRatio = mYMovementInterpolator.getInterpolation(deltaYRatio); + // limit y-shift so surface never passes 8dp screen margin + float deltaY = yDirection * interpolatedYRatio * Math.max(0f, + (height - scaledHeight) / 2f - mVerticalMargin); + // Move the window along the Y axis. - float closingTop = (height - closingHeight) * 0.5f + deltaY; - float enteringTop = (height - enteringHeight) * 0.5f + deltaY; + float scaledTop = (height - scaledHeight) * 0.5f + deltaY; // Move the window along the X axis. - float right = width - (progress * WINDOW_MARGIN); - float left = right - closingWidth; + float right = width - (progress * mVerticalMargin); + float left = right - scaledWidth; - mClosingCurrentRect.set(left, closingTop, right, closingTop + closingHeight); - mEnteringCurrentRect.set(left - enteringWidth - WINDOW_MARGIN, enteringTop, - left - WINDOW_MARGIN, enteringTop + enteringHeight); + mClosingCurrentRect.set(left, scaledTop, right, scaledTop + scaledHeight); + mEnteringCurrentRect.set(left - scaledWidth - mInterWindowMargin, scaledTop, + left - mInterWindowMargin, scaledTop + scaledHeight); applyTransform(mClosingTarget.leash, mClosingCurrentRect, mCornerRadius); - applyColorTransform(mClosingTarget.leash, closingColorScale); applyTransform(mEnteringTarget.leash, mEnteringCurrentRect, mCornerRadius); mTransaction.apply(); @@ -214,9 +187,21 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { } private void updatePostCommitClosingAnimation(float progress) { + float targetLeft = + mStartTaskRect.left + (1 - MIN_WINDOW_SCALE) * mStartTaskRect.width() / 2; + float targetTop = + mStartTaskRect.top + (1 - MIN_WINDOW_SCALE) * mStartTaskRect.height() / 2; + float targetWidth = mStartTaskRect.width() * MIN_WINDOW_SCALE; + float targetHeight = mStartTaskRect.height() * MIN_WINDOW_SCALE; + + float left = mapRange(progress, mClosingStartRect.left, targetLeft); + float top = mapRange(progress, mClosingStartRect.top, targetTop); + float width = mapRange(progress, mClosingStartRect.width(), targetWidth); + float height = mapRange(progress, mClosingStartRect.height(), targetHeight); mTransaction.setLayer(mClosingTarget.leash, 0); - float alpha = mapRange(progress, 1, 0); - mTransaction.setAlpha(mClosingTarget.leash, alpha); + + mClosingCurrentRect.set(left, top, left + width, top + height); + applyTransform(mClosingTarget.leash, mClosingCurrentRect, mCornerRadius); } private void updatePostCommitEnteringAnimation(float progress) { @@ -244,14 +229,6 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { .setCornerRadius(leash, cornerRadius); } - private void applyColorTransform(SurfaceControl leash, float colorScale) { - if (leash == null) { - return; - } - computeScaleTransformMatrix(colorScale, mTmpFloat9); - mTransaction.setColorTransform(leash, mTmpFloat9, mTmpTranslate); - } - private void finishAnimation() { if (mEnteringTarget != null) { mEnteringTarget.leash.release(); @@ -276,7 +253,8 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { try { mFinishCallback.onAnimationFinished(); } catch (RemoteException e) { - e.printStackTrace(); + ProtoLog.e(WM_SHELL_BACK_PREVIEW, + "RemoteException when invoking onAnimationFinished callback"); } mFinishCallback = null; } @@ -285,12 +263,11 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { private void onGestureProgress(@NonNull BackEvent backEvent) { if (!mBackInProgress) { mInitialTouchPos.set(backEvent.getTouchX(), backEvent.getTouchY()); - mIsRightEdge = backEvent.getSwipeEdge() == EDGE_RIGHT; mBackInProgress = true; } - mProgress = backEvent.getProgress(); + float progress = backEvent.getProgress(); mTouchPos.set(backEvent.getTouchX(), backEvent.getTouchY()); - updateGestureBackProgress(getInterpolatedProgress(mProgress), backEvent); + updateGestureBackProgress(getInterpolatedProgress(progress), backEvent); } private void onGestureCommitted() { @@ -302,9 +279,11 @@ public class CrossTaskBackAnimation extends ShellBackAnimation { // We enter phase 2 of the animation, the starting coordinates for phase 2 are the current // coordinate of the gesture driven phase. mEnteringCurrentRect.round(mEnteringStartRect); + mClosingCurrentRect.round(mClosingStartRect); - ValueAnimator valueAnimator = ValueAnimator.ofFloat(1f, 0f).setDuration(300); - valueAnimator.setInterpolator(mInterpolator); + ValueAnimator valueAnimator = + ValueAnimator.ofFloat(1f, 0f).setDuration(POST_ANIMATION_DURATION_MS); + valueAnimator.setInterpolator(mPostAnimationInterpolator); valueAnimator.addUpdateListener(animation -> { float progress = animation.getAnimatedFraction(); updatePostCommitEnteringAnimation(progress); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipUtils.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipUtils.kt index 84feb03e6a40..108aa8275009 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipUtils.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipUtils.kt @@ -129,9 +129,7 @@ object PipUtils { @JvmStatic fun getTaskSnapshot(taskId: Int, isLowResolution: Boolean): TaskSnapshot? { return if (taskId <= 0) null else try { - ActivityTaskManager.getService().getTaskSnapshot( - taskId, isLowResolution, false /* takeSnapshotIfNeeded */ - ) + ActivityTaskManager.getService().getTaskSnapshot(taskId, isLowResolution) } catch (e: RemoteException) { Log.e(TAG, "Failed to get task snapshot, taskId=$taskId", e) null diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java index ea7b2e92fefb..64294c9dbdc6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java @@ -103,6 +103,7 @@ import com.android.wm.shell.sysui.ShellInterface; import com.android.wm.shell.taskview.TaskViewFactory; import com.android.wm.shell.taskview.TaskViewFactoryController; import com.android.wm.shell.taskview.TaskViewTransitions; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.ShellTransitions; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.unfold.ShellUnfoldProgressProvider; @@ -613,14 +614,22 @@ public abstract class WMShellBaseModule { @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, @ShellAnimationThread ShellExecutor animExecutor, - RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer) { + RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer, + HomeTransitionObserver homeTransitionObserver) { if (!context.getResources().getBoolean(R.bool.config_registerShellTransitionsOnInit)) { // TODO(b/238217847): Force override shell init if registration is disabled shellInit = new ShellInit(mainExecutor); } return new Transitions(context, shellInit, shellCommandHandler, shellController, organizer, pool, displayController, mainExecutor, mainHandler, animExecutor, - rootTaskDisplayAreaOrganizer); + rootTaskDisplayAreaOrganizer, homeTransitionObserver); + } + + @WMSingleton + @Provides + static HomeTransitionObserver provideHomeTransitionObserver(Context context, + @ShellMainThread ShellExecutor mainExecutor) { + return new HomeTransitionObserver(context, mainExecutor); } @WMSingleton diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java index a533ca5fa8fb..47769a8eeb11 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java @@ -78,6 +78,7 @@ import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.taskview.TaskViewTransitions; import com.android.wm.shell.transition.DefaultMixedHandler; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.unfold.ShellUnfoldProgressProvider; import com.android.wm.shell.unfold.UnfoldAnimationController; @@ -380,9 +381,10 @@ public abstract class WMShellModule { static RecentsTransitionHandler provideRecentsTransitionHandler( ShellInit shellInit, Transitions transitions, - Optional<RecentTasksController> recentTasksController) { + Optional<RecentTasksController> recentTasksController, + HomeTransitionObserver homeTransitionObserver) { return new RecentsTransitionHandler(shellInit, transitions, - recentTasksController.orElse(null)); + recentTasksController.orElse(null), homeTransitionObserver); } // diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip2Module.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip2Module.java index 1898ea737729..3b48c67a5bbd 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip2Module.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip2Module.java @@ -22,6 +22,8 @@ import android.content.Context; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayInsetsController; +import com.android.wm.shell.common.ShellExecutor; +import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.common.pip.PipBoundsAlgorithm; import com.android.wm.shell.common.pip.PipBoundsState; import com.android.wm.shell.common.pip.PipDisplayLayoutState; @@ -29,6 +31,7 @@ import com.android.wm.shell.common.pip.PipUtils; import com.android.wm.shell.dagger.WMShellBaseModule; import com.android.wm.shell.dagger.WMSingleton; import com.android.wm.shell.pip2.phone.PipController; +import com.android.wm.shell.pip2.phone.PipScheduler; import com.android.wm.shell.pip2.phone.PipTransition; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; @@ -52,9 +55,10 @@ public abstract class Pip2Module { @NonNull Transitions transitions, PipBoundsState pipBoundsState, PipBoundsAlgorithm pipBoundsAlgorithm, - Optional<PipController> pipController) { + Optional<PipController> pipController, + @NonNull PipScheduler pipScheduler) { return new PipTransition(shellInit, shellTaskOrganizer, transitions, pipBoundsState, null, - pipBoundsAlgorithm); + pipBoundsAlgorithm, pipScheduler); } @WMSingleton @@ -73,4 +77,12 @@ public abstract class Pip2Module { pipDisplayLayoutState)); } } + + @WMSingleton + @Provides + static PipScheduler providePipScheduler(Context context, + PipBoundsState pipBoundsState, + @ShellMainThread ShellExecutor mainExecutor) { + return new PipScheduler(context, pipBoundsState, mainExecutor); + } } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt index 412a5b5a6997..8e12991080ed 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt @@ -343,9 +343,8 @@ class DesktopTasksController( task.taskId ) val wct = WindowContainerTransaction() - wct.setWindowingMode(task.token, WINDOWING_MODE_MULTI_WINDOW) wct.setBounds(task.token, Rect()) - wct.setDensityDpi(task.token, getDefaultDensityDpi()) + addMoveToSplitChanges(wct, task) if (Transitions.ENABLE_SHELL_TRANSITIONS) { transitions.startTransition(TRANSIT_CHANGE, wct, null /* handler */) } else { @@ -827,7 +826,9 @@ class DesktopTasksController( wct: WindowContainerTransaction, taskInfo: RunningTaskInfo ) { - wct.setWindowingMode(taskInfo.token, WINDOWING_MODE_MULTI_WINDOW) + // Explicitly setting multi-window at task level interferes with animations. + // Let task inherit windowing mode once transition is complete instead. + wct.setWindowingMode(taskInfo.token, WINDOWING_MODE_UNDEFINED) // The task's density may have been overridden in freeform; revert it here as we don't // want it overridden in multi-window. wct.setDensityDpi(taskInfo.token, getDefaultDensityDpi()) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java new file mode 100644 index 000000000000..9bb383f0b61a --- /dev/null +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java @@ -0,0 +1,138 @@ +/* + * 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.wm.shell.pip2.phone; + +import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; + +import static com.android.wm.shell.transition.Transitions.TRANSIT_EXIT_PIP; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.view.SurfaceControl; +import android.window.WindowContainerToken; +import android.window.WindowContainerTransaction; + +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; + +import com.android.wm.shell.common.ShellExecutor; +import com.android.wm.shell.common.pip.PipBoundsState; +import com.android.wm.shell.common.pip.PipUtils; +import com.android.wm.shell.pip.PipTransitionController; + +/** + * Scheduler for Shell initiated PiP transitions and animations. + */ +public class PipScheduler { + private static final String TAG = PipScheduler.class.getSimpleName(); + private static final String BROADCAST_FILTER = PipScheduler.class.getCanonicalName(); + + private final Context mContext; + private final PipBoundsState mPipBoundsState; + private final ShellExecutor mMainExecutor; + private PipSchedulerReceiver mSchedulerReceiver; + private PipTransitionController mPipTransitionController; + + // pinned PiP task's WC token + @Nullable + private WindowContainerToken mPipTaskToken; + + // pinned PiP task's leash + @Nullable + private SurfaceControl mPinnedTaskLeash; + + // the leash of the original task of the PiP activity; + // used to synchronize app drawings in the multi-activity case + @Nullable + private SurfaceControl mOriginalTaskLeash; + + /** + * A temporary broadcast receiver to initiate exit PiP via expand. + * This will later be modified to be triggered by the PiP menu. + */ + private class PipSchedulerReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + scheduleExitPipViaExpand(); + } + } + + public PipScheduler(Context context, PipBoundsState pipBoundsState, + ShellExecutor mainExecutor) { + mContext = context; + mPipBoundsState = pipBoundsState; + mMainExecutor = mainExecutor; + + if (PipUtils.isPip2ExperimentEnabled()) { + // temporary broadcast receiver to initiate exit PiP via expand + mSchedulerReceiver = new PipSchedulerReceiver(); + ContextCompat.registerReceiver(mContext, mSchedulerReceiver, + new IntentFilter(BROADCAST_FILTER), ContextCompat.RECEIVER_EXPORTED); + } + } + + void setPipTransitionController(PipTransitionController pipTransitionController) { + mPipTransitionController = pipTransitionController; + } + + void setPinnedTaskLeash(SurfaceControl pinnedTaskLeash) { + mPinnedTaskLeash = pinnedTaskLeash; + } + + void setOriginalTaskLeash(SurfaceControl originalTaskLeash) { + mOriginalTaskLeash = originalTaskLeash; + } + + void setPipTaskToken(@Nullable WindowContainerToken pipTaskToken) { + mPipTaskToken = pipTaskToken; + } + + @Nullable + private WindowContainerTransaction getExitPipViaExpandTransaction() { + if (mPipTaskToken == null || mPinnedTaskLeash == null) { + return null; + } + WindowContainerTransaction wct = new WindowContainerTransaction(); + // final expanded bounds to be inherited from the parent + wct.setBounds(mPipTaskToken, null); + // if we are hitting a multi-activity case + // windowing mode change will reparent to original host task + wct.setWindowingMode(mPipTaskToken, WINDOWING_MODE_UNDEFINED); + return wct; + } + + /** + * Schedules exit PiP via expand transition. + */ + public void scheduleExitPipViaExpand() { + WindowContainerTransaction wct = getExitPipViaExpandTransaction(); + if (wct != null) { + mMainExecutor.execute(() -> { + mPipTransitionController.startExitTransition(TRANSIT_EXIT_PIP, wct, + null /* destinationBounds */); + }); + } + } + + void onExitPip() { + mPipTaskToken = null; + mPinnedTaskLeash = null; + mOriginalTaskLeash = null; + } +} diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java index d704b091754f..7d3bd658d126 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java @@ -16,8 +16,12 @@ package com.android.wm.shell.pip2.phone; +import static android.app.ActivityTaskManager.INVALID_TASK_ID; +import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.view.WindowManager.TRANSIT_OPEN; +import static com.android.wm.shell.transition.Transitions.TRANSIT_EXIT_PIP; + import android.annotation.NonNull; import android.app.ActivityManager; import android.app.PictureInPictureParams; @@ -26,6 +30,7 @@ import android.os.IBinder; import android.view.SurfaceControl; import android.window.TransitionInfo; import android.window.TransitionRequestInfo; +import android.window.WindowContainerToken; import android.window.WindowContainerTransaction; import androidx.annotation.Nullable; @@ -43,8 +48,15 @@ import com.android.wm.shell.transition.Transitions; * Implementation of transitions for PiP on phone. */ public class PipTransition extends PipTransitionController { + private static final String TAG = PipTransition.class.getSimpleName(); + + private PipScheduler mPipScheduler; + @Nullable + private WindowContainerToken mPipTaskToken; @Nullable private IBinder mAutoEnterButtonNavTransition; + @Nullable + private IBinder mExitViaExpandTransition; public PipTransition( @NonNull ShellInit shellInit, @@ -52,9 +64,13 @@ public class PipTransition extends PipTransitionController { @NonNull Transitions transitions, PipBoundsState pipBoundsState, PipMenuController pipMenuController, - PipBoundsAlgorithm pipBoundsAlgorithm) { + PipBoundsAlgorithm pipBoundsAlgorithm, + PipScheduler pipScheduler) { super(shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipMenuController, pipBoundsAlgorithm); + + mPipScheduler = pipScheduler; + mPipScheduler.setPipTransitionController(this); } @Override @@ -64,6 +80,18 @@ public class PipTransition extends PipTransitionController { } } + @Override + public void startExitTransition(int type, WindowContainerTransaction out, + @android.annotation.Nullable Rect destinationBounds) { + if (out == null) { + return; + } + IBinder transition = mTransitions.startTransition(type, out, this); + if (type == TRANSIT_EXIT_PIP) { + mExitViaExpandTransition = transition; + } + } + @Nullable @Override public WindowContainerTransaction handleRequest(@NonNull IBinder transition, @@ -84,8 +112,18 @@ public class PipTransition extends PipTransitionController { } } + @Override + public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, + @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, + @NonNull Transitions.TransitionFinishCallback finishCallback) {} + + @Override + public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted, + @Nullable SurfaceControl.Transaction finishT) {} + private WindowContainerTransaction getEnterPipTransaction(@NonNull IBinder transition, @NonNull TransitionRequestInfo request) { + // cache the original task token to check for multi-activity case later final ActivityManager.RunningTaskInfo pipTask = request.getPipTask(); PictureInPictureParams pipParams = pipTask.pictureInPictureParams; mPipBoundsState.setBoundsStateForEntry(pipTask.topActivity, pipTask.topActivityInfo, @@ -93,6 +131,8 @@ public class PipTransition extends PipTransitionController { // calculate the entry bounds and notify core to move task to pinned with final bounds final Rect entryBounds = mPipBoundsAlgorithm.getEntryDestinationBounds(); + mPipBoundsState.setBounds(entryBounds); + WindowContainerTransaction wct = new WindowContainerTransaction(); wct.movePipActivityToPinnedRootTask(pipTask.token, entryBounds); return wct; @@ -121,19 +161,59 @@ public class PipTransition extends PipTransitionController { @NonNull SurfaceControl.Transaction finishTransaction, @NonNull Transitions.TransitionFinishCallback finishCallback) { if (transition == mAutoEnterButtonNavTransition) { + mAutoEnterButtonNavTransition = null; + TransitionInfo.Change pipChange = getPipChange(info); + if (pipChange == null) { + return false; + } + mPipTaskToken = pipChange.getContainer(); + + // cache the PiP task token and the relevant leashes + mPipScheduler.setPipTaskToken(mPipTaskToken); + mPipScheduler.setPinnedTaskLeash(pipChange.getLeash()); + // check if we entered PiP from a multi-activity task and set the original task leash + final int lastParentTaskId = pipChange.getTaskInfo().lastParentTaskIdBeforePip; + final boolean isSingleActivity = lastParentTaskId == INVALID_TASK_ID; + mPipScheduler.setOriginalTaskLeash(isSingleActivity ? null : + findChangeByTaskId(info, lastParentTaskId).getLeash()); + startTransaction.apply(); finishCallback.onTransitionFinished(null); return true; + } else if (transition == mExitViaExpandTransition) { + mExitViaExpandTransition = null; + startTransaction.apply(); + finishCallback.onTransitionFinished(null); + onExitPip(); + return true; } return false; } - @Override - public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info, - @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget, - @NonNull Transitions.TransitionFinishCallback finishCallback) {} + @Nullable + private TransitionInfo.Change getPipChange(TransitionInfo info) { + for (TransitionInfo.Change change : info.getChanges()) { + if (change.getTaskInfo() != null + && change.getTaskInfo().getWindowingMode() == WINDOWING_MODE_PINNED) { + return change; + } + } + return null; + } - @Override - public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted, - @Nullable SurfaceControl.Transaction finishT) {} + @Nullable + private TransitionInfo.Change findChangeByTaskId(TransitionInfo info, int taskId) { + for (TransitionInfo.Change change : info.getChanges()) { + if (change.getTaskInfo() != null + && change.getTaskInfo().taskId == taskId) { + return change; + } + } + return null; + } + + private void onExitPip() { + mPipTaskToken = null; + mPipScheduler.onExitPip(); + } } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java index d277eef761e9..c20d23e4374e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java @@ -59,6 +59,7 @@ import com.android.internal.protolog.common.ProtoLog; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.protolog.ShellProtoLogGroup; import com.android.wm.shell.sysui.ShellInit; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.util.TransitionUtil; @@ -85,11 +86,15 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { */ private final ArrayList<RecentsMixedHandler> mMixers = new ArrayList<>(); + private final HomeTransitionObserver mHomeTransitionObserver; + public RecentsTransitionHandler(ShellInit shellInit, Transitions transitions, - @Nullable RecentTasksController recentTasksController) { + @Nullable RecentTasksController recentTasksController, + HomeTransitionObserver homeTransitionObserver) { mTransitions = transitions; mExecutor = transitions.getMainExecutor(); mRecentTasksController = recentTasksController; + mHomeTransitionObserver = homeTransitionObserver; if (!Transitions.ENABLE_SHELL_TRANSITIONS) return; if (recentTasksController == null) return; shellInit.addInitCallback(() -> { @@ -911,6 +916,11 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { Slog.e(TAG, "Duplicate call to finish"); return; } + if (!toHome) { + // For some transitions, we may have notified home activity that it became visible. + // We need to notify the observer that we are no longer going home. + mHomeTransitionObserver.notifyHomeVisibilityChanged(false); + } ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION, "[%d] RecentsController.finishInner: toHome=%b userLeave=%b " + "willFinishToHome=%b state=%d", diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java index 0c6adc942385..43ae5f47c92f 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java @@ -23,6 +23,7 @@ import static android.view.Display.DEFAULT_DISPLAY; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SOLID_COLOR_SPLASH_SCREEN; import static android.window.StartingWindowInfo.STARTING_WINDOW_TYPE_SPLASH_SCREEN; +import static android.window.StartingWindowInfo.TYPE_PARAMETER_APP_PREFERS_ICON; import android.annotation.ColorInt; import android.annotation.IntDef; @@ -125,6 +126,7 @@ public class SplashscreenContentDrawer { private final TransactionPool mTransactionPool; private final SplashScreenWindowAttrs mTmpAttrs = new SplashScreenWindowAttrs(); private final Handler mSplashscreenWorkerHandler; + private final boolean mCanUseAppIconForSplashScreen; @VisibleForTesting final ColorCache mColorCache; @@ -141,6 +143,8 @@ public class SplashscreenContentDrawer { shellSplashscreenWorkerThread.start(); mSplashscreenWorkerHandler = shellSplashscreenWorkerThread.getThreadHandler(); mColorCache = new ColorCache(mContext, mSplashscreenWorkerHandler); + mCanUseAppIconForSplashScreen = context.getResources().getBoolean( + com.android.wm.shell.R.bool.config_canUseAppIconForSplashScreen); } /** @@ -427,7 +431,10 @@ public class SplashscreenContentDrawer { getWindowAttrs(context, mTmpAttrs); mLastPackageContextConfigHash = context.getResources().getConfiguration().hashCode(); - final Drawable legacyDrawable = suggestType == STARTING_WINDOW_TYPE_LEGACY_SPLASH_SCREEN + final @StartingWindowType int splashType = + suggestType == STARTING_WINDOW_TYPE_SPLASH_SCREEN && !canUseIcon(info) + ? STARTING_WINDOW_TYPE_SOLID_COLOR_SPLASH_SCREEN : suggestType; + final Drawable legacyDrawable = splashType == STARTING_WINDOW_TYPE_LEGACY_SPLASH_SCREEN ? peekLegacySplashscreenContent(context, mTmpAttrs) : null; final ActivityInfo ai = info.targetActivityInfo != null ? info.targetActivityInfo @@ -439,12 +446,17 @@ public class SplashscreenContentDrawer { return new SplashViewBuilder(context, ai) .setWindowBGColor(themeBGColor) .overlayDrawable(legacyDrawable) - .chooseStyle(suggestType) + .chooseStyle(splashType) .setUiThreadInitConsumer(uiThreadInitConsumer) .setAllowHandleSolidColor(info.allowHandleSolidColorSplashScreen()) .build(); } + private boolean canUseIcon(StartingWindowInfo info) { + return mCanUseAppIconForSplashScreen || mTmpAttrs.mSplashScreenIcon != null + || (info.startingWindowTypeParameter & TYPE_PARAMETER_APP_PREFERS_ICON) != 0; + } + private int getBGColorFromCache(ActivityInfo ai, IntSupplier windowBgColorSupplier) { return mColorCache.getWindowColor(ai.packageName, mLastPackageContextConfigHash, mTmpAttrs.mWindowBgColor, mTmpAttrs.mWindowBgResId, windowBgColorSupplier).mBgColor; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java index f561aa5568be..b528089d153e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java @@ -38,24 +38,15 @@ import com.android.wm.shell.util.TransitionUtil; */ public class HomeTransitionObserver implements TransitionObserver, RemoteCallable<HomeTransitionObserver> { - private final SingleInstanceRemoteListener<HomeTransitionObserver, IHomeTransitionListener> + private SingleInstanceRemoteListener<HomeTransitionObserver, IHomeTransitionListener> mListener; private @NonNull final Context mContext; private @NonNull final ShellExecutor mMainExecutor; - private @NonNull final Transitions mTransitions; - public HomeTransitionObserver(@NonNull Context context, - @NonNull ShellExecutor mainExecutor, - @NonNull Transitions transitions) { + @NonNull ShellExecutor mainExecutor) { mContext = context; mMainExecutor = mainExecutor; - mTransitions = transitions; - - mListener = new SingleInstanceRemoteListener<>(this, - c -> mTransitions.registerObserver(this), - c -> mTransitions.unregisterObserver(this)); - } @Override @@ -72,7 +63,7 @@ public class HomeTransitionObserver implements TransitionObserver, final int mode = change.getMode(); if (taskInfo.getActivityType() == ACTIVITY_TYPE_HOME && TransitionUtil.isOpenOrCloseMode(mode)) { - mListener.call(l -> l.onHomeVisibilityChanged(TransitionUtil.isOpeningType(mode))); + notifyHomeVisibilityChanged(TransitionUtil.isOpeningType(mode)); } } } @@ -92,7 +83,14 @@ public class HomeTransitionObserver implements TransitionObserver, * Sets the home transition listener that receives any transitions resulting in a change of * */ - public void setHomeTransitionListener(IHomeTransitionListener listener) { + public void setHomeTransitionListener(Transitions transitions, + IHomeTransitionListener listener) { + if (mListener == null) { + mListener = new SingleInstanceRemoteListener<>(this, + c -> transitions.registerObserver(this), + c -> transitions.unregisterObserver(this)); + } + if (listener != null) { mListener.register(listener); } else { @@ -100,6 +98,16 @@ public class HomeTransitionObserver implements TransitionObserver, } } + /** + * Notifies the listener that the home visibility has changed. + * @param isVisible true when home activity is visible, false otherwise. + */ + public void notifyHomeVisibilityChanged(boolean isVisible) { + if (mListener != null) { + mListener.call(l -> l.onHomeVisibilityChanged(isVisible)); + } + } + @Override public Context getContext() { return mContext; @@ -113,7 +121,7 @@ public class HomeTransitionObserver implements TransitionObserver, /** * Invalidates this controller, preventing future calls to send updates. */ - public void invalidate() { - mTransitions.unregisterObserver(this); + public void invalidate(Transitions transitions) { + transitions.unregisterObserver(this); } } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java index 718c704f2c65..ab5c0636f2b5 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java @@ -192,6 +192,8 @@ public class Transitions implements RemoteCallable<Transitions>, private final ArrayList<TransitionObserver> mObservers = new ArrayList<>(); + private HomeTransitionObserver mHomeTransitionObserver; + /** List of {@link Runnable} instances to run when the last active transition has finished. */ private final ArrayList<Runnable> mRunWhenIdleQueue = new ArrayList<>(); @@ -267,10 +269,11 @@ public class Transitions implements RemoteCallable<Transitions>, @NonNull DisplayController displayController, @NonNull ShellExecutor mainExecutor, @NonNull Handler mainHandler, - @NonNull ShellExecutor animExecutor) { + @NonNull ShellExecutor animExecutor, + @NonNull HomeTransitionObserver observer) { this(context, shellInit, new ShellCommandHandler(), shellController, organizer, pool, displayController, mainExecutor, mainHandler, animExecutor, - new RootTaskDisplayAreaOrganizer(mainExecutor, context, shellInit)); + new RootTaskDisplayAreaOrganizer(mainExecutor, context, shellInit), observer); } public Transitions(@NonNull Context context, @@ -283,7 +286,8 @@ public class Transitions implements RemoteCallable<Transitions>, @NonNull ShellExecutor mainExecutor, @NonNull Handler mainHandler, @NonNull ShellExecutor animExecutor, - @NonNull RootTaskDisplayAreaOrganizer rootTDAOrganizer) { + @NonNull RootTaskDisplayAreaOrganizer rootTDAOrganizer, + @NonNull HomeTransitionObserver observer) { mOrganizer = organizer; mContext = context; mMainExecutor = mainExecutor; @@ -302,6 +306,7 @@ public class Transitions implements RemoteCallable<Transitions>, mHandlers.add(mRemoteTransitionHandler); ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, "addHandler: Remote"); shellInit.addInitCallback(this::onInit, this); + mHomeTransitionObserver = observer; } private void onInit() { @@ -351,7 +356,7 @@ public class Transitions implements RemoteCallable<Transitions>, } private ExternalInterfaceBinder createExternalInterface() { - return new IShellTransitionsImpl(mContext, getMainExecutor(), this); + return new IShellTransitionsImpl(this); } @Override @@ -1397,12 +1402,9 @@ public class Transitions implements RemoteCallable<Transitions>, private static class IShellTransitionsImpl extends IShellTransitions.Stub implements ExternalInterfaceBinder { private Transitions mTransitions; - private final HomeTransitionObserver mHomeTransitionObserver; - IShellTransitionsImpl(Context context, ShellExecutor executor, Transitions transitions) { + IShellTransitionsImpl(Transitions transitions) { mTransitions = transitions; - mHomeTransitionObserver = new HomeTransitionObserver(context, executor, - mTransitions); } /** @@ -1410,7 +1412,7 @@ public class Transitions implements RemoteCallable<Transitions>, */ @Override public void invalidate() { - mHomeTransitionObserver.invalidate(); + mTransitions.mHomeTransitionObserver.invalidate(mTransitions); mTransitions = null; } @@ -1440,7 +1442,8 @@ public class Transitions implements RemoteCallable<Transitions>, public void setHomeTransitionListener(IHomeTransitionListener listener) { executeRemoteCallWithTaskPermission(mTransitions, "setHomeTransitionListener", (transitions) -> { - mHomeTransitionObserver.setHomeTransitionListener(listener); + transitions.mHomeTransitionObserver.setHomeTransitionListener(mTransitions, + listener); }); } } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java index 716f8b81f158..e206039aa6bf 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java @@ -82,6 +82,7 @@ import com.android.wm.shell.freeform.FreeformTaskTransitionStarter; import com.android.wm.shell.recents.RecentsTransitionHandler; import com.android.wm.shell.recents.RecentsTransitionStateListener; import com.android.wm.shell.splitscreen.SplitScreen; +import com.android.wm.shell.splitscreen.SplitScreen.StageType; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.KeyguardChangeListener; import com.android.wm.shell.sysui.ShellCommandHandler; @@ -238,7 +239,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { mSplitScreenController = splitScreenController; mSplitScreenController.registerSplitScreenListener(new SplitScreen.SplitScreenListener() { @Override - public void onTaskStageChanged(int taskId, int stage, boolean visible) { + public void onTaskStageChanged(int taskId, @StageType int stage, boolean visible) { if (visible) { DesktopModeWindowDecoration decor = mWindowDecorByTaskId.get(taskId); if (decor != null && DesktopModeStatus.isEnabled() @@ -391,10 +392,10 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { final DesktopModeWindowDecoration decoration = mWindowDecorByTaskId.get(mTaskId); final int id = v.getId(); if (id == R.id.close_window) { - mTaskOperations.closeTask(mTaskToken); if (isTaskInSplitScreen(mTaskId)) { - RunningTaskInfo remainingTask = getOtherSplitTask(mTaskId); - mSplitScreenController.moveTaskToFullscreen(remainingTask.taskId); + mSplitScreenController.moveTaskToFullscreen(getOtherSplitTask(mTaskId).taskId); + } else { + mTaskOperations.closeTask(mTaskToken); } } else if (id == R.id.back_button) { mTaskOperations.injectBackKey(); @@ -417,8 +418,12 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { } decoration.closeHandleMenu(); } else if (id == R.id.fullscreen_button) { - mDesktopTasksController.ifPresent(c -> c.moveToFullscreen(mTaskId)); decoration.closeHandleMenu(); + if (isTaskInSplitScreen(mTaskId)) { + mSplitScreenController.moveTaskToFullscreen(mTaskId); + } else { + mDesktopTasksController.ifPresent(c -> c.moveToFullscreen(mTaskId)); + } } else if (id == R.id.split_screen_button) { decoration.closeHandleMenu(); mDesktopTasksController.ifPresent(c -> { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt index 9dc86db4f59b..b1fb0f184bff 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/DesktopModeFocusedWindowDecorationViewHolder.kt @@ -42,11 +42,11 @@ internal class DesktopModeFocusedWindowDecorationViewHolder( } override fun onHandleMenuOpened() { - animateCaptionHandleAlpha(startValue = 0f, endValue = 1f) + animateCaptionHandleAlpha(startValue = 1f, endValue = 0f) } override fun onHandleMenuClosed() { - animateCaptionHandleAlpha(startValue = 1f, endValue = 0f) + animateCaptionHandleAlpha(startValue = 0f, endValue = 1f) } private fun getCaptionHandleBarColor(taskInfo: RunningTaskInfo): Int { diff --git a/libs/WindowManager/Shell/tests/flicker/appcompat/AndroidTestTemplate.xml b/libs/WindowManager/Shell/tests/flicker/appcompat/AndroidTestTemplate.xml index 1df11369a049..5b2ffec67e93 100644 --- a/libs/WindowManager/Shell/tests/flicker/appcompat/AndroidTestTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/appcompat/AndroidTestTemplate.xml @@ -95,14 +95,6 @@ <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.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> diff --git a/libs/WindowManager/Shell/tests/flicker/bubble/AndroidTestTemplate.xml b/libs/WindowManager/Shell/tests/flicker/bubble/AndroidTestTemplate.xml index 1df11369a049..9f7d9fcf1326 100644 --- a/libs/WindowManager/Shell/tests/flicker/bubble/AndroidTestTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/bubble/AndroidTestTemplate.xml @@ -94,15 +94,7 @@ <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.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> diff --git a/libs/WindowManager/Shell/tests/flicker/pip/AndroidTestTemplate.xml b/libs/WindowManager/Shell/tests/flicker/pip/AndroidTestTemplate.xml index 1df11369a049..882b200da3a2 100644 --- a/libs/WindowManager/Shell/tests/flicker/pip/AndroidTestTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/pip/AndroidTestTemplate.xml @@ -94,15 +94,9 @@ <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.splitscreen/files"/> - <option name="directory-keys" - value="/data/user/0/com.android.wm.shell.flicker.service/files"/> + value="/data/user/0/com.android.wm.shell.flicker.pip.apps/files"/> <option name="collect-on-run-ended-only" value="true"/> <option name="clean-up" value="true"/> </metrics_collector> diff --git a/libs/WindowManager/Shell/tests/flicker/pip/csuiteDefaultTemplate.xml b/libs/WindowManager/Shell/tests/flicker/pip/csuiteDefaultTemplate.xml index ca182fa5a266..6df65391ea61 100644 --- a/libs/WindowManager/Shell/tests/flicker/pip/csuiteDefaultTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/pip/csuiteDefaultTemplate.xml @@ -57,6 +57,17 @@ <option name="test-file-name" value="WMShellFlickerTestsPipAppsCSuite.apk"/> <option name="test-file-name" value="FlickerTestApp.apk"/> </target_preparer> + + <!-- 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> + <!-- Enable mocking GPS location by the test app --> <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> <option name="run-command" @@ -94,28 +105,8 @@ <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/flicker/pip/src/com/android/wm/shell/flicker/pip/apps/AppsEnterPipTransition.kt b/libs/WindowManager/Shell/tests/flicker/pip/src/com/android/wm/shell/flicker/pip/apps/AppsEnterPipTransition.kt index be5a27ac7dcc..bd8b0056a6a3 100644 --- a/libs/WindowManager/Shell/tests/flicker/pip/src/com/android/wm/shell/flicker/pip/apps/AppsEnterPipTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/pip/src/com/android/wm/shell/flicker/pip/apps/AppsEnterPipTransition.kt @@ -20,6 +20,8 @@ import android.platform.test.annotations.Postsubmit import android.tools.common.Rotation import android.tools.common.traces.component.ComponentNameMatcher import android.tools.device.apphelpers.StandardAppHelper +import android.tools.device.flicker.junit.FlickerBuilderProvider +import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import com.android.wm.shell.flicker.pip.common.EnterPipTransition @@ -29,6 +31,15 @@ import org.junit.runners.Parameterized abstract class AppsEnterPipTransition(flicker: LegacyFlickerTest) : EnterPipTransition(flicker) { protected abstract val standardAppHelper: StandardAppHelper + @FlickerBuilderProvider + override fun buildFlicker(): FlickerBuilder { + return FlickerBuilder(instrumentation).apply { + withoutScreenRecorder() + setup { flicker.scenario.setIsTablet(tapl.isTablet) } + transition() + } + } + /** Checks [standardAppHelper] window remains visible throughout the animation */ @Postsubmit @Test diff --git a/libs/WindowManager/Shell/tests/flicker/service/AndroidTestTemplate.xml b/libs/WindowManager/Shell/tests/flicker/service/AndroidTestTemplate.xml index 1df11369a049..51a55e359acf 100644 --- a/libs/WindowManager/Shell/tests/flicker/service/AndroidTestTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/service/AndroidTestTemplate.xml @@ -94,14 +94,6 @@ <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.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"/> diff --git a/libs/WindowManager/Shell/tests/flicker/splitscreen/AndroidTestTemplate.xml b/libs/WindowManager/Shell/tests/flicker/splitscreen/AndroidTestTemplate.xml index 1df11369a049..fdda5974d1f9 100644 --- a/libs/WindowManager/Shell/tests/flicker/splitscreen/AndroidTestTemplate.xml +++ b/libs/WindowManager/Shell/tests/flicker/splitscreen/AndroidTestTemplate.xml @@ -94,15 +94,7 @@ <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.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> diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/BaseBenchmarkTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/BaseBenchmarkTest.kt index 0f3e0f5ef043..e9363f725fd8 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/BaseBenchmarkTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/BaseBenchmarkTest.kt @@ -38,7 +38,7 @@ constructor( * executions */ @FlickerBuilderProvider - fun buildFlicker(): FlickerBuilder { + open fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { setup { flicker.scenario.setIsTablet(tapl.isTablet) } transition() diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/utils/SplitScreenUtils.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/utils/SplitScreenUtils.kt index c31b9e2c22c7..3244ebc9ef32 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/utils/SplitScreenUtils.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/utils/SplitScreenUtils.kt @@ -135,19 +135,29 @@ object SplitScreenUtils { // second task to split. val home = tapl.workspace.switchToOverview() ChangeDisplayOrientationRule.setRotation(rotation) - home.overviewActions.clickSplit() + val isGridOnlyOverviewEnabled = tapl.isGridOnlyOverviewEnabled + if (isGridOnlyOverviewEnabled) { + home.currentTask.tapMenu().tapSplitMenuItem() + } else { + home.overviewActions.clickSplit() + } val snapshots = device.wait(Until.findObjects(overviewSnapshotSelector), TIMEOUT_MS) if (snapshots == null || snapshots.size < 1) { error("Fail to find a overview snapshot to split.") } - // Find the second task in the upper right corner in split select mode by sorting - // 'left' in descending order and 'top' in ascending order. + // Find the second task in the upper (or bottom for grid only Overview) right corner in + // split select mode by sorting 'left' in descending order and 'top' in ascending (or + // descending for grid only Overview) order. snapshots.sortWith { t1: UiObject2, t2: UiObject2 -> t2.getVisibleBounds().left - t1.getVisibleBounds().left } snapshots.sortWith { t1: UiObject2, t2: UiObject2 -> - t1.getVisibleBounds().top - t2.getVisibleBounds().top + if (isGridOnlyOverviewEnabled) { + t2.getVisibleBounds().top - t1.getVisibleBounds().top + } else { + t1.getVisibleBounds().top - t2.getVisibleBounds().top + } } snapshots[0].click() } else { diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java index cc4db22e772c..fff65f364121 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java @@ -74,6 +74,7 @@ import com.android.wm.shell.common.split.SplitLayout; import com.android.wm.shell.splitscreen.SplitScreen.SplitScreenListener; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import org.junit.Before; @@ -373,7 +374,7 @@ public class StageCoordinatorTests extends ShellTestCase { ShellInit shellInit = new ShellInit(mMainExecutor); final Transitions t = new Transitions(mContext, shellInit, mock(ShellController.class), mTaskOrganizer, mTransactionPool, mock(DisplayController.class), mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class)); shellInit.init(); return t; } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/startingsurface/StartingWindowControllerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/startingsurface/StartingWindowControllerTests.java index a9082a6e2585..012c40811811 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/startingsurface/StartingWindowControllerTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/startingsurface/StartingWindowControllerTests.java @@ -80,6 +80,7 @@ public class StartingWindowControllerTests extends ShellTestCase { MockitoAnnotations.initMocks(this); doReturn(mock(Display.class)).when(mDisplayManager).getDisplay(anyInt()); doReturn(mDisplayManager).when(mContext).getSystemService(eq(DisplayManager.class)); + doReturn(super.mContext.getResources()).when(mContext).getResources(); mShellInit = spy(new ShellInit(mMainExecutor)); mShellController = spy(new ShellController(mContext, mShellInit, mShellCommandHandler, mMainExecutor)); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java index 7a8a2a93e0e1..ea7c0d9c264e 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java @@ -75,24 +75,24 @@ public class HomeTransitionObserverTest extends ShellTestCase { private final Handler mMainHandler = new Handler(Looper.getMainLooper()); private final DisplayController mDisplayController = mock(DisplayController.class); + private IHomeTransitionListener mListener; private Transitions mTransition; + private HomeTransitionObserver mHomeTransitionObserver; @Before public void setUp() { + mListener = mock(IHomeTransitionListener.class); + when(mListener.asBinder()).thenReturn(mock(IBinder.class)); + + mHomeTransitionObserver = new HomeTransitionObserver(mContext, mMainExecutor); mTransition = new Transitions(mContext, mock(ShellInit.class), mock(ShellController.class), mOrganizer, mTransactionPool, mDisplayController, mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mHomeTransitionObserver); + mHomeTransitionObserver.setHomeTransitionListener(mTransition, mListener); } @Test public void testHomeActivityWithOpenModeNotifiesHomeIsVisible() throws RemoteException { - IHomeTransitionListener listener = mock(IHomeTransitionListener.class); - when(listener.asBinder()).thenReturn(mock(IBinder.class)); - - HomeTransitionObserver observer = new HomeTransitionObserver(mContext, mMainExecutor, - mTransition); - observer.setHomeTransitionListener(listener); - TransitionInfo info = mock(TransitionInfo.class); TransitionInfo.Change change = mock(TransitionInfo.Change.class); ActivityManager.RunningTaskInfo taskInfo = mock(ActivityManager.RunningTaskInfo.class); @@ -101,23 +101,16 @@ public class HomeTransitionObserverTest extends ShellTestCase { setupTransitionInfo(taskInfo, change, ACTIVITY_TYPE_HOME, TRANSIT_OPEN); - observer.onTransitionReady(mock(IBinder.class), + mHomeTransitionObserver.onTransitionReady(mock(IBinder.class), info, mock(SurfaceControl.Transaction.class), mock(SurfaceControl.Transaction.class)); - verify(listener, times(1)).onHomeVisibilityChanged(true); + verify(mListener, times(1)).onHomeVisibilityChanged(true); } @Test public void testHomeActivityWithCloseModeNotifiesHomeIsNotVisible() throws RemoteException { - IHomeTransitionListener listener = mock(IHomeTransitionListener.class); - when(listener.asBinder()).thenReturn(mock(IBinder.class)); - - HomeTransitionObserver observer = new HomeTransitionObserver(mContext, mMainExecutor, - mTransition); - observer.setHomeTransitionListener(listener); - TransitionInfo info = mock(TransitionInfo.class); TransitionInfo.Change change = mock(TransitionInfo.Change.class); ActivityManager.RunningTaskInfo taskInfo = mock(ActivityManager.RunningTaskInfo.class); @@ -126,38 +119,30 @@ public class HomeTransitionObserverTest extends ShellTestCase { setupTransitionInfo(taskInfo, change, ACTIVITY_TYPE_HOME, TRANSIT_TO_BACK); - observer.onTransitionReady(mock(IBinder.class), + mHomeTransitionObserver.onTransitionReady(mock(IBinder.class), info, mock(SurfaceControl.Transaction.class), mock(SurfaceControl.Transaction.class)); - verify(listener, times(1)).onHomeVisibilityChanged(false); + verify(mListener, times(1)).onHomeVisibilityChanged(false); } @Test public void testNonHomeActivityDoesNotTriggerCallback() throws RemoteException { - IHomeTransitionListener listener = mock(IHomeTransitionListener.class); - when(listener.asBinder()).thenReturn(mock(IBinder.class)); - - HomeTransitionObserver observer = new HomeTransitionObserver(mContext, mMainExecutor, - mTransition); - observer.setHomeTransitionListener(listener); - TransitionInfo info = mock(TransitionInfo.class); TransitionInfo.Change change = mock(TransitionInfo.Change.class); ActivityManager.RunningTaskInfo taskInfo = mock(ActivityManager.RunningTaskInfo.class); when(change.getTaskInfo()).thenReturn(taskInfo); when(info.getChanges()).thenReturn(new ArrayList<>(List.of(change))); - setupTransitionInfo(taskInfo, change, ACTIVITY_TYPE_UNDEFINED, TRANSIT_TO_BACK); - observer.onTransitionReady(mock(IBinder.class), + mHomeTransitionObserver.onTransitionReady(mock(IBinder.class), info, mock(SurfaceControl.Transaction.class), mock(SurfaceControl.Transaction.class)); - verify(listener, times(0)).onHomeVisibilityChanged(anyBoolean()); + verify(mListener, times(0)).onHomeVisibilityChanged(anyBoolean()); } /** diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java index da83d4c0a122..4e300d9a7e69 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/ShellTransitionTests.java @@ -146,7 +146,7 @@ public class ShellTransitionTests extends ShellTestCase { ShellInit shellInit = mock(ShellInit.class); final Transitions t = new Transitions(mContext, shellInit, mock(ShellController.class), mOrganizer, mTransactionPool, createTestDisplayController(), mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class)); // One from Transitions, one from RootTaskDisplayAreaOrganizer verify(shellInit).addInitCallback(any(), eq(t)); verify(shellInit).addInitCallback(any(), isA(RootTaskDisplayAreaOrganizer.class)); @@ -158,7 +158,7 @@ public class ShellTransitionTests extends ShellTestCase { ShellController shellController = mock(ShellController.class); final Transitions t = new Transitions(mContext, shellInit, shellController, mOrganizer, mTransactionPool, createTestDisplayController(), mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class)); shellInit.init(); verify(shellController, times(1)).addExternalInterface( eq(ShellSharedConstants.KEY_EXTRA_SHELL_SHELL_TRANSITIONS), any(), any()); @@ -1075,10 +1075,10 @@ public class ShellTransitionTests extends ShellTestCase { final Transitions transitions = new Transitions(mContext, shellInit, mock(ShellController.class), mOrganizer, mTransactionPool, createTestDisplayController(), mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class)); final RecentsTransitionHandler recentsHandler = new RecentsTransitionHandler(shellInit, transitions, - mock(RecentTasksController.class)); + mock(RecentTasksController.class), mock(HomeTransitionObserver.class)); transitions.replaceDefaultHandlerForTest(mDefaultHandler); shellInit.init(); @@ -1623,7 +1623,7 @@ public class ShellTransitionTests extends ShellTestCase { ShellInit shellInit = new ShellInit(mMainExecutor); final Transitions t = new Transitions(mContext, shellInit, mock(ShellController.class), mOrganizer, mTransactionPool, createTestDisplayController(), mMainExecutor, - mMainHandler, mAnimExecutor); + mMainHandler, mAnimExecutor, mock(HomeTransitionObserver.class)); shellInit.init(); return t; } diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index abd928486607..576ebc1579ef 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -24,6 +24,7 @@ #include <SkColor.h> #include <android-base/stringprintf.h> #include <android-base/thread_annotations.h> +#include <com_android_input_flags.h> #include <ftl/enum.h> #include <mutex> @@ -34,6 +35,8 @@ #define INDENT2 " " #define INDENT3 " " +namespace input_flags = com::android::input::flags; + namespace android { namespace { @@ -63,10 +66,20 @@ void PointerController::DisplayInfoListener::onPointerControllerDestroyed() { std::shared_ptr<PointerController> PointerController::create( const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper, - SpriteController& spriteController, bool enabled) { + SpriteController& spriteController, bool enabled, ControllerType type) { // using 'new' to access non-public constructor - std::shared_ptr<PointerController> controller = std::shared_ptr<PointerController>( - new PointerController(policy, looper, spriteController, enabled)); + std::shared_ptr<PointerController> controller; + switch (type) { + case ControllerType::MOUSE: + controller = std::shared_ptr<PointerController>( + new MousePointerController(policy, looper, spriteController, enabled)); + break; + case ControllerType::LEGACY: + default: + controller = std::shared_ptr<PointerController>( + new PointerController(policy, looper, spriteController, enabled)); + break; + } /* * Now we need to hook up the constructed PointerController object to its callbacks. @@ -375,4 +388,13 @@ std::string PointerController::dump() { return dump; } +// --- MousePointerController --- + +MousePointerController::MousePointerController(const sp<PointerControllerPolicyInterface>& policy, + const sp<Looper>& looper, + SpriteController& spriteController, bool enabled) + : PointerController(policy, looper, spriteController, enabled) { + PointerController::setPresentation(Presentation::POINTER); +} + } // namespace android diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h index aa7ca3c52ecf..08e19a096d87 100644 --- a/libs/input/PointerController.h +++ b/libs/input/PointerController.h @@ -47,7 +47,8 @@ class PointerController : public PointerControllerInterface { public: static std::shared_ptr<PointerController> create( const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper, - SpriteController& spriteController, bool enabled); + SpriteController& spriteController, bool enabled, + ControllerType type = ControllerType::LEGACY); ~PointerController() override; @@ -75,7 +76,7 @@ public: void onDisplayInfosChangedLocked(const std::vector<gui::DisplayInfo>& displayInfos) REQUIRES(getLock()); - std::string dump(); + std::string dump() override; protected: using WindowListenerConsumer = @@ -87,10 +88,10 @@ protected: WindowListenerConsumer registerListener, WindowListenerConsumer unregisterListener); -private: PointerController(const sp<PointerControllerPolicyInterface>& policy, const sp<Looper>& looper, SpriteController& spriteController, bool enabled); +private: friend PointerControllerContext::LooperCallback; friend PointerControllerContext::MessageHandler; @@ -135,6 +136,24 @@ private: void clearSpotsLocked() REQUIRES(getLock()); }; +class MousePointerController : public PointerController { +public: + /** A version of PointerController that controls one mouse pointer. */ + MousePointerController(const sp<PointerControllerPolicyInterface>& policy, + const sp<Looper>& looper, SpriteController& spriteController, + bool enabled); + + void setPresentation(Presentation) override { + LOG_ALWAYS_FATAL("Should not be called"); + } + void setSpots(const PointerCoords*, const uint32_t*, BitSet32, int32_t) override { + LOG_ALWAYS_FATAL("Should not be called"); + } + void clearSpots() override { + LOG_ALWAYS_FATAL("Should not be called"); + } +}; + } // namespace android #endif // _UI_POINTER_CONTROLLER_H diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index eea635771dc3..5d211f460cc5 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -20,8 +20,8 @@ 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 static android.media.audio.Flags.autoPublicVolumeApiHardening; +import static android.media.audio.Flags.FLAG_FOCUS_FREEZE_TEST_API; import android.Manifest; import android.annotation.CallbackExecutor; @@ -686,6 +686,7 @@ public class AudioManager { FLAG_ABSOLUTE_VOLUME, }) @Retention(RetentionPolicy.SOURCE) + // TODO(308698465) remove due to potential conflict with the new flags class public @interface Flags {} /** diff --git a/media/java/android/media/RingtoneSelection.java b/media/java/android/media/RingtoneSelection.java index b74b6a3dbac9..b7c372182464 100644 --- a/media/java/android/media/RingtoneSelection.java +++ b/media/java/android/media/RingtoneSelection.java @@ -642,6 +642,7 @@ public final class RingtoneSelection { * allowing the user to configure their selection. Once a selection is stored as a Uri, then * the RingtoneSelection can be loaded directly using {@link RingtoneSelection#fromUri}. */ + @FlaggedApi(Flags.FLAG_HAPTICS_CUSTOMIZATION_ENABLED) public static final class Builder { private Uri mSoundUri; private Uri mVibrationUri; diff --git a/media/java/android/media/audiopolicy/AudioPolicy.java b/media/java/android/media/audiopolicy/AudioPolicy.java index 9ced2a45a6f7..e16849811b9d 100644 --- a/media/java/android/media/audiopolicy/AudioPolicy.java +++ b/media/java/android/media/audiopolicy/AudioPolicy.java @@ -49,7 +49,6 @@ import android.util.Pair; import android.util.Slog; import com.android.internal.annotations.GuardedBy; -import com.android.media.audio.flags.Flags; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/media/java/android/media/midi/MidiUmpDeviceService.java b/media/java/android/media/midi/MidiUmpDeviceService.java index c54bfce840aa..bbbef4755dc5 100644 --- a/media/java/android/media/midi/MidiUmpDeviceService.java +++ b/media/java/android/media/midi/MidiUmpDeviceService.java @@ -16,8 +16,6 @@ package android.media.midi; -import static com.android.media.midi.flags.Flags.FLAG_VIRTUAL_UMP; - import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; @@ -57,11 +55,11 @@ import java.util.List; * android:resource="@xml/device_info" /> * </service></pre> */ -@FlaggedApi(FLAG_VIRTUAL_UMP) +@FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public abstract class MidiUmpDeviceService extends Service { private static final String TAG = "MidiUmpDeviceService"; - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public static final String SERVICE_INTERFACE = "android.media.midi.MidiUmpDeviceService"; private IMidiManager mMidiManager; @@ -80,7 +78,7 @@ public abstract class MidiUmpDeviceService extends Service { } }; - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) @Override public void onCreate() { mMidiManager = IMidiManager.Stub.asInterface( @@ -118,7 +116,7 @@ public abstract class MidiUmpDeviceService extends Service { * The number of input and output ports must be equal and non-zero. * @return list of MidiReceivers */ - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public abstract @NonNull List<MidiReceiver> onGetInputPortReceivers(); /** @@ -127,7 +125,7 @@ public abstract class MidiUmpDeviceService extends Service { * The number of input and output ports must be equal and non-zero. * @return the list of MidiReceivers */ - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public final @NonNull List<MidiReceiver> getOutputPortReceivers() { if (mServer == null) { return new ArrayList<MidiReceiver>(); @@ -140,7 +138,7 @@ public abstract class MidiUmpDeviceService extends Service { * Returns the {@link MidiDeviceInfo} instance for this service * @return the MidiDeviceInfo of the virtual MIDI device if it was successfully created */ - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public final @Nullable MidiDeviceInfo getDeviceInfo() { return mDeviceInfo; } @@ -149,7 +147,7 @@ public abstract class MidiUmpDeviceService extends Service { * Called to notify when the {@link MidiDeviceStatus} has changed * @param status the current status of the MIDI device */ - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public void onDeviceStatusChanged(@NonNull MidiDeviceStatus status) { } @@ -157,11 +155,11 @@ public abstract class MidiUmpDeviceService extends Service { * Called to notify when the virtual MIDI device running in this service has been closed by * all its clients */ - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) public void onClose() { } - @FlaggedApi(FLAG_VIRTUAL_UMP) + @FlaggedApi(Flags.FLAG_VIRTUAL_UMP) @Override public @Nullable IBinder onBind(@NonNull Intent intent) { if (SERVICE_INTERFACE.equals(intent.getAction()) && mServer != null) { diff --git a/packages/SettingsLib/Spa/build.gradle.kts b/packages/SettingsLib/Spa/build.gradle.kts index 1c8ddcb431d2..80b944f5749f 100644 --- a/packages/SettingsLib/Spa/build.gradle.kts +++ b/packages/SettingsLib/Spa/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,11 +25,16 @@ plugins { alias(libs.plugins.kotlin.android) apply false } +val androidTop : String = File(rootDir, "../../../../..").canonicalPath + allprojects { + extra["androidTop"] = androidTop extra["jetpackComposeVersion"] = "1.6.0-alpha08" } subprojects { + layout.buildDirectory.set(file("$androidTop/out/gradle-spa/$name")) + plugins.withType<AndroidBasePlugin> { configure<BaseExtension> { compileSdkVersion(34) @@ -38,10 +43,11 @@ subprojects { minSdk = 21 targetSdk = 34 } + } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + configure<JavaPluginExtension> { + toolchain { + languageVersion.set(JavaLanguageVersion.of(libs.versions.jvm.get())) } } } @@ -60,7 +66,7 @@ subprojects { tasks.withType<KotlinCompile> { kotlinOptions { - jvmTarget = "17" + jvmTarget = libs.versions.jvm.get() freeCompilerArgs = listOf("-Xjvm-default=all") } } diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/itemList/ItemOperatePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/itemList/ItemOperatePage.kt index 98b27b7b2dc3..6caec07371f5 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/itemList/ItemOperatePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/itemList/ItemOperatePage.kt @@ -17,9 +17,11 @@ package com.android.settingslib.spa.gallery.itemList import android.os.Bundle +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.core.os.bundleOf import androidx.navigation.NavType import androidx.navigation.navArgument @@ -79,13 +81,13 @@ object ItemOperatePageProvider : SettingsPageProvider { entryList.add( SettingsEntryBuilder.create("ItemOp", owner) .setUiLayoutFn { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "Item operation: $opName" - override val checked = checked + override val checked = { checked } override val onCheckedChange = - { newChecked: Boolean -> checked.value = newChecked } + { newChecked: Boolean -> checked = newChecked } } }) }.build(), diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt index 5d6aa03ef8b3..d763f77d2644 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/ArgumentPageModel.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,6 @@ import com.android.settingslib.spa.framework.common.EntrySearchData import com.android.settingslib.spa.framework.common.PageModel import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.util.getIntArg import com.android.settingslib.spa.framework.util.getStringArg import com.android.settingslib.spa.framework.util.navLink @@ -110,7 +109,7 @@ class ArgumentPageModel : PageModel() { fun genStringParamPreferenceModel(): PreferenceModel { return object : PreferenceModel { override val title = STRING_PARAM_TITLE - override val summary = stateOf(stringParam!!) + override val summary = { stringParam!! } } } @@ -118,7 +117,7 @@ class ArgumentPageModel : PageModel() { fun genIntParamPreferenceModel(): PreferenceModel { return object : PreferenceModel { override val title = INT_PARAM_TITLE - override val summary = stateOf(intParam!!.toString()) + override val summary = { intParam!!.toString() } } } @@ -130,7 +129,7 @@ class ArgumentPageModel : PageModel() { ) return object : PreferenceModel { override val title = PAGE_TITLE - override val summary = stateOf(summaryArray.joinToString(", ")) + override val summary = { summaryArray.joinToString(", ") } override val onClick = navigator( SettingsPageProviderEnum.ARGUMENT.name + parameter.navLink(arguments) ) diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPageProvider.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPageProvider.kt index 50c0eb70bb03..345b47aff791 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPageProvider.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/page/FooterPageProvider.kt @@ -26,7 +26,6 @@ import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.gallery.R import com.android.settingslib.spa.widget.preference.Preference @@ -50,7 +49,7 @@ object FooterPageProvider : SettingsPageProvider { Preference(remember { object : PreferenceModel { override val title = "Some Preference" - override val summary = stateOf("Some summary") + override val summary = { "Some summary" } } }) }.build() diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/ListPreferencePageProvider.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/ListPreferencePageProvider.kt index 43b6d0b05696..d7de9b4f2045 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/ListPreferencePageProvider.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/ListPreferencePageProvider.kt @@ -99,7 +99,7 @@ private fun SampleNotChangeableListPreference() { ListPreference(remember { object : ListPreferenceModel { override val title = "Preferred network type" - override val enabled = enabled + override val enabled = { enabled.value } override val options = listOf( ListPreferenceOption(id = 1, text = "5G (recommended)"), ListPreferenceOption(id = 2, text = "LTE"), diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt index 442ace87aa5b..0d85c0e3262f 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/MainSwitchPreferencePage.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,16 +18,17 @@ package com.android.settingslib.spa.gallery.preference import android.os.Bundle import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.MainSwitchPreference import com.android.settingslib.spa.widget.preference.Preference @@ -43,13 +44,13 @@ object MainSwitchPreferencePageProvider : SettingsPageProvider { override fun buildEntry(arguments: Bundle?): List<SettingsEntry> { val entryList = mutableListOf<SettingsEntry>() entryList.add( - SettingsEntryBuilder.create( "MainSwitchPreference", owner) + SettingsEntryBuilder.create("MainSwitchPreference", owner) .setUiLayoutFn { SampleMainSwitchPreference() }.build() ) entryList.add( - SettingsEntryBuilder.create( "MainSwitchPreference not changeable", owner) + SettingsEntryBuilder.create("MainSwitchPreference not changeable", owner) .setUiLayoutFn { SampleNotChangeableMainSwitchPreference() }.build() @@ -75,25 +76,25 @@ object MainSwitchPreferencePageProvider : SettingsPageProvider { @Composable private fun SampleMainSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } MainSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "MainSwitchPreference" - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } @Composable private fun SampleNotChangeableMainSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } MainSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "Not changeable" - override val changeable = stateOf(false) - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val changeable = { false } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageProvider.kt index 238204a66bb4..96de1a778c97 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/PreferencePageProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,7 +34,6 @@ import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory import com.android.settingslib.spa.framework.common.createSettingsPage -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.createIntent import com.android.settingslib.spa.gallery.R @@ -136,8 +135,8 @@ object PreferencePageProvider : SettingsPageProvider { Preference( object : PreferenceModel { override val title = ASYNC_PREFERENCE_TITLE - override val summary = model.asyncSummary - override val enabled = model.asyncEnable + override val summary = { model.asyncSummary.value } + override val enabled = { model.asyncEnable.value } } ) } @@ -170,7 +169,7 @@ object PreferencePageProvider : SettingsPageProvider { Preference( object : PreferenceModel { override val title = MANUAL_UPDATE_PREFERENCE_TITLE - override val summary = manualUpdaterSummary + override val summary = { manualUpdaterSummary.value } override val onClick = { model.manualUpdaterOnClick() } override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.TouchApp) @@ -205,11 +204,13 @@ object PreferencePageProvider : SettingsPageProvider { createEntry(EntryEnum.AUTO_UPDATE_PREFERENCE) .setUiLayoutFn { val model = PreferencePageModel.create() - val autoUpdaterSummary = remember { model.getAutoUpdaterSummary() } + val autoUpdaterSummary = remember { + model.getAutoUpdaterSummary() + }.observeAsState(" ") Preference( object : PreferenceModel { override val title = AUTO_UPDATE_PREFERENCE_TITLE - override val summary = autoUpdaterSummary.observeAsState(" ") + override val summary = { autoUpdaterSummary.value } override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.Autorenew) } @@ -250,12 +251,12 @@ object PreferencePageProvider : SettingsPageProvider { private fun singleLineSummaryEntry() = createEntry(EntryEnum.SINGLE_LINE_SUMMARY_PREFERENCE) .setUiLayoutFn { + val summary = stringResource(R.string.single_line_summary_preference_summary) Preference( model = object : PreferenceModel { override val title: String = stringResource(R.string.single_line_summary_preference_title) - override val summary = - stringResource(R.string.single_line_summary_preference_summary).toState() + override val summary = { summary } }, singleLineSummary = true, ) diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePageProvider.kt index b67e0664c4b7..f2225fa86136 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/SwitchPreferencePageProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,17 +20,18 @@ import android.os.Bundle import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AirplanemodeActive import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -98,32 +99,32 @@ object SwitchPreferencePageProvider : SettingsPageProvider { @Composable private fun SampleSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } @Composable private fun SampleSwitchPreferenceWithSummary() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val summary = stateOf("With summary") - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { "With summary" } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } @Composable private fun SampleSwitchPreferenceWithAsyncSummary() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } val summary = produceState(initialValue = " ") { delay(1000L) value = "Async summary" @@ -131,35 +132,35 @@ private fun SampleSwitchPreferenceWithAsyncSummary() { SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val summary = summary - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { summary.value } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } @Composable private fun SampleNotChangeableSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val summary = stateOf("Not changeable") - override val changeable = stateOf(false) - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { "Not changeable" } + override val changeable = { false } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } @Composable private fun SampleSwitchPreferenceWithIcon() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.AirplanemodeActive) } diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePageProvider.kt index a2cd283ce346..19de31dab046 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/preference/TwoTargetSwitchPreferencePageProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,17 +18,18 @@ package com.android.settingslib.spa.gallery.preference import android.os.Bundle import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview import com.android.settingslib.spa.framework.common.SettingsEntry import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.common.createSettingsPage import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -89,32 +90,32 @@ object TwoTargetSwitchPreferencePageProvider : SettingsPageProvider { @Composable private fun SampleTwoTargetSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } TwoTargetSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) {} } @Composable private fun SampleTwoTargetSwitchPreferenceWithSummary() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } TwoTargetSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val summary = stateOf("With summary") - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { "With summary" } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) {} } @Composable private fun SampleTwoTargetSwitchPreferenceWithAsyncSummary() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } val summary = produceState(initialValue = " ") { delay(1000L) value = "Async summary" @@ -122,23 +123,23 @@ private fun SampleTwoTargetSwitchPreferenceWithAsyncSummary() { TwoTargetSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val summary = summary - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { summary.value } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) {} } @Composable private fun SampleNotChangeableTwoTargetSwitchPreference() { - val checked = rememberSaveable { mutableStateOf(true) } + var checked by rememberSaveable { mutableStateOf(true) } TwoTargetSwitchPreference(remember { object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val summary = stateOf("Not changeable") - override val changeable = stateOf(false) - override val checked = checked - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val summary = { "Not changeable" } + override val changeable = { false } + override val checked = { checked } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) {} } diff --git a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPageProvider.kt index aeba6eabe82d..5c5c504a4310 100644 --- a/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPage.kt +++ b/packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/ui/SpinnerPageProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,8 @@ package com.android.settingslib.spa.gallery.ui import android.os.Bundle import androidx.compose.runtime.Composable -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.tooling.preview.Preview @@ -58,7 +56,7 @@ object SpinnerPageProvider : SettingsPageProvider { @Composable override fun Page(arguments: Bundle?) { RegularScaffold(title = getTitle(arguments)) { - var selectedId by rememberSaveable { mutableStateOf(1) } + var selectedId by rememberSaveable { mutableIntStateOf(1) } Spinner( options = (1..3).map { SpinnerOption(id = it, text = "Option $it") }, selectedId = selectedId, @@ -66,9 +64,7 @@ object SpinnerPageProvider : SettingsPageProvider { ) Preference(object : PreferenceModel { override val title = "Selected id" - override val summary = remember { - derivedStateOf { selectedId.toString() } - } + override val summary = { selectedId.toString() } }) } } diff --git a/packages/SettingsLib/Spa/gradle/libs.versions.toml b/packages/SettingsLib/Spa/gradle/libs.versions.toml index aafae5f2129b..fdb0471755de 100644 --- a/packages/SettingsLib/Spa/gradle/libs.versions.toml +++ b/packages/SettingsLib/Spa/gradle/libs.versions.toml @@ -18,6 +18,7 @@ agp = "8.1.2" compose-compiler = "1.5.1" dexmaker-mockito = "2.28.3" +jvm = "17" kotlin = "1.9.0" truth = "1.1.5" diff --git a/packages/SettingsLib/Spa/screenshot/build.gradle.kts b/packages/SettingsLib/Spa/screenshot/build.gradle.kts new file mode 100644 index 000000000000..03e9d7d72c9a --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/build.gradle.kts @@ -0,0 +1,52 @@ +/* + * 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. + */ + +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) +} + +val androidTop: String by extra + +android { + namespace = "com.android.settingslib.spa.screenshot" + + defaultConfig { + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + sourceSets { + sourceSets.getByName("main") { + java.setSrcDirs( + listOf("$androidTop/platform_testing/libraries/screenshot/src/main/java") + ) + } + sourceSets.getByName("androidTest") { + kotlin.setSrcDirs(listOf("src")) + res.setSrcDirs(listOf("res")) + manifest.srcFile("AndroidManifest.xml") + } + } + buildFeatures { + compose = true + } +} + +dependencies { + androidTestImplementation(project(":spa")) + androidTestImplementation(project(":testutils")) + androidTestImplementation(libs.dexmaker.mockito) +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/Bitmap.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/Bitmap.kt index 814d4a1d1ede..fb65d65e5dc0 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/Bitmap.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/Bitmap.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.util import android.graphics.Bitmap import android.graphics.Canvas diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/DefaultDeviceEmulationSpec.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/DefaultDeviceEmulationSpec.kt deleted file mode 100644 index d7f42b3d1be3..000000000000 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/DefaultDeviceEmulationSpec.kt +++ /dev/null @@ -1,66 +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.spa.screenshot - -import platform.test.screenshot.DeviceEmulationSpec -import platform.test.screenshot.DisplaySpec - -/** - * The emulations specs for all 8 permutations of: - * - phone or tablet. - * - dark of light mode. - * - portrait or landscape. - */ -val DeviceEmulationSpec.Companion.PhoneAndTabletFull - get() = PhoneAndTabletFullSpec - -private val PhoneAndTabletFullSpec = - DeviceEmulationSpec.forDisplays(Displays.Phone, Displays.Tablet) - -/** - * The emulations specs of: - * - phone + light mode + portrait. - * - phone + light mode + landscape. - * - tablet + dark mode + portrait. - * - * This allows to test the most important permutations of a screen/layout with only 3 - * configurations. - */ -val DeviceEmulationSpec.Companion.PhoneAndTabletMinimal - get() = PhoneAndTabletMinimalSpec - -private val PhoneAndTabletMinimalSpec = - DeviceEmulationSpec.forDisplays(Displays.Phone, isDarkTheme = false) + - DeviceEmulationSpec.forDisplays(Displays.Tablet, isDarkTheme = true, isLandscape = false) - -object Displays { - val Phone = - DisplaySpec( - "phone", - width = 1440, - height = 3120, - densityDpi = 560, - ) - - val Tablet = - DisplaySpec( - "tablet", - width = 2560, - height = 1600, - densityDpi = 320, - ) -} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsGoldenImagePathManager.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsGoldenImagePathManager.kt index 25bc098b29b7..f5fba7fb3cc8 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsGoldenImagePathManager.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsGoldenImagePathManager.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.util import androidx.test.platform.app.InstrumentationRegistry import platform.test.screenshot.GoldenImagePathManager diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsScreenshotTestRule.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsScreenshotTestRule.kt index 7a7cf318fb4f..3dcefe9c783d 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsScreenshotTestRule.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/util/SettingsScreenshotTestRule.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.util import androidx.activity.ComponentActivity import androidx.compose.material3.MaterialTheme diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt index b2e0b181f88b..b74a2430c605 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,12 +14,13 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.button import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.Launch import androidx.compose.material.icons.outlined.Delete -import androidx.compose.material.icons.outlined.Launch import androidx.compose.material.icons.outlined.WarningAmber +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.button.ActionButton import com.android.settingslib.spa.widget.button.ActionButtons import org.junit.Rule @@ -27,6 +28,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -48,7 +50,7 @@ class ActionButtonsScreenshotTest(emulationSpec: DeviceEmulationSpec) { fun test() { screenshotRule.screenshotTest("actionButtons") { val actionButtons = listOf( - ActionButton(text = "Open", imageVector = Icons.Outlined.Launch) {}, + ActionButton(text = "Open", imageVector = Icons.AutoMirrored.Outlined.Launch) {}, ActionButton(text = "Uninstall", imageVector = Icons.Outlined.Delete) {}, ActionButton(text = "Force stop", imageVector = Icons.Outlined.WarningAmber) {}, ) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt index e6decb13c2b9..051ef7733a69 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.chart import androidx.compose.material3.MaterialTheme +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.chart.BarChart import com.android.settingslib.spa.widget.chart.BarChartData import com.android.settingslib.spa.widget.chart.BarChartModel @@ -26,6 +27,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -61,7 +63,7 @@ class BarChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { override val colors = listOf(color) override val xValueFormatter = IAxisValueFormatter { value, _ -> - "${WeekDay.values()[value.toInt()]}" + "${WeekDay.entries[value.toInt()]}" } override val yValueFormatter = IAxisValueFormatter { value, _ -> diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt index f9d93f878f2b..3822571758fc 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.chart +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.chart.LineChart import com.android.settingslib.spa.widget.chart.LineChartData import com.android.settingslib.spa.widget.chart.LineChartModel @@ -26,6 +27,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -59,7 +61,7 @@ class LineChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { ) override val xValueFormatter = IAxisValueFormatter { value, _ -> - "${WeekDay.values()[value.toInt()]}" + "${WeekDay.entries[value.toInt()]}" } override val yValueFormatter = IAxisValueFormatter { value, _ -> diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt index 34ded3cb94d6..6dd62ec03257 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.chart +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.chart.PieChart import com.android.settingslib.spa.widget.chart.PieChartData import com.android.settingslib.spa.widget.chart.PieChartModel @@ -24,6 +25,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -56,4 +58,4 @@ class PieChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { ) } } -}
\ No newline at end of file +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt index 91aca05a9cdf..0ccfc0b12fca 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,8 +14,10 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.illustration +import com.android.settingslib.spa.screenshot.R +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.illustration.Illustration import com.android.settingslib.spa.widget.illustration.IllustrationModel import com.android.settingslib.spa.widget.illustration.ResourceType @@ -24,6 +26,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt index a366b9e0e85b..e547d260cbdb 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column -import com.android.settingslib.spa.framework.compose.stateOf +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.MainSwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import org.junit.Rule @@ -25,6 +25,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -49,14 +50,14 @@ class MainSwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { MainSwitchPreference( object : SwitchPreferenceModel { override val title = "MainSwitchPreference" - override val checked = stateOf(false) + override val checked = { false } override val onCheckedChange = null }) MainSwitchPreference(object : SwitchPreferenceModel { override val title = "Not changeable" - override val changeable = stateOf(false) - override val checked = stateOf(true) + override val changeable = { false } + override val checked = { true } override val onCheckedChange = null }) } diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt index d72152c15af2..dd6b553f714d 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Autorenew import androidx.compose.material.icons.outlined.DisabledByDefault import androidx.compose.runtime.Composable -import com.android.settingslib.spa.framework.compose.toState +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.ui.SettingsIcon @@ -30,6 +30,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -61,18 +62,18 @@ class PreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { Preference(object : PreferenceModel { override val title = TITLE - override val summary = SUMMARY.toState() + override val summary = { SUMMARY } }) Preference(object : PreferenceModel { override val title = TITLE - override val summary = LONG_SUMMARY.toState() + override val summary = { LONG_SUMMARY } }) Preference(object : PreferenceModel { override val title = TITLE - override val summary = SUMMARY.toState() - override val enabled = false.toState() + override val summary = { SUMMARY } + override val enabled = { false } override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.DisabledByDefault) } @@ -80,7 +81,7 @@ class PreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { Preference(object : PreferenceModel { override val title = TITLE - override val summary = SUMMARY.toState() + override val summary = { SUMMARY } override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.Autorenew) } diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt index 5fcaf8503095..357d81593cb6 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,14 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.SystemUpdate import androidx.compose.runtime.Composable +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.ProgressBarPreference import com.android.settingslib.spa.widget.preference.ProgressBarPreferenceModel import com.android.settingslib.spa.widget.preference.ProgressBarWithDataPreference @@ -30,6 +31,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt index 48c922dcf1a1..fdee7ee70483 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,11 +14,12 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AccessAlarm +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.SliderPreference import com.android.settingslib.spa.widget.preference.SliderPreferenceModel import org.junit.Rule @@ -26,6 +27,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt index 2c84a8e3f760..6966a74b0af5 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AirplanemodeActive import androidx.compose.runtime.Composable -import com.android.settingslib.spa.framework.compose.stateOf +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import com.android.settingslib.spa.widget.ui.SettingsIcon @@ -29,6 +29,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -63,7 +64,7 @@ class SwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { private fun SampleSwitchPreference() { SwitchPreference(object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val checked = stateOf(false) + override val checked = { false } override val onCheckedChange = null }) } @@ -72,8 +73,8 @@ private fun SampleSwitchPreference() { private fun SampleSwitchPreferenceWithSummary() { SwitchPreference(object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val summary = stateOf("With summary") - override val checked = stateOf(true) + override val summary = { "With summary" } + override val checked = { true } override val onCheckedChange = null }) } @@ -82,9 +83,9 @@ private fun SampleSwitchPreferenceWithSummary() { private fun SampleNotChangeableSwitchPreference() { SwitchPreference(object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val summary = stateOf("Not changeable") - override val changeable = stateOf(false) - override val checked = stateOf(true) + override val summary = { "Not changeable" } + override val changeable = { false } + override val checked = { true } override val onCheckedChange = null }) } @@ -93,7 +94,7 @@ private fun SampleNotChangeableSwitchPreference() { private fun SampleSwitchPreferenceWithIcon() { SwitchPreference(object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val checked = stateOf(true) + override val checked = { true } override val onCheckedChange = null override val icon = @Composable { SettingsIcon(imageVector = Icons.Outlined.AirplanemodeActive) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt index 2c37212f1a71..72c5cb81962e 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,17 +14,19 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.preference import androidx.compose.foundation.layout.Column import com.android.settingslib.spa.framework.compose.stateOf -import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel +import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) @@ -48,21 +50,21 @@ class TwoTargetSwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec Column { TwoTargetSwitchPreference(object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val checked = stateOf(false) + override val checked = { false } override val onCheckedChange = null }) {} TwoTargetSwitchPreference(object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val summary = stateOf("With summary") - override val checked = stateOf(true) + override val summary = { "With summary" } + override val checked = { true } override val onCheckedChange = null }) {} TwoTargetSwitchPreference(object : SwitchPreferenceModel { override val title = "Not changeable" - override val changeable = stateOf(false) - override val checked = stateOf(true) + override val changeable = { false } + override val checked = { true } override val onCheckedChange = null }) {} } diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt index 0a0faf6dd2c7..fb01f7715def 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,14 +14,16 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.ui +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.ui.Footer import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt index 0b4d5e4ad629..2867741e2e0a 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.android.settingslib.spa.screenshot +package com.android.settingslib.spa.screenshot.widget.ui +import com.android.settingslib.spa.screenshot.util.SettingsScreenshotTestRule import com.android.settingslib.spa.widget.ui.Spinner import com.android.settingslib.spa.widget.ui.SpinnerOption import org.junit.Rule @@ -23,6 +24,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.Parameterized import platform.test.screenshot.DeviceEmulationSpec +import platform.test.screenshot.PhoneAndTabletMinimal /** A screenshot test for ExampleFeature. */ @RunWith(Parameterized::class) diff --git a/packages/SettingsLib/Spa/settings.gradle.kts b/packages/SettingsLib/Spa/settings.gradle.kts index b8dfae39dfdc..e003c81d7a0c 100644 --- a/packages/SettingsLib/Spa/settings.gradle.kts +++ b/packages/SettingsLib/Spa/settings.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,3 +49,6 @@ include(":gallery") include(":testutils") include(":SettingsLibColor") project(":SettingsLibColor").projectDir = File(rootDir, "../Color") + +// Uncomment this for screenshot +// include(":screenshot")
\ No newline at end of file diff --git a/packages/SettingsLib/Spa/spa/build.gradle.kts b/packages/SettingsLib/Spa/spa/build.gradle.kts index 189c2dd4af1f..4335173dd706 100644 --- a/packages/SettingsLib/Spa/spa/build.gradle.kts +++ b/packages/SettingsLib/Spa/spa/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -63,7 +63,7 @@ dependencies { api("androidx.compose.ui:ui-tooling-preview:$jetpackComposeVersion") api("androidx.lifecycle:lifecycle-livedata-ktx") api("androidx.lifecycle:lifecycle-runtime-compose") - api("androidx.navigation:navigation-compose:2.7.4") + api("androidx.navigation:navigation-compose:2.7.5") api("com.github.PhilJay:MPAndroidChart:v3.1.0-alpha") api("com.google.android.material:material:1.7.0-alpha03") debugApi("androidx.compose.ui:ui-tooling:$jetpackComposeVersion") diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/debug/DebugActivity.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/debug/DebugActivity.kt index 078c925783fa..14af5084d625 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/debug/DebugActivity.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/debug/DebugActivity.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,6 @@ import com.android.settingslib.spa.framework.common.SettingsPage import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory import com.android.settingslib.spa.framework.compose.localNavController import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.SESSION_BROWSE import com.android.settingslib.spa.framework.util.SESSION_SEARCH @@ -137,7 +136,7 @@ class DebugActivity : ComponentActivity() { val page = pageWithEntry.page Preference(object : PreferenceModel { override val title = "${page.debugBrief()} (${pageWithEntry.entries.size})" - override val summary = page.debugArguments().toState() + override val summary = { page.debugArguments() } override val onClick = navigator(route = ROUTE_PAGE + "/${page.id}") }) } @@ -179,8 +178,9 @@ class DebugActivity : ComponentActivity() { Text(text = "Entry size: ${pageWithEntry.entries.size}") Preference(model = object : PreferenceModel { override val title = "open page" - override val enabled = (spaEnvironment.browseActivityClass != null && - page.isBrowsable()).toState() + override val enabled = { + spaEnvironment.browseActivityClass != null && page.isBrowsable() + } override val onClick = openPage(page) }) EntryList(pageWithEntry.entries) @@ -196,9 +196,10 @@ class DebugActivity : ComponentActivity() { RegularScaffold(title = "Entry - ${entry.debugBrief()}") { Preference(model = object : PreferenceModel { override val title = "open entry" - override val enabled = (spaEnvironment.browseActivityClass != null && - entry.containerPage().isBrowsable()) - .toState() + override val enabled = { + spaEnvironment.browseActivityClass != null && + entry.containerPage().isBrowsable() + } override val onClick = openEntry(entry) }) Text(text = entryContent) @@ -210,8 +211,9 @@ class DebugActivity : ComponentActivity() { for (entry in entries) { Preference(object : PreferenceModel { override val title = entry.debugBrief() - override val summary = - "${entry.fromPage?.displayName} -> ${entry.toPage?.displayName}".toState() + override val summary = { + "${entry.fromPage?.displayName} -> ${entry.toPage?.displayName}" + } override val onClick = navigator(route = ROUTE_ENTRY + "/${entry.id}") }) } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt index 8bfcff811dd6..83cb549bb3a2 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt @@ -16,10 +16,16 @@ package com.android.settingslib.spa.framework.util +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.take +import kotlinx.coroutines.launch /** * Returns a [Flow] whose values are a list which containing the results of applying the given @@ -46,3 +52,19 @@ inline fun <T> Flow<List<T>>.filterItem(crossinline predicate: (T) -> Boolean): */ fun <T1, T2> Flow<T1>.waitFirst(otherFlow: Flow<T2>): Flow<T1> = combine(otherFlow.take(1)) { value, _ -> value } + + +/** + * Collects the latest value of given flow with a provided action with [LifecycleOwner]. + */ +fun <T> Flow<T>.collectLatestWithLifecycle( + lifecycleOwner: LifecycleOwner, + minActiveState: Lifecycle.State = Lifecycle.State.STARTED, + action: suspend (value: T) -> Unit, +) { + lifecycleOwner.lifecycleScope.launch { + lifecycleOwner.repeatOnLifecycle(minActiveState) { + collectLatest(action) + } + } +} diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/livedata/LiveDataExt.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/livedata/LiveDataExt.kt new file mode 100644 index 000000000000..3d330fe8679e --- /dev/null +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/livedata/LiveDataExt.kt @@ -0,0 +1,34 @@ +/* + * 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.spa.livedata + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.livedata.observeAsState +import androidx.lifecycle.LiveData + +/** + * Starts observing this LiveData and represents its values via State and Callback. + * + * Every time there would be new value posted into the LiveData the returned State will be updated + * causing recomposition of every Callback usage. + */ +@Composable +fun <T> LiveData<T>.observeAsCallback(): () -> T? { + val isAllowed by observeAsState() + return { isAllowed } +} 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 74f9c9d0f9e2..a0149da8f4b8 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 @@ -27,8 +27,6 @@ import androidx.compose.foundation.selection.selectableGroup import androidx.compose.material3.RadioButton import androidx.compose.runtime.Composable import androidx.compose.runtime.IntState -import androidx.compose.runtime.State -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -37,7 +35,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.Role -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.widget.dialog.SettingsDialog import com.android.settingslib.spa.widget.ui.SettingsDialogItem @@ -69,8 +66,8 @@ interface ListPreferenceModel { * * Disabled [ListPreference] will be displayed in disabled style. */ - val enabled: State<Boolean> - get() = stateOf(true) + val enabled: () -> Boolean + get() = { true } val options: List<ListPreferenceOption> @@ -89,7 +86,7 @@ fun ListPreference(model: ListPreferenceModel) { ) { Column(modifier = Modifier.selectableGroup()) { for (option in model.options) { - Radio(option, model.selectedId.intValue, model.enabled.value) { + Radio(option, model.selectedId.intValue, model.enabled()) { dialogOpened = false model.onIdSelected(it) } @@ -100,7 +97,7 @@ fun ListPreference(model: ListPreferenceModel) { Preference(model = remember(model) { object : PreferenceModel { override val title = model.title - override val summary = derivedStateOf { + override val summary = { model.options.find { it.id == model.selectedId.intValue }?.text ?: "" } override val icon = model.icon 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 35c34d4e8de9..fc8de8035217 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 @@ -24,7 +24,6 @@ import androidx.compose.runtime.Composable 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.SettingsShape import com.android.settingslib.spa.framework.theme.SettingsTheme @@ -35,7 +34,7 @@ fun MainSwitchPreference(model: SwitchPreferenceModel) { EntryHighlight { Surface( modifier = Modifier.padding(SettingsDimension.itemPaddingEnd), - color = when (model.checked.value) { + color = when (model.checked()) { true -> MaterialTheme.colorScheme.primaryContainer else -> MaterialTheme.colorScheme.secondaryContainer }, @@ -43,8 +42,8 @@ fun MainSwitchPreference(model: SwitchPreferenceModel) { ) { InternalSwitchPreference( title = model.title, - checked = model.checked.value, - changeable = model.changeable.value, + checked = model.checked(), + changeable = model.changeable(), onCheckedChange = model.onCheckedChange, paddingStart = 20.dp, paddingEnd = 20.dp, @@ -61,12 +60,12 @@ fun MainSwitchPreferencePreview() { Column { MainSwitchPreference(object : SwitchPreferenceModel { override val title = "Use Dark theme" - override val checked = true.toState() + override val checked = { true } override val onCheckedChange: (Boolean) -> Unit = {} }) MainSwitchPreference(object : SwitchPreferenceModel { override val title = "Use Dark theme" - override val checked = false.toState() + override val checked = { false } override val onCheckedChange: (Boolean) -> Unit = {} }) } 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 7ecbec7ce0b4..bb7e8575ba1b 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 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,14 +18,12 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.foundation.clickable import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import com.android.settingslib.spa.framework.common.EntryMacro import com.android.settingslib.spa.framework.common.EntrySearchData import com.android.settingslib.spa.framework.compose.navigator -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.util.EntryHighlight import com.android.settingslib.spa.framework.util.wrapOnClickWithLog import com.android.settingslib.spa.widget.ui.createSettingsIcon @@ -42,9 +40,9 @@ data class SimplePreferenceMacro( override fun UiLayout() { Preference(model = object : PreferenceModel { override val title: String = this@SimplePreferenceMacro.title - override val summary = stateOf(this@SimplePreferenceMacro.summary ?: "") + override val summary = { this@SimplePreferenceMacro.summary ?: "" } override val icon = createSettingsIcon(this@SimplePreferenceMacro.icon) - override val enabled = stateOf(!this@SimplePreferenceMacro.disabled) + override val enabled = { !disabled } override val onClick = navigator(clickRoute) }) } @@ -69,8 +67,8 @@ interface PreferenceModel { /** * The summary of this [Preference]. */ - val summary: State<String> - get() = stateOf("") + val summary: () -> String + get() = { "" } /** * The icon of this [Preference]. @@ -85,8 +83,8 @@ interface PreferenceModel { * * Disabled [Preference] will be displayed in disabled style. */ - val enabled: State<Boolean> - get() = stateOf(true) + val enabled: () -> Boolean + get() = { true } /** * The on click handler of this [Preference]. @@ -108,10 +106,11 @@ fun Preference( singleLineSummary: Boolean = false, ) { val onClickWithLog = wrapOnClickWithLog(model.onClick) - val modifier = remember(model.enabled.value) { + val enabled = model.enabled() + val modifier = remember(enabled) { if (onClickWithLog != null) { Modifier.clickable( - enabled = model.enabled.value, + enabled = enabled, onClick = onClickWithLog ) } else Modifier @@ -119,11 +118,11 @@ fun Preference( EntryHighlight { BasePreference( title = model.title, - summary = { model.summary.value }, + summary = model.summary, singleLineSummary = singleLineSummary, modifier = modifier, icon = model.icon, - enabled = { model.enabled.value }, + enabled = model.enabled, ) } } 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 f14f68ce74c0..aceb5458797d 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 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,13 +25,11 @@ import androidx.compose.foundation.selection.toggleable import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AirplanemodeActive import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.Modifier 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.theme.SettingsDimension import com.android.settingslib.spa.framework.theme.SettingsTheme import com.android.settingslib.spa.framework.util.EntryHighlight @@ -51,8 +49,8 @@ interface SwitchPreferenceModel { /** * The summary of this [SwitchPreference]. */ - val summary: State<String> - get() = stateOf("") + val summary: () -> String + get() = { "" } /** * The icon of this [Preference]. @@ -67,15 +65,15 @@ interface SwitchPreferenceModel { * * This can be `null` during the data loading before the data is available. */ - val checked: State<Boolean?> + val checked: () -> Boolean? /** * Indicates whether this [SwitchPreference] is changeable. * * Not changeable [SwitchPreference] will be displayed in disabled style. */ - val changeable: State<Boolean> - get() = stateOf(true) + val changeable: () -> Boolean + get() = { true } /** * The switch change handler of this [SwitchPreference]. @@ -95,10 +93,10 @@ fun SwitchPreference(model: SwitchPreferenceModel) { EntryHighlight { InternalSwitchPreference( title = model.title, - summary = { model.summary.value }, + summary = model.summary, icon = model.icon, - checked = model.checked.value, - changeable = model.changeable.value, + checked = model.checked(), + changeable = model.changeable(), onCheckedChange = model.onCheckedChange, ) } diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreference.kt index b8db63c9658e..986602394b3b 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreference.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,32 +16,32 @@ package com.android.settingslib.spa.widget.preference -import com.android.settingslib.spa.framework.util.EntryHighlight +import androidx.compose.material3.Icon import androidx.compose.material3.IconButton -import androidx.compose.runtime.State import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.material3.Icon +import com.android.settingslib.spa.framework.util.EntryHighlight @Composable fun TwoTargetButtonPreference( - title: String, - summary: State<String>, - icon: @Composable (() -> Unit)? = null, - onClick: () -> Unit, - buttonIcon: ImageVector, - buttonIconDescription: String, - onButtonClick: () -> Unit + title: String, + summary: () -> String, + icon: @Composable (() -> Unit)? = null, + onClick: () -> Unit, + buttonIcon: ImageVector, + buttonIconDescription: String, + onButtonClick: () -> Unit ) { EntryHighlight { TwoTargetPreference( - title = title, - summary = summary, - onClick = onClick, - icon = icon) { + title = title, + summary = summary, + onClick = onClick, + icon = icon, + ) { IconButton(onClick = onButtonClick) { Icon(imageVector = buttonIcon, contentDescription = buttonIconDescription) } } } -}
\ No newline at end of file +} diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetPreference.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetPreference.kt index 566361029ff6..e36572fdff65 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetPreference.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/preference/TwoTargetPreference.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -35,7 +34,7 @@ import com.android.settingslib.spa.framework.theme.divider @Composable internal fun TwoTargetPreference( title: String, - summary: State<String>, + summary: () -> String, onClick: () -> Unit, icon: @Composable (() -> Unit)? = null, widget: @Composable () -> Unit, 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 9a6580c852a6..7eed74588fb2 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.value, - changeable = { model.changeable.value }, + checked = model.checked(), + changeable = model.changeable, onCheckedChange = model.onCheckedChange, ) } diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/util/FlowsTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/util/FlowsTest.kt index 71d69b2e4657..a64b43b40514 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/util/FlowsTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/util/FlowsTest.kt @@ -16,7 +16,9 @@ package com.android.settingslib.spa.framework.util +import androidx.lifecycle.testing.TestLifecycleOwner import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settingslib.spa.testutils.waitUntil import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.count import kotlinx.coroutines.flow.emptyFlow @@ -85,4 +87,16 @@ class FlowsTest { assertThat(outputFlow.toList()).containsExactly("A") } + + @Test + fun collectLatestWithLifecycle() { + val mainFlow = flowOf("A") + var actual: String? = null + + mainFlow.collectLatestWithLifecycle(TestLifecycleOwner()) { + actual = it + } + + waitUntil { actual == "A" } + } } diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ListPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ListPreferenceTest.kt index 997a02369d9f..796ac4851cb5 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ListPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ListPreferenceTest.kt @@ -25,7 +25,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.testutils.onDialogText import org.junit.Rule import org.junit.Test @@ -92,7 +91,7 @@ class ListPreferenceTest { ListPreference(remember { object : ListPreferenceModel { override val title = TITLE - override val enabled = stateOf(false) + override val enabled = { false } override val options = listOf(ListPreferenceOption(id = 1, text = "A")) override val selectedId = mutableIntStateOf(1) override val onIdSelected: (Int) -> Unit = {} @@ -154,7 +153,7 @@ class ListPreferenceTest { ListPreference(remember { object : ListPreferenceModel { override val title = TITLE - override val enabled = enabledState + override val enabled = { enabledState.value } override val options = listOf( ListPreferenceOption(id = 1, text = "A"), ListPreferenceOption(id = 2, text = "B"), diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/MainSwitchPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/MainSwitchPreferenceTest.kt index 6588cf53957f..8ce69796bd25 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/MainSwitchPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/MainSwitchPreferenceTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,11 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertIsOff import androidx.compose.ui.test.assertIsOn @@ -28,7 +30,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -81,13 +82,13 @@ class MainSwitchPreferenceTest { @Composable private fun TestMainSwitchPreference(changeable: Boolean) { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } MainSwitchPreference(remember { object : SwitchPreferenceModel { override val title = TITLE - override val checked = checked - override val changeable = stateOf(changeable) - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val changeable = { changeable } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/PreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/PreferenceTest.kt index 06936e155b06..8c363db92e19 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/PreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/PreferenceTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.width import androidx.compose.material3.MaterialTheme -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -34,7 +33,6 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.toState import com.google.common.truth.Truth.assertThat import org.junit.Assert.fail import org.junit.Rule @@ -65,7 +63,7 @@ class PreferenceTest { Box(Modifier.width(BOX_WIDTH)) { Preference(object : PreferenceModel { override val title = TITLE - override val summary = LONG_SUMMARY.toState() + override val summary = { LONG_SUMMARY } }) } lineHeightDp = with(LocalDensity.current) { @@ -85,7 +83,7 @@ class PreferenceTest { Preference( model = object : PreferenceModel { override val title = TITLE - override val summary = LONG_SUMMARY.toState() + override val summary = { LONG_SUMMARY } }, singleLineSummary = true, ) @@ -113,7 +111,7 @@ class PreferenceTest { var count by remember { mutableStateOf(0) } Preference(object : PreferenceModel { override val title = TITLE - override val summary = derivedStateOf { count.toString() } + override val summary = { count.toString() } override val onClick: (() -> Unit) = { count++ } }) } @@ -128,8 +126,8 @@ class PreferenceTest { var count by remember { mutableStateOf(0) } Preference(object : PreferenceModel { override val title = TITLE - override val summary = derivedStateOf { count.toString() } - override val enabled = false.toState() + override val summary = { count.toString() } + override val enabled = { false } override val onClick: (() -> Unit) = { count++ } }) } diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ProgressBarPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ProgressBarPreferenceTest.kt index 2140c07090e1..e6d2401c55f7 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ProgressBarPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/ProgressBarPreferenceTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,7 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.Launch -import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.material.icons.automirrored.outlined.Launch import androidx.compose.ui.semantics.ProgressBarRangeInfo import androidx.compose.ui.semantics.SemanticsProperties.ProgressBarRangeInfo import androidx.compose.ui.test.SemanticsMatcher @@ -49,11 +48,14 @@ class ProgressBarPreferenceTest { @Test fun data_displayed() { composeTestRule.setContent { - ProgressBarWithDataPreference(model = object : ProgressBarPreferenceModel { - override val title = "Title" - override val progress = 0.2f - override val icon: ImageVector = Icons.Outlined.Launch - }, data = "Data") + ProgressBarWithDataPreference( + model = object : ProgressBarPreferenceModel { + override val title = "Title" + override val progress = 0.2f + override val icon = Icons.AutoMirrored.Outlined.Launch + }, + data = "Data", + ) } composeTestRule.onNodeWithText("Title").assertIsDisplayed() composeTestRule.onNodeWithText("Data").assertIsDisplayed() diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/SwitchPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/SwitchPreferenceTest.kt index d6c8fbc9dc9e..0b2127dc2c2f 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/SwitchPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/SwitchPreferenceTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,11 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertIsOff import androidx.compose.ui.test.assertIsOn @@ -28,7 +30,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -79,13 +80,13 @@ class SwitchPreferenceTest { @Composable private fun TestSwitchPreference(changeable: Boolean) { - val checked = rememberSaveable { mutableStateOf(false) } + var checked by rememberSaveable { mutableStateOf(false) } SwitchPreference(remember { object : SwitchPreferenceModel { override val title = "SwitchPreference" - override val checked = checked - override val changeable = stateOf(changeable) - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val changeable = { changeable } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }) } diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreferenceTest.kt index 3a2b445e2148..6de193341004 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetButtonPreferenceTest.kt @@ -1,3 +1,19 @@ +/* + * 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.spa.widget.preference import androidx.compose.material.icons.Icons @@ -9,7 +25,6 @@ import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.toState import com.google.common.truth.Truth import org.junit.Rule import org.junit.Test @@ -64,10 +79,10 @@ private fun testTwoTargetButtonPreference( ) { TwoTargetButtonPreference( title = TEST_MODEL_TITLE, - summary = TEST_MODEL_SUMMARY.toState(), + summary = { TEST_MODEL_SUMMARY }, onClick = onClick, buttonIcon = TEST_BUTTON_ICON, buttonIconDescription = TEST_BUTTON_ICON_DESCRIPTION, onButtonClick = onButtonClick ) -}
\ No newline at end of file +} diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreferenceTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreferenceTest.kt index c49e92d52edb..3455851a10bb 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreferenceTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/preference/TwoTargetSwitchPreferenceTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,11 @@ package com.android.settingslib.spa.widget.preference import androidx.compose.runtime.Composable -import androidx.compose.runtime.MutableState +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertIsOff import androidx.compose.ui.test.assertIsOn @@ -28,7 +30,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.google.common.truth.Truth.assertThat import org.junit.Rule import org.junit.Test @@ -41,9 +42,8 @@ class TwoTargetSwitchPreferenceTest { @Test fun title_displayed() { - val checked = mutableStateOf(false) composeTestRule.setContent { - TestTwoTargetSwitchPreference(checked = checked, changeable = true) + TestTwoTargetSwitchPreference(changeable = true) } composeTestRule.onNodeWithText("TwoTargetSwitchPreference").assertIsDisplayed() @@ -51,9 +51,8 @@ class TwoTargetSwitchPreferenceTest { @Test fun toggleable_initialStateIsCorrect() { - val checked = mutableStateOf(false) composeTestRule.setContent { - TestTwoTargetSwitchPreference(checked = checked, changeable = true) + TestTwoTargetSwitchPreference(changeable = true) } composeTestRule.onNode(isToggleable()).assertIsOff() @@ -61,9 +60,8 @@ class TwoTargetSwitchPreferenceTest { @Test fun toggleable_changeable_withEffect() { - val checked = mutableStateOf(false) composeTestRule.setContent { - TestTwoTargetSwitchPreference(checked = checked, changeable = true) + TestTwoTargetSwitchPreference(changeable = true) } composeTestRule.onNode(isToggleable()).performClick() @@ -72,9 +70,8 @@ class TwoTargetSwitchPreferenceTest { @Test fun toggleable_notChangeable_noEffect() { - val checked = mutableStateOf(false) composeTestRule.setContent { - TestTwoTargetSwitchPreference(checked = checked, changeable = false) + TestTwoTargetSwitchPreference(changeable = false) } composeTestRule.onNode(isToggleable()).performClick() @@ -83,10 +80,9 @@ class TwoTargetSwitchPreferenceTest { @Test fun clickable_canBeClick() { - val checked = mutableStateOf(false) var clicked = false composeTestRule.setContent { - TestTwoTargetSwitchPreference(checked = checked, changeable = false) { + TestTwoTargetSwitchPreference(changeable = false) { clicked = true } } @@ -98,17 +94,17 @@ class TwoTargetSwitchPreferenceTest { @Composable private fun TestTwoTargetSwitchPreference( - checked: MutableState<Boolean>, changeable: Boolean, onClick: () -> Unit = {}, ) { + var checked by rememberSaveable { mutableStateOf(false) } TwoTargetSwitchPreference( model = remember { object : SwitchPreferenceModel { override val title = "TwoTargetSwitchPreference" - override val checked = checked - override val changeable = stateOf(changeable) - override val onCheckedChange = { newChecked: Boolean -> checked.value = newChecked } + override val checked = { checked } + override val changeable = { changeable } + override val onCheckedChange = { newChecked: Boolean -> checked = newChecked } } }, onClick = onClick, diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/ui/CategoryTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/ui/CategoryTest.kt index 16e09ee854d8..09a6e6ddc7f0 100644 --- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/ui/CategoryTest.kt +++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/widget/ui/CategoryTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,6 @@ import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import org.junit.Rule @@ -50,7 +49,7 @@ class CategoryTest { Preference(remember { object : PreferenceModel { override val title = "Some Preference" - override val summary = stateOf("Some summary") + override val summary = { "Some summary" } } }) } diff --git a/packages/SettingsLib/Spa/testutils/src/com/android/settingslib/spa/testutils/FlowTestUtil.kt b/packages/SettingsLib/Spa/testutils/src/com/android/settingslib/spa/testutils/FlowTestUtil.kt index 7a114997c44c..99c6a3fd3465 100644 --- a/packages/SettingsLib/Spa/testutils/src/com/android/settingslib/spa/testutils/FlowTestUtil.kt +++ b/packages/SettingsLib/Spa/testutils/src/com/android/settingslib/spa/testutils/FlowTestUtil.kt @@ -18,9 +18,17 @@ package com.android.settingslib.spa.testutils import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.toList import kotlinx.coroutines.withTimeoutOrNull suspend fun <T> Flow<T>.firstWithTimeoutOrNull(timeMillis: Long = 500): T? = withTimeoutOrNull(timeMillis) { first() } + +suspend fun <T> Flow<T>.toListWithTimeout(timeMillis: Long = 500): List<T> { + val list = mutableListOf<T>() + return withTimeoutOrNull(timeMillis) { + toList(list) + } ?: list +} diff --git a/packages/SettingsLib/SpaPrivileged/AndroidManifest.xml b/packages/SettingsLib/SpaPrivileged/AndroidManifest.xml index 17c139bb3ff0..d9921140a4a8 100644 --- a/packages/SettingsLib/SpaPrivileged/AndroidManifest.xml +++ b/packages/SettingsLib/SpaPrivileged/AndroidManifest.xml @@ -18,5 +18,5 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.settingslib.spaprivileged"> <uses-permission android:name="android.permission.MANAGE_USERS" /> + <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> </manifest> - diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListModel.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListModel.kt index f3ab80c7b8c2..9eee6adb5d17 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListModel.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppListModel.kt @@ -19,7 +19,6 @@ package com.android.settingslib.spaprivileged.model.app import android.content.pm.ApplicationInfo import android.icu.text.CollationKey import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import com.android.settingslib.spa.widget.ui.SpinnerOption import com.android.settingslib.spaprivileged.template.app.AppListItem import com.android.settingslib.spaprivileged.template.app.AppListItemModel @@ -89,7 +88,7 @@ interface AppListModel<T : AppRecord> { * @return null if no summary should be displayed. */ @Composable - fun getSummary(option: Int, record: T): State<String>? = null + fun getSummary(option: Int, record: T): (() -> String)? = null @Composable fun AppListItemModel<T>.AppItem() { diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepository.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepository.kt new file mode 100644 index 000000000000..8e702ea2e7cb --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepository.kt @@ -0,0 +1,45 @@ +/* + * 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.spaprivileged.settingsprovider + +import android.content.ContentResolver +import android.content.Context +import android.provider.Settings +import kotlin.properties.ReadWriteProperty +import kotlin.reflect.KProperty +import kotlinx.coroutines.flow.Flow + +fun Context.settingsGlobalBoolean(name: String): ReadWriteProperty<Any?, Boolean> = + SettingsGlobalBooleanDelegate(this, name) + +fun Context.settingsGlobalBooleanFlow(name: String): Flow<Boolean> { + val value by settingsGlobalBoolean(name) + return settingsGlobalFlow(name) { value } +} + +private class SettingsGlobalBooleanDelegate(context: Context, private val name: String) : + ReadWriteProperty<Any?, Boolean> { + + private val contentResolver: ContentResolver = context.contentResolver + + override fun getValue(thisRef: Any?, property: KProperty<*>): Boolean = + Settings.Global.getInt(contentResolver, name, 0) != 0 + + override fun setValue(thisRef: Any?, property: KProperty<*>, value: Boolean) { + Settings.Global.putInt(contentResolver, name, if (value) 1 else 0) + } +} diff --git a/packages/SystemUI/src/com/android/systemui/aconfig/AConfigModule.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalChangeRepository.kt index fa61bba6922d..4098987256a2 100644 --- a/packages/SystemUI/src/com/android/systemui/aconfig/AConfigModule.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalChangeRepository.kt @@ -14,22 +14,10 @@ * limitations under the License. */ -package com.android.systemui.aconfig +package com.android.settingslib.spaprivileged.settingsprovider -import com.android.systemui.FeatureFlags -import com.android.systemui.FeatureFlagsImpl -import com.android.systemui.dagger.SysUISingleton -import dagger.Module -import dagger.Provides +import android.content.Context +import kotlinx.coroutines.flow.Flow -@Module -abstract class AConfigModule { - @Module - companion object { - @Provides - @SysUISingleton - fun providesImpl(): FeatureFlags { - return FeatureFlagsImpl() - } - } -} +fun Context.settingsGlobalChangeFlow(name: String, sendInitialValue: Boolean = true): Flow<Unit> = + settingsGlobalFlow(name, sendInitialValue) { } diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalFlow.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalFlow.kt new file mode 100644 index 000000000000..de5c558fea56 --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalFlow.kt @@ -0,0 +1,47 @@ +/* + * 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.spaprivileged.settingsprovider + +import android.content.Context +import android.database.ContentObserver +import android.os.Handler +import android.provider.Settings +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.callbackFlow +import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.flowOn + +internal fun <T> Context.settingsGlobalFlow( + name: String, + sendInitialValue: Boolean = true, + value: () -> T, +): Flow<T> = callbackFlow { + val contentObserver = object : ContentObserver(Handler.getMain()) { + override fun onChange(selfChange: Boolean) { + trySend(value()) + } + } + val uri = Settings.Global.getUriFor(name) + contentResolver.registerContentObserver(uri, false, contentObserver) + if (sendInitialValue) { + trySend(value()) + } + + awaitClose { contentResolver.unregisterContentObserver(contentObserver) } +}.conflate().flowOn(Dispatchers.Default) diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppList.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppList.kt index 066db3475b36..7c45b64233b2 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppList.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppList.kt @@ -36,7 +36,6 @@ import com.android.settingslib.spa.framework.compose.LifecycleEffect import com.android.settingslib.spa.framework.compose.LogCompositions import com.android.settingslib.spa.framework.compose.TimeMeasurer.Companion.rememberTimeMeasurer import com.android.settingslib.spa.framework.compose.rememberLazyListStateAndHideKeyboardWhenStartScroll -import com.android.settingslib.spa.framework.compose.toState import com.android.settingslib.spa.widget.ui.CategoryTitle import com.android.settingslib.spa.widget.ui.PlaceholderTitle import com.android.settingslib.spa.widget.ui.Spinner @@ -150,7 +149,7 @@ private fun <T : AppRecord> AppListModel<T>.AppListWidget( ?.let { group -> CategoryTitle(title = group) } val appEntry = list[it] - val summary = getSummary(option, appEntry.record) ?: "".toState() + val summary = getSummary(option, appEntry.record) ?: { "" } remember(appEntry) { AppListItemModel(appEntry.record, appEntry.label, summary) }.AppItem() diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListItem.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListItemModel.kt index 6d0d7d62bd5f..a7c5036200d1 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListItem.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListItemModel.kt @@ -17,11 +17,9 @@ package com.android.settingslib.spaprivileged.template.app import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview -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.preference.Preference @@ -31,7 +29,7 @@ import com.android.settingslib.spaprivileged.model.app.AppRecord data class AppListItemModel<T : AppRecord>( val record: T, val label: String, - val summary: State<String>, + val summary: () -> String, ) @Composable @@ -55,6 +53,6 @@ private fun AppListItemPreview() { val record = object : AppRecord { override val app = LocalContext.current.applicationInfo } - AppListItemModel<AppRecord>(record, "Chrome", "Allowed".toState()).AppListItem {} + AppListItemModel<AppRecord>(record, "Chrome", { "Allowed" }).AppListItem {} } } diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItem.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItem.kt index 155905be4261..36877af216c0 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItem.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItem.kt @@ -17,7 +17,6 @@ package com.android.settingslib.spaprivileged.template.app import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel @@ -25,8 +24,8 @@ import com.android.settingslib.spaprivileged.model.app.AppRecord @Composable fun <T : AppRecord> AppListItemModel<T>.AppListSwitchItem( - checked: State<Boolean?>, - changeable: State<Boolean>, + checked: () -> Boolean?, + changeable: () -> Boolean, onCheckedChange: ((newChecked: Boolean) -> Unit)?, ) { SwitchPreference( diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItem.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItem.kt index 99d38401829e..bea14c360238 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItem.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItem.kt @@ -17,7 +17,6 @@ package com.android.settingslib.spaprivileged.template.app import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference @@ -26,8 +25,8 @@ import com.android.settingslib.spaprivileged.model.app.AppRecord @Composable fun <T : AppRecord> AppListItemModel<T>.AppListTwoTargetSwitchItem( onClick: () -> Unit, - checked: State<Boolean?>, - changeable: State<Boolean>, + checked: () -> Boolean?, + changeable: () -> Boolean, onCheckedChange: ((newChecked: Boolean) -> Unit)?, ) { TwoTargetSwitchPreference( diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt index e9da88ed7e83..7bd7fbe0c526 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt @@ -22,11 +22,7 @@ import android.app.AppOpsManager.MODE_ERRORED import android.content.Context import android.content.pm.ApplicationInfo import androidx.compose.runtime.Composable -import androidx.compose.runtime.State -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.livedata.observeAsState -import androidx.compose.runtime.remember -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.framework.util.asyncMapItem import com.android.settingslib.spa.framework.util.filterItem import com.android.settingslib.spaprivileged.model.app.AppOpsController @@ -97,8 +93,9 @@ abstract class AppOpPermissionListModel( with(packageManagers) { AppOpPermissionRecord( app = app, - hasRequestBroaderPermission = - broaderPermission?.let { app.hasRequestPermission(it) } ?: false, + hasRequestBroaderPermission = broaderPermission?.let { + app.hasRequestPermission(it) + } ?: false, hasRequestPermission = hasRequestPermission, appOpsController = createAppOpsController(app), ) @@ -138,22 +135,19 @@ abstract class AppOpPermissionListModel( * (This means pre-M gets approval during install time; M apps gets approval during runtime). */ @Composable - override fun isAllowed(record: AppOpPermissionRecord): State<Boolean?> { + override fun isAllowed(record: AppOpPermissionRecord): () -> Boolean? { if (record.hasRequestBroaderPermission) { // Broader permission trumps the specific permission. - return stateOf(true) + return { true } } val mode = record.appOpsController.mode.observeAsState() - return remember { - derivedStateOf { - when (mode.value) { - null -> null - MODE_ALLOWED -> true - MODE_DEFAULT -> - with(packageManagers) { record.app.hasGrantPermission(permission) } - else -> false - } + return { + when (mode.value) { + null -> null + MODE_ALLOWED -> true + MODE_DEFAULT -> with(packageManagers) { record.app.hasGrantPermission(permission) } + else -> false } } } diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt index 62c5f70a63ac..3380b7db4cd0 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppInfoPage.kt @@ -22,9 +22,10 @@ import android.os.Bundle import androidx.annotation.VisibleForTesting import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.State +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.core.os.bundleOf @@ -165,14 +166,16 @@ private class TogglePermissionSwitchModel<T : AppRecord>( context: Context, private val listModel: TogglePermissionAppListModel<T>, private val record: T, - isAllowed: State<Boolean?>, + isAllowed: () -> Boolean?, ) : SwitchPreferenceModel { + private var appChangeable by mutableStateOf(true) + override val title: String = context.getString(listModel.switchTitleResId) override val checked = isAllowed - override val changeable = mutableStateOf(true) + override val changeable = { appChangeable } fun initState() { - changeable.value = listModel.isChangeable(record) + appChangeable = listModel.isChangeable(record) } override val onCheckedChange: (Boolean) -> Unit = { newChecked -> diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppList.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppList.kt index 1ab623076f0a..8704f20f5c4a 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppList.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppList.kt @@ -19,7 +19,6 @@ package com.android.settingslib.spaprivileged.template.app import android.content.Context import android.content.pm.ApplicationInfo import androidx.compose.runtime.Composable -import androidx.compose.runtime.State import com.android.settingslib.spa.framework.common.SettingsEntryBuilder import com.android.settingslib.spa.framework.common.SettingsPageProvider import com.android.settingslib.spa.framework.compose.rememberContext @@ -64,7 +63,7 @@ interface TogglePermissionAppListModel<T : AppRecord> { * Gets whether the permission is allowed for the given app. */ @Composable - fun isAllowed(record: T): State<Boolean?> + fun isAllowed(record: T): () -> Boolean? /** * Gets whether the permission on / off is changeable for the given app. diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPage.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPage.kt index 17e970845f58..785f77981872 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPage.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPage.kt @@ -20,8 +20,7 @@ import android.content.Context import android.content.pm.ApplicationInfo import android.os.Bundle import androidx.compose.runtime.Composable -import androidx.compose.runtime.State -import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource @@ -149,33 +148,27 @@ internal class TogglePermissionInternalAppListModel<T : AppRecord>( override fun getSummary(option: Int, record: T) = getSummary(record) @Composable - fun getSummary(record: T): State<String> { + fun getSummary(record: T): () -> String { val restrictions = remember(record.app.userId) { Restrictions( userId = record.app.userId, keys = listModel.switchRestrictionKeys, ) } - val restrictedMode = restrictionsProviderFactory.rememberRestrictedMode(restrictions) + val restrictedMode by restrictionsProviderFactory.rememberRestrictedMode(restrictions) val allowed = listModel.isAllowed(record) - return remember { - derivedStateOf { - RestrictedSwitchPreference.getSummary( - context = context, - restrictedMode = restrictedMode.value, - summaryIfNoRestricted = getSummaryIfNoRestricted(allowed), - checked = allowed, - ).value - } - } + return RestrictedSwitchPreference.getSummary( + context = context, + restrictedModeSupplier = { restrictedMode }, + summaryIfNoRestricted = { getSummaryIfNoRestricted(allowed()) }, + checked = allowed, + ) } - private fun getSummaryIfNoRestricted(allowed: State<Boolean?>) = derivedStateOf { - when (allowed.value) { - true -> context.getString(R.string.app_permission_summary_allowed) - false -> context.getString(R.string.app_permission_summary_not_allowed) - null -> context.getPlaceholder() - } + private fun getSummaryIfNoRestricted(allowed: Boolean?): String = when (allowed) { + true -> context.getString(R.string.app_permission_summary_allowed) + false -> context.getString(R.string.app_permission_summary_not_allowed) + null -> context.getPlaceholder() } @Composable diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedPreference.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedPreference.kt index 50490c0b887d..ac85dd4249f6 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedPreference.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedPreference.kt @@ -23,7 +23,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.semantics.Role -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spaprivileged.model.enterprise.BaseUserRestricted @@ -73,7 +72,7 @@ private class RestrictedPreferenceModel( override val enabled = when (restrictedMode) { NoRestricted -> model.enabled - else -> stateOf(false) + else -> ({ false }) } override val onClick = when (restrictedMode) { diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreference.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreference.kt index 2129403c2d85..e41976f79f8f 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreference.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreference.kt @@ -21,8 +21,6 @@ import androidx.annotation.VisibleForTesting import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.runtime.Composable -import androidx.compose.runtime.State -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -30,7 +28,6 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.toggleableState import androidx.compose.ui.state.ToggleableState -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder @@ -75,17 +72,16 @@ internal fun RestrictedSwitchPreference( internal object RestrictedSwitchPreference { fun getSummary( context: Context, - restrictedMode: RestrictedMode?, - summaryIfNoRestricted: State<String>, - checked: State<Boolean?>, - ): State<String> = when (restrictedMode) { - is NoRestricted -> summaryIfNoRestricted - is BaseUserRestricted -> stateOf( - context.getString(com.android.settingslib.R.string.disabled) - ) - - is BlockedByAdmin -> derivedStateOf { restrictedMode.getSummary(checked.value) } - null -> stateOf(context.getPlaceholder()) + restrictedModeSupplier: () -> RestrictedMode?, + summaryIfNoRestricted: () -> String, + checked: () -> Boolean?, + ): () -> String = { + when (val restrictedMode = restrictedModeSupplier()) { + is NoRestricted -> summaryIfNoRestricted() + is BaseUserRestricted -> context.getString(com.android.settingslib.R.string.disabled) + is BlockedByAdmin -> restrictedMode.getSummary(checked()) + null -> context.getPlaceholder() + } } } @@ -98,23 +94,23 @@ private class RestrictedSwitchPreferenceModel( override val summary = RestrictedSwitchPreference.getSummary( context = context, - restrictedMode = restrictedMode, + restrictedModeSupplier = { restrictedMode }, summaryIfNoRestricted = model.summary, checked = model.checked, ) override val checked = when (restrictedMode) { - null -> stateOf(null) + null -> ({ null }) is NoRestricted -> model.checked - is BaseUserRestricted -> stateOf(false) + is BaseUserRestricted -> ({ false }) is BlockedByAdmin -> model.checked } override val changeable = when (restrictedMode) { - null -> stateOf(false) + null -> ({ false }) is NoRestricted -> model.changeable - is BaseUserRestricted -> stateOf(false) - is BlockedByAdmin -> stateOf(false) + is BaseUserRestricted -> ({ false }) + is BlockedByAdmin -> ({ false }) } override val onCheckedChange = when (restrictedMode) { @@ -140,7 +136,7 @@ private class RestrictedSwitchPreferenceModel( onClick = { restrictedMode.sendShowAdminSupportDetailsIntent() }, ) .semantics { - this.toggleableState = ToggleableState(checked.value) + this.toggleableState = ToggleableState(checked()) }, ) { content() } } diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepositoryTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepositoryTest.kt new file mode 100644 index 000000000000..996c2d57c38a --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalBooleanRepositoryTest.kt @@ -0,0 +1,111 @@ +/* + * 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.spaprivileged.settingsprovider + +import android.content.Context +import android.provider.Settings +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull +import com.android.settingslib.spa.testutils.toListWithTimeout +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.async +import kotlinx.coroutines.delay +import kotlinx.coroutines.runBlocking +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class SettingsGlobalBooleanRepositoryTest { + + private val context: Context = ApplicationProvider.getApplicationContext() + + @Test + fun getValue_setTrue_returnTrue() { + Settings.Global.putInt(context.contentResolver, TEST_NAME, 1) + + val value by context.settingsGlobalBoolean(TEST_NAME) + + assertThat(value).isTrue() + } + + @Test + fun getValue_setFalse_returnFalse() { + Settings.Global.putInt(context.contentResolver, TEST_NAME, 0) + + val value by context.settingsGlobalBoolean(TEST_NAME) + + assertThat(value).isFalse() + } + + @Test + fun setValue_setTrue_returnTrue() { + var value by context.settingsGlobalBoolean(TEST_NAME) + + value = true + + assertThat(Settings.Global.getInt(context.contentResolver, TEST_NAME, 0)).isEqualTo(1) + } + + @Test + fun setValue_setFalse_returnFalse() { + var value by context.settingsGlobalBoolean(TEST_NAME) + + value = false + + assertThat(Settings.Global.getInt(context.contentResolver, TEST_NAME, 1)).isEqualTo(0) + } + + @Test + fun settingsGlobalBooleanFlow_valueNotChanged() = runBlocking { + var value by context.settingsGlobalBoolean(TEST_NAME) + value = false + + val flow = context.settingsGlobalBooleanFlow(TEST_NAME) + + assertThat(flow.firstWithTimeoutOrNull()).isFalse() + } + + @Test + fun settingsGlobalBooleanFlow_collectAfterValueChanged_onlyKeepLatest() = runBlocking { + var value by context.settingsGlobalBoolean(TEST_NAME) + value = false + + val flow = context.settingsGlobalBooleanFlow(TEST_NAME) + value = true + + assertThat(flow.firstWithTimeoutOrNull()).isTrue() + } + + @Test + fun settingsGlobalBooleanFlow_collectBeforeValueChanged_getBoth() = runBlocking { + var value by context.settingsGlobalBoolean(TEST_NAME) + value = false + + val listDeferred = async { + context.settingsGlobalBooleanFlow(TEST_NAME).toListWithTimeout() + } + delay(100) + value = true + + assertThat(listDeferred.await()).containsExactly(false, true).inOrder() + } + + private companion object { + const val TEST_NAME = "test_boolean_delegate" + } +} diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalChangeRepositoryTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalChangeRepositoryTest.kt new file mode 100644 index 000000000000..37e00e6f671b --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/settingsprovider/SettingsGlobalChangeRepositoryTest.kt @@ -0,0 +1,78 @@ +/* + * 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.spaprivileged.settingsprovider + +import android.content.Context +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull +import com.android.settingslib.spa.testutils.toListWithTimeout +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.async +import kotlinx.coroutines.delay +import kotlinx.coroutines.runBlocking +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class SettingsGlobalChangeRepositoryTest { + + private val context: Context = ApplicationProvider.getApplicationContext() + + @Test + fun settingsGlobalChangeFlow_sendInitialValueTrue() = runBlocking { + val flow = context.settingsGlobalChangeFlow(name = TEST_NAME, sendInitialValue = true) + + assertThat(flow.firstWithTimeoutOrNull()).isNotNull() + } + + @Test + fun settingsGlobalChangeFlow_sendInitialValueFalse() = runBlocking { + val flow = context.settingsGlobalChangeFlow(name = TEST_NAME, sendInitialValue = false) + + assertThat(flow.firstWithTimeoutOrNull()).isNull() + } + + @Test + fun settingsGlobalChangeFlow_collectAfterValueChanged_onlyKeepLatest() = runBlocking { + var value by context.settingsGlobalBoolean(TEST_NAME) + value = false + + val flow = context.settingsGlobalBooleanFlow(TEST_NAME) + value = true + + assertThat(flow.toListWithTimeout()).hasSize(1) + } + + @Test + fun settingsGlobalChangeFlow_collectBeforeValueChanged_getBoth() = runBlocking { + var value by context.settingsGlobalBoolean(TEST_NAME) + value = false + + val listDeferred = async { + context.settingsGlobalChangeFlow(TEST_NAME).toListWithTimeout() + } + delay(100) + value = true + + assertThat(listDeferred.await()).hasSize(2) + } + + private companion object { + const val TEST_NAME = "test_boolean_delegate" + } +} diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItemTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItemTest.kt index 2fd1b10dade8..73dd295de77b 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItemTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListSwitchItemTest.kt @@ -27,7 +27,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spaprivileged.model.app.AppRecord import com.google.common.truth.Truth.assertThat import org.junit.Rule @@ -43,8 +42,8 @@ class AppListSwitchItemTest { fun appLabel_displayed() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -56,8 +55,8 @@ class AppListSwitchItemTest { fun summary_displayed() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -69,8 +68,8 @@ class AppListSwitchItemTest { fun switch_checkIsNull() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -82,8 +81,8 @@ class AppListSwitchItemTest { fun switch_checked() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(true), - changeable = stateOf(false), + checked = { true }, + changeable = { false }, onCheckedChange = {}, ) } @@ -95,8 +94,8 @@ class AppListSwitchItemTest { fun switch_notChecked() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(false), - changeable = stateOf(false), + checked = { false }, + changeable = { false }, onCheckedChange = {}, ) } @@ -108,8 +107,8 @@ class AppListSwitchItemTest { fun switch_changeable() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(false), - changeable = stateOf(true), + checked = { false }, + changeable = { true }, onCheckedChange = {}, ) } @@ -121,8 +120,8 @@ class AppListSwitchItemTest { fun switch_notChangeable() { composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(false), - changeable = stateOf(false), + checked = { false }, + changeable = { false }, onCheckedChange = {}, ) } @@ -135,8 +134,8 @@ class AppListSwitchItemTest { var switchClicked = false composeTestRule.setContent { ITEM_MODEL.AppListSwitchItem( - checked = stateOf(false), - changeable = stateOf(true), + checked = { false }, + changeable = { true }, onCheckedChange = { switchClicked = true }, ) } @@ -158,7 +157,7 @@ class AppListSwitchItemTest { override val app = APP }, label = LABEL, - summary = stateOf(SUMMARY), + summary = { SUMMARY }, ) } } diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItemTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItemTest.kt index 6e7fc8e4416c..d3cfb2d71116 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItemTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppListTwoTargetSwitchItemTest.kt @@ -27,7 +27,6 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spaprivileged.model.app.AppRecord import com.google.common.truth.Truth.assertThat import org.junit.Rule @@ -44,8 +43,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -58,8 +57,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -73,8 +72,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = { titleClicked = true }, - checked = stateOf(false), - changeable = stateOf(false), + checked = { false }, + changeable = { false }, onCheckedChange = {}, ) } @@ -89,8 +88,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(null), - changeable = stateOf(false), + checked = { null }, + changeable = { false }, onCheckedChange = {}, ) } @@ -103,8 +102,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(true), - changeable = stateOf(false), + checked = { true }, + changeable = { false }, onCheckedChange = {}, ) } @@ -117,8 +116,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(false), - changeable = stateOf(false), + checked = { false }, + changeable = { false }, onCheckedChange = {}, ) } @@ -131,8 +130,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(false), - changeable = stateOf(true), + checked = { false }, + changeable = { true }, onCheckedChange = {}, ) } @@ -145,8 +144,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(false), - changeable = stateOf(false), + checked = { false }, + changeable = { false }, onCheckedChange = {}, ) } @@ -160,8 +159,8 @@ class AppListTwoTargetSwitchItemTest { composeTestRule.setContent { ITEM_MODEL.AppListTwoTargetSwitchItem( onClick = {}, - checked = stateOf(false), - changeable = stateOf(true), + checked = { false }, + changeable = { true }, onCheckedChange = { switchClicked = true }, ) } @@ -183,7 +182,7 @@ class AppListTwoTargetSwitchItemTest { override val app = APP }, label = LABEL, - summary = stateOf(SUMMARY), + summary = { SUMMARY }, ) } } diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt index eb2055f694e4..3b2fe0f5c16b 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt @@ -20,7 +20,6 @@ import android.app.AppOpsManager import android.content.Context import android.content.pm.ApplicationInfo import android.content.pm.PackageManager -import androidx.compose.runtime.State import androidx.compose.ui.test.junit4.createComposeRule import androidx.lifecycle.MutableLiveData import androidx.test.core.app.ApplicationProvider @@ -307,9 +306,9 @@ class AppOpPermissionAppListTest { } private fun getIsAllowed(record: AppOpPermissionRecord): Boolean? { - lateinit var isAllowedState: State<Boolean?> + lateinit var isAllowedState: () -> Boolean? composeTestRule.setContent { isAllowedState = listModel.isAllowed(record) } - return isAllowedState.value + return isAllowedState() } private inner class TestAppOpPermissionAppListModel : diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPageTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPageTest.kt index 457b810f2dec..bf0ad0b29072 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPageTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/TogglePermissionAppListPageTest.kt @@ -19,7 +19,6 @@ package com.android.settingslib.spaprivileged.template.app import android.content.Context import android.content.pm.ApplicationInfo import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.State import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.junit4.createComposeRule @@ -27,7 +26,6 @@ import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.testutils.FakeNavControllerWrapper import com.android.settingslib.spaprivileged.R import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder @@ -72,10 +70,9 @@ class TogglePermissionAppListPageTest { fakeRestrictionsProvider.restrictedMode = NoRestricted val listModel = TestTogglePermissionAppListModel(isAllowed = true) - val summaryState = getSummary(listModel) + val summary = getSummary(listModel) - assertThat(summaryState.value) - .isEqualTo(context.getString(R.string.app_permission_summary_allowed)) + assertThat(summary).isEqualTo(context.getString(R.string.app_permission_summary_allowed)) } @Test @@ -83,9 +80,9 @@ class TogglePermissionAppListPageTest { fakeRestrictionsProvider.restrictedMode = NoRestricted val listModel = TestTogglePermissionAppListModel(isAllowed = false) - val summaryState = getSummary(listModel) + val summary = getSummary(listModel) - assertThat(summaryState.value) + assertThat(summary) .isEqualTo(context.getString(R.string.app_permission_summary_not_allowed)) } @@ -94,9 +91,9 @@ class TogglePermissionAppListPageTest { fakeRestrictionsProvider.restrictedMode = NoRestricted val listModel = TestTogglePermissionAppListModel(isAllowed = null) - val summaryState = getSummary(listModel) + val summary = getSummary(listModel) - assertThat(summaryState.value).isEqualTo(context.getPlaceholder()) + assertThat(summary).isEqualTo(context.getPlaceholder()) } @Test @@ -108,7 +105,7 @@ class TogglePermissionAppListPageTest { AppListItemModel( record = listModel.transformItem(APP), label = LABEL, - summary = stateOf(SUMMARY), + summary = { SUMMARY }, ).AppItem() } } @@ -152,12 +149,12 @@ class TogglePermissionAppListPageTest { restrictionsProviderFactory = { _, _ -> fakeRestrictionsProvider }, ) - private fun getSummary(listModel: TestTogglePermissionAppListModel): State<String> { - lateinit var summary: State<String> + private fun getSummary(listModel: TestTogglePermissionAppListModel): String { + lateinit var summary: () -> String composeTestRule.setContent { summary = createInternalAppListModel(listModel).getSummary(record = TestAppRecord(APP)) } - return summary + return summary() } private companion object { diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreferenceTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreferenceTest.kt index a13c4835b5d5..00ba9b4d9836 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreferenceTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/preference/RestrictedSwitchPreferenceTest.kt @@ -49,8 +49,9 @@ class RestrictedSwitchPreferenceTest { private val switchPreferenceModel = object : SwitchPreferenceModel { override val title = TITLE - override val checked = mutableStateOf(true) - override val onCheckedChange: (Boolean) -> Unit = { checked.value = it } + private val checkedState = mutableStateOf(true) + override val checked = { checkedState.value } + override val onCheckedChange: (Boolean) -> Unit = { checkedState.value = it } } @Test diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/tests/testutils/TestTogglePermissionAppListModel.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/tests/testutils/TestTogglePermissionAppListModel.kt index 1bfc7ed637af..17903130a8a5 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/tests/testutils/TestTogglePermissionAppListModel.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/tests/testutils/TestTogglePermissionAppListModel.kt @@ -18,7 +18,9 @@ package com.android.settingslib.spaprivileged.tests.testutils import android.content.pm.ApplicationInfo import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListModel import com.android.settingslib.spaprivileged.test.R import kotlinx.coroutines.flow.Flow @@ -31,7 +33,7 @@ class TestTogglePermissionAppListModel( override val switchTitleResId = R.string.test_permission_switch_title override val footerResId = R.string.test_permission_footer - private val isAllowedState = mutableStateOf(isAllowed) + private var isAllowed by mutableStateOf(isAllowed) override fun transformItem(app: ApplicationInfo) = TestAppRecord(app = app) @@ -39,11 +41,11 @@ class TestTogglePermissionAppListModel( recordListFlow @Composable - override fun isAllowed(record: TestAppRecord) = isAllowedState + override fun isAllowed(record: TestAppRecord) = { isAllowed } override fun isChangeable(record: TestAppRecord) = isChangeable override fun setAllowed(record: TestAppRecord, newAllowed: Boolean) { - isAllowedState.value = newAllowed + isAllowed = newAllowed } } diff --git a/packages/SettingsLib/res/drawable/ic_hdmi.xml b/packages/SettingsLib/res/drawable/ic_hdmi.xml new file mode 100644 index 000000000000..c7a553bddb8c --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_hdmi.xml @@ -0,0 +1,26 @@ +<!-- + ~ 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. + --> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M320,880L320,760L200,521L200,280L240,280L240,140Q240,117 258.5,98.5Q277,80 300,80L660,80Q683,80 701.5,98.5Q720,117 720,140L720,280L760,280L760,521L640,760L640,880L320,880ZM300,280L398,280L398,198L432,198L432,280L528,280L528,198L562,198L562,280L660,280L660,140Q660,140 660,140Q660,140 660,140L300,140Q300,140 300,140Q300,140 300,140L300,280ZM378,743L378,743L582,743L582,743L582,743L378,743L378,743ZM378,743L582,743L700,504L700,340L260,340L260,504L378,743Z"/> +</vector> diff --git a/packages/SettingsLib/res/drawable/ic_tv.xml b/packages/SettingsLib/res/drawable/ic_tv.xml new file mode 100644 index 000000000000..87abaf42bd65 --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_tv.xml @@ -0,0 +1,26 @@ +<!-- + ~ 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. + --> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M320,840L320,760L160,760Q127,760 103.5,736.5Q80,713 80,680L80,200Q80,167 103.5,143.5Q127,120 160,120L800,120Q833,120 856.5,143.5Q880,167 880,200L880,680Q880,713 856.5,736.5Q833,760 800,760L640,760L640,840L320,840ZM160,680L800,680Q800,680 800,680Q800,680 800,680L800,200Q800,200 800,200Q800,200 800,200L160,200Q160,200 160,200Q160,200 160,200L160,680Q160,680 160,680Q160,680 160,680ZM160,680Q160,680 160,680Q160,680 160,680L160,200Q160,200 160,200Q160,200 160,200L160,200Q160,200 160,200Q160,200 160,200L160,680Q160,680 160,680Q160,680 160,680L160,680Z"/> +</vector>
\ No newline at end of file diff --git a/packages/SettingsLib/res/drawable/ic_usb.xml b/packages/SettingsLib/res/drawable/ic_usb.xml new file mode 100644 index 000000000000..b5f15eae3855 --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_usb.xml @@ -0,0 +1,26 @@ +<!-- + ~ 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. + --> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M480,880Q448,880 428,860Q408,840 408,808Q408,786 419,768Q430,750 450,739L450,628L302,628Q278,628 260,610Q242,592 242,568L242,459Q222,450 211,432.39Q200,414.78 200,392.28Q200,360 220,340Q240,320 272,320Q304,320 324,340Q344,360 344,392.41Q344,415 333,432.5Q322,450 302,459L302,568Q302,568 302,568Q302,568 302,568L450,568L450,228L370,228L480,79L590,228L510,228L510,568L658,568Q658,568 658,568Q658,568 658,568L658,464L616,464L616,320L760,320L760,464L718,464L718,568Q718,592 700,610Q682,628 658,628L510,628L510,739Q529.95,749.65 540.97,768.83Q552,788 552,808Q552,840 532,860Q512,880 480,880Z"/> +</vector>
\ No newline at end of file diff --git a/packages/SettingsLib/res/drawable/ic_wired_device.xml b/packages/SettingsLib/res/drawable/ic_wired_device.xml new file mode 100644 index 000000000000..7964c9f08d7e --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_wired_device.xml @@ -0,0 +1,25 @@ +<!-- + Copyright (C) 2020 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License + --> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportWidth="960" + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M123,920L123,750Q89,737 64.5,707.5Q40,678 40,643L40,245L123,245L123,70Q123,56 131,48Q139,40 153,40Q167,40 175,48Q183,56 183,70L183,245L266,245L266,643Q266,678 242,707.5Q218,737 183,750L183,920L123,920ZM450,920L450,750Q416,737 391.5,707.5Q367,678 367,643L367,245L450,245L450,70Q450,56 458,48Q466,40 480,40Q494,40 502,48Q510,56 510,70L510,245L593,245L593,643Q593,678 569,707.5Q545,737 510,750L510,920L450,920ZM777,920L777,750Q743,737 718.5,707.5Q694,678 694,643L694,245L777,245L777,70Q777,56 785,48Q793,40 807,40Q821,40 829,48Q837,56 837,70L837,245L920,245L920,643Q920,678 895.5,707.5Q871,737 837,750L837,920L777,920ZM100,489L206,489L206,305L100,305L100,489ZM427,489L533,489L533,305L427,305L427,489ZM754,489L860,489L860,305L754,305L754,489ZM153,489L153,489L153,489L153,489L153,489ZM480,489L480,489L480,489L480,489L480,489ZM807,489L807,489L807,489L807,489L807,489ZM100,489L100,489L206,489L206,489L100,489ZM427,489L427,489L533,489L533,489L427,489ZM754,489L754,489L860,489L860,489L754,489Z"/> +</vector>
\ No newline at end of file diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 96029c813528..1a5acf650cb4 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -1334,6 +1334,8 @@ <string name="media_transfer_this_device_name" product="default">This phone</string> <!-- Name of the tablet device. [CHAR LIMIT=30] --> <string name="media_transfer_this_device_name" product="tablet">This tablet</string> + <!-- Name of the default media output of the TV. [CHAR LIMIT=30] --> + <string name="media_transfer_this_device_name" product="tv">@string/tv_media_transfer_default</string> <!-- Name of the dock device. [CHAR LIMIT=30] --> <string name="media_transfer_dock_speaker_device_name">Dock speaker</string> <!-- Default name of the external device. [CHAR LIMIT=30] --> @@ -1357,6 +1359,26 @@ <!-- Sub status indicates the device does not support the current media track. [CHAR LIMIT=NONE] --> <string name="media_output_status_track_unsupported">Can\’t play this media here</string> + <!-- Media output switcher. Default subtitle for any output option that is connected if no more information is known [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_connected">Connected</string> + + <!-- TV media output switcher. Title for devices connected through HDMI ARC if no device name is available. [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_arc_fallback_title">HDMI ARC</string> + <!-- TV media output switcher. Title for devices connected through HDMI EARC if no device name is available. [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_earc_fallback_title">HDMI eARC</string> + + <!-- TV media output switcher. Subtitle for devices connected through HDMI ARC if a device name is available. [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_arc_subtitle">Connected via ARC</string> + <!-- Media output switcher. Subtitle for devices connected through HDMI EARC if a device name is available. [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_earc_subtitle">Connected via eARC</string> + + <!-- TV media output switcher. Title for the default audio output of the device [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_default">TV Default</string> + <!-- TV media output switcher. Subtitle for default audio output which is HDMI, e.g. TV dongle [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_hdmi">HDMI Output</string> + <!-- TV media output switcher. Subtitle for default audio output which is internal speaker, i.e. panel VTs [CHAR LIMIT=NONE] --> + <string name="tv_media_transfer_internal_speakers">Internal Speakers</string> + <!-- Warning message to tell user is have problem during profile connect, it need to turn off device and back on. [CHAR_LIMIT=NONE] --> <string name="profile_connect_timeout_subtext">Problem connecting. Turn device off & back on</string> diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java index 24083b682397..e9f4b5c8efc6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java @@ -1404,7 +1404,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> lowBatteryColorRes); } if (rightBattery >= 0) { - if (!spannableBuilder.isEmpty()) { + if (spannableBuilder.length() > 0) { spannableBuilder.append(" "); } String right = res.getString( diff --git a/packages/SettingsLib/src/com/android/settingslib/media/DeviceIconUtil.java b/packages/SettingsLib/src/com/android/settingslib/media/DeviceIconUtil.java index 2a2841745fa0..cf224dc3be5f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/DeviceIconUtil.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/DeviceIconUtil.java @@ -18,11 +18,13 @@ package com.android.settingslib.media; import android.annotation.DrawableRes; import android.content.Context; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.media.AudioDeviceInfo; import android.media.MediaRoute2Info; import com.android.settingslib.R; +import com.android.settingslib.media.flags.Flags; import java.util.Arrays; import java.util.HashMap; @@ -31,16 +33,25 @@ import java.util.Map; /** A util class to get the appropriate icon for different device types. */ public class DeviceIconUtil { + + // A default icon to use if the type is not present in the map. + @DrawableRes private static final int DEFAULT_ICON = R.drawable.ic_smartphone; + @DrawableRes private static final int DEFAULT_ICON_TV = R.drawable.ic_media_speaker_device; + // A map from a @AudioDeviceInfo.AudioDeviceType to full device information. private final Map<Integer, Device> mAudioDeviceTypeToIconMap = new HashMap<>(); // A map from a @MediaRoute2Info.Type to full device information. private final Map<Integer, Device> mMediaRouteTypeToIconMap = new HashMap<>(); - // A default icon to use if the type is not present in the map. - @DrawableRes private static final int DEFAULT_ICON = R.drawable.ic_smartphone; - public DeviceIconUtil() { - List<Device> deviceList = - Arrays.asList( + private final boolean mIsTv; + + public DeviceIconUtil(Context context) { + this(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)); + } + + public DeviceIconUtil(boolean isTv) { + mIsTv = isTv && Flags.enableTvMediaOutputDialog(); + List<Device> deviceList = Arrays.asList( new Device( AudioDeviceInfo.TYPE_USB_DEVICE, MediaRoute2Info.TYPE_USB_DEVICE, @@ -52,7 +63,7 @@ public class DeviceIconUtil { new Device( AudioDeviceInfo.TYPE_USB_ACCESSORY, MediaRoute2Info.TYPE_USB_ACCESSORY, - R.drawable.ic_headphone), + mIsTv ? R.drawable.ic_usb : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_DOCK, MediaRoute2Info.TYPE_DOCK, @@ -60,29 +71,27 @@ public class DeviceIconUtil { new Device( AudioDeviceInfo.TYPE_HDMI, MediaRoute2Info.TYPE_HDMI, - R.drawable.ic_headphone), - // TODO: b/306359110 - Put proper iconography for HDMI_ARC type. + mIsTv ? R.drawable.ic_tv : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_HDMI_ARC, MediaRoute2Info.TYPE_HDMI_ARC, - R.drawable.ic_headphone), - // TODO: b/306359110 - Put proper iconography for HDMI_EARC type. + mIsTv ? R.drawable.ic_hdmi : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_HDMI_EARC, MediaRoute2Info.TYPE_HDMI_EARC, - R.drawable.ic_headphone), + mIsTv ? R.drawable.ic_hdmi : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_WIRED_HEADSET, MediaRoute2Info.TYPE_WIRED_HEADSET, - R.drawable.ic_headphone), + mIsTv ? R.drawable.ic_wired_device : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_WIRED_HEADPHONES, MediaRoute2Info.TYPE_WIRED_HEADPHONES, - R.drawable.ic_headphone), + mIsTv ? R.drawable.ic_wired_device : R.drawable.ic_headphone), new Device( AudioDeviceInfo.TYPE_BUILTIN_SPEAKER, MediaRoute2Info.TYPE_BUILTIN_SPEAKER, - R.drawable.ic_smartphone)); + mIsTv ? R.drawable.ic_tv : R.drawable.ic_smartphone)); for (int i = 0; i < deviceList.size(); i++) { Device device = deviceList.get(i); mAudioDeviceTypeToIconMap.put(device.mAudioDeviceType, device); @@ -90,6 +99,10 @@ public class DeviceIconUtil { } } + private int getDefaultIcon() { + return mIsTv ? DEFAULT_ICON_TV : DEFAULT_ICON; + } + /** Returns a drawable for an icon representing the given audioDeviceType. */ public Drawable getIconFromAudioDeviceType( @AudioDeviceInfo.AudioDeviceType int audioDeviceType, Context context) { @@ -103,7 +116,7 @@ public class DeviceIconUtil { if (mAudioDeviceTypeToIconMap.containsKey(audioDeviceType)) { return mAudioDeviceTypeToIconMap.get(audioDeviceType).mIconDrawableRes; } - return DEFAULT_ICON; + return getDefaultIcon(); } /** Returns a drawable res ID for an icon representing the given mediaRouteType. */ @@ -113,7 +126,7 @@ public class DeviceIconUtil { if (mMediaRouteTypeToIconMap.containsKey(mediaRouteType)) { return mMediaRouteTypeToIconMap.get(mediaRouteType).mIconDrawableRes; } - return DEFAULT_ICON; + return getDefaultIcon(); } private static class Device { diff --git a/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java index c44f66e99d00..80eeab56cc45 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java @@ -28,15 +28,24 @@ import static android.media.MediaRoute2Info.TYPE_WIRED_HEADSET; import static com.android.settingslib.media.MediaDevice.SelectionBehavior.SELECTION_BEHAVIOR_TRANSFER; +import android.Manifest; import android.annotation.NonNull; import android.content.Context; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; +import android.hardware.hdmi.HdmiControlManager; +import android.hardware.hdmi.HdmiDeviceInfo; +import android.hardware.hdmi.HdmiPortInfo; import android.media.MediaRoute2Info; import android.media.RouteListingPreference; +import android.util.Log; import androidx.annotation.VisibleForTesting; import com.android.settingslib.R; +import com.android.settingslib.media.flags.Flags; + +import java.util.List; /** * PhoneMediaDevice extends MediaDevice to represents Phone device. @@ -58,6 +67,7 @@ public class PhoneMediaDevice extends MediaDevice { public static String getSystemRouteNameFromType( @NonNull Context context, @NonNull MediaRoute2Info routeInfo) { CharSequence name; + boolean isTv = isTv(context); switch (routeInfo.getType()) { case TYPE_WIRED_HEADSET: case TYPE_WIRED_HEADPHONES: @@ -73,9 +83,32 @@ public class PhoneMediaDevice extends MediaDevice { name = context.getString(R.string.media_transfer_this_device_name); break; case TYPE_HDMI: + name = context.getString(isTv ? R.string.tv_media_transfer_default : + R.string.media_transfer_external_device_name); + break; case TYPE_HDMI_ARC: + if (isTv) { + String deviceName = getHdmiOutDeviceName(context); + if (deviceName != null) { + name = deviceName; + } else { + name = context.getString(R.string.tv_media_transfer_arc_fallback_title); + } + } else { + name = context.getString(R.string.media_transfer_external_device_name); + } + break; case TYPE_HDMI_EARC: - name = context.getString(R.string.media_transfer_external_device_name); + if (isTv) { + String deviceName = getHdmiOutDeviceName(context); + if (deviceName != null) { + name = deviceName; + } else { + name = context.getString(R.string.tv_media_transfer_arc_fallback_title); + } + } else { + name = context.getString(R.string.media_transfer_external_device_name); + } break; default: name = context.getString(R.string.media_transfer_default_device_name); @@ -94,10 +127,15 @@ public class PhoneMediaDevice extends MediaDevice { String packageName, RouteListingPreference.Item item) { super(context, info, packageName, item); - mDeviceIconUtil = new DeviceIconUtil(); + mDeviceIconUtil = new DeviceIconUtil(mContext); initDeviceRecord(); } + static boolean isTv(Context context) { + return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK) + && Flags.enableTvMediaOutputDialog(); + } + // MediaRoute2Info.getType was made public on API 34, but exists since API 30. @SuppressWarnings("NewApi") @Override @@ -111,9 +149,64 @@ public class PhoneMediaDevice extends MediaDevice { return SELECTION_BEHAVIOR_TRANSFER; } + private static String getHdmiOutDeviceName(Context context) { + HdmiControlManager hdmiControlManager; + if (context.checkCallingOrSelfPermission(Manifest.permission.HDMI_CEC) + == PackageManager.PERMISSION_GRANTED) { + hdmiControlManager = context.getSystemService(HdmiControlManager.class); + } else { + Log.w(TAG, "Could not get HDMI device name, android.permission.HDMI_CEC denied"); + return null; + } + + HdmiPortInfo hdmiOutputPortInfo = null; + for (HdmiPortInfo hdmiPortInfo : hdmiControlManager.getPortInfo()) { + if (hdmiPortInfo.getType() == HdmiPortInfo.PORT_OUTPUT) { + hdmiOutputPortInfo = hdmiPortInfo; + break; + } + } + if (hdmiOutputPortInfo == null) { + return null; + } + List<HdmiDeviceInfo> connectedDevices = hdmiControlManager.getConnectedDevices(); + for (HdmiDeviceInfo deviceInfo : connectedDevices) { + if (deviceInfo.getPortId() == hdmiOutputPortInfo.getId()) { + String deviceName = deviceInfo.getDisplayName(); + if (deviceName != null && !deviceName.isEmpty()) { + return deviceName; + } + } + } + return null; + } + @Override public String getSummary() { - return mSummary; + if (!isTv(mContext)) { + return mSummary; + } + switch (mRouteInfo.getType()) { + case TYPE_BUILTIN_SPEAKER: + return mContext.getString(R.string.tv_media_transfer_internal_speakers); + case TYPE_HDMI: + return mContext.getString(R.string.tv_media_transfer_hdmi); + case TYPE_HDMI_ARC: + if (getHdmiOutDeviceName(mContext) == null) { + // Connection type is already part of the title. + return mContext.getString(R.string.tv_media_transfer_connected); + } + return mContext.getString(R.string.tv_media_transfer_arc_subtitle); + case TYPE_HDMI_EARC: + if (getHdmiOutDeviceName(mContext) == null) { + // Connection type is already part of the title. + return mContext.getString(R.string.tv_media_transfer_connected); + } + return mContext.getString(R.string.tv_media_transfer_earc_subtitle); + default: + return null; + } + } @Override diff --git a/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java b/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java index 848b177c821f..61c8ee786dbe 100644 --- a/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java +++ b/packages/SettingsLib/src/com/android/settingslib/users/AvatarPickerActivity.java @@ -25,6 +25,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -138,7 +139,8 @@ public class AvatarPickerActivity extends Activity { private String getFileAuthority() { String authority = getIntent().getStringExtra(EXTRA_FILE_AUTHORITY); if (authority == null) { - throw new IllegalStateException("File authority must be provided"); + Log.e(this.getClass().getName(), "File authority must be provided"); + finish(); } return authority; } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/DeviceIconUtilTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/DeviceIconUtilTest.java index 72dfc1733275..5669276a0424 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/DeviceIconUtilTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/DeviceIconUtilTest.java @@ -20,131 +20,309 @@ import static com.google.common.truth.Truth.assertThat; import android.media.AudioDeviceInfo; import android.media.MediaRoute2Info; +import android.platform.test.flag.junit.SetFlagsRule; import com.android.settingslib.R; +import com.android.settingslib.media.flags.Flags; +import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @RunWith(RobolectricTestRunner.class) public class DeviceIconUtilTest { - private final DeviceIconUtil mDeviceIconUtil = new DeviceIconUtil(); + + @Rule + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + + @Before + public void setup() { + mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TV_MEDIA_OUTPUT_DIALOG); + } @Test public void getIconResIdFromMediaRouteType_usbDevice_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_DEVICE)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_DEVICE)) + .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_DEVICE)) + .isEqualTo(R.drawable.ic_headphone); } @Test public void getIconResIdFromMediaRouteType_usbHeadset_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_HEADSET)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); } @Test public void getIconResIdFromMediaRouteType_usbAccessory_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_ACCESSORY)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_ACCESSORY)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_usbAccessory_isUsb() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_USB_ACCESSORY)) + .isEqualTo(R.drawable.ic_usb); + } + + @Test + public void getIconResIdFromMediaRouteType_dock_isDock() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_DOCK)) + .isEqualTo(R.drawable.ic_dock_device); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_DOCK)) + .isEqualTo(R.drawable.ic_dock_device); + } + + @Test + public void getIconResIdFromMediaRouteType_hdmi() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_hdmi_isTv() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI)) + .isEqualTo(R.drawable.ic_tv); + } + + @Test + public void getIconResIdFromMediaRouteType_hdmiArc_isHeadphone() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI_ARC)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_hdmiArc_isHdmi() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI_ARC)) + .isEqualTo(R.drawable.ic_hdmi); } @Test - public void getIconResIdFromMediaRouteType_dock_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_DOCK)) - .isEqualTo(R.drawable.ic_headphone); + public void getIconResIdFromMediaRouteType_hdmiEarc_isHeadphone() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI_EARC)) + .isEqualTo(R.drawable.ic_headphone); } @Test - public void getIconResIdFromMediaRouteType_hdmi_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI)) - .isEqualTo(R.drawable.ic_headphone); + public void getIconResIdFromMediaRouteType_tv_hdmiEarc_isHdmi() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_HDMI_EARC)) + .isEqualTo(R.drawable.ic_hdmi); } @Test public void getIconResIdFromMediaRouteType_wiredHeadset_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADSET)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_wiredHeadset_isWiredDevice() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADSET)) + .isEqualTo(R.drawable.ic_wired_device); } @Test public void getIconResIdFromMediaRouteType_wiredHeadphones_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADPHONES)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADPHONES)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_wiredHeadphones_isWiredDevice() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_WIRED_HEADPHONES)) + .isEqualTo(R.drawable.ic_wired_device); } @Test public void getIconResIdFromMediaRouteType_builtinSpeaker_isSmartphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_BUILTIN_SPEAKER)) - .isEqualTo(R.drawable.ic_smartphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_BUILTIN_SPEAKER)) + .isEqualTo(R.drawable.ic_smartphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_builtinSpeaker_isTv() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_BUILTIN_SPEAKER)) + .isEqualTo(R.drawable.ic_tv); } @Test public void getIconResIdFromMediaRouteType_unsupportedType_isSmartphone() { - assertThat(mDeviceIconUtil.getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_UNKNOWN)) - .isEqualTo(R.drawable.ic_smartphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_UNKNOWN)) + .isEqualTo(R.drawable.ic_smartphone); + } + + @Test + public void getIconResIdFromMediaRouteType_tv_unsupportedType_isSpeaker() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromMediaRouteType(MediaRoute2Info.TYPE_UNKNOWN)) + .isEqualTo(R.drawable.ic_media_speaker_device); } @Test public void getIconResIdFromAudioDeviceType_usbDevice_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_DEVICE)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_DEVICE)) + .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_DEVICE)) + .isEqualTo(R.drawable.ic_headphone); } @Test public void getIconResIdFromAudioDeviceType_usbHeadset_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_HEADSET)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); } @Test public void getIconResIdFromAudioDeviceType_usbAccessory_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_ACCESSORY)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_ACCESSORY)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_usbAccessory_isUsb() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_USB_ACCESSORY)) + .isEqualTo(R.drawable.ic_usb); } @Test - public void getIconResIdFromAudioDeviceType_dock_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_DOCK)) - .isEqualTo(R.drawable.ic_headphone); + public void getIconResIdFromAudioDeviceType_dock_isDock() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_DOCK)) + .isEqualTo(R.drawable.ic_dock_device); + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_DOCK)) + .isEqualTo(R.drawable.ic_dock_device); } @Test public void getIconResIdFromAudioDeviceType_hdmi_isHeadphone() { - assertThat(mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_hdmi_isTv() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI)) + .isEqualTo(R.drawable.ic_tv); + } + + @Test + public void getIconResIdFromAudioDeviceType_hdmiArc_isHeadphone() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI_ARC)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_hdmiArc_isHdmi() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI_ARC)) + .isEqualTo(R.drawable.ic_hdmi); + } + + @Test + public void getIconResIdFromAudioDeviceType_hdmiEarc_isHeadphone() { + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI_EARC)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_hdmiEarc() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_HDMI_EARC)) + .isEqualTo(R.drawable.ic_hdmi); } @Test public void getIconResIdFromAudioDeviceType_wiredHeadset_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADSET)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADSET)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_wiredHeadset_isWiredDevice() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADSET)) + .isEqualTo(R.drawable.ic_wired_device); } @Test public void getIconResIdFromAudioDeviceType_wiredHeadphones_isHeadphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADPHONES)) - .isEqualTo(R.drawable.ic_headphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADPHONES)) + .isEqualTo(R.drawable.ic_headphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_wiredHeadphones_isWiredDevice() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_WIRED_HEADPHONES)) + .isEqualTo(R.drawable.ic_wired_device); } @Test public void getIconResIdFromAudioDeviceType_builtinSpeaker_isSmartphone() { - assertThat( - mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_BUILTIN_SPEAKER)) - .isEqualTo(R.drawable.ic_smartphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_BUILTIN_SPEAKER)) + .isEqualTo(R.drawable.ic_smartphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_builtinSpeaker_isTv() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_BUILTIN_SPEAKER)) + .isEqualTo(R.drawable.ic_tv); } @Test public void getIconResIdFromAudioDeviceType_unsupportedType_isSmartphone() { - assertThat(mDeviceIconUtil.getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_UNKNOWN)) - .isEqualTo(R.drawable.ic_smartphone); + assertThat(new DeviceIconUtil(/* isTv */ false) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_UNKNOWN)) + .isEqualTo(R.drawable.ic_smartphone); + } + + @Test + public void getIconResIdFromAudioDeviceType_tv_unsupportedType_isSpeaker() { + assertThat(new DeviceIconUtil(/* isTv */ true) + .getIconResIdFromAudioDeviceType(AudioDeviceInfo.TYPE_UNKNOWN)) + .isEqualTo(R.drawable.ic_media_speaker_device); } } diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index 4c9436b4e151..89a8dd95d3c3 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -327,4 +327,12 @@ <!-- Whether wifi is always requested by default. --> <bool name="def_enable_wifi_always_requested">false</bool> + + <!-- Default for Settings.BATTERY_CHARGING_STATE_UPDATE_DELAY in millisecond. + -1 means system internal default value is used. --> + <integer name="def_battery_charging_state_update_delay_ms">-1</integer> + + <!-- Default for Settings.BATTERY_CHARGING_STATE_ENFORCE_LEVEL. + -1 means system internal default value is used. --> + <integer name="def_battery_charging_state_enforce_level">-1</integer> </resources> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 785003a355fc..b0abf92ffe08 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -3792,7 +3792,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 223; + private static final int SETTINGS_VERSION = 224; private final int mUserId; @@ -5965,8 +5965,23 @@ public class SettingsProvider extends ContentProvider { // Do nothing. Leave the value as is. } } + } + + currentVersion = 223; - currentVersion = 223; + // Version 223: make charging constraint update criteria customizable. + if (currentVersion == 223) { + initGlobalSettingsDefaultValLocked( + Global.BATTERY_CHARGING_STATE_UPDATE_DELAY, + getContext().getResources().getInteger( + R.integer.def_battery_charging_state_update_delay_ms)); + + initGlobalSettingsDefaultValLocked( + Global.BATTERY_CHARGING_STATE_ENFORCE_LEVEL, + getContext().getResources().getInteger( + R.integer.def_battery_charging_state_enforce_level) + ); + currentVersion = 224; } // vXXX: Add new settings above this point. diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 1f171ba48343..2e174e267bde 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -145,6 +145,7 @@ public class SettingsBackupTest { Settings.Global.AUTOFILL_MAX_VISIBLE_DATASETS, Settings.Global.AUTO_TIME_ZONE_EXPLICIT, Settings.Global.AVERAGE_TIME_TO_DISCHARGE, + Settings.Global.BATTERY_CHARGING_STATE_ENFORCE_LEVEL, Settings.Global.BATTERY_CHARGING_STATE_UPDATE_DELAY, Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME, Settings.Global.BROADCAST_BG_CONSTANTS, diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 89c6ecc4630b..88abf694b208 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -165,6 +165,7 @@ android_library { "SystemUI-statsd", "SettingsLib", "com_android_systemui_flags_lib", + "com_android_systemui_shared_flags_lib", "androidx.core_core-ktx", "androidx.viewpager2_viewpager2", "androidx.legacy_legacy-support-v4", @@ -443,6 +444,7 @@ android_library { "SystemUI-statsd", "SettingsLib", "com_android_systemui_flags_lib", + "com_android_systemui_shared_flags_lib", "flag-junit-base", "androidx.viewpager2_viewpager2", "androidx.legacy_legacy-support-v4", diff --git a/packages/SystemUI/aconfig/Android.bp b/packages/SystemUI/aconfig/Android.bp index dc4208e87207..e842967e6150 100644 --- a/packages/SystemUI/aconfig/Android.bp +++ b/packages/SystemUI/aconfig/Android.bp @@ -1,3 +1,31 @@ +// +// 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. +// + +/** + * These flags are meant only for internal use in SystemUI and its variants. + * For shared, cross-process flags, see //frameworks/libs/systemui/aconfig + */ + +package { + default_visibility: [ + "//visibility:override", + "//frameworks/base/packages/SystemUI:__subpackages__", + ], +} + aconfig_declarations { name: "com_android_systemui_flags", package: "com.android.systemui", diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig index c27491107ad5..069ba6cd02aa 100644 --- a/packages/SystemUI/aconfig/systemui.aconfig +++ b/packages/SystemUI/aconfig/systemui.aconfig @@ -53,6 +53,14 @@ flag { } flag { + name: "keyguard_bottom_area_refactor" + namespace: "systemui" + description: "Bottom area of keyguard refactor move into KeyguardRootView. Includes " + "lock icon and others." + bug: "290652751" +} + +flag { name: "visual_interruptions_refactor" namespace: "systemui" description: "Enables the refactored version of the code to decide when notifications " @@ -66,3 +74,11 @@ flag { description: "Adds haptic feedback to the brightness slider." bug: "296467915" } + +flag { + name: "keyguard_shade_migration_nssl" + namespace: "systemui" + description: "Moves NSSL into a shared element between the notification_panel and " + "keyguard_root_view." + bug: "278054201" +} diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt index f2b7b3290f96..56970d7e3005 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt @@ -19,6 +19,7 @@ package com.android.systemui.bouncer.ui.composable import android.app.AlertDialog import android.app.Dialog import android.content.DialogInterface +import android.content.res.Configuration import androidx.compose.animation.Crossfade import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.snap @@ -50,6 +51,7 @@ import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text +import androidx.compose.material3.windowsizeclass.WindowHeightSizeClass import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -63,6 +65,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.stringResource @@ -136,7 +139,7 @@ private fun SceneScope.BouncerScene( modifier: Modifier = Modifier, ) { val backgroundColor = MaterialTheme.colorScheme.surface - val windowSizeClass = LocalWindowSizeClass.current + val layout = calculateLayout() Box(modifier) { Canvas(Modifier.element(Bouncer.Elements.Background).fillMaxSize()) { @@ -146,22 +149,30 @@ private fun SceneScope.BouncerScene( val childModifier = Modifier.element(Bouncer.Elements.Content).fillMaxSize() val isFullScreenUserSwitcherEnabled = viewModel.isUserSwitcherVisible - when { - windowSizeClass.widthSizeClass == WindowWidthSizeClass.Expanded -> + when (layout) { + Layout.STANDARD -> + Bouncer( + viewModel = viewModel, + dialogFactory = dialogFactory, + isUserInputAreaVisible = true, + modifier = childModifier, + ) + Layout.SIDE_BY_SIDE -> SideBySide( viewModel = viewModel, dialogFactory = dialogFactory, + isUserSwitcherVisible = isFullScreenUserSwitcherEnabled, modifier = childModifier, ) - isFullScreenUserSwitcherEnabled && - windowSizeClass.widthSizeClass == WindowWidthSizeClass.Medium -> + Layout.STACKED -> Stacked( viewModel = viewModel, dialogFactory = dialogFactory, + isUserSwitcherVisible = isFullScreenUserSwitcherEnabled, modifier = childModifier, ) - else -> - Bouncer( + Layout.SPLIT -> + Split( viewModel = viewModel, dialogFactory = dialogFactory, modifier = childModifier, @@ -178,11 +189,10 @@ private fun SceneScope.BouncerScene( private fun Bouncer( viewModel: BouncerViewModel, dialogFactory: BouncerSceneDialogFactory, + isUserInputAreaVisible: Boolean, modifier: Modifier = Modifier, ) { val message: BouncerViewModel.MessageViewModel by viewModel.message.collectAsState() - val authMethodViewModel: AuthMethodBouncerViewModel? by - viewModel.authMethodViewModel.collectAsState() val dialogMessage: String? by viewModel.throttlingDialogMessage.collectAsState() var dialog: Dialog? by remember { mutableStateOf(null) } @@ -204,25 +214,11 @@ private fun Bouncer( } Box(Modifier.weight(1f)) { - when (val nonNullViewModel = authMethodViewModel) { - is PinBouncerViewModel -> - PinBouncer( - viewModel = nonNullViewModel, - modifier = Modifier.align(Alignment.Center), - ) - is PasswordBouncerViewModel -> - PasswordBouncer( - viewModel = nonNullViewModel, - modifier = Modifier.align(Alignment.Center), - ) - is PatternBouncerViewModel -> - PatternBouncer( - viewModel = nonNullViewModel, - modifier = - Modifier.aspectRatio(1f, matchHeightConstraintsFirst = false) - .align(Alignment.BottomCenter), - ) - else -> Unit + if (isUserInputAreaVisible) { + UserInputArea( + viewModel = viewModel, + modifier = Modifier.align(Alignment.Center), + ) } } @@ -265,6 +261,40 @@ private fun Bouncer( } } +/** + * Renders the user input area, where the user interacts with the UI to enter their credentials. + * + * For example, this can be the pattern input area, the password text box, or pin pad. + */ +@Composable +private fun UserInputArea( + viewModel: BouncerViewModel, + modifier: Modifier = Modifier, +) { + val authMethodViewModel: AuthMethodBouncerViewModel? by + viewModel.authMethodViewModel.collectAsState() + + when (val nonNullViewModel = authMethodViewModel) { + is PinBouncerViewModel -> + PinBouncer( + viewModel = nonNullViewModel, + modifier = modifier, + ) + is PasswordBouncerViewModel -> + PasswordBouncer( + viewModel = nonNullViewModel, + modifier = modifier, + ) + is PatternBouncerViewModel -> + PatternBouncer( + viewModel = nonNullViewModel, + modifier = + Modifier.aspectRatio(1f, matchHeightConstraintsFirst = false).then(modifier) + ) + else -> Unit + } +} + /** Renders the UI of the user switcher that's displayed on large screens next to the bouncer UI. */ @Composable private fun UserSwitcher( @@ -287,62 +317,57 @@ private fun UserSwitcher( ) } - UserSwitcherDropdown( - items = dropdownItems, - ) - } -} - -@Composable -private fun UserSwitcherDropdown( - items: List<BouncerViewModel.UserSwitcherDropdownItemViewModel>, -) { - val (isDropdownExpanded, setDropdownExpanded) = remember { mutableStateOf(false) } - - items.firstOrNull()?.let { firstDropdownItem -> - Spacer(modifier = Modifier.height(40.dp)) + val (isDropdownExpanded, setDropdownExpanded) = remember { mutableStateOf(false) } + + dropdownItems.firstOrNull()?.let { firstDropdownItem -> + Spacer(modifier = Modifier.height(40.dp)) + + Box { + PlatformButton( + modifier = + Modifier + // Remove the built-in padding applied inside PlatformButton: + .padding(vertical = 0.dp) + .width(UserSwitcherDropdownWidth) + .height(UserSwitcherDropdownHeight), + colors = + ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.surfaceContainerHighest, + contentColor = MaterialTheme.colorScheme.onSurface, + ), + onClick = { setDropdownExpanded(!isDropdownExpanded) }, + ) { + val context = LocalContext.current + Text( + text = checkNotNull(firstDropdownItem.text.loadText(context)), + style = MaterialTheme.typography.headlineSmall, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) - Box { - PlatformButton( - modifier = - Modifier - // Remove the built-in padding applied inside PlatformButton: - .padding(vertical = 0.dp) - .width(UserSwitcherDropdownWidth) - .height(UserSwitcherDropdownHeight), - colors = - ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.surfaceContainerHighest, - contentColor = MaterialTheme.colorScheme.onSurface, - ), - onClick = { setDropdownExpanded(!isDropdownExpanded) }, - ) { - val context = LocalContext.current - Text( - text = checkNotNull(firstDropdownItem.text.loadText(context)), - style = MaterialTheme.typography.headlineSmall, - maxLines = 1, - overflow = TextOverflow.Ellipsis, - ) + Spacer(modifier = Modifier.weight(1f)) - Spacer(modifier = Modifier.weight(1f)) + Icon( + imageVector = Icons.Default.KeyboardArrowDown, + contentDescription = null, + modifier = Modifier.size(32.dp), + ) + } - Icon( - imageVector = Icons.Default.KeyboardArrowDown, - contentDescription = null, - modifier = Modifier.size(32.dp), + UserSwitcherDropdownMenu( + isExpanded = isDropdownExpanded, + items = dropdownItems, + onDismissed = { setDropdownExpanded(false) }, ) } - - UserSwitcherDropdownMenu( - isExpanded = isDropdownExpanded, - items = items, - onDismissed = { setDropdownExpanded(false) }, - ) } } } +/** + * Renders the dropdowm menu that displays the actual users and/or user actions that can be + * selected. + */ @Composable private fun UserSwitcherDropdownMenu( isExpanded: Boolean, @@ -396,19 +421,47 @@ private fun UserSwitcherDropdownMenu( } /** - * Arranges the bouncer contents and user switcher contents side-by-side, supporting a double tap - * anywhere on the background to flip their positions. + * Renders the bouncer UI in split mode, with half on one side and half on the other side, swappable + * by double-tapping on the side. */ @Composable -private fun SideBySide( +private fun Split( viewModel: BouncerViewModel, dialogFactory: BouncerSceneDialogFactory, modifier: Modifier = Modifier, ) { + SwappableLayout( + startContent = { startContentModifier -> + Bouncer( + viewModel = viewModel, + dialogFactory = dialogFactory, + isUserInputAreaVisible = false, + modifier = startContentModifier, + ) + }, + endContent = { endContentModifier -> + UserInputArea( + viewModel = viewModel, + modifier = endContentModifier, + ) + }, + modifier = modifier + ) +} + +/** + * Arranges the given two contents side-by-side, supporting a double tap anywhere on the background + * to flip their positions. + */ +@Composable +private fun SwappableLayout( + startContent: @Composable (Modifier) -> Unit, + endContent: @Composable (Modifier) -> Unit, + modifier: Modifier = Modifier, +) { val layoutDirection = LocalLayoutDirection.current val isLeftToRight = layoutDirection == LayoutDirection.Ltr - val (isUserSwitcherFirst, setUserSwitcherFirst) = - rememberSaveable(isLeftToRight) { mutableStateOf(isLeftToRight) } + val (isSwapped, setSwapped) = rememberSaveable(isLeftToRight) { mutableStateOf(!isLeftToRight) } Row( modifier = @@ -416,9 +469,8 @@ private fun SideBySide( detectTapGestures( onDoubleTap = { offset -> // Depending on where the user double tapped, switch the elements such that - // the bouncer contents element is closer to the side that was double - // tapped. - setUserSwitcherFirst(offset.x > size.width / 2) + // the endContent is closer to the side that was double tapped. + setSwapped(offset.x < size.width / 2) } ) }, @@ -426,39 +478,30 @@ private fun SideBySide( val animatedOffset by animateFloatAsState( targetValue = - if (isUserSwitcherFirst) { - // When the user switcher is first, both elements have their natural - // placement so they are not offset in any way. + if (!isSwapped) { + // When startContent is first, both elements have their natural placement so + // they are not offset in any way. 0f } else if (isLeftToRight) { - // Since the user switcher is not first, the elements have to be swapped - // horizontally. In the case of LTR locales, this means pushing the user - // switcher to the right, hence the positive number. + // Since startContent is not first, the elements have to be swapped + // horizontally. In the case of LTR locales, this means pushing startContent + // to the right, hence the positive number. 1f } else { - // Since the user switcher is not first, the elements have to be swapped - // horizontally. In the case of RTL locale, this means pushing the user - // switcher to the left, hence the negative number. + // Since startContent is not first, the elements have to be swapped + // horizontally. In the case of RTL locales, this means pushing startContent + // to the left, hence the negative number. -1f }, label = "offset", ) - val userSwitcherModifier = + startContent( Modifier.fillMaxHeight().weight(1f).graphicsLayer { translationX = size.width * animatedOffset alpha = animatedAlpha(animatedOffset) } - if (viewModel.isUserSwitcherVisible) { - UserSwitcher( - viewModel = viewModel, - modifier = userSwitcherModifier, - ) - } else { - Box( - modifier = userSwitcherModifier, - ) - } + ) Box( modifier = @@ -469,41 +512,124 @@ private fun SideBySide( alpha = animatedAlpha(animatedOffset) } ) { + endContent(Modifier.widthIn(max = 400.dp).align(Alignment.BottomCenter)) + } + } +} + +/** + * Arranges the bouncer contents and user switcher contents side-by-side, supporting a double tap + * anywhere on the background to flip their positions. + */ +@Composable +private fun SideBySide( + viewModel: BouncerViewModel, + dialogFactory: BouncerSceneDialogFactory, + isUserSwitcherVisible: Boolean, + modifier: Modifier = Modifier, +) { + SwappableLayout( + startContent = { startContentModifier -> + if (isUserSwitcherVisible) { + UserSwitcher( + viewModel = viewModel, + modifier = startContentModifier, + ) + } else { + Box( + modifier = startContentModifier, + ) + } + }, + endContent = { endContentModifier -> Bouncer( viewModel = viewModel, dialogFactory = dialogFactory, - modifier = Modifier.widthIn(max = 400.dp).align(Alignment.BottomCenter), + isUserInputAreaVisible = true, + modifier = endContentModifier, ) - } - } + }, + modifier = modifier, + ) } -/** Arranges the bouncer contents and user switcher contents one on top of the other. */ +/** Arranges the bouncer contents and user switcher contents one on top of the other, vertically. */ @Composable private fun Stacked( viewModel: BouncerViewModel, dialogFactory: BouncerSceneDialogFactory, + isUserSwitcherVisible: Boolean, modifier: Modifier = Modifier, ) { Column( modifier = modifier, ) { - UserSwitcher( - viewModel = viewModel, - modifier = Modifier.fillMaxWidth().weight(1f), - ) + if (isUserSwitcherVisible) { + UserSwitcher( + viewModel = viewModel, + modifier = Modifier.fillMaxWidth().weight(1f), + ) + } + Bouncer( viewModel = viewModel, dialogFactory = dialogFactory, + isUserInputAreaVisible = true, modifier = Modifier.fillMaxWidth().weight(1f), ) } } +@Composable +private fun calculateLayout(): Layout { + val windowSizeClass = LocalWindowSizeClass.current + val width = windowSizeClass.widthSizeClass + val height = windowSizeClass.heightSizeClass + val isLarge = width > WindowWidthSizeClass.Compact && height > WindowHeightSizeClass.Compact + val isTall = + when (height) { + WindowHeightSizeClass.Expanded -> width < WindowWidthSizeClass.Expanded + WindowHeightSizeClass.Medium -> width < WindowWidthSizeClass.Medium + else -> false + } + val isSquare = + when (width) { + WindowWidthSizeClass.Compact -> height == WindowHeightSizeClass.Compact + WindowWidthSizeClass.Medium -> height == WindowHeightSizeClass.Medium + WindowWidthSizeClass.Expanded -> height == WindowHeightSizeClass.Expanded + else -> false + } + val isLandscape = LocalConfiguration.current.orientation == Configuration.ORIENTATION_LANDSCAPE + + return when { + // Small and tall devices (i.e. phone/folded in portrait) or square device not in landscape + // mode (unfolded with hinge along horizontal plane). + (!isLarge && isTall) || (isSquare && !isLandscape) -> Layout.STANDARD + // Small and wide devices (i.e. phone/folded in landscape). + !isLarge -> Layout.SPLIT + // Large and tall devices (i.e. tablet in portrait). + isTall -> Layout.STACKED + // Large and wide/square devices (i.e. tablet in landscape, unfolded). + else -> Layout.SIDE_BY_SIDE + } +} + interface BouncerSceneDialogFactory { operator fun invoke(): AlertDialog } +/** Enumerates all known adaptive layout configurations. */ +private enum class Layout { + /** The default UI with the bouncer laid out normally. */ + STANDARD, + /** The bouncer is displayed vertically stacked with the user switcher. */ + STACKED, + /** The bouncer is displayed side-by-side with the user switcher or an empty space. */ + SIDE_BY_SIDE, + /** The bouncer is split in two with both sides shown side-by-side. */ + SPLIT, +} + /** * Calculates an alpha for the user switcher and bouncer such that it's at `1` when the offset of * the two reaches a stopping point but `0` in the middle of the transition. diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt index 46d418a03c00..37804682ed98 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt @@ -14,6 +14,7 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -29,12 +30,9 @@ import com.android.compose.animation.scene.SceneScope import com.android.compose.animation.scene.SceneTransitionLayout import com.android.compose.animation.scene.Swipe import com.android.compose.animation.scene.transitions +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.communal.ui.viewmodel.CommunalViewModel - -object Scenes { - val Blank = SceneKey(name = "blank") - val Communal = SceneKey(name = "communal") -} +import kotlinx.coroutines.flow.transform object Communal { object Elements { @@ -43,7 +41,7 @@ object Communal { } val sceneTransitions = transitions { - from(Scenes.Blank, to = Scenes.Communal) { + from(TransitionSceneKey.Blank, to = TransitionSceneKey.Communal) { spec = tween(durationMillis = 500) translate(Communal.Elements.Content, Edge.Right) @@ -58,8 +56,14 @@ val sceneTransitions = transitions { * handling and transitions before the full Flexiglass layout is ready. */ @Composable -fun CommunalContainer(modifier: Modifier = Modifier, viewModel: CommunalViewModel) { - val (currentScene, setCurrentScene) = remember { mutableStateOf(Scenes.Blank) } +fun CommunalContainer( + modifier: Modifier = Modifier, + viewModel: CommunalViewModel, +) { + val currentScene: SceneKey by + viewModel.currentScene + .transform<CommunalSceneKey, SceneKey> { value -> value.toTransitionSceneKey() } + .collectAsState(TransitionSceneKey.Blank) // Failsafe to hide the whole SceneTransitionLayout in case of bugginess. var showSceneTransitionLayout by remember { mutableStateOf(true) } @@ -70,16 +74,19 @@ fun CommunalContainer(modifier: Modifier = Modifier, viewModel: CommunalViewMode SceneTransitionLayout( modifier = modifier.fillMaxSize(), currentScene = currentScene, - onChangeScene = setCurrentScene, + onChangeScene = { sceneKey -> viewModel.onSceneChanged(sceneKey.toCommunalSceneKey()) }, transitions = sceneTransitions, ) { - scene(Scenes.Blank, userActions = mapOf(Swipe.Left to Scenes.Communal)) { + scene( + TransitionSceneKey.Blank, + userActions = mapOf(Swipe.Left to TransitionSceneKey.Communal) + ) { BlankScene { showSceneTransitionLayout = false } } scene( - Scenes.Communal, - userActions = mapOf(Swipe.Right to Scenes.Blank), + TransitionSceneKey.Communal, + userActions = mapOf(Swipe.Right to TransitionSceneKey.Blank), ) { CommunalScene(viewModel, modifier = modifier) } @@ -121,3 +128,17 @@ private fun SceneScope.CommunalScene( ) { Box(modifier.element(Communal.Elements.Content)) { CommunalHub(viewModel = viewModel) } } + +// TODO(b/293899074): Remove these conversions once Compose can be used throughout SysUI. +object TransitionSceneKey { + val Blank = CommunalSceneKey.Blank.toTransitionSceneKey() + val Communal = CommunalSceneKey.Communal.toTransitionSceneKey() +} + +fun CommunalSceneKey.toTransitionSceneKey(): SceneKey { + return SceneKey(name = toString(), identity = this) +} + +fun SceneKey.toCommunalSceneKey(): CommunalSceneKey { + return this.identity as CommunalSceneKey +} diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt index 2e93a09deb30..0da562bcb3bb 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt @@ -161,7 +161,8 @@ private fun SceneTransitionObservableTransitionState.toModel(): ObservableTransi fromScene = fromScene.toModel().key, toScene = toScene.toModel().key, progress = progress, - isUserInputDriven = isUserInputDriven, + isInitiatedByUserInput = isInitiatedByUserInput, + isUserInputOngoing = isUserInputOngoing, ) } } diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateToScene.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateToScene.kt index 88944f10eab9..199832bc4ab6 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateToScene.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/AnimateToScene.kt @@ -108,7 +108,7 @@ private fun CoroutineScope.animate( ) { val fromScene = layoutImpl.state.transitionState.currentScene val isUserInput = - (layoutImpl.state.transitionState as? TransitionState.Transition)?.isUserInputDriven + (layoutImpl.state.transitionState as? TransitionState.Transition)?.isInitiatedByUserInput ?: false val animationSpec = layoutImpl.transitions.transitionSpec(fromScene, target).spec @@ -119,9 +119,23 @@ private fun CoroutineScope.animate( val targetProgress = if (reversed) 0f else 1f val transition = if (reversed) { - OneOffTransition(target, fromScene, currentScene = target, isUserInput, animatable) + OneOffTransition( + fromScene = target, + toScene = fromScene, + currentScene = target, + isInitiatedByUserInput = isUserInput, + isUserInputOngoing = false, + animatable = animatable, + ) } else { - OneOffTransition(fromScene, target, currentScene = target, isUserInput, animatable) + OneOffTransition( + fromScene = fromScene, + toScene = target, + currentScene = target, + isInitiatedByUserInput = isUserInput, + isUserInputOngoing = false, + animatable = animatable, + ) } // Change the current layout state to use this new transition. @@ -142,7 +156,8 @@ private class OneOffTransition( override val fromScene: SceneKey, override val toScene: SceneKey, override val currentScene: SceneKey, - override val isUserInputDriven: Boolean, + override val isInitiatedByUserInput: Boolean, + override val isUserInputOngoing: Boolean, private val animatable: Animatable<Float, AnimationVector1D>, ) : TransitionState.Transition { override val progress: Float diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/EdgeDetector.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/EdgeDetector.kt new file mode 100644 index 000000000000..82d4239d7eb5 --- /dev/null +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/EdgeDetector.kt @@ -0,0 +1,75 @@ +/* + * 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.compose.animation.scene + +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.IntOffset +import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.unit.dp + +interface EdgeDetector { + /** + * Return the [Edge] associated to [position] inside a layout of size [layoutSize], given + * [density] and [orientation]. + */ + fun edge( + layoutSize: IntSize, + position: IntOffset, + density: Density, + orientation: Orientation, + ): Edge? +} + +val DefaultEdgeDetector = FixedSizeEdgeDetector(40.dp) + +/** An [EdgeDetector] that detects edges assuming a fixed edge size of [size]. */ +class FixedSizeEdgeDetector(val size: Dp) : EdgeDetector { + override fun edge( + layoutSize: IntSize, + position: IntOffset, + density: Density, + orientation: Orientation, + ): Edge? { + val axisSize: Int + val axisPosition: Int + val topOrLeft: Edge + val bottomOrRight: Edge + when (orientation) { + Orientation.Horizontal -> { + axisSize = layoutSize.width + axisPosition = position.x + topOrLeft = Edge.Left + bottomOrRight = Edge.Right + } + Orientation.Vertical -> { + axisSize = layoutSize.height + axisPosition = position.y + topOrLeft = Edge.Top + bottomOrRight = Edge.Bottom + } + } + + val sizePx = with(density) { size.toPx() } + return when { + axisPosition <= sizePx -> topOrLeft + axisPosition >= axisSize - sizePx -> bottomOrRight + else -> null + } + } +} diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/GestureHandler.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/GestureHandler.kt index d005413fcbcf..ae7d8f599b91 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/GestureHandler.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/GestureHandler.kt @@ -2,7 +2,6 @@ package com.android.compose.animation.scene import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.nestedscroll.NestedScrollConnection -import kotlinx.coroutines.CoroutineScope interface GestureHandler { val draggable: DraggableHandler @@ -10,9 +9,9 @@ interface GestureHandler { } interface DraggableHandler { - suspend fun onDragStarted(coroutineScope: CoroutineScope, startedPosition: Offset) + fun onDragStarted(startedPosition: Offset, pointersDown: Int = 1) fun onDelta(pixels: Float) - suspend fun onDragStopped(coroutineScope: CoroutineScope, velocity: Float) + fun onDragStopped(velocity: Float) } interface NestedScrollHandler { diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt new file mode 100644 index 000000000000..97d3fff48b23 --- /dev/null +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt @@ -0,0 +1,191 @@ +/* + * 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.compose.animation.scene + +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.foundation.gestures.awaitEachGesture +import androidx.compose.foundation.gestures.awaitFirstDown +import androidx.compose.foundation.gestures.awaitHorizontalTouchSlopOrCancellation +import androidx.compose.foundation.gestures.awaitVerticalTouchSlopOrCancellation +import androidx.compose.foundation.gestures.horizontalDrag +import androidx.compose.foundation.gestures.verticalDrag +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.input.pointer.PointerEventPass +import androidx.compose.ui.input.pointer.PointerId +import androidx.compose.ui.input.pointer.PointerInputChange +import androidx.compose.ui.input.pointer.PointerInputScope +import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.input.pointer.positionChange +import androidx.compose.ui.input.pointer.util.VelocityTracker +import androidx.compose.ui.input.pointer.util.addPointerInputChange +import androidx.compose.ui.platform.LocalViewConfiguration +import androidx.compose.ui.unit.Velocity +import androidx.compose.ui.util.fastForEach + +/** + * Make an element draggable in the given [orientation]. + * + * The main difference with [multiPointerDraggable] and + * [androidx.compose.foundation.gestures.draggable] is that [onDragStarted] also receives the number + * of pointers that are down when the drag is started. If you don't need this information, you + * should use `draggable` instead. + * + * Note that the current implementation is trivial: we wait for the touch slope on the *first* down + * pointer, then we count the number of distinct pointers that are down right before calling + * [onDragStarted]. This means that the drag won't start when a first pointer is down (but not + * dragged) and a second pointer is down and dragged. This is an implementation detail that might + * change in the future. + */ +// TODO(b/291055080): Migrate to the Modifier.Node API. +@Composable +internal fun Modifier.multiPointerDraggable( + orientation: Orientation, + enabled: Boolean, + startDragImmediately: Boolean, + onDragStarted: (startedPosition: Offset, pointersDown: Int) -> Unit, + onDragDelta: (Float) -> Unit, + onDragStopped: (velocity: Float) -> Unit, +): Modifier { + val onDragStarted by rememberUpdatedState(onDragStarted) + val onDragStopped by rememberUpdatedState(onDragStopped) + val onDragDelta by rememberUpdatedState(onDragDelta) + val startDragImmediately by rememberUpdatedState(startDragImmediately) + + val velocityTracker = remember { VelocityTracker() } + val maxFlingVelocity = + LocalViewConfiguration.current.maximumFlingVelocity.let { max -> + val maxF = max.toFloat() + Velocity(maxF, maxF) + } + + return this.pointerInput(enabled, orientation, maxFlingVelocity) { + if (!enabled) { + return@pointerInput + } + + val onDragStart: (Offset, Int) -> Unit = { startedPosition, pointersDown -> + velocityTracker.resetTracking() + onDragStarted(startedPosition, pointersDown) + } + + val onDragCancel: () -> Unit = { onDragStopped(/* velocity= */ 0f) } + + val onDragEnd: () -> Unit = { + val velocity = velocityTracker.calculateVelocity(maxFlingVelocity) + onDragStopped( + when (orientation) { + Orientation.Horizontal -> velocity.x + Orientation.Vertical -> velocity.y + } + ) + } + + val onDrag: (change: PointerInputChange, dragAmount: Float) -> Unit = { change, amount -> + velocityTracker.addPointerInputChange(change) + onDragDelta(amount) + } + + detectDragGestures( + orientation = orientation, + startDragImmediately = { startDragImmediately }, + onDragStart = onDragStart, + onDragEnd = onDragEnd, + onDragCancel = onDragCancel, + onDrag = onDrag, + ) + } +} + +/** + * Detect drag gestures in the given [orientation]. + * + * This function is a mix of [androidx.compose.foundation.gestures.awaitDownAndSlop] and + * [androidx.compose.foundation.gestures.detectVerticalDragGestures] to add support for: + * 1) starting the gesture immediately without requiring a drag >= touch slope; + * 2) passing the number of pointers down to [onDragStart]. + */ +private suspend fun PointerInputScope.detectDragGestures( + orientation: Orientation, + startDragImmediately: () -> Boolean, + onDragStart: (startedPosition: Offset, pointersDown: Int) -> Unit, + onDragEnd: () -> Unit, + onDragCancel: () -> Unit, + onDrag: (change: PointerInputChange, dragAmount: Float) -> Unit, +) { + awaitEachGesture { + val initialDown = awaitFirstDown(requireUnconsumed = false, pass = PointerEventPass.Initial) + var overSlop = 0f + val drag = + if (startDragImmediately()) { + initialDown.consume() + initialDown + } else { + val down = awaitFirstDown(requireUnconsumed = false) + val onSlopReached = { change: PointerInputChange, over: Float -> + change.consume() + overSlop = over + } + + // TODO(b/291055080): Replace by await[Orientation]PointerSlopOrCancellation once + // it is public. + when (orientation) { + Orientation.Horizontal -> + awaitHorizontalTouchSlopOrCancellation(down.id, onSlopReached) + Orientation.Vertical -> + awaitVerticalTouchSlopOrCancellation(down.id, onSlopReached) + } + } + + if (drag != null) { + // Count the number of pressed pointers. + val pressed = mutableSetOf<PointerId>() + currentEvent.changes.fastForEach { change -> + if (change.pressed) { + pressed.add(change.id) + } + } + + onDragStart(drag.position, pressed.size) + onDrag(drag, overSlop) + + val successful = + when (orientation) { + Orientation.Horizontal -> + horizontalDrag(drag.id) { + onDrag(it, it.positionChange().x) + it.consume() + } + Orientation.Vertical -> + verticalDrag(drag.id) { + onDrag(it, it.positionChange().y) + it.consume() + } + } + + if (successful) { + onDragEnd() + } else { + onDragCancel() + } + } + } +} diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt index ccdec6ea8c5e..1b79dbdee510 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt @@ -52,7 +52,14 @@ sealed class ObservableTransitionState { * scene, this value will remain true after the pointer is no longer touching the screen and * will be true in any transition created to animate back to the original position. */ - val isUserInputDriven: Boolean, + val isInitiatedByUserInput: Boolean, + + /** + * Whether user input is currently driving the transition. For example, if a user is + * dragging a pointer, this emits true. Once they lift their finger, this emits false while + * the transition completes/settles. + */ + val isUserInputOngoing: Flow<Boolean>, ) : ObservableTransitionState() } @@ -73,7 +80,8 @@ fun SceneTransitionLayoutState.observableTransitionState(): Flow<ObservableTrans fromScene = state.fromScene, toScene = state.toScene, progress = snapshotFlow { state.progress }, - isUserInputDriven = state.isUserInputDriven, + isInitiatedByUserInput = state.isInitiatedByUserInput, + isUserInputOngoing = snapshotFlow { state.isUserInputOngoing }, ) } } diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Scene.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Scene.kt index 9c799b282571..3fd6828fca6b 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Scene.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/Scene.kt @@ -16,7 +16,6 @@ package com.android.compose.animation.scene -import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.layout.Box import androidx.compose.runtime.Composable import androidx.compose.runtime.State @@ -101,19 +100,3 @@ private class SceneScopeImpl( MovableElement(layoutImpl, scene, key, modifier, content) } } - -/** The destination scene when swiping up or left from [upOrLeft]. */ -internal fun Scene.upOrLeft(orientation: Orientation): SceneKey? { - return when (orientation) { - Orientation.Vertical -> userActions[Swipe.Up] - Orientation.Horizontal -> userActions[Swipe.Left] - } -} - -/** The destination scene when swiping down or right from [downOrRight]. */ -internal fun Scene.downOrRight(orientation: Orientation): SceneKey? { - return when (orientation) { - Orientation.Vertical -> userActions[Swipe.Down] - Orientation.Horizontal -> userActions[Swipe.Right] - } -} diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt index 74e66d2a9949..1f38e70799c3 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt @@ -16,6 +16,7 @@ package com.android.compose.animation.scene +import androidx.compose.foundation.gestures.Orientation import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.remember @@ -37,6 +38,7 @@ import androidx.compose.ui.platform.LocalDensity * instance by triggering back navigation or by swiping to a new scene. * @param transitions the definition of the transitions used to animate a change of scene. * @param state the observable state of this layout. + * @param edgeDetector the edge detector used to detect which edge a swipe is started from, if any. * @param scenes the configuration of the different scenes of this layout. */ @Composable @@ -46,6 +48,7 @@ fun SceneTransitionLayout( transitions: SceneTransitions, modifier: Modifier = Modifier, state: SceneTransitionLayoutState = remember { SceneTransitionLayoutState(currentScene) }, + edgeDetector: EdgeDetector = DefaultEdgeDetector, scenes: SceneTransitionLayoutScope.() -> Unit, ) { val density = LocalDensity.current @@ -56,15 +59,17 @@ fun SceneTransitionLayout( transitions, state, density, + edgeDetector, ) } layoutImpl.onChangeScene = onChangeScene layoutImpl.transitions = transitions layoutImpl.density = density + layoutImpl.edgeDetector = edgeDetector + layoutImpl.setScenes(scenes) layoutImpl.setCurrentScene(currentScene) - layoutImpl.Content(modifier) } @@ -191,9 +196,9 @@ data class Swipe( } } -enum class SwipeDirection { - Up, - Down, - Left, - Right, +enum class SwipeDirection(val orientation: Orientation) { + Up(Orientation.Vertical), + Down(Orientation.Vertical), + Left(Orientation.Horizontal), + Right(Orientation.Horizontal), } diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt index a40b29991877..fd6265999b07 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutImpl.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.layout.LookaheadScope import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.IntSize -import com.android.compose.ui.util.fastForEach +import androidx.compose.ui.util.fastForEach import kotlinx.coroutines.channels.Channel @VisibleForTesting @@ -47,6 +47,7 @@ class SceneTransitionLayoutImpl( transitions: SceneTransitions, internal val state: SceneTransitionLayoutState, density: Density, + edgeDetector: EdgeDetector, ) { internal val scenes = SnapshotStateMap<SceneKey, Scene>() internal val elements = SnapshotStateMap<ElementKey, Element>() @@ -57,6 +58,7 @@ class SceneTransitionLayoutImpl( internal var onChangeScene by mutableStateOf(onChangeScene) internal var transitions by mutableStateOf(transitions) internal var density: Density by mutableStateOf(density) + internal var edgeDetector by mutableStateOf(edgeDetector) /** * The size of this layout. Note that this could be [IntSize.Zero] if this layour does not have diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt index 7a21211c3dde..b9f83c545122 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayoutState.kt @@ -70,6 +70,9 @@ sealed interface TransitionState { val progress: Float /** Whether the transition was triggered by user input rather than being programmatic. */ - val isUserInputDriven: Boolean + val isInitiatedByUserInput: Boolean + + /** Whether user input is currently driving the transition. */ + val isUserInputOngoing: Boolean } } diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt index 75dcb2e44c13..b163a2a96039 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitions.kt @@ -21,6 +21,8 @@ import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.snap import androidx.compose.ui.geometry.Offset import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.util.fastForEach +import androidx.compose.ui.util.fastMap import com.android.compose.animation.scene.transformation.AnchoredSize import com.android.compose.animation.scene.transformation.AnchoredTranslate import com.android.compose.animation.scene.transformation.EdgeTranslate @@ -32,8 +34,6 @@ import com.android.compose.animation.scene.transformation.ScaleSize import com.android.compose.animation.scene.transformation.SharedElementTransformation import com.android.compose.animation.scene.transformation.Transformation import com.android.compose.animation.scene.transformation.Translate -import com.android.compose.ui.util.fastForEach -import com.android.compose.ui.util.fastMap /** The transitions configuration of a [SceneTransitionLayout]. */ class SceneTransitions( diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SwipeToScene.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SwipeToScene.kt index 2dc53ab8bf76..877ac095af4e 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SwipeToScene.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SwipeToScene.kt @@ -22,8 +22,6 @@ import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.foundation.gestures.Orientation -import androidx.compose.foundation.gestures.draggable -import androidx.compose.foundation.gestures.rememberDraggableState import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue @@ -37,6 +35,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.unit.Velocity import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.round import com.android.compose.nestedscroll.PriorityNestedScrollConnection import kotlin.math.absoluteValue import kotlinx.coroutines.CoroutineScope @@ -55,7 +54,7 @@ internal fun Modifier.swipeToScene( /** Whether swipe should be enabled in the given [orientation]. */ fun Scene.shouldEnableSwipes(orientation: Orientation): Boolean = - upOrLeft(orientation) != null || downOrRight(orientation) != null + userActions.keys.any { it is Swipe && it.direction.orientation == orientation } val currentScene = gestureHandler.currentScene val canSwipe = currentScene.shouldEnableSwipes(orientation) @@ -68,8 +67,7 @@ internal fun Modifier.swipeToScene( ) return nestedScroll(connection = gestureHandler.nestedScroll.connection) - .draggable( - state = rememberDraggableState(onDelta = gestureHandler.draggable::onDelta), + .multiPointerDraggable( orientation = orientation, enabled = gestureHandler.isDrivingTransition || canSwipe, // Immediately start the drag if this our [transition] is currently animating to a scene @@ -80,6 +78,7 @@ internal fun Modifier.swipeToScene( gestureHandler.isAnimatingOffset && !canOppositeSwipe, onDragStarted = gestureHandler.draggable::onDragStarted, + onDragDelta = gestureHandler.draggable::onDelta, onDragStopped = gestureHandler.draggable::onDragStopped, ) } @@ -159,7 +158,7 @@ class SceneGestureHandler( internal var gestureWithPriority: Any? = null - internal fun onDragStarted() { + internal fun onDragStarted(pointersDown: Int, startedPosition: Offset?) { if (isDrivingTransition) { // This [transition] was already driving the animation: simply take over it. // Stop animating and start from where the current offset. @@ -199,6 +198,48 @@ class SceneGestureHandler( Orientation.Vertical -> layoutImpl.size.height }.toFloat() + val fromEdge = + startedPosition?.let { position -> + layoutImpl.edgeDetector.edge( + layoutImpl.size, + position.round(), + layoutImpl.density, + orientation, + ) + } + + swipeTransition.actionUpOrLeft = + Swipe( + direction = + when (orientation) { + Orientation.Horizontal -> SwipeDirection.Left + Orientation.Vertical -> SwipeDirection.Up + }, + pointerCount = pointersDown, + fromEdge = fromEdge, + ) + + swipeTransition.actionDownOrRight = + Swipe( + direction = + when (orientation) { + Orientation.Horizontal -> SwipeDirection.Right + Orientation.Vertical -> SwipeDirection.Down + }, + pointerCount = pointersDown, + fromEdge = fromEdge, + ) + + if (fromEdge == null) { + swipeTransition.actionUpOrLeftNoEdge = null + swipeTransition.actionDownOrRightNoEdge = null + } else { + swipeTransition.actionUpOrLeftNoEdge = + (swipeTransition.actionUpOrLeft as Swipe).copy(fromEdge = null) + swipeTransition.actionDownOrRightNoEdge = + (swipeTransition.actionDownOrRight as Swipe).copy(fromEdge = null) + } + if (swipeTransition.absoluteDistance > 0f) { transitionState = swipeTransition } @@ -246,11 +287,11 @@ class SceneGestureHandler( // to the next screen or go back to the previous one. val offset = swipeTransition.dragOffset val absoluteDistance = swipeTransition.absoluteDistance - if (offset <= -absoluteDistance && fromScene.upOrLeft(orientation) == toScene.key) { + if (offset <= -absoluteDistance && swipeTransition.upOrLeft(fromScene) == toScene.key) { swipeTransition.dragOffset += absoluteDistance swipeTransition._fromScene = toScene } else if ( - offset >= absoluteDistance && fromScene.downOrRight(orientation) == toScene.key + offset >= absoluteDistance && swipeTransition.downOrRight(fromScene) == toScene.key ) { swipeTransition.dragOffset -= absoluteDistance swipeTransition._fromScene = toScene @@ -266,27 +307,21 @@ class SceneGestureHandler( ) private fun Scene.findTargetSceneAndDistance(directionOffset: Float): TargetScene { - val maxDistance = - when (orientation) { - Orientation.Horizontal -> layoutImpl.size.width - Orientation.Vertical -> layoutImpl.size.height - }.toFloat() - - val upOrLeft = upOrLeft(orientation) - val downOrRight = downOrRight(orientation) + val upOrLeft = swipeTransition.upOrLeft(this) + val downOrRight = swipeTransition.downOrRight(this) // Compute the target scene depending on the current offset. return when { directionOffset < 0f && upOrLeft != null -> { TargetScene( sceneKey = upOrLeft, - distance = -maxDistance, + distance = -swipeTransition.absoluteDistance, ) } directionOffset > 0f && downOrRight != null -> { TargetScene( sceneKey = downOrRight, - distance = maxDistance, + distance = swipeTransition.absoluteDistance, ) } else -> { @@ -473,7 +508,7 @@ class SceneGestureHandler( return offset / distance } - override val isUserInputDriven = true + override val isInitiatedByUserInput = true /** The current offset caused by the drag gesture. */ var dragOffset by mutableFloatStateOf(0f) @@ -484,6 +519,10 @@ class SceneGestureHandler( */ var isAnimatingOffset by mutableStateOf(false) + // If we are not animating offset, it means the offset is being driven by the user's finger. + override val isUserInputOngoing: Boolean + get() = !isAnimatingOffset + /** The animatable used to animate the offset once the user lifted its finger. */ val offsetAnimatable = Animatable(0f, OffsetVisibilityThreshold) @@ -516,6 +555,22 @@ class SceneGestureHandler( var _distance by mutableFloatStateOf(0f) val distance: Float get() = _distance + + /** The [UserAction]s associated to this swipe. */ + var actionUpOrLeft: UserAction = Back + var actionDownOrRight: UserAction = Back + var actionUpOrLeftNoEdge: UserAction? = null + var actionDownOrRightNoEdge: UserAction? = null + + fun upOrLeft(scene: Scene): SceneKey? { + return scene.userActions[actionUpOrLeft] + ?: actionUpOrLeftNoEdge?.let { scene.userActions[it] } + } + + fun downOrRight(scene: Scene): SceneKey? { + return scene.userActions[actionDownOrRight] + ?: actionDownOrRightNoEdge?.let { scene.userActions[it] } + } } companion object { @@ -526,9 +581,9 @@ class SceneGestureHandler( private class SceneDraggableHandler( private val gestureHandler: SceneGestureHandler, ) : DraggableHandler { - override suspend fun onDragStarted(coroutineScope: CoroutineScope, startedPosition: Offset) { + override fun onDragStarted(startedPosition: Offset, pointersDown: Int) { gestureHandler.gestureWithPriority = this - gestureHandler.onDragStarted() + gestureHandler.onDragStarted(pointersDown, startedPosition) } override fun onDelta(pixels: Float) { @@ -537,7 +592,7 @@ private class SceneDraggableHandler( } } - override suspend fun onDragStopped(coroutineScope: CoroutineScope, velocity: Float) { + override fun onDragStopped(velocity: Float) { if (gestureHandler.gestureWithPriority == this) { gestureHandler.gestureWithPriority = null gestureHandler.onDragStopped(velocity = velocity, canChangeScene = true) @@ -580,11 +635,31 @@ class SceneNestedScrollHandler( // moving on to the next scene. var gestureStartedOnNestedChild = false + val actionUpOrLeft = + Swipe( + direction = + when (gestureHandler.orientation) { + Orientation.Horizontal -> SwipeDirection.Left + Orientation.Vertical -> SwipeDirection.Up + }, + pointerCount = 1, + ) + + val actionDownOrRight = + Swipe( + direction = + when (gestureHandler.orientation) { + Orientation.Horizontal -> SwipeDirection.Right + Orientation.Vertical -> SwipeDirection.Down + }, + pointerCount = 1, + ) + fun findNextScene(amount: Float): SceneKey? { val fromScene = gestureHandler.currentScene return when { - amount < 0f -> fromScene.upOrLeft(gestureHandler.orientation) - amount > 0f -> fromScene.downOrRight(gestureHandler.orientation) + amount < 0f -> fromScene.userActions[actionUpOrLeft] + amount > 0f -> fromScene.userActions[actionDownOrRight] else -> null } } @@ -625,7 +700,7 @@ class SceneNestedScrollHandler( onStart = { gestureHandler.gestureWithPriority = this priorityScene = nextScene - gestureHandler.onDragStarted() + gestureHandler.onDragStarted(pointersDown = 1, startedPosition = null) }, onScroll = { offsetAvailable -> if (gestureHandler.gestureWithPriority != this) { diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/ui/util/ListUtils.kt b/packages/SystemUI/compose/scene/src/com/android/compose/ui/util/ListUtils.kt deleted file mode 100644 index 741f00d9f19b..000000000000 --- a/packages/SystemUI/compose/scene/src/com/android/compose/ui/util/ListUtils.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - * 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.compose.ui.util - -import kotlin.contracts.ExperimentalContracts -import kotlin.contracts.contract - -/** - * Iterates through a [List] using the index and calls [action] for each item. This does not - * allocate an iterator like [Iterable.forEach]. - * - * **Do not use for collections that come from public APIs**, since they may not support random - * access in an efficient way, and this method may actually be a lot slower. Only use for - * collections that are created by code we control and are known to support random access. - */ -@Suppress("BanInlineOptIn") -@OptIn(ExperimentalContracts::class) -internal inline fun <T> List<T>.fastForEach(action: (T) -> Unit) { - contract { callsInPlace(action) } - for (index in indices) { - val item = get(index) - action(item) - } -} - -/** - * Returns a list containing the results of applying the given [transform] function to each element - * in the original collection. - * - * **Do not use for collections that come from public APIs**, since they may not support random - * access in an efficient way, and this method may actually be a lot slower. Only use for - * collections that are created by code we control and are known to support random access. - */ -@Suppress("BanInlineOptIn") -@OptIn(ExperimentalContracts::class) -internal inline fun <T, R> List<T>.fastMap(transform: (T) -> R): List<R> { - contract { callsInPlace(transform) } - val target = ArrayList<R>(size) - fastForEach { target += transform(it) } - return target -} diff --git a/packages/SystemUI/compose/scene/tests/Android.bp b/packages/SystemUI/compose/scene/tests/Android.bp index b53fae24865c..6de75501dd34 100644 --- a/packages/SystemUI/compose/scene/tests/Android.bp +++ b/packages/SystemUI/compose/scene/tests/Android.bp @@ -34,6 +34,7 @@ android_test { static_libs: [ "PlatformComposeSceneTransitionLayout", + "PlatformComposeSceneTransitionLayoutTestsUtils", "androidx.test.runner", "androidx.test.ext.junit", diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/FixedSizeEdgeDetectorTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/FixedSizeEdgeDetectorTest.kt new file mode 100644 index 000000000000..a68282ae78f4 --- /dev/null +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/FixedSizeEdgeDetectorTest.kt @@ -0,0 +1,70 @@ +/* + * 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.compose.animation.scene + +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.IntOffset +import androidx.compose.ui.unit.IntSize +import androidx.compose.ui.unit.dp +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class FixedSizeEdgeDetectorTest { + private val detector = FixedSizeEdgeDetector(30.dp) + private val layoutSize = IntSize(100, 100) + private val density = Density(1f) + + @Test + fun horizontalEdges() { + fun horizontalEdge(position: Int): Edge? = + detector.edge( + layoutSize, + position = IntOffset(position, 0), + density, + Orientation.Horizontal, + ) + + assertThat(horizontalEdge(0)).isEqualTo(Edge.Left) + assertThat(horizontalEdge(30)).isEqualTo(Edge.Left) + assertThat(horizontalEdge(31)).isEqualTo(null) + assertThat(horizontalEdge(69)).isEqualTo(null) + assertThat(horizontalEdge(70)).isEqualTo(Edge.Right) + assertThat(horizontalEdge(100)).isEqualTo(Edge.Right) + } + + @Test + fun verticalEdges() { + fun verticalEdge(position: Int): Edge? = + detector.edge( + layoutSize, + position = IntOffset(0, position), + density, + Orientation.Vertical, + ) + + assertThat(verticalEdge(0)).isEqualTo(Edge.Top) + assertThat(verticalEdge(30)).isEqualTo(Edge.Top) + assertThat(verticalEdge(31)).isEqualTo(null) + assertThat(verticalEdge(69)).isEqualTo(null) + assertThat(verticalEdge(70)).isEqualTo(Edge.Bottom) + assertThat(verticalEdge(100)).isEqualTo(Edge.Bottom) + } +} diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneGestureHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneGestureHandlerTest.kt index 6791a85ff21c..1eb3392f1374 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneGestureHandlerTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneGestureHandlerTest.kt @@ -55,7 +55,8 @@ class SceneGestureHandlerTest { builder = scenesBuilder, transitions = EmptyTestTransitions, state = layoutState, - density = Density(1f) + density = Density(1f), + edgeDetector = DefaultEdgeDetector, ) .also { it.size = IntSize(SCREEN_SIZE.toInt(), SCREEN_SIZE.toInt()) }, orientation = Orientation.Vertical, @@ -104,13 +105,13 @@ class SceneGestureHandlerTest { @Test fun onDragStarted_shouldStartATransition() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) } @Test fun afterSceneTransitionIsStarted_interceptDragEvents() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) val transition = transitionState as Transition @@ -123,14 +124,13 @@ class SceneGestureHandlerTest { @Test fun onDragStoppedAfterDrag_velocityLowerThanThreshold_remainSameScene() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) draggable.onDelta(pixels = deltaInPixels10) assertScene(currentScene = SceneA, isIdle = false) draggable.onDragStopped( - coroutineScope = coroutineScope, velocity = velocityThreshold - 0.01f, ) assertScene(currentScene = SceneA, isIdle = false) @@ -142,14 +142,13 @@ class SceneGestureHandlerTest { @Test fun onDragStoppedAfterDrag_velocityAtLeastThreshold_goToNextScene() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) draggable.onDelta(pixels = deltaInPixels10) assertScene(currentScene = SceneA, isIdle = false) draggable.onDragStopped( - coroutineScope = coroutineScope, velocity = velocityThreshold, ) assertScene(currentScene = SceneC, isIdle = false) @@ -161,23 +160,22 @@ class SceneGestureHandlerTest { @Test fun onDragStoppedAfterStarted_returnImmediatelyToIdle() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) - draggable.onDragStopped(coroutineScope = coroutineScope, velocity = 0f) + draggable.onDragStopped(velocity = 0f) assertScene(currentScene = SceneA, isIdle = true) } @Test fun startGestureDuringAnimatingOffset_shouldImmediatelyStopTheAnimation() = runGestureTest { - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) draggable.onDelta(pixels = deltaInPixels10) assertScene(currentScene = SceneA, isIdle = false) draggable.onDragStopped( - coroutineScope = coroutineScope, velocity = velocityThreshold, ) @@ -191,7 +189,7 @@ class SceneGestureHandlerTest { assertScene(currentScene = SceneC, isIdle = false) // Start a new gesture while the offset is animating - draggable.onDragStarted(coroutineScope = coroutineScope, startedPosition = Offset.Zero) + draggable.onDragStarted(startedPosition = Offset.Zero) assertThat(sceneGestureHandler.isAnimatingOffset).isFalse() } @@ -320,7 +318,7 @@ class SceneGestureHandlerTest { } @Test fun beforeDraggableStart_stop_shouldBeIgnored() = runGestureTest { - draggable.onDragStopped(coroutineScope, velocityThreshold) + draggable.onDragStopped(velocityThreshold) assertScene(currentScene = SceneA, isIdle = true) } @@ -332,7 +330,7 @@ class SceneGestureHandlerTest { @Test fun startNestedScrollWhileDragging() = runGestureTest { - draggable.onDragStarted(coroutineScope, Offset.Zero) + draggable.onDragStarted(Offset.Zero) assertScene(currentScene = SceneA, isIdle = false) val transition = transitionState as Transition @@ -344,7 +342,7 @@ class SceneGestureHandlerTest { assertThat(transition.progress).isEqualTo(0.2f) // this should be ignored, we are scrolling now! - draggable.onDragStopped(coroutineScope, velocityThreshold) + draggable.onDragStopped(velocityThreshold) assertScene(currentScene = SceneA, isIdle = false) nestedScrollEvents(available = offsetY10) diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt index df3b72aa5533..58d853ef5a00 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SwipeToSceneTest.kt @@ -48,6 +48,14 @@ class SwipeToSceneTest { /** The middle of the layout, in pixels. */ private val Density.middle: Offset get() = Offset((LayoutWidth / 2).toPx(), (LayoutHeight / 2).toPx()) + + /** The middle-top of the layout, in pixels. */ + private val Density.middleTop: Offset + get() = Offset((LayoutWidth / 2).toPx(), 0f) + + /** The middle-left of the layout, in pixels. */ + private val Density.middleLeft: Offset + get() = Offset(0f, (LayoutHeight / 2).toPx()) } private var currentScene by mutableStateOf(TestScenes.SceneA) @@ -83,7 +91,13 @@ class SwipeToSceneTest { } scene( TestScenes.SceneC, - userActions = mapOf(Swipe.Down to TestScenes.SceneA), + userActions = + mapOf( + Swipe.Down to TestScenes.SceneA, + Swipe(SwipeDirection.Down, pointerCount = 2) to TestScenes.SceneB, + Swipe(SwipeDirection.Right, fromEdge = Edge.Left) to TestScenes.SceneB, + Swipe(SwipeDirection.Down, fromEdge = Edge.Top) to TestScenes.SceneB, + ), ) { Box(Modifier.fillMaxSize()) } @@ -122,7 +136,7 @@ class SwipeToSceneTest { assertThat(transition.toScene).isEqualTo(TestScenes.SceneB) assertThat(transition.currentScene).isEqualTo(TestScenes.SceneA) assertThat(transition.progress).isEqualTo(55.dp / LayoutWidth) - assertThat(transition.isUserInputDriven).isTrue() + assertThat(transition.isInitiatedByUserInput).isTrue() // Release the finger. We should now be animating back to A (currentScene = SceneA) given // that 55dp < positional threshold. @@ -134,7 +148,7 @@ class SwipeToSceneTest { assertThat(transition.toScene).isEqualTo(TestScenes.SceneB) assertThat(transition.currentScene).isEqualTo(TestScenes.SceneA) assertThat(transition.progress).isEqualTo(55.dp / LayoutWidth) - assertThat(transition.isUserInputDriven).isTrue() + assertThat(transition.isInitiatedByUserInput).isTrue() // Wait for the animation to finish. We should now be in scene A. rule.waitForIdle() @@ -156,7 +170,7 @@ class SwipeToSceneTest { assertThat(transition.toScene).isEqualTo(TestScenes.SceneC) assertThat(transition.currentScene).isEqualTo(TestScenes.SceneA) assertThat(transition.progress).isEqualTo(56.dp / LayoutHeight) - assertThat(transition.isUserInputDriven).isTrue() + assertThat(transition.isInitiatedByUserInput).isTrue() // Release the finger. We should now be animating to C (currentScene = SceneC) given // that 56dp >= positional threshold. @@ -168,7 +182,7 @@ class SwipeToSceneTest { assertThat(transition.toScene).isEqualTo(TestScenes.SceneC) assertThat(transition.currentScene).isEqualTo(TestScenes.SceneC) assertThat(transition.progress).isEqualTo(56.dp / LayoutHeight) - assertThat(transition.isUserInputDriven).isTrue() + assertThat(transition.isInitiatedByUserInput).isTrue() // Wait for the animation to finish. We should now be in scene C. rule.waitForIdle() @@ -242,4 +256,100 @@ class SwipeToSceneTest { assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) } + + @Test + fun multiPointerSwipe() { + // Start at scene C. + currentScene = TestScenes.SceneC + + // The draggable touch slop, i.e. the min px distance a touch pointer must move before it is + // detected as a drag event. + var touchSlop = 0f + rule.setContent { + touchSlop = LocalViewConfiguration.current.touchSlop + TestContent() + } + + assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) + assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) + + // Swipe down with two fingers. + rule.onRoot().performTouchInput { + repeat(2) { i -> down(pointerId = i, middle) } + repeat(2) { i -> + moveBy(pointerId = i, Offset(0f, touchSlop + 10.dp.toPx()), delayMillis = 1_000) + } + } + + // We are transitioning to B because we used 2 fingers. + val transition = layoutState.transitionState + assertThat(transition).isInstanceOf(TransitionState.Transition::class.java) + assertThat((transition as TransitionState.Transition).fromScene) + .isEqualTo(TestScenes.SceneC) + assertThat(transition.toScene).isEqualTo(TestScenes.SceneB) + + // Release the fingers and wait for the animation to end. We are back to C because we only + // swiped 10dp. + rule.onRoot().performTouchInput { repeat(2) { i -> up(pointerId = i) } } + rule.waitForIdle() + assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) + assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) + } + + @Test + fun defaultEdgeSwipe() { + // Start at scene C. + currentScene = TestScenes.SceneC + + // The draggable touch slop, i.e. the min px distance a touch pointer must move before it is + // detected as a drag event. + var touchSlop = 0f + rule.setContent { + touchSlop = LocalViewConfiguration.current.touchSlop + TestContent() + } + + assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) + assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) + + // Swipe down from the top edge. + rule.onRoot().performTouchInput { + down(middleTop) + moveBy(Offset(0f, touchSlop + 10.dp.toPx()), delayMillis = 1_000) + } + + // We are transitioning to B (and not A) because we started from the top edge. + var transition = layoutState.transitionState + assertThat(transition).isInstanceOf(TransitionState.Transition::class.java) + assertThat((transition as TransitionState.Transition).fromScene) + .isEqualTo(TestScenes.SceneC) + assertThat(transition.toScene).isEqualTo(TestScenes.SceneB) + + // Release the fingers and wait for the animation to end. We are back to C because we only + // swiped 10dp. + rule.onRoot().performTouchInput { up() } + rule.waitForIdle() + assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) + assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) + + // Swipe right from the left edge. + rule.onRoot().performTouchInput { + down(middleLeft) + moveBy(Offset(touchSlop + 10.dp.toPx(), 0f), delayMillis = 1_000) + } + + // We are transitioning to B (and not A) because we started from the left edge. + transition = layoutState.transitionState + assertThat(transition).isInstanceOf(TransitionState.Transition::class.java) + assertThat((transition as TransitionState.Transition).fromScene) + .isEqualTo(TestScenes.SceneC) + assertThat(transition.toScene).isEqualTo(TestScenes.SceneB) + + // Release the fingers and wait for the animation to end. We are back to C because we only + // swiped 10dp. + rule.onRoot().performTouchInput { up() } + rule.waitForIdle() + assertThat(layoutState.transitionState).isInstanceOf(TransitionState.Idle::class.java) + assertThat(layoutState.transitionState.currentScene).isEqualTo(TestScenes.SceneC) + } } diff --git a/packages/SystemUI/compose/scene/tests/utils/Android.bp b/packages/SystemUI/compose/scene/tests/utils/Android.bp new file mode 100644 index 000000000000..ff8fe7597e95 --- /dev/null +++ b/packages/SystemUI/compose/scene/tests/utils/Android.bp @@ -0,0 +1,40 @@ +// 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 { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_base_packages_SystemUI_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"], +} + +android_library { + name: "PlatformComposeSceneTransitionLayoutTestsUtils", + manifest: "AndroidManifest.xml", + + srcs: [ + "src/**/*.kt", + ], + + static_libs: [ + "PlatformComposeSceneTransitionLayout", + "androidx.compose.runtime_runtime", + "androidx.compose.ui_ui-test-junit4", + ], + + kotlincflags: ["-Xjvm-default=all"], + use_resource_processor: true, +} diff --git a/packages/SystemUI/compose/scene/tests/utils/AndroidManifest.xml b/packages/SystemUI/compose/scene/tests/utils/AndroidManifest.xml new file mode 100644 index 000000000000..7a687dbebd80 --- /dev/null +++ b/packages/SystemUI/compose/scene/tests/utils/AndroidManifest.xml @@ -0,0 +1,19 @@ +<?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. +--> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.compose.animation.scene.tests.utils" > +</manifest>
\ No newline at end of file diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/TestTransition.kt b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt index e0ae1be69aaf..e0ae1be69aaf 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/TestTransition.kt +++ b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestTransition.kt diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/TestValues.kt b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestValues.kt index b4c393e9bfbe..b4c393e9bfbe 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/TestValues.kt +++ b/packages/SystemUI/compose/scene/tests/utils/src/com/android/compose/animation/scene/TestValues.kt diff --git a/packages/SystemUI/res-keyguard/layout/sidefps_progress_bar.xml b/packages/SystemUI/res-keyguard/layout/sidefps_progress_bar.xml index 183f0e591c91..9d7467771704 100644 --- a/packages/SystemUI/res-keyguard/layout/sidefps_progress_bar.xml +++ b/packages/SystemUI/res-keyguard/layout/sidefps_progress_bar.xml @@ -15,18 +15,18 @@ ~ --> -<LinearLayout android:layout_height="match_parent" +<RelativeLayout android:layout_width="match_parent" - android:orientation="vertical" - android:layoutDirection="ltr" - android:gravity="center" + android:layout_height="match_parent" + android:gravity="left|top" + android:background="@android:color/transparent" xmlns:android="http://schemas.android.com/apk/res/android"> <ProgressBar android:id="@+id/side_fps_progress_bar" - android:layout_width="55dp" - android:layout_height="10dp" + android:layout_width="0dp" + android:layout_height="@dimen/sfps_progress_bar_thickness" android:indeterminateOnly="false" android:min="0" android:max="100" android:progressDrawable="@drawable/progress_bar" /> -</LinearLayout> +</RelativeLayout> diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml index d1067a9960bf..0628c3e957b1 100644 --- a/packages/SystemUI/res-keyguard/values/dimens.xml +++ b/packages/SystemUI/res-keyguard/values/dimens.xml @@ -157,4 +157,11 @@ <dimen name="weather_clock_smartspace_translateX">0dp</dimen> <dimen name="weather_clock_smartspace_translateY">0dp</dimen> + <!-- Additional length to add to the SFPS sensor length we get from framework so that the length + of the progress bar matches the length of the power button --> + <dimen name="sfps_progress_bar_length_extra_padding">12dp</dimen> + <!-- Thickness of the progress bar we show for the SFPS based authentication. --> + <dimen name="sfps_progress_bar_thickness">6dp</dimen> + <!-- Padding from the edge of the screen for the progress bar --> + <dimen name="sfps_progress_bar_padding_from_edge">7dp</dimen> </resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 10fd8b579b16..30392d2c9d85 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -34,6 +34,9 @@ <dimen name="navigation_handle_bottom">10dp</dimen> <dimen name="navigation_handle_sample_horizontal_margin">10dp</dimen> <dimen name="navigation_home_handle_width">108dp</dimen> + <!-- Used while animating the navbar during a long press. --> + <dimen name="navigation_home_handle_additional_width_for_animation">20dp</dimen> + <dimen name="navigation_home_handle_additional_height_for_animation">4dp</dimen> <!-- Size of the nav bar edge panels, should be greater to the edge sensitivity + the drag threshold --> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 4c5204447db0..12bff4a27277 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1045,8 +1045,8 @@ <!-- Indication on the keyguard that is shown when the device is dock charging. [CHAR LIMIT=80]--> <string name="keyguard_indication_charging_time_dock"><xliff:g id="percentage" example="20%">%2$s</xliff:g> • Charging • Full in <xliff:g id="charging_time_left" example="4 hr, 2 min">%1$s</xliff:g></string> - <!-- Indicator shown to start the communal tutorial. [CHAR LIMIT=100] --> - <string name="communal_tutorial_indicator_text">Click on the arrow button to start the communal tutorial</string> + <!-- Indicator on keyguard to start the communal tutorial. [CHAR LIMIT=100] --> + <string name="communal_tutorial_indicator_text">Swipe left to start the communal tutorial</string> <!-- Related to user switcher --><skip/> diff --git a/packages/SystemUI/shared/Android.bp b/packages/SystemUI/shared/Android.bp index 9c368eb0a978..5b59e7da2487 100644 --- a/packages/SystemUI/shared/Android.bp +++ b/packages/SystemUI/shared/Android.bp @@ -53,6 +53,7 @@ android_library { "SystemUIPluginLib", "SystemUIUnfoldLib", "SystemUISharedLib-Keyguard", + "tracinglib", "androidx.dynamicanimation_dynamicanimation", "androidx.concurrent_concurrent-futures", "androidx.lifecycle_lifecycle-runtime-ktx", diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/animation/DisableSubpixelTextTransitionListener.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/animation/DisableSubpixelTextTransitionListener.kt index 771924674e4a..637ce5f68d62 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/animation/DisableSubpixelTextTransitionListener.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/animation/DisableSubpixelTextTransitionListener.kt @@ -19,7 +19,7 @@ import android.graphics.Paint import android.view.ViewGroup import android.widget.TextView import androidx.core.view.forEach -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener import java.lang.ref.WeakReference diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl index dc34ef754825..26e785d9a704 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/ISystemUiProxy.aidl @@ -144,5 +144,15 @@ interface ISystemUiProxy { */ oneway void onStatusBarTrackpadEvent(in MotionEvent event) = 52; - // Next id = 54 + /** + * Animate the nav bar being long-pressed. + * + * @param isTouchDown {@code true} if the button is starting to be pressed ({@code false} if + * released or canceled) + * @param durationMs how long the animation should take (for the {@code isTouchDown} case, this + * should be the same as the amount of time to trigger a long-press) + */ + oneway void animateNavBarLongPress(boolean isTouchDown, long durationMs) = 54; + + // Next id = 55 } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java index 3605ac2bfc66..f06e3335123f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java @@ -216,7 +216,6 @@ public class Task { @Nullable public Drawable icon; @Nullable public ThumbnailData thumbnail; @ViewDebug.ExportedProperty(category="recents") - @Deprecated public String title; @ViewDebug.ExportedProperty(category="recents") public String titleDescription; diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java index 631423e4b7fc..10393cf83247 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityManagerWrapper.java @@ -137,14 +137,12 @@ public class ActivityManagerWrapper { } /** - * @return a {@link ThumbnailData} with {@link TaskSnapshot} for the given {@param taskId}. - * The snapshot will be triggered if no cached {@link TaskSnapshot} exists. + * @return the task snapshot for the given {@param taskId}. */ public @NonNull ThumbnailData getTaskThumbnail(int taskId, boolean isLowResolution) { TaskSnapshot snapshot = null; try { - snapshot = getService().getTaskSnapshot(taskId, isLowResolution, - true /* takeSnapshotIfNeeded */); + snapshot = getService().getTaskSnapshot(taskId, isLowResolution); } catch (RemoteException e) { Log.w(TAG, "Failed to retrieve task snapshot", e); } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SystemGestureExclusionListenerCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SystemGestureExclusionListenerCompat.java deleted file mode 100644 index aeb0415c8c4c..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SystemGestureExclusionListenerCompat.java +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.systemui.shared.system; - -import android.graphics.Region; -import android.os.RemoteException; -import android.util.Log; -import android.view.ISystemGestureExclusionListener; -import android.view.WindowManagerGlobal; - -/** - * Utility class to listen for exclusion rect changes. - */ -public abstract class SystemGestureExclusionListenerCompat { - - private static final String TAG = "SGEListenerCompat"; - - private final int mDisplayId; - - private ISystemGestureExclusionListener mGestureExclusionListener = - new ISystemGestureExclusionListener.Stub() { - @Override - public void onSystemGestureExclusionChanged(int displayId, - Region systemGestureExclusion, Region unrestrictedOrNull) { - if (displayId == mDisplayId) { - Region unrestricted = (unrestrictedOrNull == null) - ? systemGestureExclusion : unrestrictedOrNull; - onExclusionChanged(systemGestureExclusion, unrestricted); - } - } - }; - private boolean mRegistered; - - public SystemGestureExclusionListenerCompat(int displayId) { - mDisplayId = displayId; - } - - /** - * Called when the exclusion region has changed. - * - * TODO: remove, once all subclasses have migrated to - * {@link #onExclusionChanged(Region, Region)}. - */ - public abstract void onExclusionChanged(Region systemGestureExclusion); - - /** - * Called when the exclusion region has changed. - * - * @param systemGestureExclusion the system gesture exclusion to be applied - * @param systemGestureExclusionUnrestricted what would be the system gesture exclusion, if - * there were no restrictions being applied. For logging purposes only. - * - */ - public void onExclusionChanged(Region systemGestureExclusion, - Region systemGestureExclusionUnrestricted) { - // TODO: make abstract, once all subclasses have migrated away from - // onExclusionChanged(Region) - onExclusionChanged(systemGestureExclusion); - } - - /** - * Registers the listener for getting exclusion rect changes. - */ - public void register() { - if (!mRegistered) { - try { - WindowManagerGlobal.getWindowManagerService() - .registerSystemGestureExclusionListener( - mGestureExclusionListener, mDisplayId); - mRegistered = true; - } catch (RemoteException e) { - Log.e(TAG, "Failed to register window manager callbacks", e); - } - } - } - - /** - * Unregisters the receiver if previously registered - */ - public void unregister() { - if (mRegistered) { - try { - WindowManagerGlobal.getWindowManagerService() - .unregisterSystemGestureExclusionListener( - mGestureExclusionListener, mDisplayId); - mRegistered = false; - } catch (RemoteException e) { - Log.e(TAG, "Failed to unregister window manager callbacks", e); - } - } - } -} diff --git a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceContextElement.kt b/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceContextElement.kt deleted file mode 100644 index 7d1b65ada470..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceContextElement.kt +++ /dev/null @@ -1,69 +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.tracing - -import com.android.systemui.tracing.TraceUtils.Companion.instant -import com.android.systemui.tracing.TraceUtils.Companion.traceCoroutine -import kotlin.coroutines.CoroutineContext -import kotlinx.coroutines.CopyableThreadContextElement -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.DelicateCoroutinesApi -import kotlinx.coroutines.ExperimentalCoroutinesApi - -/** - * Used for safely persisting [TraceData] state when coroutines are suspended and resumed. - * - * This is internal machinery for [traceCoroutine]. It cannot be made `internal` or `private` - * because [traceCoroutine] is a Public-API inline function. - * - * @see traceCoroutine - */ -@OptIn(DelicateCoroutinesApi::class) -@ExperimentalCoroutinesApi -class TraceContextElement(private val traceData: TraceData = TraceData()) : - CopyableThreadContextElement<TraceData?> { - - companion object Key : CoroutineContext.Key<TraceContextElement> - - override val key: CoroutineContext.Key<TraceContextElement> = Key - - @OptIn(ExperimentalStdlibApi::class) - override fun updateThreadContext(context: CoroutineContext): TraceData? { - val oldState = threadLocalTrace.get() - oldState?.endAllOnThread() - threadLocalTrace.set(traceData) - instant("resuming ${context[CoroutineDispatcher]}") - traceData.beginAllOnThread() - return oldState - } - - @OptIn(ExperimentalStdlibApi::class) - override fun restoreThreadContext(context: CoroutineContext, oldState: TraceData?) { - instant("suspending ${context[CoroutineDispatcher]}") - traceData.endAllOnThread() - threadLocalTrace.set(oldState) - oldState?.beginAllOnThread() - } - - override fun copyForChild(): CopyableThreadContextElement<TraceData?> { - return TraceContextElement(traceData.copy()) - } - - override fun mergeForChild(overwritingElement: CoroutineContext.Element): CoroutineContext { - return TraceContextElement(traceData.copy()) - } -} diff --git a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceData.kt b/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceData.kt deleted file mode 100644 index b68d38c6a48b..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceData.kt +++ /dev/null @@ -1,122 +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.tracing - -import android.os.Build -import android.util.Log -import com.android.systemui.tracing.TraceUtils.Companion.beginSlice -import com.android.systemui.tracing.TraceUtils.Companion.endSlice -import com.android.systemui.tracing.TraceUtils.Companion.traceCoroutine -import kotlin.random.Random - -/** - * Used for giving each thread a unique [TraceData] for thread-local storage. `null` by default. - * [threadLocalTrace] can only be used when it is paired with a [TraceContextElement]. - * - * This ThreadLocal will be `null` if either 1) we aren't in a coroutine, or 2) the coroutine we are - * in does not have a [TraceContextElement]. - * - * This is internal machinery for [traceCoroutine]. It cannot be made `internal` or `private` - * because [traceCoroutine] is a Public-API inline function. - * - * @see traceCoroutine - */ -val threadLocalTrace = ThreadLocal<TraceData?>() - -/** - * Used for storing trace sections so that they can be added and removed from the currently running - * thread when the coroutine is suspended and resumed. - * - * This is internal machinery for [traceCoroutine]. It cannot be made `internal` or `private` - * because [traceCoroutine] is a Public-API inline function. - * - * @see traceCoroutine - */ -class TraceData { - private var slices = mutableListOf<TraceSection>() - - /** Adds current trace slices back to the current thread. Called when coroutine is resumed. */ - fun beginAllOnThread() { - slices.forEach { beginSlice(it.name) } - } - - /** - * Removes all current trace slices from the current thread. Called when coroutine is suspended. - */ - fun endAllOnThread() { - for (i in 0..slices.size) { - endSlice() - } - } - - /** - * Creates a new trace section with a unique ID and adds it to the current trace data. The slice - * will also be added to the current thread immediately. This slice will not propagate to parent - * coroutines, or to child coroutines that have already started. The unique ID is used to verify - * that the [endSpan] is corresponds to a [beginSpan]. - */ - fun beginSpan(name: String): Int { - val newSlice = TraceSection(name, Random.nextInt(FIRST_VALID_SPAN, Int.MAX_VALUE)) - slices.add(newSlice) - beginSlice(name) - return newSlice.id - } - - /** - * Used by [TraceContextElement] when launching a child coroutine so that the child coroutine's - * state is isolated from the parent. - */ - fun copy(): TraceData { - return TraceData().also { it.slices.addAll(slices) } - } - - /** - * Ends the trace section and validates it corresponds with an earlier call to [beginSpan]. The - * trace slice will immediately be removed from the current thread. This information will not - * propagate to parent coroutines, or to child coroutines that have already started. - */ - fun endSpan(id: Int) { - val v = slices.removeLast() - if (v.id != id) { - if (STRICT_MODE) { - throw IllegalArgumentException(errorMsg) - } else if (Log.isLoggable(TAG, Log.VERBOSE)) { - Log.v(TAG, errorMsg) - } - } - endSlice() - } - - companion object { - private const val TAG = "TraceData" - const val INVALID_SPAN = -1 - const val FIRST_VALID_SPAN = 1 - - /** - * If true, throw an exception instead of printing a warning when trace sections beginnings - * and ends are mismatched. - */ - private val STRICT_MODE = Build.IS_ENG - - private const val errorMsg = - "Mismatched trace section. This likely means you are accessing the trace local " + - "storage (threadLocalTrace) without a corresponding CopyableThreadContextElement." + - " This could happen if you are using a global dispatcher like Dispatchers.IO." + - " To fix this, use one of the coroutine contexts provided by the dagger scope " + - "(e.g. \"@Main CoroutineContext\")." - } -} diff --git a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceSection.kt b/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceSection.kt deleted file mode 100644 index 469d9a25a163..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceSection.kt +++ /dev/null @@ -1,35 +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.tracing - -import com.android.systemui.tracing.TraceUtils.Companion.traceCoroutine - -/** - * Represents a section of code executing in a coroutine. This can be split up into multiple slices - * on different threads as the coroutine is suspended and resumed. - * - * This is internal machinery for [traceCoroutine]. It cannot be made `internal` or `private` - * because [traceCoroutine] is a Public-API inline function. - * - * @param name the name of the slice to appear on the current thread's track. - * @param id used for matching the beginning and end of trace sections and validating correctness - * @see traceCoroutine - */ -data class TraceSection( - val name: String, - val id: Int, -) diff --git a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceStateLogger.kt b/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceStateLogger.kt deleted file mode 100644 index 3e235f5398f7..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceStateLogger.kt +++ /dev/null @@ -1,55 +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.tracing - -import android.os.Trace - -/** - * Utility class used to log state changes easily in a track with a custom name. - * - * Example of usage: - * ```kotlin - * class MyClass { - * val screenStateLogger = TraceStateLogger("Screen state") - * - * fun onTurnedOn() { screenStateLogger.log("on") } - * fun onTurnedOff() { screenStateLogger.log("off") } - * } - * ``` - * - * This creates a new slice in a perfetto trace only if the state is different than the previous - * one. - */ -class TraceStateLogger( - private val trackName: String, - private val logOnlyIfDifferent: Boolean = true, - private val instantEvent: Boolean = true -) { - - private var previousValue: String? = null - - /** If needed, logs the value to a track with name [trackName]. */ - fun log(newValue: String) { - if (instantEvent) { - Trace.instantForTrack(Trace.TRACE_TAG_APP, trackName, newValue) - } - if (logOnlyIfDifferent && previousValue == newValue) return - Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_APP, trackName, 0) - Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_APP, trackName, newValue, 0) - previousValue = newValue - } -} diff --git a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceUtils.kt b/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceUtils.kt deleted file mode 100644 index 12a20ae640df..000000000000 --- a/packages/SystemUI/shared/src/com/android/systemui/tracing/TraceUtils.kt +++ /dev/null @@ -1,418 +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.tracing - -import android.os.Trace -import android.os.TraceNameSupplier -import android.util.Log -import com.android.systemui.tracing.TraceData.Companion.FIRST_VALID_SPAN -import com.android.systemui.tracing.TraceData.Companion.INVALID_SPAN -import java.util.concurrent.atomic.AtomicInteger -import kotlin.coroutines.CoroutineContext -import kotlin.coroutines.EmptyCoroutineContext -import kotlin.coroutines.coroutineContext -import kotlin.random.Random -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Deferred -import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.Job -import kotlinx.coroutines.async -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withContext - -/** - * Run a block within a [Trace] section. Calls [Trace.beginSection] before and [Trace.endSection] - * after the passed block. - */ -inline fun <T> traceSection(tag: String, block: () -> T): T = - if (Trace.isTagEnabled(Trace.TRACE_TAG_APP)) { - Trace.traceBegin(Trace.TRACE_TAG_APP, tag) - try { - block() - } finally { - Trace.traceEnd(Trace.TRACE_TAG_APP) - } - } else { - block() - } - -class TraceUtils { - companion object { - const val TAG = "TraceUtils" - private const val DEBUG_COROUTINE_TRACING = false - const val DEFAULT_TRACK_NAME = "AsyncTraces" - - inline fun traceRunnable(tag: String, crossinline block: () -> Unit): Runnable { - return Runnable { traceSection(tag) { block() } } - } - - /** - * Helper function for creating a Runnable object that implements TraceNameSupplier. - * - * This is useful for posting Runnables to Handlers with meaningful names. - */ - inline fun namedRunnable(tag: String, crossinline block: () -> Unit): Runnable { - return object : Runnable, TraceNameSupplier { - override fun getTraceName(): String = tag - override fun run() = block() - } - } - - /** - * Cookie used for async traces. Shouldn't be public, but to use it inside inline methods - * there is no other way around. - */ - val lastCookie = AtomicInteger(0) - - /** - * Creates an async slice in a track called "AsyncTraces". - * - * This can be used to trace coroutine code. Note that all usages of this method will appear - * under a single track. - */ - inline fun <T> traceAsync(method: String, block: () -> T): T = - traceAsync(DEFAULT_TRACK_NAME, method, block) - - /** - * Creates an async slice in a track with [trackName] while [block] runs. - * - * This can be used to trace coroutine code. [method] will be the name of the slice, - * [trackName] of the track. The track is one of the rows visible in a perfetto trace inside - * SystemUI process. - */ - inline fun <T> traceAsync(trackName: String, method: String, block: () -> T): T { - val cookie = lastCookie.incrementAndGet() - Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_APP, trackName, method, cookie) - try { - return block() - } finally { - Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_APP, trackName, cookie) - } - } - - /** - * Convenience function for calling [CoroutineScope.launch] with [traceCoroutine] enable - * tracing. - * - * @see traceCoroutine - */ - inline fun CoroutineScope.launch( - crossinline spanName: () -> String, - context: CoroutineContext = EmptyCoroutineContext, - // TODO(b/306457056): DO NOT pass CoroutineStart; doing so will regress .odex size - crossinline block: suspend CoroutineScope.() -> Unit - ): Job = launch(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [CoroutineScope.launch] with [traceCoroutine] enable - * tracing. - * - * @see traceCoroutine - */ - inline fun CoroutineScope.launch( - spanName: String, - context: CoroutineContext = EmptyCoroutineContext, - // TODO(b/306457056): DO NOT pass CoroutineStart; doing so will regress .odex size - crossinline block: suspend CoroutineScope.() -> Unit - ): Job = launch(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [CoroutineScope.async] with [traceCoroutine] enable - * tracing - * - * @see traceCoroutine - */ - inline fun <T> CoroutineScope.async( - crossinline spanName: () -> String, - context: CoroutineContext = EmptyCoroutineContext, - // TODO(b/306457056): DO NOT pass CoroutineStart; doing so will regress .odex size - crossinline block: suspend CoroutineScope.() -> T - ): Deferred<T> = async(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [CoroutineScope.async] with [traceCoroutine] enable - * tracing. - * - * @see traceCoroutine - */ - inline fun <T> CoroutineScope.async( - spanName: String, - context: CoroutineContext = EmptyCoroutineContext, - // TODO(b/306457056): DO NOT pass CoroutineStart; doing so will regress .odex size - crossinline block: suspend CoroutineScope.() -> T - ): Deferred<T> = async(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [runBlocking] with [traceCoroutine] to enable tracing. - * - * @see traceCoroutine - */ - inline fun <T> runBlocking( - crossinline spanName: () -> String, - context: CoroutineContext, - crossinline block: suspend () -> T - ): T = runBlocking(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [runBlocking] with [traceCoroutine] to enable tracing. - * - * @see traceCoroutine - */ - inline fun <T> runBlocking( - spanName: String, - context: CoroutineContext, - crossinline block: suspend CoroutineScope.() -> T - ): T = runBlocking(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [withContext] with [traceCoroutine] to enable tracing. - * - * @see traceCoroutine - */ - suspend inline fun <T> withContext( - spanName: String, - context: CoroutineContext, - crossinline block: suspend CoroutineScope.() -> T - ): T = withContext(context) { traceCoroutine(spanName) { block() } } - - /** - * Convenience function for calling [withContext] with [traceCoroutine] to enable tracing. - * - * @see traceCoroutine - */ - suspend inline fun <T> withContext( - crossinline spanName: () -> String, - context: CoroutineContext, - crossinline block: suspend CoroutineScope.() -> T - ): T = withContext(context) { traceCoroutine(spanName) { block() } } - - /** - * A hacky way to propagate the value of the COROUTINE_TRACING flag for static usage in this - * file. It should only every be set to true during startup. Once true, it cannot be set to - * false again. - */ - var coroutineTracingIsEnabled = false - set(v) { - if (v) field = true - } - - /** - * Traces a section of work of a `suspend` [block]. The trace sections will appear on the - * thread that is currently executing the [block] of work. If the [block] is suspended, all - * trace sections added using this API will end until the [block] is resumed, which could - * happen either on this thread or on another thread. If a child coroutine is started, it - * will inherit the trace sections of its parent. The child will continue to print these - * trace sections whether or not the parent coroutine is still running them. - * - * The current [CoroutineContext] must have a [TraceContextElement] for this API to work. - * Otherwise, the trace sections will be dropped. - * - * For example, in the following trace, Thread #1 ran some work, suspended, then continued - * working on Thread #2. Meanwhile, Thread #2 created a new child coroutine which inherited - * its trace sections. Then, the original coroutine resumed on Thread #1 before ending. - * Meanwhile Thread #3 is still printing trace sections from its parent because they were - * copied when it was created. There is no way for the parent to communicate to the child - * that it marked these slices as completed. While this might seem counterintuitive, it - * allows us to pinpoint the origin of the child coroutine's work. - * - * ``` - * Thread #1 | [==== Slice A ====] [==== Slice A ====] - * | [==== B ====] [=== B ===] - * -------------------------------------------------------------------------------------- - * Thread #2 | [====== Slice A ======] - * | [========= B =========] - * | [===== C ======] - * -------------------------------------------------------------------------------------- - * Thread #3 | [== Slice A ==] [== Slice A ==] - * | [===== B =====] [===== B =====] - * | [===== C =====] [===== C =====] - * | [=== D ===] - * ``` - * - * @param name The name of the code section to appear in the trace - * @see endSlice - * @see traceCoroutine - */ - @OptIn(ExperimentalCoroutinesApi::class) - suspend inline fun <T> traceCoroutine( - spanName: Lazy<String>, - crossinline block: suspend () -> T - ): T { - // For coroutine tracing to work, trace spans must be added and removed even when - // tracing is not active (i.e. when TRACE_TAG_APP is disabled). Otherwise, when the - // coroutine resumes when tracing is active, we won't know its name. - val tracer = getTraceData(spanName) - val coroutineSpanCookie = tracer?.beginSpan(spanName.value) ?: INVALID_SPAN - - // For now, also trace to "AsyncTraces". This will allow us to verify the correctness - // of the COROUTINE_TRACING feature flag. - val asyncTraceCookie = - if (Trace.isTagEnabled(Trace.TRACE_TAG_APP)) - Random.nextInt(FIRST_VALID_SPAN, Int.MAX_VALUE) - else INVALID_SPAN - if (asyncTraceCookie != INVALID_SPAN) { - Trace.asyncTraceForTrackBegin( - Trace.TRACE_TAG_APP, - DEFAULT_TRACK_NAME, - spanName.value, - asyncTraceCookie - ) - } - try { - return block() - } finally { - if (asyncTraceCookie != INVALID_SPAN) { - Trace.asyncTraceForTrackEnd( - Trace.TRACE_TAG_APP, - DEFAULT_TRACK_NAME, - asyncTraceCookie - ) - } - tracer?.endSpan(coroutineSpanCookie) - } - } - - @OptIn(ExperimentalCoroutinesApi::class) - suspend fun getTraceData(spanName: Lazy<String>): TraceData? { - if (!coroutineTracingIsEnabled) { - logVerbose("Experimental flag COROUTINE_TRACING is off", spanName) - } else if (coroutineContext[TraceContextElement] == null) { - logVerbose("Current CoroutineContext is missing TraceContextElement", spanName) - } else { - return threadLocalTrace.get().also { - if (it == null) logVerbose("ThreadLocal TraceData is null", spanName) - } - } - return null - } - - private fun logVerbose(logMessage: String, spanName: Lazy<String>) { - if (DEBUG_COROUTINE_TRACING && Log.isLoggable(TAG, Log.VERBOSE)) { - Log.v(TAG, "$logMessage. Dropping trace section: \"${spanName.value}\"") - } - } - - /** @see traceCoroutine */ - suspend inline fun <T> traceCoroutine( - spanName: String, - crossinline block: suspend () -> T - ): T = traceCoroutine(lazyOf(spanName)) { block() } - - /** @see traceCoroutine */ - suspend inline fun <T> traceCoroutine( - crossinline spanName: () -> String, - crossinline block: suspend () -> T - ): T = traceCoroutine(lazy(LazyThreadSafetyMode.PUBLICATION) { spanName() }) { block() } - - /** - * Writes a trace message to indicate that a given section of code has begun running __on - * the current thread__. This must be followed by a corresponding call to [endSlice] in a - * reasonably short amount of time __on the same thread__ (i.e. _before_ the thread becomes - * idle again and starts running other, unrelated work). - * - * Calls to [beginSlice] and [endSlice] may be nested, and they will render in Perfetto as - * follows: - * ``` - * Thread #1 | [==========================] - * | [==============] - * | [====] - * ``` - * - * This function is provided for convenience to wrap a call to [Trace.traceBegin], which is - * more verbose to call than [Trace.beginSection], but has the added benefit of not throwing - * an [IllegalArgumentException] if the provided string is longer than 127 characters. We - * use the term "slice" instead of "section" to be consistent with Perfetto. - * - * # Avoiding malformed traces - * - * Improper usage of this API will lead to malformed traces with long slices that sometimes - * never end. This will look like the following: - * ``` - * Thread #1 | [===================================================================== ... - * | [==============] [====================================== ... - * | [=======] [======] [===================== ... - * | [=======] - * ``` - * - * To avoid this, [beginSlice] and [endSlice] should never be called from `suspend` blocks - * (instead, use [traceCoroutine] for tracing suspending functions). While it would be - * technically okay to call from a suspending function if that function were to only wrap - * non-suspending blocks with [beginSlice] and [endSlice], doing so is risky because suspend - * calls could be mistakenly added to that block as the code is refactored. - * - * Additionally, it is _not_ okay to call [beginSlice] when registering a callback and match - * it with a call to [endSlice] inside that callback, even if the callback runs on the same - * thread. Doing so would cause malformed traces because the [beginSlice] wasn't closed - * before the thread became idle and started running unrelated work. - * - * @param sliceName The name of the code section to appear in the trace - * @see endSlice - * @see traceCoroutine - */ - fun beginSlice(sliceName: String) { - Trace.traceBegin(Trace.TRACE_TAG_APP, sliceName) - } - - /** - * Writes a trace message to indicate that a given section of code has ended. This call must - * be preceded by a corresponding call to [beginSlice]. See [beginSlice] for important - * information regarding usage. - * - * @see beginSlice - * @see traceCoroutine - */ - fun endSlice() { - Trace.traceEnd(Trace.TRACE_TAG_APP) - } - - /** - * Writes a trace message indicating that an instant event occurred on the current thread. - * Unlike slices, instant events have no duration and do not need to be matched with another - * call. Perfetto will display instant events using an arrow pointing to the timestamp they - * occurred: - * ``` - * Thread #1 | [==============] [======] - * | [====] ^ - * | ^ - * ``` - * - * @param eventName The name of the event to appear in the trace. - */ - fun instant(eventName: String) { - Trace.instant(Trace.TRACE_TAG_APP, eventName) - } - - /** - * Writes a trace message indicating that an instant event occurred on the given track. - * Unlike slices, instant events have no duration and do not need to be matched with another - * call. Perfetto will display instant events using an arrow pointing to the timestamp they - * occurred: - * ``` - * Async | [==============] [======] - * Track | [====] ^ - * Name | ^ - * ``` - * - * @param trackName The track where the event should appear in the trace. - * @param eventName The name of the event to appear in the trace. - */ - fun instantForTrack(trackName: String, eventName: String) { - Trace.instantForTrack(Trace.TRACE_TAG_APP, trackName, eventName) - } - } -} diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardFingerprintListenModel.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardFingerprintListenModel.kt index 4160ae1a3ca3..953cf88feccb 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardFingerprintListenModel.kt +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardFingerprintListenModel.kt @@ -30,6 +30,7 @@ data class KeyguardFingerprintListenModel( var allowOnCurrentOccludingActivity: Boolean = false, var alternateBouncerShowing: Boolean = false, var biometricEnabledForUser: Boolean = false, + var biometricPromptShowing: Boolean = false, var bouncerIsOrWillShow: Boolean = false, var canSkipBouncer: Boolean = false, var credentialAttempted: Boolean = false, @@ -61,6 +62,7 @@ data class KeyguardFingerprintListenModel( allowOnCurrentOccludingActivity.toString(), alternateBouncerShowing.toString(), biometricEnabledForUser.toString(), + biometricPromptShowing.toString(), bouncerIsOrWillShow.toString(), canSkipBouncer.toString(), credentialAttempted.toString(), @@ -101,6 +103,7 @@ data class KeyguardFingerprintListenModel( allowOnCurrentOccludingActivity = model.allowOnCurrentOccludingActivity alternateBouncerShowing = model.alternateBouncerShowing biometricEnabledForUser = model.biometricEnabledForUser + biometricPromptShowing = model.biometricPromptShowing bouncerIsOrWillShow = model.bouncerIsOrWillShow canSkipBouncer = model.canSkipBouncer credentialAttempted = model.credentialAttempted @@ -147,6 +150,7 @@ data class KeyguardFingerprintListenModel( "allowOnCurrentOccludingActivity", "alternateBouncerShowing", "biometricAllowedForUser", + "biometricPromptShowing", "bouncerIsOrWillShow", "canSkipBouncer", "credentialAttempted", diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index f19a9ed5546f..baab637a979c 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -380,6 +380,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private boolean mOccludingAppRequestingFace; private boolean mSecureCameraLaunched; private boolean mAllowedDisplayStateWhileAwakeForFaceAuth = true; + private boolean mBiometricPromptShowing; @VisibleForTesting protected boolean mTelephonyCapable; private boolean mAllowFingerprintOnCurrentOccludingActivity; @@ -2010,9 +2011,17 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab }; private final FingerprintManager.FingerprintDetectionCallback mFingerprintDetectionCallback = - (sensorId, userId, isStrongBiometric) -> { - // Trigger the fingerprint detected path so the bouncer can be shown - handleBiometricDetected(userId, FINGERPRINT, isStrongBiometric); + new FingerprintManager.FingerprintDetectionCallback() { + @Override + public void onDetectionError(int errorMsgId) { + handleFingerprintError(errorMsgId, ""); + } + + @Override + public void onFingerprintDetected(int sensorId, int userId, + boolean isStrongBiometric) { + handleBiometricDetected(userId, FINGERPRINT, isStrongBiometric); + } }; private final FaceManager.FaceDetectionCallback mFaceDetectionCallback @@ -2641,6 +2650,19 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab mainExecutor.execute(() -> updateBiometricListeningState(BIOMETRIC_ACTION_UPDATE, FACE_AUTH_TRIGGERED_ENROLLMENTS_CHANGED)); } + + @Override + public void onBiometricPromptShown() { + // SysUI should give priority to the biometric prompt requesting FP instead of + // taking over the fingerprint listening state. + mBiometricPromptShowing = true; + } + + @Override + public void onBiometricPromptDismissed() { + mBiometricPromptShowing = false; + updateFingerprintListeningState(BIOMETRIC_ACTION_START); + } }); if (mConfigFaceAuthSupportedPosture != DEVICE_POSTURE_UNKNOWN) { mPostureController.addCallback(mPostureCallback); @@ -3139,7 +3161,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab boolean shouldListen = shouldListenKeyguardState && shouldListenUserState - && shouldListenBouncerState && shouldListenUdfpsState; + && shouldListenBouncerState && shouldListenUdfpsState && !mBiometricPromptShowing; logListenerModelData( new KeyguardFingerprintListenModel( System.currentTimeMillis(), @@ -3148,6 +3170,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab mAllowFingerprintOnCurrentOccludingActivity, mAlternateBouncerShowing, biometricEnabledForUser, + mBiometricPromptShowing, mPrimaryBouncerIsOrWillBeShowing, userCanSkipBouncer, mCredentialAttempted, diff --git a/packages/SystemUI/src/com/android/systemui/authentication/domain/interactor/AuthenticationInteractor.kt b/packages/SystemUI/src/com/android/systemui/authentication/domain/interactor/AuthenticationInteractor.kt index 52923a75d473..345f15c5c6ad 100644 --- a/packages/SystemUI/src/com/android/systemui/authentication/domain/interactor/AuthenticationInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/authentication/domain/interactor/AuthenticationInteractor.kt @@ -16,6 +16,8 @@ package com.android.systemui.authentication.domain.interactor +import com.android.app.tracing.TraceUtils.Companion.async +import com.android.app.tracing.TraceUtils.Companion.withContext import com.android.internal.widget.LockPatternView import com.android.internal.widget.LockscreenCredential import com.android.systemui.authentication.data.model.AuthenticationMethodModel as DataLayerAuthenticationMethodModel @@ -27,8 +29,6 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.deviceentry.data.repository.DeviceEntryRepository -import com.android.systemui.tracing.TraceUtils.Companion.async -import com.android.systemui.tracing.TraceUtils.Companion.withContext import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.util.time.SystemClock import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java index e69eced0de45..1ac4163649a4 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java @@ -489,6 +489,10 @@ public class AuthContainerView extends LinearLayout public void onAttachedToWindow() { super.onAttachedToWindow(); + if (mContainerState == STATE_ANIMATING_OUT) { + return; + } + mWakefulnessLifecycle.addObserver(this); mPanelInteractionDetector.enable( () -> animateAway(AuthDialogCallback.DISMISSED_USER_CANCELED)); diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt index 949c11724f4f..10e7227fa949 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt @@ -53,6 +53,7 @@ import com.airbnb.lottie.LottieAnimationView import com.airbnb.lottie.LottieProperty import com.airbnb.lottie.model.KeyPath import com.android.app.animation.Interpolators +import com.android.app.tracing.traceSection import com.android.internal.annotations.VisibleForTesting import com.android.keyguard.KeyguardPINView import com.android.systemui.Dumpable @@ -63,7 +64,6 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.res.R -import com.android.systemui.tracing.traceSection import com.android.systemui.util.boundsOnScreen import com.android.systemui.util.concurrency.DelayableExecutor import java.io.PrintWriter diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt index f85203ea2076..f51379940640 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractor.kt @@ -19,25 +19,25 @@ package com.android.systemui.biometrics.domain.interactor import android.content.Context import android.hardware.biometrics.SensorLocationInternal import android.view.WindowManager +import com.android.systemui.biometrics.FingerprintInteractiveToAuthProvider import com.android.systemui.biometrics.data.repository.FingerprintPropertyRepository import com.android.systemui.biometrics.domain.model.SideFpsSensorLocation import com.android.systemui.biometrics.shared.model.DisplayRotation import com.android.systemui.biometrics.shared.model.FingerprintSensorType import com.android.systemui.biometrics.shared.model.isDefaultOrientation import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.flags.FeatureFlagsClassic -import com.android.systemui.flags.Flags +import com.android.systemui.log.SideFpsLogger import com.android.systemui.res.R +import java.util.Optional import javax.inject.Inject -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.filterNotNull -import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onEach -@OptIn(ExperimentalCoroutinesApi::class) @SysUISingleton class SideFpsSensorInteractor @Inject @@ -46,10 +46,11 @@ constructor( fingerprintPropertyRepository: FingerprintPropertyRepository, windowManager: WindowManager, displayStateInteractor: DisplayStateInteractor, - featureFlags: FeatureFlagsClassic, + fingerprintInteractiveToAuthProvider: Optional<FingerprintInteractiveToAuthProvider>, + private val logger: SideFpsLogger, ) { - private val sensorForCurrentDisplay = + private val sensorLocationForCurrentDisplay = combine( displayStateInteractor.displayChanges, fingerprintPropertyRepository.sensorLocations, @@ -61,76 +62,100 @@ constructor( val isAvailable: Flow<Boolean> = fingerprintPropertyRepository.sensorType.map { it == FingerprintSensorType.POWER_BUTTON } - val authenticationDuration: Flow<Long> = - flowOf(context.resources?.getInteger(R.integer.config_restToUnlockDuration)?.toLong() ?: 0L) + val authenticationDuration: Long = + context.resources?.getInteger(R.integer.config_restToUnlockDuration)?.toLong() ?: 0L val isProlongedTouchRequiredForAuthentication: Flow<Boolean> = - isAvailable.flatMapLatest { sfpsAvailable -> - if (sfpsAvailable) { - // todo (b/305236201) also add the settings check here. - flowOf(featureFlags.isEnabled(Flags.REST_TO_UNLOCK)) - } else { - flowOf(false) + if (fingerprintInteractiveToAuthProvider.isEmpty) { + flowOf(false) + } else { + combine( + isAvailable, + fingerprintInteractiveToAuthProvider.get().enabledForCurrentUser + ) { sfpsAvailable, isSettingEnabled -> + sfpsAvailable && isSettingEnabled } } val sensorLocation: Flow<SideFpsSensorLocation> = - combine(displayStateInteractor.currentRotation, sensorForCurrentDisplay, ::Pair).map { - (rotation, sensorLocation: SensorLocationInternal) -> - val isSensorVerticalInDefaultOrientation = sensorLocation.sensorLocationY != 0 - // device dimensions in the current rotation - val size = windowManager.maximumWindowMetrics.bounds - val isDefaultOrientation = rotation.isDefaultOrientation() - // Width and height are flipped is device is not in rotation_0 or rotation_180 - // Flipping it to the width and height of the device in default orientation. - val displayWidth = if (isDefaultOrientation) size.width() else size.height() - val displayHeight = if (isDefaultOrientation) size.height() else size.width() - val sensorWidth = context.resources?.getInteger(R.integer.config_sfpsSensorWidth) ?: 0 + combine(displayStateInteractor.currentRotation, sensorLocationForCurrentDisplay, ::Pair) + .map { (rotation, sensorLocation: SensorLocationInternal) -> + val isSensorVerticalInDefaultOrientation = sensorLocation.sensorLocationY != 0 + // device dimensions in the current rotation + val windowMetrics = windowManager.maximumWindowMetrics + val size = windowMetrics.bounds + val isDefaultOrientation = rotation.isDefaultOrientation() + // Width and height are flipped is device is not in rotation_0 or rotation_180 + // Flipping it to the width and height of the device in default orientation. + val displayWidth = if (isDefaultOrientation) size.width() else size.height() + val displayHeight = if (isDefaultOrientation) size.height() else size.width() + val sensorLengthInPx = sensorLocation.sensorRadius * 2 - val (sensorLeft, sensorTop) = - if (isSensorVerticalInDefaultOrientation) { - when (rotation) { - DisplayRotation.ROTATION_0 -> { - Pair(displayWidth, sensorLocation.sensorLocationY) + val (sensorLeft, sensorTop) = + if (isSensorVerticalInDefaultOrientation) { + when (rotation) { + DisplayRotation.ROTATION_0 -> { + Pair(displayWidth, sensorLocation.sensorLocationY) + } + DisplayRotation.ROTATION_90 -> { + Pair(sensorLocation.sensorLocationY, 0) + } + DisplayRotation.ROTATION_180 -> { + Pair( + 0, + displayHeight - + sensorLocation.sensorLocationY - + sensorLengthInPx + ) + } + DisplayRotation.ROTATION_270 -> { + Pair( + displayHeight - + sensorLocation.sensorLocationY - + sensorLengthInPx, + displayWidth + ) + } } - DisplayRotation.ROTATION_90 -> { - Pair(sensorLocation.sensorLocationY, 0) - } - DisplayRotation.ROTATION_180 -> { - Pair(0, displayHeight - sensorLocation.sensorLocationY - sensorWidth) - } - DisplayRotation.ROTATION_270 -> { - Pair( - displayHeight - sensorLocation.sensorLocationY - sensorWidth, - displayWidth - ) + } else { + when (rotation) { + DisplayRotation.ROTATION_0 -> { + Pair(sensorLocation.sensorLocationX, 0) + } + DisplayRotation.ROTATION_90 -> { + Pair( + 0, + displayWidth - sensorLocation.sensorLocationX - sensorLengthInPx + ) + } + DisplayRotation.ROTATION_180 -> { + Pair( + displayWidth - + sensorLocation.sensorLocationX - + sensorLengthInPx, + displayHeight + ) + } + DisplayRotation.ROTATION_270 -> { + Pair(displayHeight, sensorLocation.sensorLocationX) + } } } - } else { - when (rotation) { - DisplayRotation.ROTATION_0 -> { - Pair(sensorLocation.sensorLocationX, 0) - } - DisplayRotation.ROTATION_90 -> { - Pair(0, displayWidth - sensorLocation.sensorLocationX - sensorWidth) - } - DisplayRotation.ROTATION_180 -> { - Pair( - displayWidth - sensorLocation.sensorLocationX - sensorWidth, - displayHeight - ) - } - DisplayRotation.ROTATION_270 -> { - Pair(displayHeight, sensorLocation.sensorLocationX) - } - } - } - SideFpsSensorLocation( - left = sensorLeft, - top = sensorTop, - width = sensorWidth, - isSensorVerticalInDefaultOrientation = isSensorVerticalInDefaultOrientation - ) - } + SideFpsSensorLocation( + left = sensorLeft, + top = sensorTop, + length = sensorLengthInPx, + isSensorVerticalInDefaultOrientation = isSensorVerticalInDefaultOrientation + ) + } + .distinctUntilChanged() + .onEach { + logger.sensorLocationStateChanged( + it.left, + it.top, + it.length, + it.isSensorVerticalInDefaultOrientation + ) + } } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/model/SideFpsSensorLocation.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/model/SideFpsSensorLocation.kt index 35f8e3bb461f..12f374fe3405 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/model/SideFpsSensorLocation.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/model/SideFpsSensorLocation.kt @@ -21,8 +21,8 @@ data class SideFpsSensorLocation( val left: Int, /** Pixel offset from the top of the screen */ val top: Int, - /** Width in pixels of the SFPS sensor */ - val width: Int, + /** Length of the SFPS sensor in pixels in current display density */ + val length: Int, /** * Whether the sensor is vertical when the device is in its default orientation (Rotation_0 or * Rotation_180) diff --git a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt index 485e5122cfad..5c4ee3524a44 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalRepository.kt @@ -1,26 +1,44 @@ package com.android.systemui.communal.data.repository -import com.android.systemui.FeatureFlags +import com.android.systemui.Flags.communalHub +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlagsClassic import com.android.systemui.flags.Flags import javax.inject.Inject +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow /** Encapsulates the state of communal mode. */ interface CommunalRepository { /** Whether communal features are enabled. */ val isCommunalEnabled: Boolean + + /** + * Target scene as requested by the underlying [SceneTransitionLayout] or through + * [setDesiredScene]. + */ + val desiredScene: StateFlow<CommunalSceneKey> + + /** Updates the requested scene. */ + fun setDesiredScene(desiredScene: CommunalSceneKey) } @SysUISingleton class CommunalRepositoryImpl @Inject constructor( - private val featureFlags: FeatureFlags, private val featureFlagsClassic: FeatureFlagsClassic, ) : CommunalRepository { override val isCommunalEnabled: Boolean - get() = - featureFlagsClassic.isEnabled(Flags.COMMUNAL_SERVICE_ENABLED) && - featureFlags.communalHub() + get() = featureFlagsClassic.isEnabled(Flags.COMMUNAL_SERVICE_ENABLED) && communalHub() + + private val _desiredScene: MutableStateFlow<CommunalSceneKey> = + MutableStateFlow(CommunalSceneKey.Blank) + override val desiredScene: StateFlow<CommunalSceneKey> = _desiredScene.asStateFlow() + + override fun setDesiredScene(desiredScene: CommunalSceneKey) { + _desiredScene.value = desiredScene + } } diff --git a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt index 62387079ab35..ccccbb67c6c0 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt @@ -19,10 +19,13 @@ package com.android.systemui.communal.domain.interactor import com.android.systemui.communal.data.repository.CommunalRepository import com.android.systemui.communal.data.repository.CommunalWidgetRepository import com.android.systemui.communal.shared.model.CommunalAppWidgetInfo +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.communal.shared.model.CommunalWidgetContentModel import com.android.systemui.dagger.SysUISingleton import javax.inject.Inject import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.map /** Encapsulates business-logic related to communal mode. */ @SysUISingleton @@ -47,4 +50,22 @@ constructor( * (have an allocated id). */ val widgetContent: Flow<List<CommunalWidgetContentModel>> = widgetRepository.communalWidgets + + /** + * Target scene as requested by the underlying [SceneTransitionLayout] or through + * [onSceneChanged]. + */ + val desiredScene: StateFlow<CommunalSceneKey> = communalRepository.desiredScene + + /** + * Flow that emits a boolean if the communal UI is showing, ie. the [desiredScene] is the + * [CommunalSceneKey.Communal]. + */ + val isCommunalShowing: Flow<Boolean> = + communalRepository.desiredScene.map { it == CommunalSceneKey.Communal } + + /** Callback received whenever the [SceneTransitionLayout] finishes a scene transition. */ + fun onSceneChanged(newScene: CommunalSceneKey) { + communalRepository.setDesiredScene(newScene) + } } diff --git a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractor.kt b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractor.kt index 276df4eb68ec..7f43eb5682d6 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractor.kt @@ -19,12 +19,23 @@ package com.android.systemui.communal.domain.interactor import android.provider.Settings import com.android.systemui.communal.data.repository.CommunalTutorialRepository import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor +import com.android.systemui.scene.domain.interactor.SceneInteractor +import com.android.systemui.scene.shared.flag.SceneContainerFlags +import com.android.systemui.scene.shared.model.SceneKey import javax.inject.Inject +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.Job import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filterNotNull +import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.launch /** Encapsulates business-logic related to communal tutorial state. */ @OptIn(ExperimentalCoroutinesApi::class) @@ -32,8 +43,12 @@ import kotlinx.coroutines.flow.distinctUntilChanged class CommunalTutorialInteractor @Inject constructor( - communalTutorialRepository: CommunalTutorialRepository, + @Application private val scope: CoroutineScope, + private val communalTutorialRepository: CommunalTutorialRepository, keyguardInteractor: KeyguardInteractor, + private val communalInteractor: CommunalInteractor, + private val sceneContainerFlags: SceneContainerFlags, + private val sceneInteractor: SceneInteractor, ) { /** An observable for whether the tutorial is available. */ val isTutorialAvailable: Flow<Boolean> = @@ -45,4 +60,63 @@ constructor( tutorialSettingState != Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED } .distinctUntilChanged() + + /** + * A flow of the new tutorial state after transitioning. The new state will be calculated based + * on the current tutorial state and transition state as following: + * HUB_MODE_TUTORIAL_NOT_STARTED + communal scene -> HUB_MODE_TUTORIAL_STARTED + * HUB_MODE_TUTORIAL_STARTED + non-communal scene -> HUB_MODE_TUTORIAL_COMPLETED + * HUB_MODE_TUTORIAL_COMPLETED + any scene -> won't emit + */ + private val tutorialStateToUpdate: Flow<Int> = + communalTutorialRepository.tutorialSettingState + .flatMapLatest { tutorialSettingState -> + if (tutorialSettingState == Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED) { + return@flatMapLatest flowOf(null) + } + if (sceneContainerFlags.isEnabled()) { + sceneInteractor.desiredScene.map { sceneModel -> + nextStateAfterTransition( + tutorialSettingState, + sceneModel.key == SceneKey.Communal + ) + } + } else { + communalInteractor.isCommunalShowing.map { + nextStateAfterTransition(tutorialSettingState, it) + } + } + } + .filterNotNull() + .distinctUntilChanged() + + private fun nextStateAfterTransition(tutorialState: Int, isCommunalShowing: Boolean): Int? { + if (tutorialState == Settings.Secure.HUB_MODE_TUTORIAL_NOT_STARTED && isCommunalShowing) { + return Settings.Secure.HUB_MODE_TUTORIAL_STARTED + } + if (tutorialState == Settings.Secure.HUB_MODE_TUTORIAL_STARTED && !isCommunalShowing) { + return Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED + } + return null + } + + private var job: Job? = null + private fun listenForTransitionToUpdateTutorialState() { + if (!communalInteractor.isCommunalEnabled) { + return + } + job = + scope.launch { + tutorialStateToUpdate.collect { + communalTutorialRepository.setTutorialState(it) + if (it == Settings.Secure.HUB_MODE_TUTORIAL_COMPLETED) { + job?.cancel() + } + } + } + } + + init { + listenForTransitionToUpdateTutorialState() + } } diff --git a/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalSceneKey.kt b/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalSceneKey.kt new file mode 100644 index 000000000000..2be909c8e6d0 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/communal/shared/model/CommunalSceneKey.kt @@ -0,0 +1,32 @@ +/* + * 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.communal.shared.model + +/** Definition of the possible scenes for the communal UI. */ +sealed class CommunalSceneKey( + private val loggingName: String, +) { + /** The communal scene containing the hub UI. */ + object Communal : CommunalSceneKey("communal") + + /** The default scene, shows nothing and is only there to allow swiping to communal. */ + object Blank : CommunalSceneKey("blank") + + override fun toString(): String { + return loggingName + } +} diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/binder/CommunalTutorialIndicatorViewBinder.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/binder/CommunalTutorialIndicatorViewBinder.kt index dab6819e1028..4dfc371aaeef 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/ui/binder/CommunalTutorialIndicatorViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/ui/binder/CommunalTutorialIndicatorViewBinder.kt @@ -44,6 +44,8 @@ object CommunalTutorialIndicatorViewBinder { ) } } + + launch { viewModel.alpha.collect { view.alpha = it } } } } diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTutorialIndicatorViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTutorialIndicatorViewModel.kt index eaf95508cf12..274e61a7499f 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTutorialIndicatorViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalTutorialIndicatorViewModel.kt @@ -17,15 +17,21 @@ package com.android.systemui.communal.ui.viewmodel import com.android.systemui.communal.domain.interactor.CommunalTutorialInteractor +import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor import javax.inject.Inject import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.distinctUntilChanged /** View model for communal tutorial indicator on keyguard */ class CommunalTutorialIndicatorViewModel @Inject constructor( communalTutorialInteractor: CommunalTutorialInteractor, + bottomAreaInteractor: KeyguardBottomAreaInteractor, ) { /** An observable for whether the tutorial indicator view should be visible. */ val showIndicator: Flow<Boolean> = communalTutorialInteractor.isTutorialAvailable + + /** An observable for the alpha level for the tutorial indicator. */ + val alpha: Flow<Float> = bottomAreaInteractor.alpha.distinctUntilChanged() } diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt index 390b580bad28..de9b56364c24 100644 --- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt @@ -20,11 +20,13 @@ import android.appwidget.AppWidgetHost import android.content.Context import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.communal.domain.interactor.CommunalTutorialInteractor +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.communal.ui.model.CommunalContentUiModel import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import javax.inject.Inject import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map @SysUISingleton @@ -33,7 +35,7 @@ class CommunalViewModel constructor( @Application private val context: Context, private val appWidgetHost: AppWidgetHost, - communalInteractor: CommunalInteractor, + private val communalInteractor: CommunalInteractor, tutorialInteractor: CommunalTutorialInteractor, ) { /** Whether communal hub should show tutorial content. */ @@ -54,4 +56,9 @@ constructor( ) } } + + val currentScene: StateFlow<CommunalSceneKey> = communalInteractor.desiredScene + fun onSceneChanged(scene: CommunalSceneKey) { + communalInteractor.onSceneChanged(scene) + } } diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java index 7915088b4642..f3353c7f26dc 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java @@ -29,7 +29,6 @@ import com.android.systemui.BootCompleteCache; import com.android.systemui.BootCompleteCacheImpl; import com.android.systemui.accessibility.AccessibilityModule; import com.android.systemui.accessibility.data.repository.AccessibilityRepositoryModule; -import com.android.systemui.aconfig.AConfigModule; import com.android.systemui.appops.dagger.AppOpsModule; import com.android.systemui.assist.AssistModule; import com.android.systemui.authentication.AuthenticationModule; @@ -163,7 +162,6 @@ import javax.inject.Named; @Module(includes = { AccessibilityModule.class, AccessibilityRepositoryModule.class, - AConfigModule.class, AppOpsModule.class, AssistModule.class, AuthenticationModule.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 2ba687b48077..26c5ea6e164d 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 @@ -23,15 +23,15 @@ import android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_ADDED import android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CHANGED import android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_REMOVED import android.os.Handler -import android.os.Trace import android.util.Log import android.view.Display +import com.android.app.tracing.FlowTracing.traceEach +import com.android.app.tracing.traceSection import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.display.data.DisplayEvent -import com.android.systemui.tracing.traceSection import com.android.systemui.util.Compile import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher @@ -43,10 +43,9 @@ import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.filterIsInstance import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.flow.stateIn @@ -97,7 +96,6 @@ constructor( @Application applicationScope: CoroutineScope, @Background backgroundCoroutineDispatcher: CoroutineDispatcher ) : DisplayRepository { - // Displays are enabled only after receiving them in [onDisplayAdded] private val allDisplayEvents: Flow<DisplayEvent> = conflatedCallbackFlow { val callback = @@ -124,16 +122,22 @@ constructor( awaitClose { displayManager.unregisterDisplayListener(callback) } } .onStart { emit(DisplayEvent.Changed(Display.DEFAULT_DISPLAY)) } + .debugLog("allDisplayEvents") .flowOn(backgroundCoroutineDispatcher) override val displayChangeEvent: Flow<Int> = - allDisplayEvents.filter { it is DisplayEvent.Changed }.map { it.displayId } + allDisplayEvents.filterIsInstance<DisplayEvent.Changed>().map { event -> event.displayId } override val displayAdditionEvent: Flow<Display?> = - allDisplayEvents - .filter { it is DisplayEvent.Added } - .map { displayManager.getDisplay(it.displayId) } + allDisplayEvents.filterIsInstance<DisplayEvent.Added>().map { + displayManager.getDisplay(it.displayId) + } + /** + * Represents displays that went though the [DisplayListener.onDisplayAdded] callback. + * + * Those are commonly the ones provided by [DisplayManager.getDisplays] by default. + */ private val enabledDisplays = allDisplayEvents .map { getDisplays() } @@ -143,9 +147,7 @@ constructor( override val displays: Flow<Set<Display>> = enabledDisplays private fun getDisplays(): Set<Display> = - traceSection("DisplayRepository#getDisplays()") { - displayManager.displays?.toSet() ?: emptySet() - } + traceSection("$TAG#getDisplays()") { displayManager.displays?.toSet() ?: emptySet() } /** Propagate to the listeners only enabled displays */ private val enabledDisplayIds: Flow<Set<Int>> = @@ -153,7 +155,8 @@ constructor( .map { enabledDisplaysSet -> enabledDisplaysSet.map { it.displayId }.toSet() } .debugLog("enabledDisplayIds") - private val ignoredDisplayIds = MutableStateFlow<Set<Int>>(emptySet()) + private val _ignoredDisplayIds = MutableStateFlow<Set<Int>>(emptySet()) + private val ignoredDisplayIds: Flow<Set<Int>> = _ignoredDisplayIds.debugLog("ignoredDisplayIds") private fun getInitialConnectedDisplays(): Set<Int> = displayManager @@ -177,7 +180,7 @@ constructor( Log.d(TAG, "display with id=$id connected.") } connectedIds += id - ignoredDisplayIds.value -= id + _ignoredDisplayIds.value -= id trySend(connectedIds.toSet()) } @@ -186,7 +189,7 @@ constructor( if (DEBUG) { Log.d(TAG, "display with id=$id disconnected.") } - ignoredDisplayIds.value -= id + _ignoredDisplayIds.value -= id trySend(connectedIds.toSet()) } } @@ -214,17 +217,23 @@ constructor( private val connectedExternalDisplayIds: Flow<Set<Int>> = connectedDisplayIds .map { connectedDisplayIds -> - connectedDisplayIds - .filter { id -> displayManager.getDisplay(id)?.type == Display.TYPE_EXTERNAL } - .toSet() + traceSection("$TAG#filteringExternalDisplays") { + connectedDisplayIds + .filter { id -> getDisplayType(id) == Display.TYPE_EXTERNAL } + .toSet() + } } .flowOn(backgroundCoroutineDispatcher) .debugLog("connectedExternalDisplayIds") + private fun getDisplayType(displayId: Int): Int? = + traceSection("$TAG#getDisplayType") { displayManager.getDisplay(displayId)?.type } + /** - * Pending displays are the ones connected, but not enabled and not ignored. A connected display - * is ignored after the user makes the decision to use it or not. For now, the initial decision - * from the user is final and not reversible. + * Pending displays are the ones connected, but not enabled and not ignored. + * + * A connected display is ignored after the user makes the decision to use it or not. For now, + * the initial decision from the user is final and not reversible. */ private val pendingDisplayIds: Flow<Set<Int>> = combine(enabledDisplayIds, connectedExternalDisplayIds, ignoredDisplayIds) { @@ -241,12 +250,16 @@ constructor( } connectedExternalDisplayIds - enabledDisplaysIds - ignoredDisplayIds } - .debugLog("pendingDisplayIds") + .debugLog("allPendingDisplayIds") + + /** Which display id should be enabled among the pending ones. */ + private val pendingDisplayId: Flow<Int?> = + pendingDisplayIds.map { it.maxOrNull() }.distinctUntilChanged().debugLog("pendingDisplayId") override val pendingDisplay: Flow<DisplayRepository.PendingDisplay?> = - pendingDisplayIds - .map { pendingDisplayIds -> - val id = pendingDisplayIds.maxOrNull() ?: return@map null + pendingDisplayId + .map { displayId -> + val id = displayId ?: return@map null object : DisplayRepository.PendingDisplay { override val id = id @@ -263,7 +276,7 @@ constructor( override suspend fun ignore() { traceSection("DisplayRepository#ignore($id)") { - ignoredDisplayIds.value += id + _ignoredDisplayIds.value += id } } @@ -282,11 +295,7 @@ constructor( private fun <T> Flow<T>.debugLog(flowName: String): Flow<T> { return if (DEBUG) { - this.onEach { - Log.d(TAG, "$flowName: $it") - Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_APP, "$TAG#$flowName", 0) - Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_APP, "$TAG#$flowName", "$it", 0) - } + traceEach(flowName, logcat = true) } else { this } diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java index 1c2ff4b1b42c..87c12b4a5a59 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java +++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsClassicDebug.java @@ -16,12 +16,15 @@ package com.android.systemui.flags; +import static com.android.systemui.Flags.exampleFlag; +import static com.android.systemui.Flags.sysuiTeamfood; import static com.android.systemui.flags.FlagManager.ACTION_GET_FLAGS; import static com.android.systemui.flags.FlagManager.ACTION_SET_FLAG; import static com.android.systemui.flags.FlagManager.EXTRA_FLAGS; import static com.android.systemui.flags.FlagManager.EXTRA_NAME; import static com.android.systemui.flags.FlagManager.EXTRA_VALUE; import static com.android.systemui.flags.FlagsCommonModule.ALL_FLAGS; +import static com.android.systemui.shared.Flags.exampleSharedFlag; import static java.util.Objects.requireNonNull; @@ -36,13 +39,10 @@ import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.systemui.FeatureFlags; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.util.settings.GlobalSettings; -import org.jetbrains.annotations.NotNull; - import java.io.PrintWriter; import java.util.ArrayList; import java.util.Map; @@ -81,7 +81,6 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { private final Map<String, Boolean> mBooleanFlagCache = new ConcurrentHashMap<>(); private final Map<String, String> mStringFlagCache = new ConcurrentHashMap<>(); private final Map<String, Integer> mIntFlagCache = new ConcurrentHashMap<>(); - private final FeatureFlags mGantryFlags; private final Restarter mRestarter; private final ServerFlagReader.ChangeListener mOnPropertiesChanged = @@ -126,7 +125,6 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { @Main Resources resources, ServerFlagReader serverFlagReader, @Named(ALL_FLAGS) Map<String, Flag<?>> allFlags, - FeatureFlags gantryFlags, Restarter restarter) { mFlagManager = flagManager; mContext = context; @@ -135,7 +133,6 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { mSystemProperties = systemProperties; mServerFlagReader = serverFlagReader; mAllFlags = allFlags; - mGantryFlags = gantryFlags; mRestarter = restarter; } @@ -153,16 +150,16 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { } @Override - public boolean isEnabled(@NotNull UnreleasedFlag flag) { + public boolean isEnabled(@NonNull UnreleasedFlag flag) { return isEnabledInternal(flag); } @Override - public boolean isEnabled(@NotNull ReleasedFlag flag) { + public boolean isEnabled(@NonNull ReleasedFlag flag) { return isEnabledInternal(flag); } - private boolean isEnabledInternal(@NotNull BooleanFlag flag) { + private boolean isEnabledInternal(@NonNull BooleanFlag flag) { String name = flag.getName(); Boolean value = mBooleanFlagCache.get(name); @@ -264,7 +261,7 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { && !defaultValue && result == null && flag.getTeamfood()) { - return mGantryFlags.sysuiTeamfood(); + return sysuiTeamfood(); } return result == null ? mServerFlagReader.readServerOverride( @@ -537,8 +534,10 @@ public class FeatureFlagsClassicDebug implements FeatureFlagsClassic { @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("can override: true"); - pw.println("teamfood: " + mGantryFlags.sysuiTeamfood()); + pw.println("teamfood: " + sysuiTeamfood()); pw.println("booleans: " + mBooleanFlagCache.size()); + pw.println("example_flag: " + exampleFlag()); + pw.println("example_shared_flag: " + exampleSharedFlag()); // Sort our flags for dumping TreeMap<String, Boolean> dumpBooleanMap = new TreeMap<>(mBooleanFlagCache); dumpBooleanMap.forEach((key, value) -> pw.println(" sysui_flag_" + key + ": " + value)); diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index fa9866163646..49b8ee632d7e 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -258,7 +258,7 @@ object Flags { // TODO(b/290652751): Tracking bug. @JvmField val MIGRATE_SPLIT_KEYGUARD_BOTTOM_AREA = - unreleasedFlag("migrate_split_keyguard_bottom_area", teamfood = true) + unreleasedFlag("migrate_split_keyguard_bottom_area") // TODO(b/297037052): Tracking bug. @JvmField @@ -273,7 +273,7 @@ object Flags { /** Migrate the lock icon view to the new keyguard root view. */ // TODO(b/286552209): Tracking bug. - @JvmField val MIGRATE_LOCK_ICON = unreleasedFlag("migrate_lock_icon", teamfood = true) + @JvmField val MIGRATE_LOCK_ICON = unreleasedFlag("migrate_lock_icon") // TODO(b/288276738): Tracking bug. @JvmField val WIDGET_ON_KEYGUARD = unreleasedFlag("widget_on_keyguard") @@ -296,11 +296,6 @@ object Flags { @JvmField val MIGRATE_CLOCKS_TO_BLUEPRINT = unreleasedFlag("migrate_clocks_to_blueprint") - /** Migrate KeyguardRootView to use composables. */ - // TODO(b/301969856): Tracking Bug. - @JvmField val KEYGUARD_ROOT_VIEW_USE_COMPOSE = - unreleasedFlag("keyguard_root_view_use_compose") - /** Enables preview loading animation in the wallpaper picker. */ // TODO(b/274443705): Tracking Bug @JvmField @@ -532,10 +527,9 @@ object Flags { @Keep @JvmField val WM_ENABLE_PARTIAL_SCREEN_SHARING_ENTERPRISE_POLICIES = - unreleasedFlag( - name = "screen_record_enterprise_policies", + releasedFlag( + name = "enable_screen_record_enterprise_policies", namespace = DeviceConfig.NAMESPACE_WINDOW_MANAGER, - teamfood = false ) // TODO(b/293252410) : Tracking Bug diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt index 4b98526999f5..c490ce7db843 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt @@ -30,13 +30,13 @@ import android.net.Uri import android.os.Binder import android.os.Bundle import android.util.Log +import com.android.app.tracing.TraceUtils.Companion.runBlocking import com.android.systemui.SystemUIAppComponentFactoryBase import com.android.systemui.SystemUIAppComponentFactoryBase.ContextAvailableCallback import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.keyguard.domain.interactor.KeyguardQuickAffordanceInteractor import com.android.systemui.keyguard.ui.preview.KeyguardRemotePreviewManager import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract -import com.android.systemui.tracing.TraceUtils.Companion.runBlocking import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/LifecycleScreenStatusProvider.kt b/packages/SystemUI/src/com/android/systemui/keyguard/LifecycleScreenStatusProvider.kt index 5c1b731db0e2..f9b89b11cd67 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/LifecycleScreenStatusProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/LifecycleScreenStatusProvider.kt @@ -17,7 +17,7 @@ package com.android.systemui.keyguard import com.android.systemui.unfold.updates.screen.ScreenStatusProvider import com.android.systemui.unfold.updates.screen.ScreenStatusProvider.ScreenListener -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject import javax.inject.Singleton diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt index 0e795aef4772..c4962a1e1d17 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt @@ -18,6 +18,7 @@ package com.android.systemui.keyguard.domain.interactor import android.animation.ValueAnimator import com.android.app.animation.Interpolators +import com.android.app.tracing.TraceUtils.Companion.launch import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.flags.FeatureFlags @@ -31,7 +32,6 @@ import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.shade.data.repository.ShadeRepository -import com.android.systemui.tracing.TraceUtils.Companion.launch import com.android.systemui.util.kotlin.Utils.Companion.toQuad import com.android.systemui.util.kotlin.Utils.Companion.toTriple import com.android.systemui.util.kotlin.sample diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt index fbe92e33ef4f..448411edb168 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt @@ -22,6 +22,7 @@ import android.app.admin.DevicePolicyManager import android.content.Context import android.content.Intent import android.util.Log +import com.android.app.tracing.TraceUtils.Companion.withContext import com.android.internal.widget.LockPatternUtils import com.android.systemui.animation.DialogLaunchAnimator import com.android.systemui.animation.Expandable @@ -48,7 +49,6 @@ import com.android.systemui.settings.UserTracker import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract import com.android.systemui.statusbar.phone.SystemUIDialog import com.android.systemui.statusbar.policy.KeyguardStateController -import com.android.systemui.tracing.TraceUtils.Companion.withContext import dagger.Lazy import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/SideFpsProgressBarViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/SideFpsProgressBarViewBinder.kt index 1acea5cfc579..0bee48a63a28 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/SideFpsProgressBarViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/SideFpsProgressBarViewBinder.kt @@ -16,19 +16,30 @@ package com.android.systemui.keyguard.ui.binder +import android.animation.ValueAnimator +import android.graphics.Point import com.android.systemui.CoreStartable import com.android.systemui.biometrics.SideFpsController 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 import com.android.systemui.keyguard.ui.view.SideFpsProgressBar import com.android.systemui.keyguard.ui.viewmodel.SideFpsProgressBarViewModel +import com.android.systemui.log.SideFpsLogger +import com.android.systemui.statusbar.commandline.Command +import com.android.systemui.statusbar.commandline.CommandRegistry import com.android.systemui.util.kotlin.Quint +import java.io.PrintWriter import javax.inject.Inject import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.combine import kotlinx.coroutines.launch +private const val spfsProgressBarCommand = "sfps-progress-bar" + @SysUISingleton class SideFpsProgressBarViewBinder @Inject @@ -37,38 +48,124 @@ constructor( private val view: SideFpsProgressBar, @Application private val applicationScope: CoroutineScope, private val sfpsController: dagger.Lazy<SideFpsController>, + private val logger: SideFpsLogger, + private val commandRegistry: CommandRegistry, + private val featureFlagsClassic: FeatureFlagsClassic, ) : CoreStartable { override fun start() { + if (!featureFlagsClassic.isEnabled(Flags.REST_TO_UNLOCK)) { + return + } + // When the rest to unlock feature is disabled by the user, stop any coroutines that are + // not required. + var layoutJob: Job? = null + var progressJob: Job? = null + commandRegistry.registerCommand(spfsProgressBarCommand) { SfpsProgressBarCommand() } applicationScope.launch { viewModel.isProlongedTouchRequiredForAuthentication.collectLatest { enabled -> + logger.isProlongedTouchRequiredForAuthenticationChanged(enabled) if (enabled) { - launch { + layoutJob = launch { combine( viewModel.isVisible, - viewModel.sensorLocation, - viewModel.shouldRotate90Degrees, + viewModel.progressBarLocation, + viewModel.rotation, viewModel.isFingerprintAuthRunning, - viewModel.sensorWidth, + viewModel.progressBarLength, ::Quint ) - .collectLatest { - (visible, location, shouldRotate, fpDetectRunning, sensorWidth) -> - view.updateView(visible, location, shouldRotate, sensorWidth) - // We have to hide the SFPS indicator as the progress bar will - // be shown at the same location - if (visible) { - sfpsController.get().hideIndicator() - } else if (fpDetectRunning) { - sfpsController.get().showIndicator() - } + .collectLatest { (visible, location, rotation, fpDetectRunning, length) + -> + updateView( + visible, + location, + fpDetectRunning, + length, + viewModel.progressBarThickness, + rotation, + ) } } - launch { viewModel.progress.collectLatest { view.setProgress(it) } } + progressJob = launch { + viewModel.progress.collectLatest { view.setProgress(it) } + } } else { - view.hideOverlay() + view.hide() + layoutJob?.cancel() + progressJob?.cancel() + } + } + } + } + + private fun updateView( + visible: Boolean, + location: Point, + fpDetectRunning: Boolean, + length: Int, + thickness: Int, + rotation: Float, + ) { + logger.sfpsProgressBarStateChanged(visible, location, fpDetectRunning, length, rotation) + view.updateView(visible, location, length, thickness, rotation) + // We have to hide the SFPS indicator as the progress bar will + // be shown at the same location + if (visible) { + logger.hidingSfpsIndicator() + sfpsController.get().hideIndicator() + } else if (fpDetectRunning) { + logger.showingSfpsIndicator() + sfpsController.get().showIndicator() + } + } + + inner class SfpsProgressBarCommand : Command { + private var animator: ValueAnimator? = null + override fun execute(pw: PrintWriter, args: List<String>) { + if (args.isEmpty() || args[0] == "show" && args.size != 6) { + pw.println("invalid command") + help(pw) + } else { + when (args[0]) { + "show" -> { + animator?.cancel() + updateView( + visible = true, + location = Point(Integer.parseInt(args[1]), Integer.parseInt(args[2])), + fpDetectRunning = true, + length = Integer.parseInt(args[3]), + thickness = Integer.parseInt(args[4]), + rotation = Integer.parseInt(args[5]).toFloat(), + ) + animator = + ValueAnimator.ofFloat(0.0f, 1.0f).apply { + repeatMode = ValueAnimator.REVERSE + repeatCount = ValueAnimator.INFINITE + addUpdateListener { view.setProgress(it.animatedValue as Float) } + } + animator?.start() + } + "hide" -> { + animator?.cancel() + updateView( + visible = false, + location = Point(0, 0), + fpDetectRunning = false, + length = 0, + thickness = 0, + rotation = 0.0f, + ) + } } } } + + override fun help(pw: PrintWriter) { + pw.println("Usage: adb shell cmd statusbar $spfsProgressBarCommand <command>") + pw.println("Available commands:") + pw.println(" show x y width height rotation") + pw.println(" hide") + } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/SideFpsProgressBar.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/SideFpsProgressBar.kt index f7ab1ee77582..853f1769994e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/SideFpsProgressBar.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/view/SideFpsProgressBar.kt @@ -22,17 +22,16 @@ import android.graphics.Point import android.view.Gravity import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup.LayoutParams.MATCH_PARENT import android.view.WindowManager import android.widget.ProgressBar -import com.android.systemui.biometrics.Utils +import androidx.core.view.isGone import com.android.systemui.dagger.SysUISingleton import com.android.systemui.res.R import javax.inject.Inject private const val TAG = "SideFpsProgressBar" -const val progressBarHeight = 100 - @SysUISingleton class SideFpsProgressBar @Inject @@ -40,31 +39,36 @@ constructor( private val layoutInflater: LayoutInflater, private val windowManager: WindowManager, ) { - private var progressBarWidth = 200 + private var overlayView: View? = null + fun updateView( visible: Boolean, - location: Point, - shouldRotate90Degrees: Boolean, - progressBarWidth: Int + viewLeftTopLocation: Point, + progressBarWidth: Int, + progressBarHeight: Int, + rotation: Float, ) { if (visible) { - this.progressBarWidth = progressBarWidth - createAndShowOverlay(location, shouldRotate90Degrees) + createAndShowOverlay(viewLeftTopLocation, rotation, progressBarWidth, progressBarHeight) } else { - hideOverlay() + hide() } } - fun hideOverlay() { - overlayView = null + fun hide() { + progressBar?.isGone = true } private val overlayViewParams = WindowManager.LayoutParams( - progressBarHeight, - progressBarWidth, + // overlay is always full screen + MATCH_PARENT, + MATCH_PARENT, WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, - Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS, + WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or + WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or + WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE or + WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, PixelFormat.TRANSPARENT ) .apply { @@ -78,37 +82,31 @@ constructor( WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION } - private var overlayView: View? = null - set(value) { - field?.let { oldView -> windowManager.removeView(oldView) } - field = value - field?.let { newView -> windowManager.addView(newView, overlayViewParams) } - } - private fun createAndShowOverlay( - fingerprintSensorLocation: Point, - shouldRotate90Degrees: Boolean + viewLeftTop: Point, + rotation: Float, + progressBarLength: Int, + progressBarThickness: Int, ) { if (overlayView == null) { overlayView = layoutInflater.inflate(R.layout.sidefps_progress_bar, null, false) + windowManager.addView(overlayView, overlayViewParams) + progressBar?.pivotX = 0.0f + progressBar?.pivotY = 0.0f } - overlayViewParams.x = fingerprintSensorLocation.x - overlayViewParams.y = fingerprintSensorLocation.y - if (shouldRotate90Degrees) { - overlayView?.rotation = 270.0f - overlayViewParams.width = progressBarHeight - overlayViewParams.height = progressBarWidth - } else { - overlayView?.rotation = 0.0f - overlayViewParams.width = progressBarWidth - overlayViewParams.height = progressBarHeight - } - windowManager.updateViewLayout(overlayView, overlayViewParams) + progressBar?.layoutParams?.width = progressBarLength + progressBar?.layoutParams?.height = progressBarThickness + progressBar?.translationX = viewLeftTop.x.toFloat() + progressBar?.translationY = viewLeftTop.y.toFloat() + progressBar?.rotation = rotation + progressBar?.isGone = false + overlayView?.requestLayout() } fun setProgress(value: Float) { - overlayView - ?.findViewById<ProgressBar?>(R.id.side_fps_progress_bar) - ?.setProgress((value * 100).toInt(), false) + progressBar?.setProgress((value * 100).toInt(), false) } + + private val progressBar: ProgressBar? + get() = overlayView?.findViewById(R.id.side_fps_progress_bar) } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/SideFpsProgressBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/SideFpsProgressBarViewModel.kt index 2c3b431715a9..a0f5baff29ba 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/SideFpsProgressBarViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/SideFpsProgressBarViewModel.kt @@ -17,64 +17,137 @@ package com.android.systemui.keyguard.ui.viewmodel import android.animation.ValueAnimator +import android.content.Context import android.graphics.Point import androidx.core.animation.doOnEnd import com.android.systemui.biometrics.domain.interactor.DisplayStateInteractor import com.android.systemui.biometrics.domain.interactor.SideFpsSensorInteractor +import com.android.systemui.biometrics.shared.model.DisplayRotation import com.android.systemui.biometrics.shared.model.isDefaultOrientation 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 import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.shared.model.AcquiredFingerprintAuthenticationStatus import com.android.systemui.keyguard.shared.model.ErrorFingerprintAuthenticationStatus import com.android.systemui.keyguard.shared.model.FailFingerprintAuthenticationStatus import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus +import com.android.systemui.res.R import javax.inject.Inject import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onCompletion +import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch @SysUISingleton class SideFpsProgressBarViewModel @Inject constructor( + private val context: Context, private val fpAuthRepository: DeviceEntryFingerprintAuthRepository, private val sfpsSensorInteractor: SideFpsSensorInteractor, displayStateInteractor: DisplayStateInteractor, @Application private val applicationScope: CoroutineScope, + private val featureFlagsClassic: FeatureFlagsClassic, ) { private val _progress = MutableStateFlow(0.0f) private val _visible = MutableStateFlow(false) private var _animator: ValueAnimator? = null + private var animatorJob: Job? = null private fun onFingerprintCaptureCompleted() { _visible.value = false _progress.value = 0.0f } + private val additionalSensorLengthPadding = + context.resources.getDimension(R.dimen.sfps_progress_bar_length_extra_padding).toInt() + val isVisible: Flow<Boolean> = _visible.asStateFlow() val progress: Flow<Float> = _progress.asStateFlow() - val sensorWidth: Flow<Int> = sfpsSensorInteractor.sensorLocation.map { it.width } + val progressBarLength: Flow<Int> = + sfpsSensorInteractor.sensorLocation + .map { it.length + additionalSensorLengthPadding } + .distinctUntilChanged() + + val progressBarThickness = + context.resources.getDimension(R.dimen.sfps_progress_bar_thickness).toInt() + + val progressBarLocation = + combine(displayStateInteractor.currentRotation, sfpsSensorInteractor.sensorLocation, ::Pair) + .map { (rotation, sensorLocation) -> + val paddingFromEdge = + context.resources + .getDimension(R.dimen.sfps_progress_bar_padding_from_edge) + .toInt() + val lengthOfTheProgressBar = sensorLocation.length + additionalSensorLengthPadding + val viewLeftTop = Point(sensorLocation.left, sensorLocation.top) + val totalDistanceFromTheEdge = paddingFromEdge + progressBarThickness - val sensorLocation: Flow<Point> = - sfpsSensorInteractor.sensorLocation.map { Point(it.left, it.top) } + val isSensorVerticalNow = + sensorLocation.isSensorVerticalInDefaultOrientation == + rotation.isDefaultOrientation() + if (isSensorVerticalNow) { + // Sensor is vertical to the current orientation, we rotate it 270 deg + // around the (left,top) point as the pivot. We need to push it down the + // length of the progress bar so that it is still aligned to the sensor + viewLeftTop.y += lengthOfTheProgressBar + val isSensorOnTheNearEdge = + rotation == DisplayRotation.ROTATION_180 || + rotation == DisplayRotation.ROTATION_90 + if (isSensorOnTheNearEdge) { + // Add just the padding from the edge to push the progress bar right + viewLeftTop.x += paddingFromEdge + } else { + // View left top is pushed left from the edge by the progress bar thickness + // and the padding. + viewLeftTop.x -= totalDistanceFromTheEdge + } + } else { + // Sensor is horizontal to the current orientation. + val isSensorOnTheNearEdge = + rotation == DisplayRotation.ROTATION_0 || + rotation == DisplayRotation.ROTATION_90 + if (isSensorOnTheNearEdge) { + // Add just the padding from the edge to push the progress bar down + viewLeftTop.y += paddingFromEdge + } else { + // Sensor is now at the bottom edge of the device in the current rotation. + // We want to push it up from the bottom edge by the padding and + // the thickness of the progressbar. + viewLeftTop.y -= totalDistanceFromTheEdge + viewLeftTop.x -= additionalSensorLengthPadding + } + } + viewLeftTop + } val isFingerprintAuthRunning: Flow<Boolean> = fpAuthRepository.isRunning - val shouldRotate90Degrees: Flow<Boolean> = + val rotation: Flow<Float> = combine(displayStateInteractor.currentRotation, sfpsSensorInteractor.sensorLocation, ::Pair) .map { (rotation, sensorLocation) -> - if (rotation.isDefaultOrientation()) { - sensorLocation.isSensorVerticalInDefaultOrientation + if ( + rotation.isDefaultOrientation() == + sensorLocation.isSensorVerticalInDefaultOrientation + ) { + // We should rotate the progress bar 270 degrees in the clockwise direction with + // the left top point as the pivot so that it fills up from bottom to top + 270.0f } else { - !sensorLocation.isSensorVerticalInDefaultOrientation + 0.0f } } @@ -82,26 +155,32 @@ constructor( sfpsSensorInteractor.isProlongedTouchRequiredForAuthentication init { - applicationScope.launch { - combine( - sfpsSensorInteractor.isProlongedTouchRequiredForAuthentication, - sfpsSensorInteractor.authenticationDuration, - ::Pair - ) - .collectLatest { (enabled, authDuration) -> - if (!enabled) return@collectLatest + if (featureFlagsClassic.isEnabled(Flags.REST_TO_UNLOCK)) { + launchAnimator() + } + } - launch { - fpAuthRepository.authenticationStatus.collectLatest { authStatus -> + private fun launchAnimator() { + applicationScope.launch { + sfpsSensorInteractor.isProlongedTouchRequiredForAuthentication.collectLatest { enabled + -> + if (!enabled) { + animatorJob?.cancel() + return@collectLatest + } + animatorJob = + fpAuthRepository.authenticationStatus + .onEach { authStatus -> when (authStatus) { is AcquiredFingerprintAuthenticationStatus -> { if (authStatus.fingerprintCaptureStarted) { - _visible.value = true _animator?.cancel() _animator = ValueAnimator.ofFloat(0.0f, 1.0f) - .setDuration(authDuration) + .setDuration( + sfpsSensorInteractor.authenticationDuration + ) .apply { addUpdateListener { _progress.value = it.animatedValue as Float @@ -131,8 +210,9 @@ constructor( else -> Unit } } - } - } + .onCompletion { _animator?.cancel() } + .launchIn(applicationScope) + } } } } diff --git a/packages/SystemUI/src/com/android/systemui/log/SideFpsLogger.kt b/packages/SystemUI/src/com/android/systemui/log/SideFpsLogger.kt new file mode 100644 index 000000000000..919072a63220 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/log/SideFpsLogger.kt @@ -0,0 +1,111 @@ +/* + * 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.log + +import android.graphics.Point +import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.log.core.LogLevel +import com.android.systemui.log.dagger.BouncerLog +import javax.inject.Inject + +private const val TAG = "SideFpsLogger" + +/** + * Helper class for logging for SFPS related functionality + * + * To enable logcat echoing for an entire buffer: + * ``` + * adb shell settings put global systemui/buffer/BouncerLog <logLevel> + * + * ``` + */ +@SysUISingleton +class SideFpsLogger @Inject constructor(@BouncerLog private val buffer: LogBuffer) { + fun sfpsProgressBarStateChanged( + visible: Boolean, + location: Point, + fpDetectRunning: Boolean, + sensorWidth: Int, + rotation: Float, + ) { + buffer.log( + TAG, + LogLevel.DEBUG, + { + bool1 = visible + int1 = location.x + int2 = location.y + str1 = "$rotation" + bool3 = fpDetectRunning + long1 = sensorWidth.toLong() + }, + { + "SFPS progress bar state changed: visible: $bool1, " + + "sensorLocation (x, y): ($int1, $int2), " + + "rotation = $str1, " + + "fpDetectRunning: $bool3, " + + "sensorWidth: $long1" + } + ) + } + + fun hidingSfpsIndicator() { + buffer.log(TAG, LogLevel.DEBUG, "hiding SFPS indicator to show progress bar") + } + + fun showingSfpsIndicator() { + buffer.log( + TAG, + LogLevel.DEBUG, + "Requesting show SFPS indicator because progress bar " + + "is being hidden and FP detect is currently running" + ) + } + + fun isProlongedTouchRequiredForAuthenticationChanged(enabled: Boolean) { + buffer.log( + TAG, + LogLevel.DEBUG, + { bool1 = enabled }, + { "isProlongedTouchRequiredForAuthentication: $bool1" } + ) + } + + fun sensorLocationStateChanged( + pointOnScreenX: Int, + pointOnScreenY: Int, + sensorLength: Int, + isSensorVerticalInDefaultOrientation: Boolean + ) { + buffer.log( + TAG, + LogLevel.DEBUG, + { + int1 = pointOnScreenX + int2 = pointOnScreenY + str2 = "$sensorLength" + bool1 = isSensorVerticalInDefaultOrientation + }, + { + "SideFpsSensorLocation state changed: " + + "pointOnScreen: ($int1, $int2), " + + "sensorLength: $str2, " + + "sensorVerticalInDefaultOrientation: $bool1" + } + ) + } +} diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt index 601aebe77c9e..3e8b49d4a653 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataManager.kt @@ -56,6 +56,7 @@ import android.text.TextUtils import android.util.Log import android.util.Pair as APair import androidx.media.utils.MediaConstants +import com.android.app.tracing.traceSection import com.android.internal.annotations.Keep import com.android.internal.logging.InstanceId import com.android.keyguard.KeyguardUpdateMonitor @@ -86,7 +87,6 @@ import com.android.systemui.res.R import com.android.systemui.statusbar.NotificationMediaManager.isConnectingState import com.android.systemui.statusbar.NotificationMediaManager.isPlayingState import com.android.systemui.statusbar.notification.row.HybridGroupManager -import com.android.systemui.tracing.traceSection import com.android.systemui.tuner.TunerService import com.android.systemui.util.Assert import com.android.systemui.util.Utils diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt index d3bc61bc5616..a2524709b8bc 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt @@ -34,6 +34,7 @@ import android.widget.LinearLayout import androidx.annotation.VisibleForTesting import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle +import com.android.app.tracing.traceSection import com.android.internal.logging.InstanceId import com.android.keyguard.KeyguardUpdateMonitor import com.android.keyguard.KeyguardUpdateMonitorCallback @@ -66,7 +67,6 @@ import com.android.systemui.shared.system.SysUiStatsLog.SMART_SPACE_CARD_REPORTE 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 -import com.android.systemui.tracing.traceSection import com.android.systemui.util.Utils import com.android.systemui.util.animation.UniqueObjectHostView import com.android.systemui.util.animation.requiresRemeasuring diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt index f3d41aaf2221..b1ff708d020b 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt @@ -34,8 +34,11 @@ import android.view.ViewGroup import android.view.ViewGroupOverlay import androidx.annotation.VisibleForTesting import com.android.app.animation.Interpolators +import com.android.app.tracing.traceSection import com.android.keyguard.KeyguardViewController +import com.android.systemui.communal.domain.interactor.CommunalInteractor import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dreams.DreamOverlayStateController import com.android.systemui.keyguard.WakefulnessLifecycle @@ -53,10 +56,11 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.statusbar.policy.SplitShadeStateController -import com.android.systemui.tracing.traceSection import com.android.systemui.util.animation.UniqueObjectHostView import com.android.systemui.util.settings.SecureSettings import javax.inject.Inject +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch private val TAG: String = MediaHierarchyManager::class.java.simpleName @@ -96,11 +100,13 @@ constructor( private val mediaManager: MediaDataManager, private val keyguardViewController: KeyguardViewController, private val dreamOverlayStateController: DreamOverlayStateController, + private val communalInteractor: CommunalInteractor, configurationController: ConfigurationController, wakefulnessLifecycle: WakefulnessLifecycle, panelEventsEvents: ShadeStateEvents, private val secureSettings: SecureSettings, @Main private val handler: Handler, + @Application private val coroutineScope: CoroutineScope, private val splitShadeStateController: SplitShadeStateController, private val logger: MediaViewLogger, ) { @@ -209,7 +215,7 @@ constructor( else result.setIntersect(animationStartClipping, targetClipping) } - private val mediaHosts = arrayOfNulls<MediaHost>(LOCATION_DREAM_OVERLAY + 1) + private val mediaHosts = arrayOfNulls<MediaHost>(LOCATION_COMMUNAL_HUB + 1) /** * The last location where this view was at before going to the desired location. This is useful * for guided transitions. @@ -401,6 +407,9 @@ constructor( } } + /** Is the communal UI showing */ + private var isCommunalShowing: Boolean = false + /** * The current cross fade progress. 0.5f means it's just switching between the start and the end * location and the content is fully faded, while 0.75f means that we're halfway faded in again @@ -563,6 +572,14 @@ constructor( settingsObserver, UserHandle.USER_ALL ) + + // Listen to the communal UI state. + coroutineScope.launch { + communalInteractor.isCommunalShowing.collect { value -> + isCommunalShowing = value + updateDesiredLocation(forceNoAnimation = true) + } + } } private fun updateConfiguration() { @@ -1115,6 +1132,9 @@ constructor( qsExpansion > 0.4f && onLockscreen -> LOCATION_QS onLockscreen && isSplitShadeExpanding() -> LOCATION_QS onLockscreen && isTransformingToFullShadeAndInQQS() -> LOCATION_QQS + // TODO(b/308813166): revisit logic once interactions between the hub and + // shade/keyguard state are finalized + isCommunalShowing && communalInteractor.isCommunalEnabled -> LOCATION_COMMUNAL_HUB onLockscreen && allowMediaPlayerOnLockScreen -> LOCATION_LOCKSCREEN else -> LOCATION_QQS } @@ -1224,6 +1244,9 @@ constructor( /** Attached on the dream overlay */ const val LOCATION_DREAM_OVERLAY = 3 + /** Attached to a view in the communal UI grid */ + const val LOCATION_COMMUNAL_HUB = 4 + /** Attached at the root of the hierarchy in an overlay */ const val IN_OVERLAY = -1000 @@ -1261,7 +1284,8 @@ private annotation class TransformationType MediaHierarchyManager.LOCATION_QS, MediaHierarchyManager.LOCATION_QQS, MediaHierarchyManager.LOCATION_LOCKSCREEN, - MediaHierarchyManager.LOCATION_DREAM_OVERLAY + MediaHierarchyManager.LOCATION_DREAM_OVERLAY, + MediaHierarchyManager.LOCATION_COMMUNAL_HUB ] ) @Retention(AnnotationRetention.SOURCE) diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHostStatesManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHostStatesManager.kt index 0129c49285d9..1f711cfdd966 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHostStatesManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHostStatesManager.kt @@ -16,8 +16,8 @@ package com.android.systemui.media.controls.ui +import com.android.app.tracing.traceSection import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.tracing.traceSection import com.android.systemui.util.animation.MeasurementOutput import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt index 6b82746b68bf..1ec43c5e3091 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt @@ -20,6 +20,7 @@ import android.content.Context import android.content.res.Configuration import androidx.annotation.VisibleForTesting import androidx.constraintlayout.widget.ConstraintSet +import com.android.app.tracing.traceSection import com.android.systemui.media.controls.models.GutsViewHolder import com.android.systemui.media.controls.models.player.MediaViewHolder import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder @@ -27,7 +28,6 @@ import com.android.systemui.media.controls.ui.MediaCarouselController.Companion. import com.android.systemui.media.controls.util.MediaFlags import com.android.systemui.res.R import com.android.systemui.statusbar.policy.ConfigurationController -import com.android.systemui.tracing.traceSection import com.android.systemui.util.animation.MeasurementOutput import com.android.systemui.util.animation.TransitionLayout import com.android.systemui.util.animation.TransitionLayoutController diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt index 20ea60fa3a5f..16a703a6bfdd 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt @@ -20,11 +20,11 @@ import com.android.internal.logging.InstanceId import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger -import com.android.systemui.res.R import com.android.systemui.dagger.SysUISingleton import com.android.systemui.media.controls.models.player.MediaData import com.android.systemui.media.controls.ui.MediaHierarchyManager import com.android.systemui.media.controls.ui.MediaLocation +import com.android.systemui.res.R import java.lang.IllegalArgumentException import javax.inject.Inject @@ -154,6 +154,8 @@ class MediaUiEventLogger @Inject constructor(private val logger: UiEventLogger) MediaUiEvent.MEDIA_CAROUSEL_LOCATION_LOCKSCREEN MediaHierarchyManager.LOCATION_DREAM_OVERLAY -> MediaUiEvent.MEDIA_CAROUSEL_LOCATION_DREAM + MediaHierarchyManager.LOCATION_COMMUNAL_HUB -> + MediaUiEvent.MEDIA_CAROUSEL_LOCATION_COMMUNAL else -> throw IllegalArgumentException("Unknown media carousel location $location") } logger.log(event) @@ -276,6 +278,8 @@ enum class MediaUiEvent(val metricId: Int) : UiEventLogger.UiEventEnum { MEDIA_CAROUSEL_LOCATION_LOCKSCREEN(1039), @UiEvent(doc = "The media carousel moved to the dream state") MEDIA_CAROUSEL_LOCATION_DREAM(1040), + @UiEvent(doc = "The media carousel moved to the communal hub UI") + MEDIA_CAROUSEL_LOCATION_COMMUNAL(1520), @UiEvent(doc = "A media recommendation card was added to the media carousel") MEDIA_RECOMMENDATION_ADDED(1041), @UiEvent(doc = "A media recommendation card was removed from the media carousel") diff --git a/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java b/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java index 888cd0bf8b9a..8f752e59e806 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java +++ b/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java @@ -46,6 +46,7 @@ public interface MediaModule { String QUICK_QS_PANEL = "media_quick_qs_panel"; String KEYGUARD = "media_keyguard"; String DREAM = "dream"; + String COMMUNAL_HUB = "communal_Hub"; /** */ @Provides @@ -87,6 +88,16 @@ public interface MediaModule { return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager); } + /** */ + @Provides + @SysUISingleton + @Named(COMMUNAL_HUB) + static MediaHost providesCommunalMediaHost(MediaHost.MediaHostStateHolder stateHolder, + MediaHierarchyManager hierarchyManager, MediaDataManager dataManager, + MediaHostStatesManager statesManager) { + return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager); + } + /** Provides a logging buffer related to the media tap-to-transfer chip on the sender device. */ @Provides @SysUISingleton diff --git a/packages/SystemUI/src/com/android/systemui/media/muteawait/MediaMuteAwaitConnectionManagerFactory.kt b/packages/SystemUI/src/com/android/systemui/media/muteawait/MediaMuteAwaitConnectionManagerFactory.kt index 97ec654a627b..6e3b7b865cb0 100644 --- a/packages/SystemUI/src/com/android/systemui/media/muteawait/MediaMuteAwaitConnectionManagerFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/media/muteawait/MediaMuteAwaitConnectionManagerFactory.kt @@ -31,7 +31,7 @@ class MediaMuteAwaitConnectionManagerFactory @Inject constructor( private val logger: MediaMuteAwaitLogger, @Main private val mainExecutor: Executor ) { - private val deviceIconUtil = DeviceIconUtil() + private val deviceIconUtil = DeviceIconUtil(context) /** Creates a [MediaMuteAwaitConnectionManager]. */ fun create(localMediaManager: LocalMediaManager): MediaMuteAwaitConnectionManager { diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index ad1c77d05534..a985236cb38e 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -112,7 +112,6 @@ import com.android.internal.statusbar.LetterboxDetails; import com.android.internal.util.LatencyTracker; import com.android.internal.view.AppearanceRegion; import com.android.systemui.Gefingerpoken; -import com.android.systemui.res.R; import com.android.systemui.assist.AssistManager; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.DisplayId; @@ -130,6 +129,7 @@ import com.android.systemui.navigationbar.gestural.QuickswitchOrientedNavHandle; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.recents.Recents; +import com.android.systemui.res.R; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.settings.UserContextProvider; import com.android.systemui.settings.UserTracker; @@ -399,6 +399,11 @@ public class NavigationBar extends ViewController<NavigationBarView> implements } @Override + public void animateNavBarLongPress(boolean isTouchDown, long durationMs) { + mView.getHomeHandle().animateLongPress(isTouchDown, durationMs); + } + + @Override public void onHomeRotationEnabled(boolean enabled) { mView.getRotationButtonController().setHomeRotationEnabled(enabled); } diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonDispatcher.java b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonDispatcher.java index 10084bd4ccad..5fe830e6e442 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonDispatcher.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonDispatcher.java @@ -247,6 +247,14 @@ public class ButtonDispatcher { } } + public void animateLongPress(boolean isTouchDown, long durationMs) { + for (int i = 0; i < mViews.size(); i++) { + if (mViews.get(i) instanceof ButtonInterface) { + ((ButtonInterface) mViews.get(i)).animateLongPress(isTouchDown, durationMs); + } + } + } + public void setLongClickable(boolean isLongClickable) { mLongClickable = isLongClickable; final int N = mViews.size(); diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonInterface.java b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonInterface.java index 8d291ddf5f19..356b2f7c7cb8 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonInterface.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/buttons/ButtonInterface.java @@ -30,4 +30,14 @@ public interface ButtonInterface { void setDarkIntensity(float intensity); void setDelayTouchFeedback(boolean shouldDelay); + + /** + * Animate the button being long-pressed. + * + * @param isTouchDown {@code true} if the button is starting to be pressed ({@code false} if + * released or canceled) + * @param durationMs how long the animation should take (for the {@code isTouchDown} case, this + * should be the same as the amount of time to trigger a long-press) + */ + default void animateLongPress(boolean isTouchDown, long durationMs) {} } diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/NavigationHandle.java b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/NavigationHandle.java index 5a22c385cb51..5bfc7dc5f7ae 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/NavigationHandle.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/NavigationHandle.java @@ -17,6 +17,7 @@ package com.android.systemui.navigationbar.gestural; import android.animation.ArgbEvaluator; +import android.animation.ObjectAnimator; import android.annotation.ColorInt; import android.content.Context; import android.content.res.Resources; @@ -24,12 +25,15 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.drawable.Drawable; import android.util.AttributeSet; +import android.util.FloatProperty; import android.view.ContextThemeWrapper; import android.view.View; +import android.view.animation.Interpolator; +import com.android.app.animation.Interpolators; import com.android.settingslib.Utils; -import com.android.systemui.res.R; import com.android.systemui.navigationbar.buttons.ButtonInterface; +import com.android.systemui.res.R; public class NavigationHandle extends View implements ButtonInterface { @@ -38,8 +42,26 @@ public class NavigationHandle extends View implements ButtonInterface { private @ColorInt final int mDarkColor; protected final float mRadius; protected final float mBottom; + private final float mAdditionalWidthForAnimation; + private final float mAdditionalHeightForAnimation; private boolean mRequiresInvalidate; + private ObjectAnimator mPulseAnimator = null; + private float mPulseAnimationProgress; + + private static final FloatProperty<NavigationHandle> PULSE_ANIMATION_PROGRESS = + new FloatProperty<>("pulseAnimationProgress") { + @Override + public Float get(NavigationHandle controller) { + return controller.getPulseAnimationProgress(); + } + + @Override + public void setValue(NavigationHandle controller, float progress) { + controller.setPulseAnimationProgress(progress); + } + }; + public NavigationHandle(Context context) { this(context, null); } @@ -49,6 +71,10 @@ public class NavigationHandle extends View implements ButtonInterface { final Resources res = context.getResources(); mRadius = res.getDimension(R.dimen.navigation_handle_radius); mBottom = res.getDimension(R.dimen.navigation_handle_bottom); + mAdditionalWidthForAnimation = + res.getDimension(R.dimen.navigation_home_handle_additional_width_for_animation); + mAdditionalHeightForAnimation = + res.getDimension(R.dimen.navigation_home_handle_additional_height_for_animation); final int dualToneDarkTheme = Utils.getThemeAttr(context, R.attr.darkIconTheme); final int dualToneLightTheme = Utils.getThemeAttr(context, R.attr.lightIconTheme); @@ -75,23 +101,24 @@ public class NavigationHandle extends View implements ButtonInterface { // Draw that bar int navHeight = getHeight(); - float height = mRadius * 2; - int width = getWidth(); - float y = (navHeight - mBottom - height); - canvas.drawRoundRect(0, y, width, y + height, mRadius, mRadius, mPaint); + float additionalHeight = mAdditionalHeightForAnimation * mPulseAnimationProgress; + float height = mRadius * 2 + additionalHeight; + float additionalWidth = mAdditionalWidthForAnimation * mPulseAnimationProgress; + float width = getWidth() + additionalWidth; + float x = -(additionalWidth / 2); + float y = navHeight - mBottom - height - (additionalHeight / 2); + float adjustedRadius = height / 2; + canvas.drawRoundRect(x, y, width, y + height, adjustedRadius, adjustedRadius, mPaint); } @Override - public void setImageDrawable(Drawable drawable) { - } + public void setImageDrawable(Drawable drawable) {} @Override - public void abortCurrentGesture() { - } + public void abortCurrentGesture() {} @Override - public void setVertical(boolean vertical) { - } + public void setVertical(boolean vertical) {} @Override public void setDarkIntensity(float intensity) { @@ -108,6 +135,43 @@ public class NavigationHandle extends View implements ButtonInterface { } @Override - public void setDelayTouchFeedback(boolean shouldDelay) { + public void setDelayTouchFeedback(boolean shouldDelay) {} + + @Override + public void animateLongPress(boolean isTouchDown, long durationMs) { + if (mPulseAnimator != null) { + mPulseAnimator.cancel(); + } + + Interpolator interpolator; + if (isTouchDown) { + // For now we animate the navbar expanding and contracting so that the navbar is the + // original size by the end of {@code duration}. This is because a screenshot is taken + // at that point and we don't want to capture the larger navbar. + // TODO(b/306400785): Determine a way to exclude navbar from the screenshot. + + // Fraction of the touch down animation to expand; remaining is used to contract again. + float expandFraction = 0.9f; + interpolator = t -> t <= expandFraction + ? Interpolators.clampToProgress(Interpolators.LEGACY, t, 0, expandFraction) + : 1 - Interpolators.clampToProgress( + Interpolators.LINEAR, t, expandFraction, 1); + } else { + interpolator = Interpolators.LEGACY_DECELERATE; + } + + mPulseAnimator = + ObjectAnimator.ofFloat(this, PULSE_ANIMATION_PROGRESS, isTouchDown ? 1 : 0); + mPulseAnimator.setDuration(durationMs).setInterpolator(interpolator); + mPulseAnimator.start(); + } + + private void setPulseAnimationProgress(float pulseAnimationProgress) { + mPulseAnimationProgress = pulseAnimationProgress; + invalidate(); + } + + private float getPulseAnimationProgress() { + return mPulseAnimationProgress; } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt new file mode 100644 index 000000000000..6d7d88fbfa79 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/data/repository/CustomTilePackageUpdatesRepository.kt @@ -0,0 +1,61 @@ +/* + * 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.impl.custom.data.repository + +import android.os.UserHandle +import com.android.systemui.common.coroutine.ConflatedCallbackFlow +import com.android.systemui.qs.external.TileServiceManager +import com.android.systemui.qs.pipeline.shared.TileSpec +import com.android.systemui.qs.tiles.impl.custom.di.bound.CustomTileBoundScope +import com.android.systemui.qs.tiles.impl.custom.di.bound.CustomTileUser +import javax.inject.Inject +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.onEach +import kotlinx.coroutines.flow.shareIn + +interface CustomTilePackageUpdatesRepository { + + val packageChanges: Flow<Unit> +} + +@CustomTileBoundScope +class CustomTilePackageUpdatesRepositoryImpl +@Inject +constructor( + tileSpec: TileSpec.CustomTileSpec, + @CustomTileUser user: UserHandle, + serviceManager: TileServiceManager, + defaultsRepository: CustomTileDefaultsRepository, + @CustomTileBoundScope boundScope: CoroutineScope, +) : CustomTilePackageUpdatesRepository { + + override val packageChanges: Flow<Unit> = + ConflatedCallbackFlow.conflatedCallbackFlow { + serviceManager.setTileChangeListener { changedComponentName -> + if (changedComponentName == tileSpec.componentName) { + trySend(Unit) + } + } + + awaitClose { serviceManager.setTileChangeListener(null) } + } + .onEach { defaultsRepository.requestNewDefaults(user, tileSpec.componentName, true) } + .shareIn(boundScope, SharingStarted.WhileSubscribed()) +} diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundComponent.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundComponent.kt index e33b3e917629..d382d2063f06 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundComponent.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundComponent.kt @@ -23,7 +23,7 @@ import kotlinx.coroutines.CoroutineScope /** @see CustomTileBoundScope */ @CustomTileBoundScope -@Subcomponent +@Subcomponent(modules = [CustomTileBoundModule::class]) interface CustomTileBoundComponent { @Subcomponent.Builder diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundModule.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundModule.kt new file mode 100644 index 000000000000..889424a8e8d3 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/impl/custom/di/bound/CustomTileBoundModule.kt @@ -0,0 +1,31 @@ +/* + * 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.impl.custom.di.bound + +import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository +import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepositoryImpl +import dagger.Binds +import dagger.Module + +@Module +interface CustomTileBoundModule { + + @Binds + fun bindCustomTilePackageUpdatesRepository( + impl: CustomTilePackageUpdatesRepositoryImpl + ): CustomTilePackageUpdatesRepository +} diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java index 4465504d12f5..1334660ea4d5 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java @@ -245,6 +245,12 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } @Override + public void animateNavBarLongPress(boolean isTouchDown, long durationMs) { + verifyCallerAndClearCallingIdentityPostMain("animateNavBarLongPress", () -> + notifyAnimateNavBarLongPress(isTouchDown, durationMs)); + } + + @Override public void onBackPressed() { verifyCallerAndClearCallingIdentityPostMain("onBackPressed", () -> { sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK); @@ -914,6 +920,12 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis } } + private void notifyAnimateNavBarLongPress(boolean isTouchDown, long durationMs) { + for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) { + mConnectionCallbacks.get(i).animateNavBarLongPress(isTouchDown, durationMs); + } + } + public void notifyAssistantVisibilityChanged(float visibility) { try { if (mOverviewProxy != null) { @@ -1058,6 +1070,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis default void onAssistantGestureCompletion(float velocity) {} default void startAssistant(Bundle bundle) {} default void setAssistantOverridesRequested(int[] invocationTypes) {} + default void animateNavBarLongPress(boolean isTouchDown, long durationMs) {} } /** diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt index 7353379b2e79..b1440031a2a0 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt @@ -26,9 +26,12 @@ import com.android.systemui.scene.shared.model.SceneKey import com.android.systemui.scene.shared.model.SceneModel import javax.inject.Inject import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn @@ -105,6 +108,26 @@ constructor( initialValue = null, ) + /** + * Whether user input is ongoing for the current transition. For example, if the user is swiping + * their finger to transition between scenes, this value will be true while their finger is on + * the screen, then false for the rest of the transition. + */ + @OptIn(ExperimentalCoroutinesApi::class) + val isTransitionUserInputOngoing: StateFlow<Boolean> = + transitionState + .flatMapLatest { + when (it) { + is ObservableTransitionState.Transition -> it.isUserInputOngoing + is ObservableTransitionState.Idle -> flowOf(false) + } + } + .stateIn( + scope = applicationScope, + started = SharingStarted.WhileSubscribed(), + initialValue = false + ) + /** Whether the scene container is visible. */ val isVisible: StateFlow<Boolean> = repository.isVisible diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/flag/SceneContainerFlags.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/flag/SceneContainerFlags.kt index 9ba02b1aa9a8..49bceefb24e0 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/shared/flag/SceneContainerFlags.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/shared/flag/SceneContainerFlags.kt @@ -17,8 +17,8 @@ package com.android.systemui.scene.shared.flag import androidx.annotation.VisibleForTesting -import com.android.systemui.FeatureFlags import com.android.systemui.Flags as AConfigFlags +import com.android.systemui.Flags.sceneContainer import com.android.systemui.compose.ComposeFacade import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlagsClassic @@ -50,7 +50,6 @@ class SceneContainerFlagsImpl @AssistedInject constructor( private val featureFlagsClassic: FeatureFlagsClassic, - featureFlags: FeatureFlags, @Assisted private val isComposeAvailable: Boolean, ) : SceneContainerFlags { @@ -72,7 +71,7 @@ constructor( listOf( AconfigFlagMustBeEnabled( flagName = AConfigFlags.FLAG_SCENE_CONTAINER, - flagValue = featureFlags.sceneContainer(), + flagValue = sceneContainer(), ), ) + classicFlagTokens.map { flagToken -> FlagMustBeEnabled(flagToken) } + diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/ObservableTransitionState.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/model/ObservableTransitionState.kt index 3927873f8ba8..f704894e56e2 100644 --- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/ObservableTransitionState.kt +++ b/packages/SystemUI/src/com/android/systemui/scene/shared/model/ObservableTransitionState.kt @@ -42,6 +42,13 @@ sealed class ObservableTransitionState { * scene, this value will remain true after the pointer is no longer touching the screen and * will be true in any transition created to animate back to the original position. */ - val isUserInputDriven: Boolean, + val isInitiatedByUserInput: Boolean, + + /** + * Whether user input is currently driving the transition. For example, if a user is + * dragging a pointer, this emits true. Once they lift their finger, this emits false while + * the transition completes/settles. + */ + val isUserInputOngoing: Flow<Boolean>, ) : ObservableTransitionState() } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentExecutor.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentExecutor.kt index 1416c10a5aa6..a950539e84aa 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentExecutor.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ActionIntentExecutor.kt @@ -29,12 +29,12 @@ import android.view.RemoteAnimationAdapter import android.view.RemoteAnimationTarget import android.view.WindowManager import android.view.WindowManagerGlobal +import com.android.app.tracing.TraceUtils.Companion.launch import com.android.internal.infra.ServiceConnector import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.settings.DisplayTracker -import com.android.systemui.tracing.TraceUtils.Companion.launch import javax.inject.Inject import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineDispatcher diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/RequestProcessor.kt b/packages/SystemUI/src/com/android/systemui/screenshot/RequestProcessor.kt index 8b3548befa52..f56f41635006 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/RequestProcessor.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/RequestProcessor.kt @@ -20,7 +20,7 @@ import android.util.Log import android.view.WindowManager.TAKE_SCREENSHOT_PROVIDED_IMAGE import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application -import com.android.systemui.tracing.TraceUtils.Companion.launch +import com.android.app.tracing.TraceUtils.Companion.launch import kotlinx.coroutines.CoroutineScope import java.util.function.Consumer import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotProxyService.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotProxyService.kt index c6b2cf554c91..713ede69edec 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotProxyService.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotProxyService.kt @@ -25,7 +25,7 @@ import com.android.systemui.plugins.ActivityStarter import com.android.systemui.shade.ShadeExpansionStateManager import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher -import com.android.systemui.tracing.TraceUtils.Companion.launch +import com.android.app.tracing.TraceUtils.Companion.launch import kotlinx.coroutines.withContext /** Provides state from the main SystemUI process on behalf of the Screenshot process. */ diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotSoundController.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotSoundController.kt index 385c813c98e2..38d00f707b6d 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotSoundController.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotSoundController.kt @@ -18,9 +18,9 @@ package com.android.systemui.screenshot import android.media.MediaPlayer import android.util.Log +import com.android.app.tracing.TraceUtils.Companion.async import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background -import com.android.systemui.tracing.TraceUtils.Companion.async import com.google.errorprone.annotations.CanIgnoreReturnValue import javax.inject.Inject import kotlin.time.Duration.Companion.seconds diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotExecutor.kt b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotExecutor.kt index ccac53309f05..f6c25e0a0f2c 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotExecutor.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotExecutor.kt @@ -5,6 +5,7 @@ import android.os.Trace import android.util.Log import android.view.Display import android.view.WindowManager.TAKE_SCREENSHOT_PROVIDED_IMAGE +import com.android.app.tracing.TraceUtils.Companion.launch import com.android.internal.logging.UiEventLogger import com.android.internal.util.ScreenshotRequest import com.android.systemui.dagger.SysUISingleton @@ -13,7 +14,6 @@ import com.android.systemui.display.data.repository.DisplayRepository import com.android.systemui.res.R import com.android.systemui.screenshot.ScreenshotEvent.SCREENSHOT_CAPTURE_FAILED import com.android.systemui.screenshot.TakeScreenshotService.RequestCallback -import com.android.systemui.tracing.TraceUtils.Companion.launch import java.util.function.Consumer import javax.inject.Inject import kotlinx.coroutines.CoroutineScope diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java index a2627eddf05d..a2ca49d9ba57 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java @@ -113,6 +113,7 @@ public class NotificationShadeWindowViewController implements Dumpable { private final SysUIKeyEventHandler mSysUIKeyEventHandler; private final PrimaryBouncerInteractor mPrimaryBouncerInteractor; private final AlternateBouncerInteractor mAlternateBouncerInteractor; + private final QuickSettingsController mQuickSettingsController; private GestureDetector mPulsingWakeupGestureHandler; private GestureDetector mDreamingWakeupGestureHandler; private View mBrightnessMirror; @@ -188,6 +189,7 @@ public class NotificationShadeWindowViewController implements Dumpable { BouncerMessageInteractor bouncerMessageInteractor, BouncerLogger bouncerLogger, SysUIKeyEventHandler sysUIKeyEventHandler, + QuickSettingsController quickSettingsController, PrimaryBouncerInteractor primaryBouncerInteractor, AlternateBouncerInteractor alternateBouncerInteractor, SelectedUserInteractor selectedUserInteractor) { @@ -220,6 +222,7 @@ public class NotificationShadeWindowViewController implements Dumpable { mSysUIKeyEventHandler = sysUIKeyEventHandler; mPrimaryBouncerInteractor = primaryBouncerInteractor; mAlternateBouncerInteractor = alternateBouncerInteractor; + mQuickSettingsController = quickSettingsController; // This view is not part of the newly inflated expanded status bar. mBrightnessMirror = mView.findViewById(R.id.brightness_mirror_container); @@ -454,6 +457,16 @@ public class NotificationShadeWindowViewController implements Dumpable { && !bouncerShowing && !mStatusBarStateController.isDozing()) { if (mDragDownHelper.isDragDownEnabled()) { + if (mFeatureFlagsClassic.isEnabled(Flags.MIGRATE_NSSL)) { + // When on lockscreen, if the touch originates at the top of the screen + // go directly to QS and not the shade + if (mQuickSettingsController.shouldQuickSettingsIntercept( + ev.getX(), ev.getY(), 0)) { + mShadeLogger.d("NSWVC: QS intercepted"); + return true; + } + } + // This handles drag down over lockscreen boolean result = mDragDownHelper.onInterceptTouchEvent(ev); if (mFeatureFlagsClassic.isEnabled(Flags.MIGRATE_NSSL)) { 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 a4c4503a6550..b2ffeb3f2925 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 @@ -275,7 +275,7 @@ constructor( when (state) { is ObservableTransitionState.Idle -> false is ObservableTransitionState.Transition -> - state.isUserInputDriven && + state.isInitiatedByUserInput && (state.toScene == sceneKey || state.fromScene == sceneKey) } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifLiveDataStoreImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifLiveDataStoreImpl.kt index b2bdb7207c73..a1a2ba4f0d39 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifLiveDataStoreImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifLiveDataStoreImpl.kt @@ -21,7 +21,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.util.Assert import com.android.systemui.util.ListenerSet -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import java.util.Collections.unmodifiableList import java.util.concurrent.Executor import java.util.concurrent.atomic.AtomicReference 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 860697b8e481..64970e456c1d 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 @@ -26,7 +26,7 @@ import com.android.systemui.statusbar.notification.domain.interactor.RenderNotif 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.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt index e8afac5b3098..3809ea0f58da 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt @@ -28,7 +28,7 @@ import com.android.systemui.statusbar.notification.collection.coordinator.dagger import com.android.systemui.statusbar.notification.row.NotificationGutsManager import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.Compile -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt index 1f6f42d87ae3..1dd624268c3d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifEvent.kt @@ -23,7 +23,7 @@ import android.service.notification.StatusBarNotification import com.android.systemui.statusbar.notification.collection.NotifCollection import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.util.NamedListenerSet -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection /** * Set of classes that represent the various events that [NotifCollection] can dispatch to diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt index ca8e4feff0f5..9fc4e4036b31 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt @@ -23,7 +23,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection import com.android.systemui.statusbar.notification.collection.provider.SectionHeaderVisibilityProvider import com.android.systemui.util.Compile -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection /** * Converts a notif list (the output of the ShadeListBuilder) into a NodeSpec, an abstract diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt index c2791a0258b9..9b5521018f97 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt @@ -26,7 +26,7 @@ import com.android.systemui.statusbar.notification.collection.ShadeListBuilder import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDiffer.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDiffer.kt index c6d850088ea7..61e6f65b2bc2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDiffer.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewDiffer.kt @@ -18,7 +18,7 @@ package com.android.systemui.statusbar.notification.collection.render import android.annotation.MainThread import android.view.View -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection /** * Given a "spec" that describes a "tree" of views, adds and removes views from the diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt index 2c59ee8785f1..193586679d23 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt @@ -26,7 +26,7 @@ import com.android.systemui.statusbar.notification.collection.PipelineDumpable import com.android.systemui.statusbar.notification.collection.PipelineDumper import com.android.systemui.statusbar.notification.collection.provider.SectionHeaderVisibilityProvider import com.android.systemui.statusbar.notification.stack.NotificationListContainer -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/ActiveNotificationListRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/ActiveNotificationListRepository.kt index 8064f049c88e..12ee54d4977d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/ActiveNotificationListRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/data/repository/ActiveNotificationListRepository.kt @@ -16,6 +16,9 @@ package com.android.systemui.statusbar.notification.data.repository import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationsStore.Key +import com.android.systemui.statusbar.notification.shared.ActiveNotificationEntryModel +import com.android.systemui.statusbar.notification.shared.ActiveNotificationGroupModel import com.android.systemui.statusbar.notification.shared.ActiveNotificationModel import javax.inject.Inject import kotlinx.coroutines.flow.MutableStateFlow @@ -29,13 +32,64 @@ import kotlinx.coroutines.flow.MutableStateFlow */ @SysUISingleton class ActiveNotificationListRepository @Inject constructor() { - /** - * Notifications actively presented to the user in the notification stack. - * - * @see com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener - */ - val activeNotifications = MutableStateFlow(emptyMap<String, ActiveNotificationModel>()) + /** Notifications actively presented to the user in the notification list. */ + val activeNotifications = MutableStateFlow(ActiveNotificationsStore()) /** Are any already-seen notifications currently filtered out of the active list? */ val hasFilteredOutSeenNotifications = MutableStateFlow(false) } + +/** Represents the notification list, comprised of groups and individual notifications. */ +data class ActiveNotificationsStore( + /** Notification groups, stored by key. */ + val groups: Map<String, ActiveNotificationGroupModel> = emptyMap(), + /** All individual notifications, including top-level and group children, stored by key. */ + val individuals: Map<String, ActiveNotificationModel> = emptyMap(), + /** + * Ordered top-level list of entries in the notification list (either groups or individual), + * represented as [Key]s. The associated [ActiveNotificationEntryModel] can be retrieved by + * invoking [get]. + */ + val renderList: List<Key> = emptyList(), +) { + operator fun get(key: Key): ActiveNotificationEntryModel? { + return when (key) { + is Key.Group -> groups[key.key] + is Key.Individual -> individuals[key.key] + } + } + + /** Unique key identifying an [ActiveNotificationEntryModel] in the store. */ + sealed class Key { + data class Individual(val key: String) : Key() + data class Group(val key: String) : Key() + } + + /** Mutable builder for an [ActiveNotificationsStore]. */ + class Builder { + private val groups = mutableMapOf<String, ActiveNotificationGroupModel>() + private val individuals = mutableMapOf<String, ActiveNotificationModel>() + private val renderList = mutableListOf<Key>() + + fun build() = ActiveNotificationsStore(groups, individuals, renderList) + + fun addEntry(entry: ActiveNotificationEntryModel) { + when (entry) { + is ActiveNotificationModel -> addIndividualNotif(entry) + is ActiveNotificationGroupModel -> addNotifGroup(entry) + } + } + + fun addIndividualNotif(notif: ActiveNotificationModel) { + renderList.add(Key.Individual(notif.key)) + individuals[notif.key] = notif + } + + fun addNotifGroup(group: ActiveNotificationGroupModel) { + renderList.add(Key.Group(group.key)) + groups[group.key] = group + individuals[group.summary.key] = group.summary + group.children.forEach { individuals[it.key] = it } + } + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/ActiveNotificationsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/ActiveNotificationsInteractor.kt index bfec60bcd6db..85ba205d3a0a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/ActiveNotificationsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/ActiveNotificationsInteractor.kt @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.domain.interactor import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository +import com.android.systemui.statusbar.notification.shared.ActiveNotificationGroupModel import com.android.systemui.statusbar.notification.shared.ActiveNotificationModel import javax.inject.Inject import kotlinx.coroutines.flow.Flow @@ -27,6 +28,16 @@ constructor( repository: ActiveNotificationListRepository, ) { /** Notifications actively presented to the user in the notification stack, in order. */ - val notifications: Flow<Collection<ActiveNotificationModel>> = - repository.activeNotifications.map { it.values } + val topLevelRepresentativeNotifications: Flow<List<ActiveNotificationModel>> = + repository.activeNotifications.map { store -> + store.renderList.map { key -> + val entry = + store[key] + ?: error("Could not find notification with key $key in active notif store.") + when (entry) { + is ActiveNotificationGroupModel -> entry.summary + is ActiveNotificationModel -> entry + } + } + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt index 604ecbc047ff..6f4ed9db20b1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt @@ -16,15 +16,18 @@ package com.android.systemui.statusbar.notification.domain.interactor import android.graphics.drawable.Icon +import com.android.systemui.statusbar.notification.collection.GroupEntry import com.android.systemui.statusbar.notification.collection.ListEntry +import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository +import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationsStore +import com.android.systemui.statusbar.notification.shared.ActiveNotificationEntryModel +import com.android.systemui.statusbar.notification.shared.ActiveNotificationGroupModel import com.android.systemui.statusbar.notification.shared.ActiveNotificationModel import javax.inject.Inject import kotlinx.coroutines.flow.update -private typealias ModelStore = Map<String, ActiveNotificationModel> - /** * Logic for passing information from the * [com.android.systemui.statusbar.notification.collection.NotifPipeline] to the presentation @@ -37,106 +40,166 @@ constructor( private val sectionStyleProvider: SectionStyleProvider, ) { /** - * Sets the current list of rendered notification entries as displayed in the notification - * stack. - * - * @see com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository.activeNotifications + * Sets the current list of rendered notification entries as displayed in the notification list. */ fun setRenderedList(entries: List<ListEntry>) { repository.activeNotifications.update { existingModels -> - entries.associateBy( - keySelector = { it.key }, - valueTransform = { it.toModel(existingModels) }, - ) + buildActiveNotificationsStore(existingModels, sectionStyleProvider) { + entries.forEach(::addListEntry) + } } } +} + +private fun buildActiveNotificationsStore( + existingModels: ActiveNotificationsStore, + sectionStyleProvider: SectionStyleProvider, + block: ActiveNotificationsStoreBuilder.() -> Unit +): ActiveNotificationsStore = + ActiveNotificationsStoreBuilder(existingModels, sectionStyleProvider).apply(block).build() + +private class ActiveNotificationsStoreBuilder( + private val existingModels: ActiveNotificationsStore, + private val sectionStyleProvider: SectionStyleProvider, +) { + private val builder = ActiveNotificationsStore.Builder() + + fun build(): ActiveNotificationsStore = builder.build() - private fun ListEntry.toModel( - existingModels: ModelStore, - ): ActiveNotificationModel = + /** + * Convert a [ListEntry] into [ActiveNotificationEntryModel]s, and add them to the + * [ActiveNotificationsStore]. Special care is taken to avoid re-allocating models if the result + * would be identical to an existing model (at the expense of additional computations). + */ + fun addListEntry(entry: ListEntry) { + when (entry) { + is GroupEntry -> { + entry.summary?.let { summary -> + val summaryModel = summary.toModel() + val childModels = entry.children.map { it.toModel() } + builder.addNotifGroup( + existingModels.createOrReuse( + key = entry.key, + summary = summaryModel, + children = childModels + ) + ) + } + } + else -> { + entry.representativeEntry?.let { notifEntry -> + builder.addIndividualNotif(notifEntry.toModel()) + } + } + } + } + + private fun NotificationEntry.toModel(): ActiveNotificationModel = existingModels.createOrReuse( key = key, - groupKey = representativeEntry?.sbn?.groupKey, + groupKey = sbn.groupKey, isAmbient = sectionStyleProvider.isMinimized(this), - isRowDismissed = representativeEntry?.isRowDismissed == true, + isRowDismissed = isRowDismissed, isSilent = sectionStyleProvider.isSilent(this), - isLastMessageFromReply = representativeEntry?.isLastMessageFromReply == true, - isSuppressedFromStatusBar = representativeEntry?.shouldSuppressStatusBar() == true, - isPulsing = representativeEntry?.showingPulsing() == true, - aodIcon = representativeEntry?.icons?.aodIcon?.sourceIcon, - shelfIcon = representativeEntry?.icons?.shelfIcon?.sourceIcon, - statusBarIcon = representativeEntry?.icons?.statusBarIcon?.sourceIcon, + isLastMessageFromReply = isLastMessageFromReply, + isSuppressedFromStatusBar = shouldSuppressStatusBar(), + isPulsing = showingPulsing(), + aodIcon = icons.aodIcon?.sourceIcon, + shelfIcon = icons.shelfIcon?.sourceIcon, + statusBarIcon = icons.statusBarIcon?.sourceIcon, ) +} - private fun ModelStore.createOrReuse( - key: String, - groupKey: String?, - isAmbient: Boolean, - isRowDismissed: Boolean, - isSilent: Boolean, - isLastMessageFromReply: Boolean, - isSuppressedFromStatusBar: Boolean, - isPulsing: Boolean, - aodIcon: Icon?, - shelfIcon: Icon?, - statusBarIcon: Icon? - ): ActiveNotificationModel { - return this[key]?.takeIf { - it.isCurrent( - key = key, - groupKey = groupKey, - isAmbient = isAmbient, - isRowDismissed = isRowDismissed, - isSilent = isSilent, - isLastMessageFromReply = isLastMessageFromReply, - isSuppressedFromStatusBar = isSuppressedFromStatusBar, - isPulsing = isPulsing, - aodIcon = aodIcon, - shelfIcon = shelfIcon, - statusBarIcon = statusBarIcon - ) - } - ?: ActiveNotificationModel( - key = key, - groupKey = groupKey, - isAmbient = isAmbient, - isRowDismissed = isRowDismissed, - isSilent = isSilent, - isLastMessageFromReply = isLastMessageFromReply, - isSuppressedFromStatusBar = isSuppressedFromStatusBar, - isPulsing = isPulsing, - aodIcon = aodIcon, - shelfIcon = shelfIcon, - statusBarIcon = statusBarIcon, - ) +private fun ActiveNotificationsStore.createOrReuse( + key: String, + groupKey: String?, + isAmbient: Boolean, + isRowDismissed: Boolean, + isSilent: Boolean, + isLastMessageFromReply: Boolean, + isSuppressedFromStatusBar: Boolean, + isPulsing: Boolean, + aodIcon: Icon?, + shelfIcon: Icon?, + statusBarIcon: Icon? +): ActiveNotificationModel { + return individuals[key]?.takeIf { + it.isCurrent( + key = key, + groupKey = groupKey, + isAmbient = isAmbient, + isRowDismissed = isRowDismissed, + isSilent = isSilent, + isLastMessageFromReply = isLastMessageFromReply, + isSuppressedFromStatusBar = isSuppressedFromStatusBar, + isPulsing = isPulsing, + aodIcon = aodIcon, + shelfIcon = shelfIcon, + statusBarIcon = statusBarIcon + ) + } + ?: ActiveNotificationModel( + key = key, + groupKey = groupKey, + isAmbient = isAmbient, + isRowDismissed = isRowDismissed, + isSilent = isSilent, + isLastMessageFromReply = isLastMessageFromReply, + isSuppressedFromStatusBar = isSuppressedFromStatusBar, + isPulsing = isPulsing, + aodIcon = aodIcon, + shelfIcon = shelfIcon, + statusBarIcon = statusBarIcon, + ) +} + +private fun ActiveNotificationModel.isCurrent( + key: String, + groupKey: String?, + isAmbient: Boolean, + isRowDismissed: Boolean, + isSilent: Boolean, + isLastMessageFromReply: Boolean, + isSuppressedFromStatusBar: Boolean, + isPulsing: Boolean, + aodIcon: Icon?, + shelfIcon: Icon?, + statusBarIcon: Icon? +): Boolean { + return when { + key != this.key -> false + groupKey != this.groupKey -> false + isAmbient != this.isAmbient -> false + isRowDismissed != this.isRowDismissed -> false + isSilent != this.isSilent -> false + isLastMessageFromReply != this.isLastMessageFromReply -> false + isSuppressedFromStatusBar != this.isSuppressedFromStatusBar -> false + isPulsing != this.isPulsing -> false + aodIcon != this.aodIcon -> false + shelfIcon != this.shelfIcon -> false + statusBarIcon != this.statusBarIcon -> false + else -> true } +} - private fun ActiveNotificationModel.isCurrent( - key: String, - groupKey: String?, - isAmbient: Boolean, - isRowDismissed: Boolean, - isSilent: Boolean, - isLastMessageFromReply: Boolean, - isSuppressedFromStatusBar: Boolean, - isPulsing: Boolean, - aodIcon: Icon?, - shelfIcon: Icon?, - statusBarIcon: Icon? - ): Boolean { - return when { - key != this.key -> false - groupKey != this.groupKey -> false - isAmbient != this.isAmbient -> false - isRowDismissed != this.isRowDismissed -> false - isSilent != this.isSilent -> false - isLastMessageFromReply != this.isLastMessageFromReply -> false - isSuppressedFromStatusBar != this.isSuppressedFromStatusBar -> false - isPulsing != this.isPulsing -> false - aodIcon != this.aodIcon -> false - shelfIcon != this.shelfIcon -> false - statusBarIcon != this.statusBarIcon -> false - else -> true - } +private fun ActiveNotificationsStore.createOrReuse( + key: String, + summary: ActiveNotificationModel, + children: List<ActiveNotificationModel>, +): ActiveNotificationGroupModel { + return groups[key]?.takeIf { it.isCurrent(key, summary, children) } + ?: ActiveNotificationGroupModel(key, summary, children) +} + +private fun ActiveNotificationGroupModel.isCurrent( + key: String, + summary: ActiveNotificationModel, + children: List<ActiveNotificationModel>, +): Boolean { + return when { + key != this.key -> false + summary != this.summary -> false + children != this.children -> false + else -> true } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconManager.kt index 05c88e09d644..9e8654a66bde 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconManager.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/IconManager.kt @@ -34,7 +34,7 @@ import com.android.systemui.statusbar.notification.InflationException import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractor.kt index 00d873e074b8..30e2f0e0a57f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractor.kt @@ -48,7 +48,7 @@ constructor( showPulsing: Boolean = true, ): Flow<Set<ActiveNotificationModel>> { return combine( - activeNotificationsInteractor.notifications, + activeNotificationsInteractor.topLevelRepresentativeNotifications, keyguardViewStateRepository.areNotificationsFullyHidden, ) { notifications, notifsFullyHidden -> notifications 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 53631e330d8c..82626acc4b04 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 @@ -61,7 +61,7 @@ constructor( darkIconInteractor.tintAreas, darkIconInteractor.tintColor, // Included so that tints are re-applied after entries are changed. - notificationsInteractor.notifications, + notificationsInteractor.topLevelRepresentativeNotifications, ) { areas, tint, _ -> NotificationIconColorLookup { viewBounds: Rect -> if (DarkIconDispatcher.isInAreas(areas, viewBounds)) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt index 11c982590477..538be142b8f2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.interruption +import android.app.Notification.BubbleMetadata import android.app.Notification.VISIBILITY_PRIVATE import android.app.NotificationManager.IMPORTANCE_DEFAULT import android.app.NotificationManager.IMPORTANCE_HIGH @@ -31,6 +32,7 @@ import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.StatusBarState.SHADE import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl.MAX_HUN_WHEN_AGE_MS +import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.BUBBLE import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.PEEK import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.PULSE import com.android.systemui.statusbar.policy.BatteryController @@ -180,3 +182,38 @@ class PulseLowImportanceSuppressor() : VisualInterruptionFilter(types = setOf(PULSE), reason = "importance less than DEFAULT") { override fun shouldSuppress(entry: NotificationEntry) = entry.importance < IMPORTANCE_DEFAULT } + +class HunGroupAlertBehaviorSuppressor() : + VisualInterruptionFilter( + types = setOf(PEEK, PULSE), + reason = "suppressive group alert behavior" + ) { + override fun shouldSuppress(entry: NotificationEntry) = + entry.sbn.let { it.isGroup && it.notification.suppressAlertingDueToGrouping() } +} + +class HunJustLaunchedFsiSuppressor() : + VisualInterruptionFilter(types = setOf(PEEK, PULSE), reason = "just launched FSI") { + override fun shouldSuppress(entry: NotificationEntry) = entry.hasJustLaunchedFullScreenIntent() +} + +class BubbleNotAllowedSuppressor() : + VisualInterruptionFilter(types = setOf(BUBBLE), reason = "not allowed") { + override fun shouldSuppress(entry: NotificationEntry) = !entry.canBubble() +} + +class BubbleNoMetadataSuppressor() : + VisualInterruptionFilter(types = setOf(BUBBLE), reason = "no bubble metadata") { + + private fun isValidMetadata(metadata: BubbleMetadata?) = + metadata != null && (metadata.intent != null || metadata.shortcutId != null) + + override fun shouldSuppress(entry: NotificationEntry) = !isValidMetadata(entry.bubbleMetadata) +} + +class AlertKeyguardVisibilitySuppressor( + private val keyguardNotificationVisibilityProvider: KeyguardNotificationVisibilityProvider +) : VisualInterruptionFilter(types = setOf(PEEK, PULSE, BUBBLE), reason = "hidden on keyguard") { + override fun shouldSuppress(entry: NotificationEntry) = + keyguardNotificationVisibilityProvider.shouldHideNotification(entry) +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt index 7f144bf14615..2730683a31c9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt @@ -19,6 +19,7 @@ import android.hardware.display.AmbientDisplayConfiguration import android.os.Handler import android.os.PowerManager import android.util.Log +import com.android.internal.annotations.VisibleForTesting import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.settings.UserTracker @@ -41,6 +42,7 @@ constructor( private val batteryController: BatteryController, private val globalSettings: GlobalSettings, private val headsUpManager: HeadsUpManager, + private val keyguardNotificationVisibilityProvider: KeyguardNotificationVisibilityProvider, private val logger: NotificationInterruptLogger, @Main private val mainHandler: Handler, private val powerManager: PowerManager, @@ -65,6 +67,11 @@ constructor( addFilter(PulseEffectSuppressor()) addFilter(PulseLockscreenVisibilityPrivateSuppressor()) addFilter(PulseLowImportanceSuppressor()) + addFilter(BubbleNotAllowedSuppressor()) + addFilter(BubbleNoMetadataSuppressor()) + addFilter(HunGroupAlertBehaviorSuppressor()) + addFilter(HunJustLaunchedFsiSuppressor()) + addFilter(AlertKeyguardVisibilitySuppressor(keyguardNotificationVisibilityProvider)) started = true } @@ -100,11 +107,21 @@ constructor( condition.start() } + @VisibleForTesting + fun removeCondition(condition: VisualInterruptionCondition) { + conditions.remove(condition) + } + fun addFilter(filter: VisualInterruptionFilter) { filters.add(filter) filter.start() } + @VisibleForTesting + fun removeFilter(filter: VisualInterruptionFilter) { + filters.remove(filter) + } + override fun makeUnloggedHeadsUpDecision(entry: NotificationEntry): Decision { check(started) return makeHeadsUpDecision(entry) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt index c89f2fa2d184..f096dd6abb0e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationMemoryLogger.kt @@ -21,12 +21,12 @@ import android.app.StatsManager import android.util.Log import android.util.StatsEvent import androidx.annotation.VisibleForTesting +import com.android.app.tracing.traceSection import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.shared.system.SysUiStatsLog import com.android.systemui.statusbar.notification.collection.NotifPipeline -import com.android.systemui.tracing.traceSection import java.lang.Exception import java.util.concurrent.Executor import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/shared/ActiveNotificationModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/shared/ActiveNotificationModel.kt index 78370baa4311..eb1c1bafae9e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/shared/ActiveNotificationModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/shared/ActiveNotificationModel.kt @@ -17,9 +17,17 @@ package com.android.systemui.statusbar.notification.shared import android.graphics.drawable.Icon -/** Model for entries in the notification stack. */ +/** + * Model for a top-level "entry" in the notification list, either an + * [individual notification][ActiveNotificationModel], or a [group][ActiveNotificationGroupModel]. + */ +sealed class ActiveNotificationEntryModel + +/** + * Model for an individual notification in the notification list. These can appear as either an + * individual top-level notification, or as a child or summary of a [ActiveNotificationGroupModel]. + */ data class ActiveNotificationModel( - /** Notification key associated with this entry. */ val key: String, /** Notification group key associated with this entry. */ val groupKey: String?, @@ -47,4 +55,11 @@ data class ActiveNotificationModel( val shelfIcon: Icon?, /** Icon to display in the status bar. */ val statusBarIcon: Icon?, -) +) : ActiveNotificationEntryModel() + +/** Model for a group of notifications. */ +data class ActiveNotificationGroupModel( + val key: String, + val summary: ActiveNotificationModel, + val children: List<ActiveNotificationModel>, +) : ActiveNotificationEntryModel() 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 a98efbac7dd7..af2ca268d9fe 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 @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.notification.stack.ui.viewbinder import android.view.LayoutInflater +import com.android.app.tracing.traceSection import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.common.ui.reinflateAndBindLatest import com.android.systemui.lifecycle.repeatWhenAttached @@ -31,7 +32,6 @@ import com.android.systemui.statusbar.notification.stack.NotificationStackScroll import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationListViewModel import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.policy.ConfigurationController -import com.android.systemui.tracing.traceSection /** Binds a [NotificationStackScrollLayout] to its [view model][NotificationListViewModel]. */ object NotificationListViewBinder { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarContentInsetsProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarContentInsetsProvider.kt index 894549dc6ee3..cba72d08840f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarContentInsetsProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarContentInsetsProvider.kt @@ -38,7 +38,7 @@ import com.android.systemui.util.leak.RotationUtils.ROTATION_UPSIDE_DOWN import com.android.systemui.util.leak.RotationUtils.Rotation import com.android.systemui.util.leak.RotationUtils.getExactRotation import com.android.systemui.util.leak.RotationUtils.getResourcesForRotation -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import java.io.PrintWriter import java.lang.Math.max import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt index 1eea348a8b51..fb586eac5ab7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt @@ -31,7 +31,7 @@ import com.android.systemui.statusbar.notification.PropertyAnimator import com.android.systemui.statusbar.notification.stack.AnimationProperties import com.android.systemui.statusbar.notification.stack.StackStateAnimator import com.android.systemui.statusbar.policy.KeyguardStateController -import com.android.systemui.tracing.TraceUtils +import com.android.app.tracing.TraceUtils import com.android.systemui.util.settings.GlobalSettings import javax.inject.Inject import com.android.systemui.flags.FeatureFlags diff --git a/packages/SystemUI/src/com/android/systemui/stylus/StylusUsiPowerUI.kt b/packages/SystemUI/src/com/android/systemui/stylus/StylusUsiPowerUI.kt index fa9256f82dbd..2797b8d2e2dd 100644 --- a/packages/SystemUI/src/com/android/systemui/stylus/StylusUsiPowerUI.kt +++ b/packages/SystemUI/src/com/android/systemui/stylus/StylusUsiPowerUI.kt @@ -162,6 +162,7 @@ constructor( .setContentText(context.getString(R.string.stylus_battery_low_subtitle)) .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setLocalOnly(true) + .setOnlyAlertOnce(true) .setAutoCancel(true) .build() diff --git a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt index c3c0291571d6..2afb43515be7 100644 --- a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt +++ b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt @@ -48,7 +48,7 @@ import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionPr import com.android.systemui.unfold.updates.RotationChangeProvider import com.android.systemui.unfold.util.ScaleAwareTransitionProgressProvider.Companion.areAnimationsEnabled import com.android.systemui.util.concurrency.ThreadFactory -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import com.android.wm.shell.displayareahelper.DisplayAreaHelper import java.util.Optional import java.util.concurrent.Executor diff --git a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldTraceLogger.kt b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldTraceLogger.kt index dfff7c4910fb..12b88458d355 100644 --- a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldTraceLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldTraceLogger.kt @@ -17,10 +17,10 @@ package com.android.systemui.unfold import android.content.Context import android.os.Trace +import com.android.app.tracing.TraceStateLogger import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application -import com.android.systemui.tracing.TraceStateLogger import com.android.systemui.unfold.system.DeviceStateRepository import com.android.systemui.unfold.updates.FoldStateRepository import javax.inject.Inject diff --git a/packages/SystemUI/src/com/android/systemui/util/NamedListenerSet.kt b/packages/SystemUI/src/com/android/systemui/util/NamedListenerSet.kt index 1e0f42096f9b..45d742f88d16 100644 --- a/packages/SystemUI/src/com/android/systemui/util/NamedListenerSet.kt +++ b/packages/SystemUI/src/com/android/systemui/util/NamedListenerSet.kt @@ -16,7 +16,7 @@ package com.android.systemui.util -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import java.util.concurrent.CopyOnWriteArrayList import java.util.function.Consumer diff --git a/packages/SystemUI/src/com/android/systemui/util/NoRemeasureMotionLayout.kt b/packages/SystemUI/src/com/android/systemui/util/NoRemeasureMotionLayout.kt index cec95807801d..f49d616181d2 100644 --- a/packages/SystemUI/src/com/android/systemui/util/NoRemeasureMotionLayout.kt +++ b/packages/SystemUI/src/com/android/systemui/util/NoRemeasureMotionLayout.kt @@ -20,7 +20,7 @@ import android.content.Context import android.util.AttributeSet import android.view.Choreographer import androidx.constraintlayout.motion.widget.MotionLayout -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection /** * [MotionLayout] that avoids remeasuring with the same inputs in the same frame. diff --git a/packages/SystemUI/src/com/android/systemui/util/drawable/DrawableSize.kt b/packages/SystemUI/src/com/android/systemui/util/drawable/DrawableSize.kt index afd23607610c..de9231856e2c 100644 --- a/packages/SystemUI/src/com/android/systemui/util/drawable/DrawableSize.kt +++ b/packages/SystemUI/src/com/android/systemui/util/drawable/DrawableSize.kt @@ -13,7 +13,7 @@ import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.util.Log import androidx.annotation.Px -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection class DrawableSize { diff --git a/packages/SystemUI/src/com/android/systemui/util/kotlin/CoroutinesModule.kt b/packages/SystemUI/src/com/android/systemui/util/kotlin/CoroutinesModule.kt index 5396bca91663..81737c79905e 100644 --- a/packages/SystemUI/src/com/android/systemui/util/kotlin/CoroutinesModule.kt +++ b/packages/SystemUI/src/com/android/systemui/util/kotlin/CoroutinesModule.kt @@ -7,8 +7,8 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dagger.qualifiers.Tracing import com.android.systemui.flags.FeatureFlagsClassic import com.android.systemui.flags.Flags -import com.android.systemui.tracing.TraceUtils.Companion.coroutineTracingIsEnabled -import com.android.systemui.tracing.TraceContextElement +import com.android.app.tracing.TraceUtils.Companion.coroutineTracingIsEnabled +import com.android.app.tracing.TraceContextElement import dagger.Module import dagger.Provides import kotlinx.coroutines.CoroutineDispatcher diff --git a/packages/SystemUI/src/com/android/systemui/util/wrapper/LottieViewWrapper.kt b/packages/SystemUI/src/com/android/systemui/util/wrapper/LottieViewWrapper.kt index 2e355bd311c9..eefd849bc2f4 100644 --- a/packages/SystemUI/src/com/android/systemui/util/wrapper/LottieViewWrapper.kt +++ b/packages/SystemUI/src/com/android/systemui/util/wrapper/LottieViewWrapper.kt @@ -18,7 +18,7 @@ package com.android.systemui.util.wrapper import android.content.Context import android.util.AttributeSet import com.airbnb.lottie.LottieAnimationView -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection /** LottieAnimationView that traces each call to invalidate. */ open class LottieViewWrapper : LottieAnimationView { diff --git a/packages/SystemUI/src/com/android/systemui/util/wrapper/RotationPolicyWrapper.kt b/packages/SystemUI/src/com/android/systemui/util/wrapper/RotationPolicyWrapper.kt index 8f320a3527ca..059ff56fc4ad 100644 --- a/packages/SystemUI/src/com/android/systemui/util/wrapper/RotationPolicyWrapper.kt +++ b/packages/SystemUI/src/com/android/systemui/util/wrapper/RotationPolicyWrapper.kt @@ -21,7 +21,7 @@ import android.provider.Settings.Secure.CAMERA_AUTOROTATE import com.android.internal.view.RotationPolicy import com.android.internal.view.RotationPolicy.RotationPolicyListener import com.android.systemui.util.settings.SecureSettings -import com.android.systemui.tracing.traceSection +import com.android.app.tracing.traceSection import javax.inject.Inject /** diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt index fda4133240c2..225f12536a33 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt @@ -810,6 +810,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Bouncer, flowOf(.5f), false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Bouncer, null), "reason") @@ -825,7 +826,8 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Bouncer, SceneKey.Gone, flowOf(.5f), - false + false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason") @@ -842,7 +844,8 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Gone, SceneKey.Bouncer, flowOf(.5f), - false + false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Bouncer, null), "reason") @@ -860,7 +863,8 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Bouncer, SceneKey.Gone, flowOf(.5f), - false + false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason") @@ -876,6 +880,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Lockscreen, flowOf(.5f), false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen, null), "reason") @@ -893,6 +898,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() { SceneKey.Gone, flowOf(.5f), false, + isUserInputOngoing = flowOf(false), ) runCurrent() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone, null), "reason") diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index 6099ece161b8..776799ec054e 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -870,6 +870,23 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void whenDetectFingerprint_detectError() { + ArgumentCaptor<FingerprintManager.FingerprintDetectionCallback> fpDetectCallbackCaptor = + ArgumentCaptor.forClass(FingerprintManager.FingerprintDetectionCallback.class); + + givenDetectFingerprintWithClearingFingerprintManagerInvocations(); + verify(mFingerprintManager).detectFingerprint( + any(), fpDetectCallbackCaptor.capture(), any()); + fpDetectCallbackCaptor.getValue().onDetectionError(/* msgId */ 10); + + // THEN verify keyguardUpdateMonitorCallback receives a biometric error + verify(mTestCallback).onBiometricError( + eq(10), eq(""), eq(BiometricSourceType.FINGERPRINT)); + verify(mTestCallback, never()).onBiometricAuthenticated( + anyInt(), any(), anyBoolean()); + } + + @Test public void whenDetectFace_biometricDetectCallback() throws RemoteException { ArgumentCaptor<FaceManager.FaceDetectionCallback> faceDetectCallbackCaptor = ArgumentCaptor.forClass(FaceManager.FaceDetectionCallback.class); @@ -1212,6 +1229,34 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void fpStopsListeningWhenBiometricPromptShows_resumesOnBpHidden() { + // verify AuthController.Callback is added: + ArgumentCaptor<AuthController.Callback> captor = ArgumentCaptor.forClass( + AuthController.Callback.class); + verify(mAuthController).addCallback(captor.capture()); + AuthController.Callback callback = captor.getValue(); + + // GIVEN keyguard showing + mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON); + mKeyguardUpdateMonitor.setKeyguardShowing(true, false); + + // THEN fingerprint should listen + assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isTrue(); + + // WHEN biometric prompt is shown + callback.onBiometricPromptShown(); + + // THEN shouldn't listen for fingerprint + assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isFalse(); + + // WHEN biometric prompt is dismissed + callback.onBiometricPromptDismissed(); + + // THEN we should listen for fingerprint + assertThat(mKeyguardUpdateMonitor.shouldListenForFingerprint(false)).isTrue(); + } + + @Test public void testTriesToAuthenticate_whenTrustOnAgentKeyguard_ifBypass() { mKeyguardUpdateMonitor.dispatchStartedWakingUp(PowerManager.WAKE_REASON_POWER_BUTTON); mTestableLooper.processAllMessages(); 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 728102d806fa..837a13073eea 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationAnimationControllerTest.java @@ -16,6 +16,8 @@ package com.android.systemui.accessibility; +import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -29,7 +31,6 @@ import static org.mockito.Mockito.verify; import android.animation.ValueAnimator; import android.annotation.Nullable; -import android.app.Instrumentation; import android.content.Context; import android.graphics.Rect; import android.os.Handler; @@ -42,7 +43,7 @@ import android.view.WindowManagerGlobal; import android.view.accessibility.IRemoteMagnificationAnimationCallback; import android.view.animation.AccelerateInterpolator; -import androidx.test.InstrumentationRegistry; +import androidx.test.filters.FlakyTest; import androidx.test.filters.LargeTest; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; @@ -67,6 +68,7 @@ import java.util.concurrent.atomic.AtomicReference; @LargeTest @RunWith(AndroidTestingRunner.class) +@FlakyTest(bugId = 308501761) public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @Rule @@ -101,7 +103,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { private SpyWindowMagnificationController mController; private WindowMagnificationController mSpyController; private WindowMagnificationAnimationController mWindowMagnificationAnimationController; - private Instrumentation mInstrumentation; + private long mWaitAnimationDuration; private long mWaitPartialAnimationDuration; @@ -111,7 +113,6 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); - mInstrumentation = InstrumentationRegistry.getInstrumentation(); final WindowManager wm = mContext.getSystemService(WindowManager.class); mWindowManager = spy(new TestableWindowManager(wm)); mContext.addMockSystemService(Context.WINDOW_SERVICE, mWindowManager); @@ -133,7 +134,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { @After public void tearDown() throws Exception { - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mController.deleteWindowMagnification(); }); } @@ -197,7 +198,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; resetMockObjects(); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, targetCenterX, targetCenterY, mAnimationCallback2); mCurrentScale.set(mController.getScale()); @@ -250,7 +251,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = mirrorView.getHeight() / 2.0f; Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, targetCenterX, targetCenterY, mAnimationCallback); mCurrentScale.set(mController.getScale()); @@ -286,7 +287,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, targetCenterX, targetCenterY, mAnimationCallback); mCurrentScale.set(mController.getScale()); @@ -374,7 +375,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, targetCenterX, targetCenterY, mAnimationCallback2); mCurrentScale.set(mController.getScale()); @@ -386,7 +387,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { verify(mAnimationCallback2, never()).onResult(anyBoolean()); verify(mAnimationCallback).onResult(false); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().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 @@ -454,7 +455,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(targetScale, targetCenterX, targetCenterY, mAnimationCallback2); mCurrentScale.set(mController.getScale()); @@ -482,7 +483,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final Rect windowBounds = new Rect(mWindowManager.getCurrentWindowMetrics().getBounds()); Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification(DEFAULT_SCALE, windowBounds.exactCenterX(), windowBounds.exactCenterY(), offsetRatio, offsetRatio, mAnimationCallback); @@ -510,7 +511,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; enableWindowMagnificationWithoutAnimation(); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( targetCenterX, targetCenterY, mAnimationCallback); advanceTimeBy(mWaitAnimationDuration); @@ -526,7 +527,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { throws RemoteException { enableWindowMagnificationWithoutAnimation(); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( DEFAULT_CENTER_X + 10, DEFAULT_CENTER_Y + 10, mAnimationCallback); mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( @@ -554,7 +555,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( targetCenterX, targetCenterY, mAnimationCallback2); advanceTimeBy(mWaitAnimationDuration); @@ -574,7 +575,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { enableWindowMagnificationAndWaitAnimating(mWaitPartialAnimationDuration, mAnimationCallback); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.moveWindowMagnifierToPosition( Float.NaN, Float.NaN, mAnimationCallback2); advanceTimeBy(mWaitAnimationDuration); @@ -646,7 +647,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { mAnimationCallback); Mockito.reset(mSpyController); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.deleteWindowMagnification( mAnimationCallback2); mCurrentScale.set(mController.getScale()); @@ -734,7 +735,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float offsetY = (float) Math.ceil(offsetX * WindowMagnificationController.HORIZONTAL_LOCK_BASE) + 1.0f; - mInstrumentation.runOnMainSync(()-> mController.moveWindowMagnifier(offsetX, offsetY)); + getInstrumentation().runOnMainSync(()-> mController.moveWindowMagnifier(offsetX, offsetY)); verify(mSpyController).moveWindowMagnifier(offsetX, offsetY); verifyFinalSpec(DEFAULT_SCALE, DEFAULT_CENTER_X, DEFAULT_CENTER_Y + offsetY); @@ -749,7 +750,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float offsetY = (float) Math.floor(offsetX * WindowMagnificationController.HORIZONTAL_LOCK_BASE) - 1.0f; - mInstrumentation.runOnMainSync(() -> + getInstrumentation().runOnMainSync(() -> mController.moveWindowMagnifier(offsetX, offsetY)); verify(mSpyController).moveWindowMagnifier(offsetX, offsetY); @@ -765,7 +766,7 @@ 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 - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mController.setDiagonalScrolling(true); mController.moveWindowMagnifier(offsetX, offsetY); }); @@ -780,7 +781,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { final float targetCenterY = DEFAULT_CENTER_Y + 100; enableWindowMagnificationWithoutAnimation(); - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mController.moveWindowMagnifierToPosition(targetCenterX, targetCenterY, mAnimationCallback); advanceTimeBy(mWaitAnimationDuration); @@ -807,7 +808,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { private void enableWindowMagnificationWithoutAnimation( float targetScale, float targetCenterX, float targetCenterY) { - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification( targetScale, targetCenterX, targetCenterY, null); }); @@ -825,7 +826,7 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { float targetCenterX, float targetCenterY, @Nullable IRemoteMagnificationAnimationCallback callback) { - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.enableWindowMagnification( targetScale, targetCenterX, targetCenterY, callback); advanceTimeBy(duration); @@ -833,14 +834,14 @@ public class WindowMagnificationAnimationControllerTest extends SysuiTestCase { } private void deleteWindowMagnificationWithoutAnimation() { - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.deleteWindowMagnification(null); }); } private void deleteWindowMagnificationAndWaitAnimating(long duration, @Nullable IRemoteMagnificationAnimationCallback callback) { - mInstrumentation.runOnMainSync(() -> { + getInstrumentation().runOnMainSync(() -> { mWindowMagnificationAnimationController.deleteWindowMagnification(callback); advanceTimeBy(duration); }); diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt index 5e7b85779599..2d95b09cbf0e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt @@ -54,6 +54,7 @@ import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.WakefulnessLifecycle import com.android.systemui.statusbar.VibratorHelper +import com.android.systemui.statusbar.events.ANIMATING_OUT import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat @@ -211,6 +212,16 @@ open class AuthContainerViewTest : SysuiTestCase() { } @Test + fun testIgnoresAnimatedInWhenDialogAnimatingOut() { + val container = initializeFingerprintContainer(addToView = false) + container.mContainerState = ANIMATING_OUT + container.addToView() + waitForIdleSync() + + verify(callback, never()).onDialogAnimatedIn(anyLong(), anyBoolean()) + } + + @Test fun testDismissBeforeIntroEnd() { val container = initializeFingerprintContainer() waitForIdleSync() diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractorTest.kt index 99501c426e0c..67d3a20bd5c5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/SideFpsSensorInteractorTest.kt @@ -26,6 +26,7 @@ import android.view.WindowManager import android.view.WindowMetrics import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase +import com.android.systemui.biometrics.FingerprintInteractiveToAuthProvider import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository import com.android.systemui.biometrics.shared.model.DisplayRotation import com.android.systemui.biometrics.shared.model.DisplayRotation.ROTATION_0 @@ -35,11 +36,12 @@ import com.android.systemui.biometrics.shared.model.DisplayRotation.ROTATION_90 import com.android.systemui.biometrics.shared.model.FingerprintSensorType import com.android.systemui.biometrics.shared.model.SensorStrength import com.android.systemui.coroutines.collectLastValue -import com.android.systemui.flags.FakeFeatureFlagsClassic -import com.android.systemui.flags.Flags.REST_TO_UNLOCK +import com.android.systemui.dump.logcatLogBuffer +import com.android.systemui.log.SideFpsLogger import com.android.systemui.res.R import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat +import java.util.Optional import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.StandardTestDispatcher @@ -62,7 +64,7 @@ import org.mockito.junit.MockitoJUnit class SideFpsSensorInteractorTest : SysuiTestCase() { @JvmField @Rule var mockitoRule = MockitoJUnit.rule() - private lateinit var testScope: TestScope + private val testScope = TestScope(StandardTestDispatcher()) private val fingerprintRepository = FakeFingerprintPropertyRepository() @@ -70,32 +72,36 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { @Mock private lateinit var windowManager: WindowManager @Mock private lateinit var displayStateInteractor: DisplayStateInteractor - + @Mock + private lateinit var fingerprintInteractiveToAuthProvider: FingerprintInteractiveToAuthProvider + private val isRestToUnlockEnabled = MutableStateFlow(false) private val contextDisplayInfo = DisplayInfo() private val displayChangeEvent = MutableStateFlow(0) private val currentRotation = MutableStateFlow(ROTATION_0) @Before fun setup() { - testScope = TestScope(StandardTestDispatcher()) mContext = spy(mContext) - val displayManager = mock(DisplayManagerGlobal::class.java) val resources = mContext.resources whenever(mContext.display) - .thenReturn(Display(displayManager, 1, contextDisplayInfo, resources)) + .thenReturn( + Display(mock(DisplayManagerGlobal::class.java), 1, contextDisplayInfo, resources) + ) whenever(displayStateInteractor.displayChanges).thenReturn(displayChangeEvent) whenever(displayStateInteractor.currentRotation).thenReturn(currentRotation) contextDisplayInfo.uniqueId = "current-display" - + whenever(fingerprintInteractiveToAuthProvider.enabledForCurrentUser) + .thenReturn(isRestToUnlockEnabled) underTest = SideFpsSensorInteractor( mContext, fingerprintRepository, windowManager, displayStateInteractor, - FakeFeatureFlagsClassic().apply { set(REST_TO_UNLOCK, true) } + Optional.of(fingerprintInteractiveToAuthProvider), + SideFpsLogger(logcatLogBuffer("SfpsLogger")) ) } @@ -126,7 +132,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { @Test fun authenticationDurationIsAvailableWhenSFPSSensorIsAvailable() = testScope.runTest { - assertThat(collectLastValue(underTest.authenticationDuration)()) + assertThat(underTest.authenticationDuration) .isEqualTo(context.resources.getInteger(R.integer.config_restToUnlockDuration)) } @@ -155,7 +161,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(1000) assertThat(sensorLocation!!.top).isEqualTo(200) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(true) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -183,7 +189,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(500) assertThat(sensorLocation!!.top).isEqualTo(1000) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(true) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -211,7 +217,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(200) assertThat(sensorLocation!!.top).isEqualTo(0) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(true) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -264,7 +270,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(500) assertThat(sensorLocation!!.top).isEqualTo(0) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(false) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -291,7 +297,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(0) assertThat(sensorLocation!!.top).isEqualTo(400) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(false) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -318,7 +324,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(400) assertThat(sensorLocation!!.top).isEqualTo(800) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(false) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) } @Test @@ -345,7 +351,22 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { assertThat(sensorLocation!!.left).isEqualTo(800) assertThat(sensorLocation!!.top).isEqualTo(500) assertThat(sensorLocation!!.isSensorVerticalInDefaultOrientation).isEqualTo(false) - assertThat(sensorLocation!!.width).isEqualTo(100) + assertThat(sensorLocation!!.length).isEqualTo(100) + } + + @Test + fun isProlongedTouchRequiredForAuthentication_dependsOnSettingsToggle() = + testScope.runTest { + val isEnabled by collectLastValue(underTest.isProlongedTouchRequiredForAuthentication) + setupFingerprint(FingerprintSensorType.POWER_BUTTON) + + isRestToUnlockEnabled.value = true + runCurrent() + assertThat(isEnabled).isTrue() + + isRestToUnlockEnabled.value = false + runCurrent() + assertThat(isEnabled).isFalse() } private suspend fun TestScope.setupFPLocationAndDisplaySize( @@ -356,10 +377,14 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { rotation: DisplayRotation, sensorWidth: Int ) { - overrideResource(R.integer.config_sfpsSensorWidth, sensorWidth) setupDisplayDimensions(width, height) currentRotation.value = rotation - setupFingerprint(x = sensorLocationX, y = sensorLocationY, displayId = "expanded_display") + setupFingerprint( + x = sensorLocationX, + y = sensorLocationY, + displayId = "expanded_display", + sensorRadius = sensorWidth / 2 + ) } private fun setupDisplayDimensions(displayWidth: Int, displayHeight: Int) { @@ -367,7 +392,7 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { .thenReturn( WindowMetrics( Rect(0, 0, displayWidth, displayHeight), - mock(WindowInsets::class.java) + mock(WindowInsets::class.java), ) ) } @@ -376,7 +401,8 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { fingerprintSensorType: FingerprintSensorType = FingerprintSensorType.POWER_BUTTON, x: Int = 0, y: Int = 0, - displayId: String = "display_id_1" + displayId: String = "display_id_1", + sensorRadius: Int = 150 ) { contextDisplayInfo.uniqueId = displayId fingerprintRepository.setProperties( @@ -390,14 +416,14 @@ class SideFpsSensorInteractorTest : SysuiTestCase() { "someOtherDisplayId", x + 100, y + 100, - 0, + sensorRadius, ), displayId to SensorLocationInternal( displayId, x, y, - 0, + sensorRadius, ) ) ) diff --git a/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt index 8e21f294a361..2f17b6fa35ed 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt @@ -23,6 +23,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.communal.data.repository.FakeCommunalRepository import com.android.systemui.communal.data.repository.FakeCommunalWidgetRepository import com.android.systemui.communal.shared.model.CommunalAppWidgetInfo +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.coroutines.collectLastValue import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -86,4 +87,48 @@ class CommunalInteractorTest : SysuiTestCase() { val interactor = CommunalInteractor(communalRepository, widgetRepository) assertThat(interactor.isCommunalEnabled).isFalse() } + + @Test + fun listensToSceneChange() = + testScope.runTest { + val interactor = CommunalInteractor(communalRepository, widgetRepository) + var desiredScene = collectLastValue(interactor.desiredScene) + runCurrent() + assertThat(desiredScene()).isEqualTo(CommunalSceneKey.Blank) + + val targetScene = CommunalSceneKey.Communal + communalRepository.setDesiredScene(targetScene) + desiredScene = collectLastValue(interactor.desiredScene) + runCurrent() + assertThat(desiredScene()).isEqualTo(targetScene) + } + + @Test + fun updatesScene() = + testScope.runTest { + val interactor = CommunalInteractor(communalRepository, widgetRepository) + val targetScene = CommunalSceneKey.Communal + + interactor.onSceneChanged(targetScene) + + val desiredScene = collectLastValue(communalRepository.desiredScene) + runCurrent() + assertThat(desiredScene()).isEqualTo(targetScene) + } + + @Test + fun isCommunalShowing() = + testScope.runTest { + val interactor = CommunalInteractor(communalRepository, widgetRepository) + + var isCommunalShowing = collectLastValue(interactor.isCommunalShowing) + runCurrent() + assertThat(isCommunalShowing()).isEqualTo(false) + + interactor.onSceneChanged(CommunalSceneKey.Communal) + + isCommunalShowing = collectLastValue(interactor.isCommunalShowing) + runCurrent() + assertThat(isCommunalShowing()).isEqualTo(true) + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractorTest.kt index 0a9a15e06b1b..61d1502f307e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/communal/domain/interactor/CommunalTutorialInteractorTest.kt @@ -21,16 +21,23 @@ import android.provider.Settings.Secure.HUB_MODE_TUTORIAL_NOT_STARTED import android.provider.Settings.Secure.HUB_MODE_TUTORIAL_STARTED import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase +import com.android.systemui.communal.data.repository.FakeCommunalRepository import com.android.systemui.communal.data.repository.FakeCommunalTutorialRepository +import com.android.systemui.communal.data.repository.FakeCommunalWidgetRepository +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.coroutines.collectLastValue import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardInteractorFactory +import com.android.systemui.scene.SceneTestUtils +import com.android.systemui.scene.domain.interactor.SceneInteractor +import com.android.systemui.scene.shared.flag.FakeSceneContainerFlags +import com.android.systemui.scene.shared.model.SceneKey +import com.android.systemui.scene.shared.model.SceneModel import com.android.systemui.settings.UserTracker import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat -import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Before @@ -46,18 +53,28 @@ class CommunalTutorialInteractorTest : SysuiTestCase() { @Mock private lateinit var userTracker: UserTracker - private val testDispatcher = StandardTestDispatcher() - private val testScope = TestScope(testDispatcher) - + private lateinit var testScope: TestScope private lateinit var underTest: CommunalTutorialInteractor private lateinit var keyguardRepository: FakeKeyguardRepository private lateinit var keyguardInteractor: KeyguardInteractor private lateinit var communalTutorialRepository: FakeCommunalTutorialRepository + private lateinit var sceneContainerFlags: FakeSceneContainerFlags + private lateinit var communalInteractor: CommunalInteractor + private lateinit var communalRepository: FakeCommunalRepository + + private val utils = SceneTestUtils(this) + private lateinit var sceneInteractor: SceneInteractor @Before fun setUp() { MockitoAnnotations.initMocks(this) + sceneInteractor = utils.sceneInteractor() + testScope = utils.testScope + sceneContainerFlags = utils.sceneContainerFlags.apply { enabled = false } + communalRepository = FakeCommunalRepository(isCommunalEnabled = true) + communalInteractor = CommunalInteractor(communalRepository, FakeCommunalWidgetRepository()) + val withDeps = KeyguardInteractorFactory.create() keyguardInteractor = withDeps.keyguardInteractor keyguardRepository = withDeps.repository @@ -65,8 +82,12 @@ class CommunalTutorialInteractorTest : SysuiTestCase() { underTest = CommunalTutorialInteractor( - keyguardInteractor = keyguardInteractor, + scope = testScope.backgroundScope, communalTutorialRepository = communalTutorialRepository, + keyguardInteractor = keyguardInteractor, + communalInteractor = communalInteractor, + sceneContainerFlags = sceneContainerFlags, + sceneInteractor = sceneInteractor, ) whenever(userTracker.userHandle).thenReturn(mock()) @@ -87,6 +108,7 @@ class CommunalTutorialInteractorTest : SysuiTestCase() { val isTutorialAvailable by collectLastValue(underTest.isTutorialAvailable) keyguardRepository.setKeyguardShowing(true) keyguardRepository.setKeyguardOccluded(false) + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_COMPLETED) assertThat(isTutorialAvailable).isFalse() } @@ -97,6 +119,7 @@ class CommunalTutorialInteractorTest : SysuiTestCase() { val isTutorialAvailable by collectLastValue(underTest.isTutorialAvailable) keyguardRepository.setKeyguardShowing(true) keyguardRepository.setKeyguardOccluded(false) + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_NOT_STARTED) assertThat(isTutorialAvailable).isTrue() } @@ -107,7 +130,188 @@ class CommunalTutorialInteractorTest : SysuiTestCase() { val isTutorialAvailable by collectLastValue(underTest.isTutorialAvailable) keyguardRepository.setKeyguardShowing(true) keyguardRepository.setKeyguardOccluded(false) + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_STARTED) assertThat(isTutorialAvailable).isTrue() } + + /* Testing tutorial states with transitions when flexiglass off */ + @Test + fun tutorialState_notStartedAndCommunalSceneShowing_tutorialStarted() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_NOT_STARTED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Communal) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_STARTED) + } + + @Test + fun tutorialState_startedAndCommunalSceneShowing_stateWillNotUpdate() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_STARTED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Communal) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_STARTED) + } + + @Test + fun tutorialState_completedAndCommunalSceneShowing_stateWillNotUpdate() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_COMPLETED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Communal) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } + + @Test + fun tutorialState_notStartedAndCommunalSceneNotShowing_stateWillNotUpdate() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_NOT_STARTED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Blank) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_NOT_STARTED) + } + + @Test + fun tutorialState_startedAndCommunalSceneNotShowing_tutorialCompleted() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_STARTED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Blank) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } + + @Test + fun tutorialState_completedAndCommunalSceneNotShowing_stateWillNotUpdate() = + testScope.runTest { + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(communalInteractor.desiredScene) + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_COMPLETED) + + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) + + assertThat(currentScene).isEqualTo(CommunalSceneKey.Blank) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } + + /* Testing tutorial states with transitions when flexiglass on */ + @Test + fun tutorialState_notStartedCommunalSceneShowingAndFlexiglassOn_tutorialStarted() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_NOT_STARTED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Communal), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Communal)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_STARTED) + } + + @Test + fun tutorialState_startedCommunalSceneShowingAndFlexiglassOn_stateWillNotUpdate() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_STARTED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Communal), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Communal)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_STARTED) + } + + @Test + fun tutorialState_completedCommunalSceneShowingAndFlexiglassOn_stateWillNotUpdate() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_COMPLETED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Communal), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Communal)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } + + @Test + fun tutorialState_notStartedCommunalSceneNotShowingAndFlexiglassOn_stateWillNotUpdate() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_NOT_STARTED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_NOT_STARTED) + } + + @Test + fun tutorialState_startedCommunalSceneNotShowingAndFlexiglassOn_tutorialCompleted() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Communal), "reason") + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_STARTED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } + + @Test + fun tutorialState_completedCommunalSceneNotShowingAndFlexiglassOn_stateWillNotUpdate() = + testScope.runTest { + sceneContainerFlags.enabled = true + val tutorialSettingState by + collectLastValue(communalTutorialRepository.tutorialSettingState) + val currentScene by collectLastValue(sceneInteractor.desiredScene) + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Communal), "reason") + communalTutorialRepository.setTutorialSettingState(HUB_MODE_TUTORIAL_COMPLETED) + + sceneInteractor.onSceneChanged(SceneModel(SceneKey.Lockscreen), "reason") + + assertThat(currentScene).isEqualTo(SceneModel(SceneKey.Lockscreen)) + assertThat(tutorialSettingState).isEqualTo(HUB_MODE_TUTORIAL_COMPLETED) + } } 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 d80dd76b23e5..806930d091b1 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 @@ -380,6 +380,32 @@ class DisplayRepositoryTest : SysuiTestCase() { } @Test + fun pendingDisplay_afterConfigChanged_doesNotChange() = + testScope.runTest { + val pendingDisplay by lastPendingDisplay() + + sendOnDisplayConnected(1, TYPE_EXTERNAL) + val initialPendingDisplay: DisplayRepository.PendingDisplay? = pendingDisplay + assertThat(pendingDisplay).isNotNull() + sendOnDisplayChanged(1) + + assertThat(initialPendingDisplay).isEqualTo(pendingDisplay) + } + + @Test + fun pendingDisplay_afterNewHigherDisplayConnected_changes() = + testScope.runTest { + val pendingDisplay by lastPendingDisplay() + + sendOnDisplayConnected(1, TYPE_EXTERNAL) + val initialPendingDisplay: DisplayRepository.PendingDisplay? = pendingDisplay + assertThat(pendingDisplay).isNotNull() + sendOnDisplayConnected(2, TYPE_EXTERNAL) + + assertThat(initialPendingDisplay).isNotEqualTo(pendingDisplay) + } + + @Test fun onPendingDisplay_OneInternalAndOneExternalDisplay_internalIgnored() = testScope.runTest { val pendingDisplay by lastPendingDisplay() @@ -466,6 +492,10 @@ class DisplayRepositoryTest : SysuiTestCase() { connectedDisplayListener.value.onDisplayConnected(id) } + private fun sendOnDisplayChanged(id: Int) { + connectedDisplayListener.value.onDisplayChanged(id) + } + private fun setDisplays(displays: List<Display>) { whenever(displayManager.displays).thenReturn(displays.toTypedArray()) displays.forEach { display -> diff --git a/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt b/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt index f51745b9f17c..b589a2ac8b13 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/flags/FeatureFlagsClassicDebugTest.kt @@ -22,7 +22,6 @@ import android.content.pm.PackageManager.NameNotFoundException import android.content.res.Resources import android.content.res.Resources.NotFoundException import android.test.suitebuilder.annotation.SmallTest -import com.android.systemui.FakeFeatureFlagsImpl import com.android.systemui.SysuiTestCase import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq @@ -66,7 +65,6 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { private lateinit var broadcastReceiver: BroadcastReceiver private lateinit var clearCacheAction: Consumer<String> private val serverFlagReader = ServerFlagReaderFake() - private val fakeGantryFlags = FakeFeatureFlagsImpl() private val teamfoodableFlagA = UnreleasedFlag(name = "a", namespace = "test", teamfood = true) private val teamfoodableFlagB = ReleasedFlag(name = "b", namespace = "test", teamfood = true) @@ -74,7 +72,6 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { @Before fun setup() { MockitoAnnotations.initMocks(this) - fakeGantryFlags.setFlag("com.android.systemui.sysui_teamfood", false) flagMap.put(teamfoodableFlagA.name, teamfoodableFlagA) flagMap.put(teamfoodableFlagB.name, teamfoodableFlagB) mFeatureFlagsClassicDebug = @@ -86,7 +83,6 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { resources, serverFlagReader, flagMap, - fakeGantryFlags, restarter ) mFeatureFlagsClassicDebug.init() @@ -134,7 +130,7 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { @Test fun teamFoodFlag_True() { - fakeGantryFlags.setFlag("com.android.systemui.sysui_teamfood", true) + mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_SYSUI_TEAMFOOD) assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA)).isTrue() assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagB)).isTrue() @@ -149,7 +145,7 @@ class FeatureFlagsClassicDebugTest : SysuiTestCase() { .thenReturn(true) whenever(flagManager.readFlagValue<Boolean>(eq(teamfoodableFlagB.name), any())) .thenReturn(false) - fakeGantryFlags.setFlag("com.android.systemui.sysui_teamfood", true) + mSetFlagsRule.enableFlags(com.android.systemui.Flags.FLAG_SYSUI_TEAMFOOD) assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagA)).isTrue() assertThat(mFeatureFlagsClassicDebug.isEnabled(teamfoodableFlagB)).isFalse() diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt index 27325d3f4ecf..ad2ec72468ad 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt @@ -203,7 +203,8 @@ class KeyguardInteractorTest : SysuiTestCase() { fromScene = SceneKey.Gone, toScene = SceneKey.Lockscreen, progress = flowOf(0f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) runCurrent() assertThat(isAnimate).isFalse() diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt index 5296f1abd756..5bfe56931bb4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt @@ -25,6 +25,10 @@ import android.widget.FrameLayout import androidx.test.filters.SmallTest import com.android.keyguard.KeyguardViewController import com.android.systemui.SysuiTestCase +import com.android.systemui.communal.data.repository.FakeCommunalRepository +import com.android.systemui.communal.data.repository.FakeCommunalWidgetRepository +import com.android.systemui.communal.domain.interactor.CommunalInteractor +import com.android.systemui.communal.shared.model.CommunalSceneKey import com.android.systemui.controls.controller.ControlsControllerImplTest.Companion.eq import com.android.systemui.dreams.DreamOverlayStateController import com.android.systemui.keyguard.WakefulnessLifecycle @@ -46,6 +50,11 @@ import com.android.systemui.util.mockito.nullable import com.android.systemui.util.settings.FakeSettings import com.android.systemui.utils.os.FakeHandler import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest import org.junit.Assert.assertNotNull import org.junit.Before import org.junit.Rule @@ -63,6 +72,7 @@ import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.junit.MockitoJUnit +@OptIn(ExperimentalCoroutinesApi::class) @SmallTest @RunWith(AndroidTestingRunner::class) @TestableLooper.RunWithLooper @@ -71,6 +81,7 @@ class MediaHierarchyManagerTest : SysuiTestCase() { @Mock private lateinit var lockHost: MediaHost @Mock private lateinit var qsHost: MediaHost @Mock private lateinit var qqsHost: MediaHost + @Mock private lateinit var hubModeHost: MediaHost @Mock private lateinit var bypassController: KeyguardBypassController @Mock private lateinit var keyguardStateController: KeyguardStateController @Mock private lateinit var statusBarStateController: SysuiStatusBarStateController @@ -93,10 +104,15 @@ class MediaHierarchyManagerTest : SysuiTestCase() { private lateinit var mediaHierarchyManager: MediaHierarchyManager private lateinit var mediaFrame: ViewGroup private val configurationController = FakeConfigurationController() + private val communalRepository = FakeCommunalRepository(isCommunalEnabled = true) + private val communalInteractor = + CommunalInteractor(communalRepository, FakeCommunalWidgetRepository()) private val notifPanelEvents = ShadeExpansionStateManager() private val settings = FakeSettings() private lateinit var testableLooper: TestableLooper private lateinit var fakeHandler: FakeHandler + private val testDispatcher = StandardTestDispatcher() + private val testScope = TestScope(testDispatcher) @Before fun setup() { @@ -117,11 +133,13 @@ class MediaHierarchyManagerTest : SysuiTestCase() { mediaDataManager, keyguardViewController, dreamOverlayStateController, + communalInteractor, configurationController, wakefulnessLifecycle, notifPanelEvents, settings, fakeHandler, + testScope.backgroundScope, ResourcesSplitShadeStateController(), logger, ) @@ -131,6 +149,7 @@ class MediaHierarchyManagerTest : SysuiTestCase() { setupHost(lockHost, MediaHierarchyManager.LOCATION_LOCKSCREEN, LOCKSCREEN_TOP) setupHost(qsHost, MediaHierarchyManager.LOCATION_QS, QS_TOP) setupHost(qqsHost, MediaHierarchyManager.LOCATION_QQS, QQS_TOP) + setupHost(hubModeHost, MediaHierarchyManager.LOCATION_COMMUNAL_HUB, COMMUNAL_TOP) whenever(statusBarStateController.state).thenReturn(StatusBarState.SHADE) whenever(mediaDataManager.hasActiveMedia()).thenReturn(true) whenever(mediaCarouselController.mediaCarouselScrollHandler) @@ -475,6 +494,33 @@ class MediaHierarchyManagerTest : SysuiTestCase() { } @Test + fun testCommunalLocation() = + testScope.runTest { + communalInteractor.onSceneChanged(CommunalSceneKey.Communal) + runCurrent() + verify(mediaCarouselController) + .onDesiredLocationChanged( + eq(MediaHierarchyManager.LOCATION_COMMUNAL_HUB), + nullable(), + eq(false), + anyLong(), + anyLong() + ) + clearInvocations(mediaCarouselController) + + communalInteractor.onSceneChanged(CommunalSceneKey.Blank) + runCurrent() + verify(mediaCarouselController) + .onDesiredLocationChanged( + eq(MediaHierarchyManager.LOCATION_QQS), + any(MediaHostState::class.java), + eq(false), + anyLong(), + anyLong() + ) + } + + @Test fun testQsExpandedChanged_noQqsMedia() { // When we are looking at QQS with active media whenever(statusBarStateController.state).thenReturn(StatusBarState.SHADE) @@ -538,5 +584,6 @@ class MediaHierarchyManagerTest : SysuiTestCase() { private const val QQS_TOP = 123 private const val QS_TOP = 456 private const val LOCKSCREEN_TOP = 789 + private const val COMMUNAL_TOP = 111 } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/impl/custom/CustomTilePackageUpdatesRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/impl/custom/CustomTilePackageUpdatesRepositoryTest.kt new file mode 100644 index 000000000000..4a221134ce67 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/impl/custom/CustomTilePackageUpdatesRepositoryTest.kt @@ -0,0 +1,119 @@ +/* + * 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.impl.custom + +import android.content.ComponentName +import android.os.UserHandle +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.systemui.qs.external.TileLifecycleManager +import com.android.systemui.qs.external.TileServiceManager +import com.android.systemui.qs.pipeline.shared.TileSpec +import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepository +import com.android.systemui.qs.tiles.impl.custom.data.repository.CustomTilePackageUpdatesRepositoryImpl +import com.android.systemui.qs.tiles.impl.custom.data.repository.FakeCustomTileDefaultsRepository +import com.android.systemui.qs.tiles.impl.custom.data.repository.FakeCustomTileDefaultsRepository.DefaultsRequest +import com.android.systemui.util.mockito.capture +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.StandardTestDispatcher +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.Mock +import org.mockito.Mockito.verify +import org.mockito.MockitoAnnotations + +@OptIn(ExperimentalCoroutinesApi::class) +@SmallTest +@RunWith(AndroidJUnit4::class) +class CustomTilePackageUpdatesRepositoryTest : SysuiTestCase() { + + @Mock private lateinit var tileServiceManager: TileServiceManager + + @Captor + private lateinit var listenerCaptor: ArgumentCaptor<TileLifecycleManager.TileChangeListener> + + private val defaultsRepository = FakeCustomTileDefaultsRepository() + private val testDispatcher = StandardTestDispatcher() + private val testScope = TestScope(testDispatcher) + + private lateinit var underTest: CustomTilePackageUpdatesRepository + + @Before + fun setup() { + MockitoAnnotations.initMocks(this) + + underTest = + CustomTilePackageUpdatesRepositoryImpl( + TileSpec.create(COMPONENT_1), + USER, + tileServiceManager, + defaultsRepository, + testScope.backgroundScope, + ) + } + + @Test + fun packageChangesUpdatesDefaults() = + testScope.runTest { + val events = mutableListOf<Unit>() + underTest.packageChanges.onEach { events.add(it) }.launchIn(backgroundScope) + runCurrent() + verify(tileServiceManager).setTileChangeListener(capture(listenerCaptor)) + + emitPackageChange() + runCurrent() + + assertThat(events).hasSize(1) + assertThat(defaultsRepository.defaultsRequests).isNotEmpty() + assertThat(defaultsRepository.defaultsRequests.last()) + .isEqualTo(DefaultsRequest(USER, COMPONENT_1, true)) + } + + @Test + fun packageChangesEmittedOnlyForTheTile() = + testScope.runTest { + val events = mutableListOf<Unit>() + underTest.packageChanges.onEach { events.add(it) }.launchIn(backgroundScope) + runCurrent() + verify(tileServiceManager).setTileChangeListener(capture(listenerCaptor)) + + emitPackageChange(COMPONENT_2) + runCurrent() + + assertThat(events).isEmpty() + } + + private fun emitPackageChange(componentName: ComponentName = COMPONENT_1) { + listenerCaptor.value.onTileChanged(componentName) + } + + private companion object { + val USER = UserHandle(0) + val COMPONENT_1 = ComponentName("pkg.test.1", "cls.test") + val COMPONENT_2 = ComponentName("pkg.test.2", "cls.test") + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt index 064941c29ff1..3feb5bfd088a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt @@ -55,6 +55,7 @@ import com.google.common.truth.Truth.assertWithMessage import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.Job import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.launch import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent @@ -468,7 +469,8 @@ class SceneFrameworkIntegrationTest : SysuiTestCase() { fromScene = getCurrentSceneInUi(), toScene = to.key, progress = progressFlow, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) runCurrent() diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt index 432bd0f2a050..d669006c68d3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt @@ -29,6 +29,7 @@ import com.android.systemui.scene.shared.model.SceneModel import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runTest import org.junit.Test import org.junit.runner.RunWith @@ -51,6 +52,7 @@ class SceneContainerRepositoryTest : SysuiTestCase() { SceneKey.Lockscreen, SceneKey.Bouncer, SceneKey.Gone, + SceneKey.Communal, ) ) } @@ -119,7 +121,8 @@ class SceneContainerRepositoryTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = SceneKey.Shade, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(reflectedTransitionState).isEqualTo(transitionState.value) diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt index 8b23d183f1a6..3f032a45df41 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt @@ -83,7 +83,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = SceneKey.Shade, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(reflectedTransitionState).isEqualTo(transitionState.value) @@ -121,7 +122,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = underTest.desiredScene.value.key, toScene = SceneKey.Shade, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(transitionTo).isEqualTo(SceneKey.Shade) @@ -158,7 +160,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = SceneKey.Gone, toScene = SceneKey.Lockscreen, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) val transitioning by @@ -177,7 +180,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = SceneKey.Shade, toScene = SceneKey.QuickSettings, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) underTest.setTransitionState(transitionState) @@ -194,7 +198,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = SceneKey.Shade, toScene = SceneKey.Lockscreen, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) val transitioning by @@ -222,7 +227,8 @@ class SceneInteractorTest : SysuiTestCase() { fromScene = SceneKey.Shade, toScene = SceneKey.Lockscreen, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(transitioning).isTrue() @@ -231,6 +237,95 @@ class SceneInteractorTest : SysuiTestCase() { } @Test + fun isTransitionUserInputOngoing_idle_false() = + testScope.runTest { + val transitionState = + MutableStateFlow<ObservableTransitionState>( + ObservableTransitionState.Idle(SceneKey.Shade) + ) + val isTransitionUserInputOngoing by + collectLastValue(underTest.isTransitionUserInputOngoing) + underTest.setTransitionState(transitionState) + + assertThat(isTransitionUserInputOngoing).isFalse() + } + + @Test + fun isTransitionUserInputOngoing_transition_true() = + testScope.runTest { + val transitionState = + MutableStateFlow<ObservableTransitionState>( + ObservableTransitionState.Transition( + fromScene = SceneKey.Shade, + toScene = SceneKey.Lockscreen, + progress = flowOf(0.5f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(true), + ) + ) + val isTransitionUserInputOngoing by + collectLastValue(underTest.isTransitionUserInputOngoing) + underTest.setTransitionState(transitionState) + + assertThat(isTransitionUserInputOngoing).isTrue() + } + + @Test + fun isTransitionUserInputOngoing_updateMidTransition_false() = + testScope.runTest { + val transitionState = + MutableStateFlow<ObservableTransitionState>( + ObservableTransitionState.Transition( + fromScene = SceneKey.Shade, + toScene = SceneKey.Lockscreen, + progress = flowOf(0.5f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(true), + ) + ) + val isTransitionUserInputOngoing by + collectLastValue(underTest.isTransitionUserInputOngoing) + underTest.setTransitionState(transitionState) + + assertThat(isTransitionUserInputOngoing).isTrue() + + transitionState.value = + ObservableTransitionState.Transition( + fromScene = SceneKey.Shade, + toScene = SceneKey.Lockscreen, + progress = flowOf(0.6f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(false), + ) + + assertThat(isTransitionUserInputOngoing).isFalse() + } + + @Test + fun isTransitionUserInputOngoing_updateOnIdle_false() = + testScope.runTest { + val transitionState = + MutableStateFlow<ObservableTransitionState>( + ObservableTransitionState.Transition( + fromScene = SceneKey.Shade, + toScene = SceneKey.Lockscreen, + progress = flowOf(0.5f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(true), + ) + ) + val isTransitionUserInputOngoing by + collectLastValue(underTest.isTransitionUserInputOngoing) + underTest.setTransitionState(transitionState) + + assertThat(isTransitionUserInputOngoing).isTrue() + + transitionState.value = ObservableTransitionState.Idle(scene = SceneKey.Lockscreen) + + assertThat(isTransitionUserInputOngoing).isFalse() + } + + @Test fun isVisible() = testScope.runTest { val isVisible by collectLastValue(underTest.isVisible) diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt index c1f2d0cc518f..c0b586195eca 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt @@ -115,7 +115,8 @@ class SceneContainerStartableTest : SysuiTestCase() { fromScene = SceneKey.Gone, toScene = SceneKey.Shade, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(isVisible).isTrue() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Shade), "reason") @@ -128,7 +129,8 @@ class SceneContainerStartableTest : SysuiTestCase() { fromScene = SceneKey.Shade, toScene = SceneKey.Gone, progress = flowOf(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) assertThat(isVisible).isTrue() sceneInteractor.onSceneChanged(SceneModel(SceneKey.Gone), "reason") diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/shared/flag/SceneContainerFlagsTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/shared/flag/SceneContainerFlagsTest.kt index 0bed4d0d376a..32a38bd1faa1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/shared/flag/SceneContainerFlagsTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/shared/flag/SceneContainerFlagsTest.kt @@ -76,7 +76,6 @@ internal class SceneContainerFlagsTest( underTest = SceneContainerFlagsImpl( featureFlagsClassic = featureFlags, - featureFlags = aconfigFlags, isComposeAvailable = testCase.isComposeAvailable, ) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt index 4e3e165c83bb..5459779121c9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt @@ -97,6 +97,7 @@ import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat +import java.util.Optional import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.test.TestScope @@ -111,9 +112,8 @@ import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.times import org.mockito.Mockito.verify -import org.mockito.MockitoAnnotations -import java.util.Optional import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations @OptIn(ExperimentalCoroutinesApi::class) @SmallTest @@ -140,6 +140,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { @Mock private lateinit var stackScrollLayoutController: NotificationStackScrollLayoutController @Mock private lateinit var statusBarKeyguardViewManager: StatusBarKeyguardViewManager @Mock private lateinit var statusBarWindowStateController: StatusBarWindowStateController + @Mock private lateinit var quickSettingsController: QuickSettingsController @Mock private lateinit var lockscreenShadeTransitionController: LockscreenShadeTransitionController @Mock private lateinit var lockIconViewController: LockIconViewController @@ -166,7 +167,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { @Mock lateinit var alternateBouncerInteractor: AlternateBouncerInteractor private val notificationLaunchAnimationRepository = NotificationLaunchAnimationRepository() private val notificationLaunchAnimationInteractor = - NotificationLaunchAnimationInteractor(notificationLaunchAnimationRepository) + NotificationLaunchAnimationInteractor(notificationLaunchAnimationRepository) private lateinit var fakeClock: FakeSystemClock private lateinit var interactionEventHandlerCaptor: ArgumentCaptor<InteractionEventHandler> @@ -274,6 +275,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { ), BouncerLogger(logcatLogBuffer("BouncerLog")), sysUIKeyEventHandler, + quickSettingsController, primaryBouncerInteractor, alternateBouncerInteractor, mSelectedUserInteractor, @@ -460,9 +462,11 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { // AND alternate bouncer doesn't want the touch whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT)) .thenReturn(false) + // AND quick settings controller doesn't want it + whenever(quickSettingsController.shouldQuickSettingsIntercept(any(), any(), any())) + .thenReturn(false) // AND the lock icon wants the touch - whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)) - .thenReturn(true) + whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)).thenReturn(true) featureFlagsClassic.set(MIGRATE_NSSL, true) @@ -476,10 +480,31 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { whenever(sysuiStatusBarStateController.isDozing).thenReturn(true) // AND alternate bouncer doesn't want the touch whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT)) - .thenReturn(false) + .thenReturn(false) // AND the lock icon does NOT want the touch - whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)) - .thenReturn(false) + whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)).thenReturn(false) + // AND quick settings controller doesn't want it + whenever(quickSettingsController.shouldQuickSettingsIntercept(any(), any(), any())) + .thenReturn(false) + + featureFlagsClassic.set(MIGRATE_NSSL, true) + + // THEN touch should NOT be intercepted by NotificationShade + assertThat(interactionEventHandler.shouldInterceptTouchEvent(DOWN_EVENT)).isTrue() + } + + @Test + fun shouldInterceptTouchEvent_dozing_touchInStatusBar_touchIntercepted() { + // GIVEN dozing + whenever(sysuiStatusBarStateController.isDozing).thenReturn(true) + // AND alternate bouncer doesn't want the touch + whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT)) + .thenReturn(false) + // AND the lock icon does NOT want the touch + whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)).thenReturn(false) + // AND quick settings controller DOES want it + whenever(quickSettingsController.shouldQuickSettingsIntercept(any(), any(), any())) + .thenReturn(true) featureFlagsClassic.set(MIGRATE_NSSL, true) diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt index 3d5d26ab194e..a6ab6a51bfa7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt @@ -121,6 +121,7 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { @Mock private lateinit var notificationStackScrollLayout: NotificationStackScrollLayout @Mock private lateinit var notificationShadeDepthController: NotificationShadeDepthController @Mock private lateinit var notificationShadeWindowController: NotificationShadeWindowController + @Mock private lateinit var quickSettingsController: QuickSettingsController @Mock private lateinit var notificationStackScrollLayoutController: NotificationStackScrollLayoutController @@ -264,6 +265,7 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { ), BouncerLogger(logcatLogBuffer("BouncerLog")), Mockito.mock(SysUIKeyEventHandler::class.java), + quickSettingsController, primaryBouncerInteractor, alternateBouncerInteractor, mSelectedUserInteractor, diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/data/repository/ShadeInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/data/repository/ShadeInteractorTest.kt index 3a260ae374c6..8b8a62585898 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/data/repository/ShadeInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/data/repository/ShadeInteractorTest.kt @@ -60,6 +60,7 @@ import dagger.BindsInstance import dagger.Component import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent @@ -495,7 +496,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = key, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -532,7 +534,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = key, toScene = SceneKey.Lockscreen, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -568,7 +571,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = SceneKey.Shade, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -844,7 +848,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = key, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -881,7 +886,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = SceneKey.Lockscreen, toScene = key, progress = progress, - isUserInputDriven = true, + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -918,7 +924,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = key, toScene = SceneKey.Lockscreen, progress = progress, - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -955,7 +962,8 @@ class ShadeInteractorTest : SysuiTestCase() { fromScene = key, toScene = SceneKey.Lockscreen, progress = progress, - isUserInputDriven = true, + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) @@ -990,8 +998,9 @@ class ShadeInteractorTest : SysuiTestCase() { ObservableTransitionState.Transition( fromScene = SceneKey.Lockscreen, toScene = SceneKey.QuickSettings, - progress = progress, - isUserInputDriven = true, + progress = MutableStateFlow(0f), + isInitiatedByUserInput = true, + isUserInputOngoing = flowOf(false), ) ) sceneInteractor.setTransitionState(transitionState) 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 c38c0e547e67..77ddf15c41ad 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 @@ -21,6 +21,7 @@ import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnec import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test @@ -91,7 +92,8 @@ class ShadeHeaderViewModelTest : SysuiTestCase() { fromScene = SceneKey.Shade, toScene = SceneKey.QuickSettings, progress = MutableStateFlow(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) ) @@ -109,7 +111,8 @@ class ShadeHeaderViewModelTest : SysuiTestCase() { fromScene = SceneKey.QuickSettings, toScene = SceneKey.Shade, progress = MutableStateFlow(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) ) @@ -127,7 +130,8 @@ class ShadeHeaderViewModelTest : SysuiTestCase() { fromScene = SceneKey.Gone, toScene = SceneKey.Shade, progress = MutableStateFlow(0.5f), - isUserInputDriven = false, + isInitiatedByUserInput = false, + isUserInputOngoing = flowOf(false), ) ) ) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationsListInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationsListInteractorTest.kt index ca8ea4eb9d1a..b86f8410fb7f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationsListInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationsListInteractorTest.kt @@ -19,6 +19,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.statusbar.notification.collection.ListEntry +import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository import com.android.systemui.statusbar.notification.shared.byKey import com.android.systemui.util.mockito.mock @@ -40,9 +41,19 @@ class RenderNotificationsListInteractorTest : SysuiTestCase() { @Test fun setRenderedList_preservesOrdering() = runTest { - val notifs by collectLastValue(notifsInteractor.notifications) + val notifs by collectLastValue(notifsInteractor.topLevelRepresentativeNotifications) val keys = (1..50).shuffled().map { "$it" } - val entries = keys.map { mock<ListEntry> { whenever(key).thenReturn(it) } } + val entries = + keys.map { + mock<ListEntry> { + val mockRep = mock<NotificationEntry> { + whenever(key).thenReturn(it) + whenever(sbn).thenReturn(mock()) + whenever(icons).thenReturn(mock()) + } + whenever(representativeEntry).thenReturn(mockRep) + } + } underTest.setRenderedList(entries) assertThat(notifs).comparingElementsUsing(byKey).containsExactlyElementsIn(keys).inOrder() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractorTest.kt index ec80e5f8821c..f8252a721b32 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/domain/interactor/NotificationIconsInteractorTest.kt @@ -25,6 +25,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.deviceentry.data.repository.FakeDeviceEntryRepository import com.android.systemui.statusbar.data.repository.NotificationListenerSettingsRepository import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository +import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationsStore import com.android.systemui.statusbar.notification.data.repository.FakeNotificationsKeyguardViewStateRepository import com.android.systemui.statusbar.notification.shared.activeNotificationModel import com.android.systemui.statusbar.notification.shared.byIsAmbient @@ -77,7 +78,9 @@ class NotificationIconsInteractorTest : SysuiTestCase() { fun setup() = with(testComponent) { activeNotificationListRepository.activeNotifications.value = - testIcons.associateBy { it.key } + ActiveNotificationsStore.Builder() + .apply { testIcons.forEach(::addIndividualNotif) } + .build() } @Test @@ -196,7 +199,9 @@ class AlwaysOnDisplayNotificationIconsInteractorTest : SysuiTestCase() { fun setup() = with(testComponent) { activeNotificationListRepository.activeNotifications.value = - testIcons.associateBy { it.key } + ActiveNotificationsStore.Builder() + .apply { testIcons.forEach(::addIndividualNotif) } + .build() } @Test @@ -318,7 +323,9 @@ class StatusBarNotificationIconsInteractorTest : SysuiTestCase() { fun setup() = with(testComponent) { activeNotificationListRepository.activeNotifications.value = - testIcons.associateBy { it.key } + ActiveNotificationsStore.Builder() + .apply { testIcons.forEach(::addIndividualNotif) } + .build() } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModelTest.kt index ba68fbb981e6..44acac8620ee 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/icon/ui/viewmodel/NotificationIconContainerStatusBarViewModelTest.kt @@ -42,6 +42,7 @@ import com.android.systemui.power.shared.model.WakeSleepReason import com.android.systemui.power.shared.model.WakefulnessState import com.android.systemui.shade.data.repository.FakeShadeRepository import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository +import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationsStore import com.android.systemui.statusbar.notification.data.repository.HeadsUpNotificationIconViewStateRepository import com.android.systemui.statusbar.notification.shared.activeNotificationModel import com.android.systemui.statusbar.phone.DozeParameters @@ -342,14 +343,17 @@ class NotificationIconContainerStatusBarViewModelTest : SysuiTestCase() { val icon: Icon = mock() shadeRepository.setLegacyShadeExpansion(0f) activeNotificationsRepository.activeNotifications.value = - listOf( - activeNotificationModel( - key = "notif1", - groupKey = "group", - statusBarIcon = icon + ActiveNotificationsStore.Builder() + .apply { + addIndividualNotif( + activeNotificationModel( + key = "notif1", + groupKey = "group", + statusBarIcon = icon + ) ) - ) - .associateBy { it.key } + } + .build() val isolatedIcon by collectLastValue(underTest.isolatedIcon) runCurrent() @@ -368,14 +372,17 @@ class NotificationIconContainerStatusBarViewModelTest : SysuiTestCase() { val icon: Icon = mock() shadeRepository.setLegacyShadeExpansion(.5f) activeNotificationsRepository.activeNotifications.value = - listOf( - activeNotificationModel( - key = "notif1", - groupKey = "group", - statusBarIcon = icon + ActiveNotificationsStore.Builder() + .apply { + addIndividualNotif( + activeNotificationModel( + key = "notif1", + groupKey = "group", + statusBarIcon = icon + ) ) - ) - .associateBy { it.key } + } + .build() val isolatedIcon by collectLastValue(underTest.isolatedIcon) runCurrent() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImplTest.kt index ff89bdb6dbde..80d941a40cb5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImplTest.kt @@ -18,6 +18,11 @@ package com.android.systemui.statusbar.notification.interruption import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest +import com.android.systemui.statusbar.notification.collection.NotificationEntry +import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.BUBBLE +import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.PEEK +import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType.PULSE +import org.junit.Test import org.junit.runner.RunWith @SmallTest @@ -29,6 +34,7 @@ class VisualInterruptionDecisionProviderImplTest : VisualInterruptionDecisionPro batteryController, globalSettings, headsUpManager, + keyguardNotificationVisibilityProvider, logger, mainHandler, powerManager, @@ -37,4 +43,179 @@ class VisualInterruptionDecisionProviderImplTest : VisualInterruptionDecisionPro userTracker, ) } + + @Test + fun testNothingCondition_suppressesNothing() { + withCondition(TestCondition(types = emptySet()) { true }) { + assertPeekNotSuppressed() + assertPulseNotSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testNothingFilter_suppressesNothing() { + withFilter(TestFilter(types = emptySet()) { true }) { + assertPeekNotSuppressed() + assertPulseNotSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testPeekCondition_suppressesOnlyPeek() { + withCondition(TestCondition(types = setOf(PEEK)) { true }) { + assertPeekSuppressed() + assertPulseNotSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testPeekFilter_suppressesOnlyPeek() { + withFilter(TestFilter(types = setOf(PEEK)) { true }) { + assertPeekSuppressed() + assertPulseNotSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testPulseCondition_suppressesOnlyPulse() { + withCondition(TestCondition(types = setOf(PULSE)) { true }) { + assertPeekNotSuppressed() + assertPulseSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testPulseFilter_suppressesOnlyPulse() { + withFilter(TestFilter(types = setOf(PULSE)) { true }) { + assertPeekNotSuppressed() + assertPulseSuppressed() + assertBubbleNotSuppressed() + } + } + + @Test + fun testBubbleCondition_suppressesOnlyBubble() { + withCondition(TestCondition(types = setOf(BUBBLE)) { true }) { + assertPeekNotSuppressed() + assertPulseNotSuppressed() + assertBubbleSuppressed() + } + } + + @Test + fun testBubbleFilter_suppressesOnlyBubble() { + withFilter(TestFilter(types = setOf(BUBBLE)) { true }) { + assertPeekNotSuppressed() + assertPulseNotSuppressed() + assertBubbleSuppressed() + } + } + + @Test + fun testCondition_differentState() { + ensurePeekState() + val entry = buildPeekEntry() + + var stateShouldSuppress = false + withCondition(TestCondition(types = setOf(PEEK)) { stateShouldSuppress }) { + assertShouldHeadsUp(entry) + + stateShouldSuppress = true + assertShouldNotHeadsUp(entry) + + stateShouldSuppress = false + assertShouldHeadsUp(entry) + } + } + + @Test + fun testFilter_differentState() { + ensurePeekState() + val entry = buildPeekEntry() + + var stateShouldSuppress = false + withFilter(TestFilter(types = setOf(PEEK)) { stateShouldSuppress }) { + assertShouldHeadsUp(entry) + + stateShouldSuppress = true + assertShouldNotHeadsUp(entry) + + stateShouldSuppress = false + assertShouldHeadsUp(entry) + } + } + + @Test + fun testFilter_differentNotif() { + ensurePeekState() + + val suppressedEntry = buildPeekEntry() + val unsuppressedEntry = buildPeekEntry() + + withFilter(TestFilter(types = setOf(PEEK)) { it == suppressedEntry }) { + assertShouldNotHeadsUp(suppressedEntry) + assertShouldHeadsUp(unsuppressedEntry) + } + } + + private fun assertPeekSuppressed() { + ensurePeekState() + assertShouldNotHeadsUp(buildPeekEntry()) + } + + private fun assertPeekNotSuppressed() { + ensurePeekState() + assertShouldHeadsUp(buildPeekEntry()) + } + + private fun assertPulseSuppressed() { + ensurePulseState() + assertShouldNotHeadsUp(buildPulseEntry()) + } + + private fun assertPulseNotSuppressed() { + ensurePulseState() + assertShouldHeadsUp(buildPulseEntry()) + } + + private fun assertBubbleSuppressed() { + ensureBubbleState() + assertShouldNotBubble(buildBubbleEntry()) + } + + private fun assertBubbleNotSuppressed() { + ensureBubbleState() + assertShouldBubble(buildBubbleEntry()) + } + + private fun withCondition(condition: VisualInterruptionCondition, block: () -> Unit) { + provider.addCondition(condition) + block() + provider.removeCondition(condition) + } + + private fun withFilter(filter: VisualInterruptionFilter, block: () -> Unit) { + provider.addFilter(filter) + block() + provider.removeFilter(filter) + } + + private class TestCondition( + types: Set<VisualInterruptionType>, + val onShouldSuppress: () -> Boolean + ) : VisualInterruptionCondition(types = types, reason = "") { + override fun shouldSuppress(): Boolean = onShouldSuppress() + } + + private class TestFilter( + types: Set<VisualInterruptionType>, + val onShouldSuppress: (NotificationEntry) -> Boolean = { true } + ) : VisualInterruptionFilter(types = types, reason = "") { + override fun shouldSuppress(entry: NotificationEntry) = onShouldSuppress(entry) + } } 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 index df1228965749..7f12b22f2b4e 100644 --- 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 @@ -20,6 +20,9 @@ import android.app.ActivityManager import android.app.Notification import android.app.Notification.BubbleMetadata import android.app.Notification.FLAG_BUBBLE +import android.app.Notification.GROUP_ALERT_ALL +import android.app.Notification.GROUP_ALERT_CHILDREN +import android.app.Notification.GROUP_ALERT_SUMMARY import android.app.Notification.VISIBILITY_PRIVATE import android.app.NotificationChannel import android.app.NotificationManager.IMPORTANCE_DEFAULT @@ -305,10 +308,132 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { assertShouldNotHeadsUp(buildPulseEntry { importance = IMPORTANCE_LOW }) } + private fun withPeekAndPulseEntry( + extendEntry: EntryBuilder.() -> Unit, + block: (NotificationEntry) -> Unit + ) { + ensurePeekState() + block(buildPeekEntry(extendEntry)) + + ensurePulseState() + block(buildPulseEntry(extendEntry)) + } + + @Test + fun testShouldHeadsUp_groupedSummaryNotif_groupAlertAll() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = true + groupAlertBehavior = GROUP_ALERT_ALL + }) { + assertShouldHeadsUp(it) + } + } + + @Test + fun testShouldHeadsUp_groupedSummaryNotif_groupAlertSummary() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = true + groupAlertBehavior = GROUP_ALERT_SUMMARY + }) { + assertShouldHeadsUp(it) + } + } + + @Test + fun testShouldNotHeadsUp_groupedSummaryNotif_groupAlertChildren() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = true + groupAlertBehavior = GROUP_ALERT_CHILDREN + }) { + assertShouldNotHeadsUp(it) + } + } + + @Test + fun testShouldHeadsUp_ungroupedSummaryNotif_groupAlertChildren() { + withPeekAndPulseEntry({ + isGrouped = false + isGroupSummary = true + groupAlertBehavior = GROUP_ALERT_CHILDREN + }) { + assertShouldHeadsUp(it) + } + } + + @Test + fun testShouldHeadsUp_groupedChildNotif_groupAlertAll() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = false + groupAlertBehavior = GROUP_ALERT_ALL + }) { + assertShouldHeadsUp(it) + } + } + + @Test + fun testShouldHeadsUp_groupedChildNotif_groupAlertChildren() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = false + groupAlertBehavior = GROUP_ALERT_CHILDREN + }) { + assertShouldHeadsUp(it) + } + } + + @Test + fun testShouldNotHeadsUp_groupedChildNotif_groupAlertSummary() { + withPeekAndPulseEntry({ + isGrouped = true + isGroupSummary = false + groupAlertBehavior = GROUP_ALERT_SUMMARY + }) { + assertShouldNotHeadsUp(it) + } + } + + @Test + fun testShouldHeadsUp_ungroupedChildNotif_groupAlertSummary() { + withPeekAndPulseEntry({ + isGrouped = false + isGroupSummary = false + groupAlertBehavior = GROUP_ALERT_SUMMARY + }) { + assertShouldHeadsUp(it) + } + } + @Test - fun testShouldBubble() { + fun testShouldNotHeadsUp_justLaunchedFsi() { + withPeekAndPulseEntry({ hasJustLaunchedFsi = true }) { assertShouldNotHeadsUp(it) } + } + + @Test + fun testShouldBubble_withIntentAndIcon() { ensureBubbleState() - assertShouldBubble(buildBubbleEntry()) + assertShouldBubble(buildBubbleEntry { bubbleIsShortcut = false }) + } + + @Test + fun testShouldBubble_withShortcut() { + ensureBubbleState() + assertShouldBubble(buildBubbleEntry { bubbleIsShortcut = true }) + } + + @Test + fun testShouldNotBubble_notAllowed() { + ensureBubbleState() + assertShouldNotBubble(buildBubbleEntry { canBubble = false }) + } + + @Test + fun testShouldNotBubble_noBubbleMetadata() { + ensureBubbleState() + assertShouldNotBubble(buildBubbleEntry { hasBubbleMetadata = false }) } @Test @@ -340,6 +465,18 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } @Test + fun testShouldNotAlert_hiddenOnKeyguard() { + ensurePeekState({ keyguardShouldHideNotification = true }) + assertShouldNotHeadsUp(buildPeekEntry()) + + ensurePulseState({ keyguardShouldHideNotification = true }) + assertShouldNotHeadsUp(buildPulseEntry()) + + ensureBubbleState({ keyguardShouldHideNotification = true }) + assertShouldNotBubble(buildBubbleEntry()) + } + + @Test fun testShouldFsi_notInteractive() { ensureNotInteractiveFsiState() assertShouldFsi(buildFsiEntry()) @@ -357,7 +494,7 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { assertShouldFsi(buildFsiEntry()) } - private data class State( + protected data class State( var hunSettingEnabled: Boolean? = null, var hunSnoozed: Boolean? = null, var isAodPowerSave: Boolean? = null, @@ -370,7 +507,7 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { var statusBarState: Int? = null, ) - private fun setState(state: State): Unit = + protected fun setState(state: State): Unit = state.run { hunSettingEnabled?.let { val newSetting = if (it) HEADS_UP_ON else HEADS_UP_OFF @@ -401,7 +538,7 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { statusBarState?.let { statusBarStateController.state = it } } - private fun ensureState(block: State.() -> Unit) = + protected fun ensureState(block: State.() -> Unit) = State() .apply { keyguardShouldHideNotification = false @@ -409,7 +546,7 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } .run(this::setState) - private fun ensurePeekState(block: State.() -> Unit = {}) = ensureState { + protected fun ensurePeekState(block: State.() -> Unit = {}) = ensureState { hunSettingEnabled = true hunSnoozed = false isDozing = false @@ -418,67 +555,67 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { run(block) } - private fun ensurePulseState(block: State.() -> Unit = {}) = ensureState { + protected fun ensurePulseState(block: State.() -> Unit = {}) = ensureState { isAodPowerSave = false isDozing = true pulseOnNotificationsEnabled = true run(block) } - private fun ensureBubbleState(block: State.() -> Unit = {}) = ensureState(block) + protected fun ensureBubbleState(block: State.() -> Unit = {}) = ensureState(block) - private fun ensureNotInteractiveFsiState(block: State.() -> Unit = {}) = ensureState { + protected fun ensureNotInteractiveFsiState(block: State.() -> Unit = {}) = ensureState { isDreaming = false isInteractive = false statusBarState = SHADE run(block) } - private fun ensureDreamingFsiState(block: State.() -> Unit = {}) = ensureState { + protected fun ensureDreamingFsiState(block: State.() -> Unit = {}) = ensureState { isDreaming = true isInteractive = true statusBarState = SHADE run(block) } - private fun ensureKeyguardFsiState(block: State.() -> Unit = {}) = ensureState { + protected fun ensureKeyguardFsiState(block: State.() -> Unit = {}) = ensureState { isDreaming = false isInteractive = true statusBarState = KEYGUARD run(block) } - private fun assertShouldHeadsUp(entry: NotificationEntry) = + protected fun assertShouldHeadsUp(entry: NotificationEntry) = provider.makeUnloggedHeadsUpDecision(entry).let { assertTrue("unexpected suppressed HUN: ${it.logReason}", it.shouldInterrupt) } - private fun assertShouldNotHeadsUp(entry: NotificationEntry) = + protected fun assertShouldNotHeadsUp(entry: NotificationEntry) = provider.makeUnloggedHeadsUpDecision(entry).let { assertFalse("unexpected unsuppressed HUN: ${it.logReason}", it.shouldInterrupt) } - private fun assertShouldBubble(entry: NotificationEntry) = + protected fun assertShouldBubble(entry: NotificationEntry) = provider.makeAndLogBubbleDecision(entry).let { assertTrue("unexpected suppressed bubble: ${it.logReason}", it.shouldInterrupt) } - private fun assertShouldNotBubble(entry: NotificationEntry) = + protected fun assertShouldNotBubble(entry: NotificationEntry) = provider.makeAndLogBubbleDecision(entry).let { assertFalse("unexpected unsuppressed bubble: ${it.logReason}", it.shouldInterrupt) } - private fun assertShouldFsi(entry: NotificationEntry) = + protected fun assertShouldFsi(entry: NotificationEntry) = provider.makeUnloggedFullScreenIntentDecision(entry).let { assertTrue("unexpected suppressed FSI: ${it.logReason}", it.shouldInterrupt) } - private fun assertShouldNotFsi(entry: NotificationEntry) = + protected fun assertShouldNotFsi(entry: NotificationEntry) = provider.makeUnloggedFullScreenIntentDecision(entry).let { assertFalse("unexpected unsuppressed FSI: ${it.logReason}", it.shouldInterrupt) } - private class EntryBuilder(val context: Context) { + protected class EntryBuilder(val context: Context) { var importance = IMPORTANCE_DEFAULT var suppressedVisualEffects: Int? = null var whenMs: Long? = null @@ -487,20 +624,33 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { var canBubble: Boolean? = null var isBubble = false var hasBubbleMetadata = false - var bubbleSuppressNotification: Boolean? = null - - private fun buildBubbleMetadata() = - BubbleMetadata.Builder( - PendingIntent.getActivity( - context, - /* requestCode = */ 0, - Intent().setPackage(context.packageName), - FLAG_MUTABLE - ), - Icon.createWithResource(context.resources, R.drawable.android) - ) - .apply { bubbleSuppressNotification?.let { setSuppressNotification(it) } } - .build() + var bubbleIsShortcut = false + var bubbleSuppressesNotification: Boolean? = null + var isGrouped = false + var isGroupSummary: Boolean? = null + var groupAlertBehavior: Int? = null + var hasJustLaunchedFsi = false + + private fun buildBubbleMetadata(): BubbleMetadata { + val builder = + if (bubbleIsShortcut) { + BubbleMetadata.Builder(context.packageName + ":test_shortcut_id") + } else { + BubbleMetadata.Builder( + PendingIntent.getActivity( + context, + /* requestCode = */ 0, + Intent().setPackage(context.packageName), + FLAG_MUTABLE + ), + Icon.createWithResource(context.resources, R.drawable.android) + ) + } + + bubbleSuppressesNotification?.let { builder.setSuppressNotification(it) } + + return builder.build() + } fun build() = Notification.Builder(context, TEST_CHANNEL_ID) @@ -517,6 +667,14 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { if (hasBubbleMetadata) { setBubbleMetadata(buildBubbleMetadata()) } + + if (isGrouped) { + setGroup(TEST_GROUP_KEY) + } + + isGroupSummary?.let { setGroupSummary(it) } + + groupAlertBehavior?.let { setGroupAlertBehavior(it) } } .build() .apply { @@ -537,6 +695,10 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } .build()!! .also { + if (hasJustLaunchedFsi) { + it.notifyFullScreenIntentLaunched() + } + modifyRanking(it) .apply { suppressedVisualEffects?.let { setSuppressedVisualEffects(it) } @@ -546,27 +708,27 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } } - private fun buildEntry(block: EntryBuilder.() -> Unit) = + protected fun buildEntry(block: EntryBuilder.() -> Unit) = EntryBuilder(context).also(block).build() - private fun buildPeekEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { + protected fun buildPeekEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { importance = IMPORTANCE_HIGH run(block) } - private fun buildPulseEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { + protected fun buildPulseEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { importance = IMPORTANCE_DEFAULT visibilityOverride = VISIBILITY_NO_OVERRIDE run(block) } - private fun buildBubbleEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { + protected fun buildBubbleEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { canBubble = true hasBubbleMetadata = true run(block) } - private fun buildFsiEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { + protected fun buildFsiEntry(block: EntryBuilder.() -> Unit = {}) = buildEntry { importance = IMPORTANCE_HIGH hasFsi = true run(block) @@ -581,3 +743,4 @@ 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" +private const val TEST_GROUP_KEY = "test_group_key" diff --git a/packages/SystemUI/tests/src/com/android/systemui/tracing/TraceUtilsTest.kt b/packages/SystemUI/tests/src/com/android/systemui/tracing/TraceUtilsTest.kt index 8fb5ff80fdb9..ba34ce6c90f0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/tracing/TraceUtilsTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/tracing/TraceUtilsTest.kt @@ -12,7 +12,7 @@ * permissions and limitations under the License. */ -package com.android.systemui.tracing +package com.android.app.tracing import android.os.Handler import android.os.Looper @@ -76,7 +76,7 @@ class TraceUtilsTest : SysuiTestCase() { @Test fun testLongTraceSection_doesNotThrow_whenUsingHelper() { traceSection(SECTION_NAME_THATS_TOO_LONG) { - Log.v(TAG, "com.android.systemui.tracing.traceSection() block.") + Log.v(TAG, "com.android.app.tracing.traceSection() block.") } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalRepository.kt index e1c6ddefc13b..799bb403a8ff 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalRepository.kt @@ -1,8 +1,17 @@ package com.android.systemui.communal.data.repository +import com.android.systemui.communal.shared.model.CommunalSceneKey +import kotlinx.coroutines.flow.MutableStateFlow + /** Fake implementation of [CommunalRepository]. */ -class FakeCommunalRepository : CommunalRepository { - override var isCommunalEnabled = false +class FakeCommunalRepository( + override var isCommunalEnabled: Boolean = false, + override val desiredScene: MutableStateFlow<CommunalSceneKey> = + MutableStateFlow(CommunalSceneKey.Blank) +) : CommunalRepository { + override fun setDesiredScene(desiredScene: CommunalSceneKey) { + this.desiredScene.value = desiredScene + } fun setIsCommunalEnabled(value: Boolean) { isCommunalEnabled = value diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTilePackageUpdatesRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTilePackageUpdatesRepository.kt new file mode 100644 index 000000000000..8f972f52729f --- /dev/null +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/qs/tiles/impl/custom/data/repository/FakeCustomTilePackageUpdatesRepository.kt @@ -0,0 +1,32 @@ +/* + * 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.impl.custom.data.repository + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableSharedFlow + +class FakeCustomTilePackageUpdatesRepository : CustomTilePackageUpdatesRepository { + + private val mutablePackageChanges = MutableSharedFlow<Unit>() + + override val packageChanges: Flow<Unit> + get() = mutablePackageChanges + + suspend fun emitPackageChange() { + mutablePackageChanges.emit(Unit) + } +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt index bdddc042009d..6beb513c32d7 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneTestUtils.kt @@ -131,6 +131,7 @@ class SceneTestUtils( SceneKey.Lockscreen, SceneKey.Bouncer, SceneKey.Gone, + SceneKey.Communal, ) } 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 cfe2af976350..5953d0d309de 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java @@ -39,9 +39,12 @@ import com.android.internal.accessibility.util.AccessibilityStatsLogUtils; import com.android.internal.annotations.VisibleForTesting; import com.android.server.accessibility.AccessibilityTraceManager; import com.android.server.accessibility.EventStreamTransformation; +import com.android.server.accessibility.Flags; +import com.android.server.accessibility.gestures.GestureMatcher; import com.android.server.accessibility.gestures.MultiTap; import com.android.server.accessibility.gestures.MultiTapAndHold; +import java.util.ArrayList; import java.util.List; /** @@ -453,20 +456,45 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl private final MagnificationGesturesObserver mGesturesObserver; DetectingState(@UiContext Context context) { - final MultiTap multiTap = new MultiTap(context, mDetectSingleFingerTripleTap ? 3 : 1, - mDetectSingleFingerTripleTap - ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP - : MagnificationGestureMatcher.GESTURE_SINGLE_TAP, null); - final MultiTapAndHold multiTapAndHold = new MultiTapAndHold(context, - mDetectSingleFingerTripleTap ? 3 : 1, - mDetectSingleFingerTripleTap - ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP_AND_HOLD - : MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD, null); - mGesturesObserver = new MagnificationGesturesObserver(this, - new SimpleSwipe(context), - multiTap, - multiTapAndHold, - new TwoFingersDownOrSwipe(context)); + if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) { + final List<GestureMatcher> mGestureMatchers = new ArrayList<>(); + + mGestureMatchers.add(new SimpleSwipe(context)); + // Observe single tap and single tap and hold to reduce response time when the + // user performs these two gestures inside the window magnifier. + mGestureMatchers.add(new MultiTap(context, + mDetectSingleFingerTripleTap ? 3 : 1, + mDetectSingleFingerTripleTap + ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP + : MagnificationGestureMatcher.GESTURE_SINGLE_TAP, + null)); + mGestureMatchers.add(new MultiTapAndHold(context, + mDetectSingleFingerTripleTap ? 3 : 1, + mDetectSingleFingerTripleTap + ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP_AND_HOLD + : MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD, + null)); + mGestureMatchers.add(new TwoFingersDownOrSwipe(context)); + + mGesturesObserver = new MagnificationGesturesObserver(this, + mGestureMatchers.toArray(new GestureMatcher[mGestureMatchers.size()])); + } else { + final MultiTap multiTap = new MultiTap(context, + mDetectSingleFingerTripleTap ? 3 : 1, + mDetectSingleFingerTripleTap + ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP + : MagnificationGestureMatcher.GESTURE_SINGLE_TAP, null); + final MultiTapAndHold multiTapAndHold = new MultiTapAndHold(context, + mDetectSingleFingerTripleTap ? 3 : 1, + mDetectSingleFingerTripleTap + ? MagnificationGestureMatcher.GESTURE_TRIPLE_TAP_AND_HOLD + : MagnificationGestureMatcher.GESTURE_SINGLE_TAP_AND_HOLD, null); + mGesturesObserver = new MagnificationGesturesObserver(this, + new SimpleSwipe(context), + multiTap, + multiTapAndHold, + new TwoFingersDownOrSwipe(context)); + } } @Override diff --git a/services/art-profile b/services/art-profile index 052f4fbcbaef..646898d1a370 100644 --- a/services/art-profile +++ b/services/art-profile @@ -15,17 +15,21 @@ # 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; +HPLandroid/hardware/audio/common/V2_0/AudioConfig;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V +HPLandroid/hardware/audio/common/V2_0/AudioOffloadInfo;-><init>()V +HPLandroid/hardware/audio/common/V2_0/AudioOffloadInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V HSPLandroid/hardware/audio/common/V2_0/Uuid;-><init>()V +HPLandroid/hardware/audio/common/V2_0/Uuid;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)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;-><init>()V -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/DiskStats;->readFromParcel(Landroid/os/Parcel;)V +HSPLandroid/hardware/health/HealthInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/health/HealthInfo; HSPLandroid/hardware/health/HealthInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/hardware/health/HealthInfo;-><init>()V -HSPLandroid/hardware/health/HealthInfo;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/hardware/health/HealthInfo;->readFromParcel(Landroid/os/Parcel;)V 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 @@ -39,25 +43,7 @@ HSPLandroid/hardware/health/StorageInfo$1;->createFromParcel(Landroid/os/Parcel; 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;-><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/health/StorageInfo;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/hardware/light/HwLight$1;-><init>()V HSPLandroid/hardware/light/HwLight;-><clinit>()V HSPLandroid/hardware/light/HwLight;-><init>()V @@ -66,9 +52,9 @@ HSPLandroid/hardware/power/stats/EnergyConsumerAttribution$1;->createFromParcel( 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;-><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;)Landroid/hardware/power/stats/EnergyConsumerResult;+]Landroid/hardware/power/stats/EnergyConsumerResult;Landroid/hardware/power/stats/EnergyConsumerResult; HSPLandroid/hardware/power/stats/EnergyConsumerResult;-><init>()V -HSPLandroid/hardware/power/stats/EnergyConsumerResult;->readFromParcel(Landroid/os/Parcel;)V +HSPLandroid/hardware/power/stats/EnergyConsumerResult;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; 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 @@ -86,8 +72,17 @@ 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; +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$RecognitionConfig;-><init>()V +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$RecognitionConfig;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$SoundModel;-><init>()V +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$SoundModel;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHwCallback$RecognitionEvent;-><init>()V +HPLandroid/hardware/soundtrigger/V2_0/ISoundTriggerHwCallback$RecognitionEvent;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V +HPLandroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V +HPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->loadSoundModel_2_1(Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHw$SoundModel;Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback;ILandroid/hardware/soundtrigger/V2_1/ISoundTriggerHw$loadSoundModel_2_1Callback;)V +HPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->startRecognition_2_3(ILandroid/hardware/soundtrigger/V2_3/RecognitionConfig;)I +HPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->unloadSoundModel(I)I 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,7 +93,7 @@ HSPLandroid/net/ConnectivityModuleConnector;-><init>(Landroid/net/ConnectivityMo 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/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z 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 HSPLandroid/power/PowerStatsInternal;-><init>()V @@ -143,13 +138,14 @@ HPLcom/android/server/AppStateTrackerImpl$StandbyTracker;->onAppIdleStateChanged 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;->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; 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; 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 -HSPLcom/android/server/AppStateTrackerImpl;->isForceAllAppsStandbyEnabled()Z +HPLcom/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; @@ -162,6 +158,7 @@ HSPLcom/android/server/AppStateTrackerImpl;->updateForceAllAppStandbyState()V HPLcom/android/server/BatteryService$$ExternalSyntheticLambda0;->run()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$Led;->updateLightsLocked()V +HPLcom/android/server/BatteryService$LocalService;->getBatteryChargeCounter()I HSPLcom/android/server/BatteryService$LocalService;->getBatteryHealth()I HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z @@ -179,6 +176,7 @@ HSPLcom/android/server/BatteryService;->plugType(Landroid/hardware/health/Health HSPLcom/android/server/BatteryService;->processValuesLocked(Z)V HSPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V HSPLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V +HPLcom/android/server/BatteryService;->sendEnqueuedBatteryLevelChangedEvents()V HSPLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z HSPLcom/android/server/BatteryService;->shouldShutdownLocked()Z HSPLcom/android/server/BatteryService;->shutdownIfNoPowerLocked()V @@ -187,11 +185,14 @@ 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 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;->measureApk(Ljava/lang/String;)Lcom/android/server/BinaryTransparencyService$Digest; 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; HPLcom/android/server/BinderCallsStatsService$LifeCycle$1;->noteCallStats(IJLjava/util/Collection;)V+]Landroid/os/BatteryStatsInternal;Lcom/android/server/am/BatteryStatsService$LocalService; HSPLcom/android/server/BundleUtils;->isEmpty(Landroid/os/Bundle;)Z 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; 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 @@ -199,6 +200,7 @@ HSPLcom/android/server/DeviceIdleController$LocalService;->getTempAllowListType( 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+]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;->addEvent(ILjava/lang/String;)V 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; @@ -207,13 +209,21 @@ HSPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/Stri HPLcom/android/server/DeviceIdleController;->becomeInactiveIfAppropriateLocked()V HPLcom/android/server/DeviceIdleController;->checkTempAppWhitelistTimeout(I)V HPLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V +HSPLcom/android/server/DeviceIdleController;->getAppIdTempWhitelistInternal()[I HPLcom/android/server/DeviceIdleController;->isAppOnWhitelistInternal(I)Z HPLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistAppInternal(Ljava/lang/String;)Z +HSPLcom/android/server/DeviceIdleController;->moveToLightStateLocked(ILjava/lang/String;)V +HSPLcom/android/server/DeviceIdleController;->moveToStateLocked(ILjava/lang/String;)V HPLcom/android/server/DeviceIdleController;->onAppRemovedFromTempWhitelistLocked(ILjava/lang/String;)V HSPLcom/android/server/DeviceIdleController;->passWhiteListsToForceAppStandbyTrackerLocked()V HSPLcom/android/server/DeviceIdleController;->postTempActiveTimeoutMessage(IJ)V HSPLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked(IZ)V +HPLcom/android/server/DeviceIdleController;->resetIdleManagementLocked()V +HPLcom/android/server/DeviceIdleController;->scheduleAlarmLocked(J)V +HPLcom/android/server/DeviceIdleController;->scheduleLightAlarmLocked(JJZ)V HPLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V +HPLcom/android/server/DeviceIdleController;->setJobsActive(Z)V +HPLcom/android/server/DeviceIdleController;->stepLightIdleStateLocked(Ljava/lang/String;)V HPLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)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; @@ -236,6 +246,8 @@ HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;) HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String; HSPLcom/android/server/DropBoxManagerService$EntryFile;->hasFile()Z HSPLcom/android/server/DropBoxManagerService$SimpleEntrySource;->writeTo(Ljava/io/FileDescriptor;)V +HPLcom/android/server/DropBoxManagerService;->-$$Nest$minit(Lcom/android/server/DropBoxManagerService;)V +HPLcom/android/server/DropBoxManagerService;->-$$Nest$mtrimToFit(Lcom/android/server/DropBoxManagerService;)J HSPLcom/android/server/DropBoxManagerService;->addEntry(Ljava/lang/String;Lcom/android/server/DropBoxManagerInternal$EntrySource;I)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 @@ -243,12 +255,15 @@ HSPLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/D 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 +HPLcom/android/server/DropBoxManagerService;->matchEntry(Lcom/android/server/DropBoxManagerService$EntryFile;Ljava/util/ArrayList;)Z+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/DropBoxManagerService;->trimToFit()J 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;->writePmCriticalInfo(Ljava/lang/String;)V +HPLcom/android/server/EventLogTags;->writePowerScreenState(IIJII)V HSPLcom/android/server/EventLogTags;->writeRescueNote(IIJ)V HSPLcom/android/server/ExplicitHealthCheckController;-><init>(Landroid/content/Context;)V HSPLcom/android/server/FgThread;-><init>()V @@ -304,10 +319,13 @@ 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; +HPLcom/android/server/NetworkScoreService;->enforceSystemOnly()V HSPLcom/android/server/NetworkScoreService;->enforceSystemOrHasScoreNetworks()V HSPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String; +HPLcom/android/server/NetworkScoreService;->getRecommendationProvider()Landroid/net/INetworkRecommendationProvider; 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; HSPLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData; HSPLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List; @@ -343,7 +361,6 @@ HSPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;Landroi HSPLcom/android/server/PackageWatchdog;->getInstance(Landroid/content/Context;)Lcom/android/server/PackageWatchdog; 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;->newMonitoredPackage(Ljava/lang/String;JJZLandroid/util/LongArrayQueue;)Lcom/android/server/PackageWatchdog$MonitoredPackage; HSPLcom/android/server/PackageWatchdog;->noteBoot()V @@ -353,11 +370,10 @@ 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;->scheduleNextSyncStateLocked()V HPLcom/android/server/PackageWatchdog;->syncRequests()V HSPLcom/android/server/PackageWatchdog;->syncState(Ljava/lang/String;)V HSPLcom/android/server/PinnerService;->handleUidGone(I)V -HSPLcom/android/server/PinnerService;->updateActiveState(IZ)V +HSPLcom/android/server/PinnerService;->updateActiveState(IZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; 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; @@ -366,14 +382,16 @@ HSPLcom/android/server/RescueParty;->registerHealthObserver(Landroid/content/Con 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 +HPLcom/android/server/StorageManagerService$AppFuseMountScope;->close()V +HPLcom/android/server/StorageManagerService$AppFuseMountScope;->open()Landroid/os/ParcelFileDescriptor; +HPLcom/android/server/StorageManagerService$AppFuseMountScope;->openFile(III)Landroid/os/ParcelFileDescriptor; 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+]Ljava/util/Set;Landroid/util/ArraySet; HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->isExternalStorageService(I)Z -HSPLcom/android/server/StorageManagerService$WatchedLockedUsers;->contains(I)Z -HSPLcom/android/server/StorageManagerService;->-$$Nest$fgetmLock(Lcom/android/server/StorageManagerService;)Ljava/lang/Object; HSPLcom/android/server/StorageManagerService;->-$$Nest$fgetmMediaStoreAuthorityAppId(Lcom/android/server/StorageManagerService;)I +HPLcom/android/server/StorageManagerService;->-$$Nest$fgetmVold(Lcom/android/server/StorageManagerService;)Landroid/os/IVold; HSPLcom/android/server/StorageManagerService;->-$$Nest$mgetMountModeInternal(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I HSPLcom/android/server/StorageManagerService;->-$$Nest$sfgetLOCAL_LOGV()Z HPLcom/android/server/StorageManagerService;->adjustAllocateFlags(IILjava/lang/String;)I @@ -381,14 +399,14 @@ HPLcom/android/server/StorageManagerService;->allocateBytes(Ljava/lang/String;JI HPLcom/android/server/StorageManagerService;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J 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/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;->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/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; HSPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; 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; -HPLcom/android/server/StorageManagerService;->monitor()V +HPLcom/android/server/StorageManagerService;->monitor()V+]Landroid/os/IVold;Landroid/os/IVold$Stub$Proxy; HPLcom/android/server/StorageManagerService;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount; HPLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V +HPLcom/android/server/StorageManagerService;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor; HPLcom/android/server/StorageManagerService;->snapshotAndMonitorLegacyStorageAppOp(Landroid/os/UserHandle;)V HPLcom/android/server/StorageManagerService;->updateLegacyStorageApps(Ljava/lang/String;IZ)V HSPLcom/android/server/SystemConfig$PermissionEntry;-><init>(Ljava/lang/String;Z)V @@ -482,26 +500,29 @@ HSPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server 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; 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; +HSPLcom/android/server/TelephonyRegistry$ConfigurationProvider;->lambda$getRegistrationLimit$0()Ljava/lang/Integer; HPLcom/android/server/TelephonyRegistry$Record;->matchTelephonyCallbackEvent(I)Z+]Ljava/util/Set;Ljava/util/HashSet; -HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;+]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;->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;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/TelephonyRegistry$ConfigurationProvider;Lcom/android/server/TelephonyRegistry$ConfigurationProvider; +HSPLcom/android/server/TelephonyRegistry;->addCarrierPrivilegesCallback(ILcom/android/internal/telephony/ICarrierPrivilegesCallback;Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V +HPLcom/android/server/TelephonyRegistry;->broadcastDataConnectionStateChanged(IILandroid/telephony/PreciseDataConnectionState;)V 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;->checkNotifyPermission(Ljava/lang/String;)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; +HPLcom/android/server/TelephonyRegistry;->getLocationSanitizedConfigs(Ljava/util/List;)Ljava/util/List; 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;->handleRemoveListLocked()V 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 @@ -512,7 +533,7 @@ HSPLcom/android/server/TelephonyRegistry;->listen(ZZLjava/lang/String;Ljava/lang 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;->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; 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; @@ -520,7 +541,7 @@ HPLcom/android/server/TelephonyRegistry;->notifyLinkCapacityEstimateChanged(IILj 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;->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;->remove(Landroid/os/IBinder;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;,Landroid/telephony/TelephonyCallback$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 @@ -534,6 +555,7 @@ HSPLcom/android/server/ThreadPriorityBooster;->reset()V+]Ljava/lang/ThreadLocal; HPLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/UiModeManagerService;->-$$Nest$fgetmLock(Lcom/android/server/UiModeManagerService;)Ljava/lang/Object; HSPLcom/android/server/UiModeManagerService;->applyConfigurationExternallyLocked()V +HSPLcom/android/server/UiModeManagerService;->getComputedUiModeConfiguration(I)I HSPLcom/android/server/UiModeManagerService;->getContrastLocked()F HPLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V HSPLcom/android/server/UiModeManagerService;->unregisterTimeChangeEvent()V @@ -545,6 +567,7 @@ 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;->-$$Nest$mrequiresRestartForImmutableCapabilityChanges(Lcom/android/server/VcnManagementService$TrackingNetworkCallback;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)Z 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; @@ -580,6 +603,7 @@ HSPLcom/android/server/Watchdog;->run()V HSPLcom/android/server/Watchdog;->start()V 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;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J +HPLcom/android/server/accessibility/AccessibilityManagerService;->createImeSession(Landroid/util/ArraySet;)V 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; @@ -587,6 +611,7 @@ HSPLcom/android/server/accessibility/AccessibilityManagerService;->getFocusColor 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; +HPLcom/android/server/accessibility/AccessibilityManagerService;->scheduleBindInput()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 @@ -594,15 +619,17 @@ HPLcom/android/server/accessibility/AccessibilityManagerService;->updateServices HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I HSPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveProfileParentLocked(I)I HSPLcom/android/server/accessibility/AccessibilityTraceManager;->isA11yTracingEnabledForTypes(J)Z +HSPLcom/android/server/accessibility/AccessibilityUserState;->getFocusStrokeWidthLocked()I 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;->getFirstProxyForDeviceIdLocked(I)Lcom/android/server/accessibility/ProxyAccessibilityServiceConnection;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/accessibility/ProxyManager;->getLocalVdm()Lcom/android/server/companion/virtual/VirtualDeviceManagerInternal; -HSPLcom/android/server/accessibility/ProxyManager;->isProxyedDeviceId(I)Z +HSPLcom/android/server/accessibility/ProxyManager;->isProxyedDeviceId(I)Z+]Lcom/android/server/accessibility/ProxyManager;Lcom/android/server/accessibility/ProxyManager; HSPLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z HSPLcom/android/server/accessibility/UiAutomationManager;->useAccessibility()Z +HPLcom/android/server/accessibility/magnification/MagnificationController;->onRectangleOnScreenRequested(IIIII)V HSPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription; 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 @@ -613,6 +640,7 @@ HPLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeature 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 +HPLcom/android/server/accounts/AccountManagerService$Injector;->getNotificationManager()Landroid/app/INotificationManager; 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 @@ -620,6 +648,7 @@ 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 @@ -627,8 +656,10 @@ HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->-$$Nest$fget 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 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;->accountTypeManagesContacts(Ljava/lang/String;I)Z+]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1; HPLcom/android/server/accounts/AccountManagerService;->calculatePackageSignatureDigest(Ljava/lang/String;I)[B HPLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I+]Lcom/android/server/accounts/IAccountAuthenticatorCache;Lcom/android/server/accounts/AccountAuthenticatorCache;]Ljava/util/Collection;Ljava/util/Collections$UnmodifiableCollection;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/Map;Ljava/util/LinkedHashMap;]Ljava/util/Set;Ljava/util/LinkedHashMap$LinkedKeySet; @@ -636,13 +667,12 @@ HSPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lco HPLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I HPLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account; HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; -HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl; +HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;+]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Ljava/util/List;Ljava/util/ArrayList; HPLcom/android/server/accounts/AccountManagerService;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V -HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account; +HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; 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;+]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;+]Ljava/util/Map;Ljava/util/HashMap; HPLcom/android/server/accounts/AccountManagerService;->getPassword(Landroid/accounts/Account;)Ljava/lang/String; @@ -651,11 +681,12 @@ HSPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Lj 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;+]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;]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; +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;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]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; 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 HPLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z +HPLcom/android/server/accounts/AccountManagerService;->hasExplicitlyGrantedPermission(Landroid/accounts/Account;Ljava/lang/String;I)Z HPLcom/android/server/accounts/AccountManagerService;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;ILjava/lang/String;)V HPLcom/android/server/accounts/AccountManagerService;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/accounts/AccountManagerService;->invalidateAuthTokenLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; @@ -665,6 +696,7 @@ HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Lja HPLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)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+]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 @@ -714,7 +746,7 @@ 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$$ExternalSyntheticLambda7;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z +HPLcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda7;->updateAlarmDelivery(Lcom/android/server/alarm/Alarm;)Z HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;-><init>(I)V HPLcom/android/server/alarm/AlarmManagerService$AlarmHandler$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z 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; @@ -723,86 +755,94 @@ HSPLcom/android/server/alarm/AlarmManagerService$AlarmThread;->run()V HPLcom/android/server/alarm/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)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 +HPLcom/android/server/alarm/AlarmManagerService$AppWakeupHistory;->snapToWindow(Landroid/util/LongArrayQueue;)V HSPLcom/android/server/alarm/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()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;->deliverLocked(Lcom/android/server/alarm/Alarm;J)V HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/alarm/AlarmManagerService$InFlight; HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/alarm/AlarmManagerService$InFlight; HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/alarm/AlarmManagerService$InFlight;)V HPLcom/android/server/alarm/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/alarm/AlarmManagerService$InFlight;)V -HSPLcom/android/server/alarm/AlarmManagerService$InFlight;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;J)V +HPLcom/android/server/alarm/AlarmManagerService$InFlight;-><init>(Lcom/android/server/alarm/AlarmManagerService;Lcom/android/server/alarm/Alarm;J)V +HPLcom/android/server/alarm/AlarmManagerService$InFlight;->isBroadcast()Z HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getCallingUid()I HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getCurrentTimeMillis()J HSPLcom/android/server/alarm/AlarmManagerService$Injector;->getElapsedRealtimeMillis()J HSPLcom/android/server/alarm/AlarmManagerService$Injector;->isAlarmDriverPresent()Z HSPLcom/android/server/alarm/AlarmManagerService$Injector;->setAlarm(IJ)V HSPLcom/android/server/alarm/AlarmManagerService$Injector;->waitForAlarm()I +HPLcom/android/server/alarm/AlarmManagerService$InteractiveStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)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;->-$$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; +HPLcom/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 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;->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$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; +HPLcom/android/server/alarm/AlarmManagerService;->adjustDeliveryTimeBasedOnDeviceIdle(Lcom/android/server/alarm/Alarm;)Z 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; +HPLcom/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;->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; +HPLcom/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;->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; +HPLcom/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;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet;,Ljava/util/Collections$EmptySet;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; 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 +HPLcom/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 HSPLcom/android/server/alarm/AlarmManagerService;->isExemptFromBatterySaver(Lcom/android/server/alarm/Alarm;)Z+]Landroid/app/PendingIntent;Landroid/app/PendingIntent; -HSPLcom/android/server/alarm/AlarmManagerService;->isExemptFromExactAlarmPermissionNoLock(I)Z +HSPLcom/android/server/alarm/AlarmManagerService;->isExemptFromExactAlarmPermissionNoLock(I)Z+]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService; 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 +HPLcom/android/server/alarm/AlarmManagerService;->logAlarmBatchDelivered(IILandroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; 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;->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$$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;->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;->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 +HPLcom/android/server/alarm/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z +HPLcom/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; HSPLcom/android/server/alarm/AlarmManagerService;->setLocked(IJ)V+]Lcom/android/server/alarm/AlarmManagerService$Injector;Lcom/android/server/alarm/AlarmManagerService$Injector; -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; +HPLcom/android/server/alarm/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V +HPLcom/android/server/alarm/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;J)I+]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;->applyAsLong(Ljava/lang/Object;)J+]Lcom/android/server/alarm/Alarm;Lcom/android/server/alarm/Alarm; HSPLcom/android/server/alarm/LazyAlarmStore;->add(Lcom/android/server/alarm/Alarm;)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;,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;->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$$ExternalSyntheticLambda6;,Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda18;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Runnable;Lcom/android/server/alarm/AlarmManagerService$$ExternalSyntheticLambda3; +HPLcom/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;->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;->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;->rescheduleDelayedStartsLocked()V @@ -818,24 +858,25 @@ HSPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IAppli 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;]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;->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; 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+]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; +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;->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 +HPLcom/android/server/am/ActiveServices;->foregroundServiceProcStateChangedLocked(Lcom/android/server/am/UidRecord;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/UidRecord;Lcom/android/server/am/UidRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; HSPLcom/android/server/am/ActiveServices;->generateAdditionalSeInfoFromService(Landroid/content/Intent;)Ljava/lang/String;+]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/ActiveServices;->getAllowMode(Landroid/content/Intent;Ljava/lang/String;)I+]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/am/ActiveServices;->getAppStateTracker()Lcom/android/server/AppStateTracker; HSPLcom/android/server/am/ActiveServices;->getHostingRecordTriggerType(Lcom/android/server/am/ServiceRecord;)Ljava/lang/String; HSPLcom/android/server/am/ActiveServices;->getProcessNameForService(Landroid/content/pm/ServiceInfo;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HPLcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(IIIZZ)Ljava/util/List;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HPLcom/android/server/am/ActiveServices;->getServiceByNameLocked(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord; -HSPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler; +HPLcom/android/server/am/ActiveServices;->getServiceByNameLocked(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +HSPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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; @@ -845,6 +886,9 @@ HPLcom/android/server/am/ActiveServices;->lambda$canBindingClientStartFgsLocked$ 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;->logFGSStateChangeLocked(Lcom/android/server/am/ServiceRecord;IIIIIZ)V +HSPLcom/android/server/am/ActiveServices;->logFgsApiBeginLocked(III)V +HPLcom/android/server/am/ActiveServices;->logFgsApiEndLocked(III)V +HPLcom/android/server/am/ActiveServices;->logFgsBackgroundStart(Lcom/android/server/am/ServiceRecord;)V HPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;+]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; HPLcom/android/server/am/ActiveServices;->maybeStopShortFgsTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V+]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; @@ -853,28 +897,29 @@ HPLcom/android/server/am/ActiveServices;->onForegroundServiceNotificationUpdateL HPLcom/android/server/am/ActiveServices;->performScheduleRestartLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;Ljava/lang/String;J)V 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;]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; +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; +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;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;,Landroid/app/ActivityThread$ApplicationThread;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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;]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; +HPLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z 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; -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;->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;]Landroid/app/IApplicationThread;Landroid/app/IApplicationThread$Stub$Proxy;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/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; 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;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices; +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;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]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;->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;]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;ILandroid/app/BackgroundStartPrivileges;)Landroid/content/ComponentName; +HPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;ILandroid/app/BackgroundStartPrivileges;ZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;+]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; 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; @@ -885,7 +930,9 @@ 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; +HPLcom/android/server/am/ActiveServices;->updateScreenStateLocked(Z)V 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; @@ -950,6 +997,7 @@ HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->startService(Lcom/a 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; +HPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastCloseSystemDialogs(Ljava/lang/String;)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; @@ -976,25 +1024,28 @@ HPLcom/android/server/am/ActivityManagerService$LocalService;->isProfileOwner(I) 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; HPLcom/android/server/am/ActivityManagerService$LocalService;->noteAlarmFinish(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;->noteAlarmStart(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V +HSPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V+]Ljava/lang/Object;Ljava/lang/Object;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; 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;->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;->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;->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; +HPLcom/android/server/am/ActivityManagerService$LocalService;->trimApplications()V +HPLcom/android/server/am/ActivityManagerService$LocalService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V 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+]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;->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;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]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;]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord; 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+]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$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;+]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; 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 @@ -1003,10 +1054,11 @@ HSPLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android 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 -HSPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/AppErrors;Lcom/android/server/am/AppErrors;]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$UiHandler;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/am/UidObserverController;Lcom/android/server/am/UidObserverController;]Lcom/android/server/am/AppErrors;Lcom/android/server/am/AppErrors;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmCompanionAppUidsMap(Lcom/android/server/am/ActivityManagerService;)Ljava/util/Map; HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmDeviceOwnerUid(Lcom/android/server/am/ActivityManagerService;)I HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmFgsWhileInUseTempAllowList(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/FgsTempAllowList; +HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmNetworkPolicyUidObserver(Lcom/android/server/am/ActivityManagerService;)Landroid/app/IUidObserver; HSPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmPendingStartActivityUids(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/PendingStartActivityUids; HPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmProfileOwnerUids(Lcom/android/server/am/ActivityManagerService;)Landroid/util/ArraySet; HSPLcom/android/server/am/ActivityManagerService;->-$$Nest$fgetmUidNetworkBlockedReasons(Lcom/android/server/am/ActivityManagerService;)Landroid/util/SparseIntArray; @@ -1014,6 +1066,7 @@ HPLcom/android/server/am/ActivityManagerService;->-$$Nest$misAppBad(Lcom/android HSPLcom/android/server/am/ActivityManagerService;->-$$Nest$mstart(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/ActivityManagerService;-><clinit>()V HSPLcom/android/server/am/ActivityManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskManagerService;)V +HPLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V+]Lcom/android/server/am/BroadcastStats;Lcom/android/server/am/BroadcastStats;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/Float;Landroid/os/incremental/IncrementalMetrics;Ljava/util/UUID;Lcom/android/server/am/ActivityManagerService$VolatileDropboxEntryStates;)V HSPLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V @@ -1030,7 +1083,7 @@ HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection 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;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+]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;->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/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]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/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService;]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/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; 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; @@ -1041,10 +1094,11 @@ HSPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/ HSPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsage()V HSPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I -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;->checkTime(JLjava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I+]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$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;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;IZZIZZ)Z -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;->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;]Ljava/util/HashSet;Ljava/util/HashSet;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; 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; @@ -1056,15 +1110,14 @@ HSPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedOrSdkSandbo 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;->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/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler;]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; 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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HPLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;I)Z +HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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; 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;]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;->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;->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; @@ -1073,10 +1126,10 @@ HSPLcom/android/server/am/ActivityManagerService;->getHistoricalProcessExitReaso 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;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService;]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;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/wm/ActivityTaskManagerService$LocalService; 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 +HPLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V+]Lcom/android/server/am/ActivityManagerService$PidMap;Lcom/android/server/am/ActivityManagerService$PidMap;]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;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal; HPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I HPLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo; @@ -1084,9 +1137,10 @@ HSPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/ 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;+]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;->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;+]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; +HPLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List; 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; @@ -1102,11 +1156,13 @@ HSPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeVi 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 +HSPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +HSPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;II)Z+]Landroid/app/SyncNotedAppOp;Landroid/app/SyncNotedAppOp;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; +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 +HPLcom/android/server/am/ActivityManagerService;->isAppForeground(I)Z HSPLcom/android/server/am/ActivityManagerService;->isAppFreezerExemptInstPkg()Z HSPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActivityManagerService;->isCameraActiveForUid(I)Z @@ -1124,7 +1180,7 @@ HSPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropB HPLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(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;->notifyBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V 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;->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 @@ -1132,14 +1188,17 @@ HPLcom/android/server/am/ActivityManagerService;->onWakefulnessChanged(I)V HSPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V 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; +HPLcom/android/server/am/ActivityManagerService;->queryIntentComponentsForIntentSender(Landroid/content/IIntentSender;I)Landroid/content/pm/ParceledListSlice; 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;]Lcom/android/server/sdksandbox/SdkSandboxManagerLocal;Lcom/android/server/sdksandbox/SdkSandboxManagerService$LocalImpl; +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;->registerStrictModeCallback(Landroid/os/IBinder;)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;->reportCurWakefulnessUsageEvent()V 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 @@ -1164,12 +1223,13 @@ HSPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;I)Landroid/content/ComponentName;+]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;IZILjava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices;]Landroid/content/Intent;Landroid/content/Intent;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; 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;I)I 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; -HSPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V +HSPLcom/android/server/am/ActivityManagerService;->tempAllowlistUidLocked(IJILjava/lang/String;II)V+]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$UiHandler;]Lcom/android/server/DeviceIdleInternal;Lcom/android/server/DeviceIdleController$LocalService;]Landroid/os/Message;Landroid/os/Message;]Lcom/android/server/am/PendingTempAllowlists;Lcom/android/server/am/PendingTempAllowlists;]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;->traceBegin(JLjava/lang/String;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; 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;->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;->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; @@ -1188,6 +1248,7 @@ HSPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked HSPLcom/android/server/am/ActivityManagerService;->validateAssociationAllowedLocked(Ljava/lang/String;ILjava/lang/String;I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ActivityManagerService$PackageAssociationInfo;Lcom/android/server/am/ActivityManagerService$PackageAssociationInfo;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/ActivityManagerService;->validateServiceInstanceName(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;+]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/android/server/am/ActivityManagerUtils;->logUnsafeIntentEvent(IILandroid/content/Intent;Ljava/lang/String;Z)V HSPLcom/android/server/am/AnrHelper$$ExternalSyntheticLambda1;-><init>()V HSPLcom/android/server/am/AnrHelper;-><clinit>()V HSPLcom/android/server/am/AnrHelper;-><init>(Lcom/android/server/am/ActivityManagerService;)V @@ -1197,9 +1258,10 @@ HSPLcom/android/server/am/AppBatteryExemptionTracker$AppBatteryExemptionPolicy;- HPLcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;->add(Ljava/util/LinkedList;Ljava/util/LinkedList;)Ljava/util/LinkedList;+]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; HPLcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;->getBatteryUsageSince(JJI)Landroid/util/Pair;+]Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates;Lcom/android/server/am/AppBatteryExemptionTracker$UidBatteryStates; 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; +HPLcom/android/server/am/AppBatteryExemptionTracker$UidStateEventWithBattery;->getBatteryUsage(JJ)Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage; 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/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;->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;->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 @@ -1217,8 +1279,9 @@ HSPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>(DDDDD)V HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>(Landroid/os/UidBatteryConsumer;Lcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;)V HPLcom/android/server/am/AppBatteryTracker$BatteryUsage;-><init>(Lcom/android/server/am/AppBatteryTracker$BatteryUsage;)V+]Lcom/android/server/am/AppBatteryTracker$BatteryUsage;Lcom/android/server/am/AppBatteryTracker$BatteryUsage;,Lcom/android/server/am/AppBatteryTracker$ImmutableBatteryUsage; 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;->calcPercentage(ILcom/android/server/am/AppBatteryTracker$AppBatteryPolicy;)Lcom/android/server/am/AppBatteryTracker$BatteryUsage; 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; @@ -1233,6 +1296,7 @@ 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; +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 @@ -1259,24 +1323,25 @@ 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;->addIsolatedUid(II)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$$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;->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$$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+]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; -HPLcom/android/server/am/AppExitInfoTracker;->lambda$persistProcessExitInfo$5(Landroid/util/proto/ProtoOutputStream;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;+]Landroid/util/proto/ProtoOutputStream;Landroid/util/proto/ProtoOutputStream;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer; +HPLcom/android/server/am/AppExitInfoTracker;->lambda$getExitInfo$3(ILjava/util/ArrayList;ILjava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessaryLocked$2(ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;+]Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;]Lcom/android/server/am/AppExitInfoTracker;Lcom/android/server/am/AppExitInfoTracker;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/AppExitInfoTracker;->obtainRawRecord(Lcom/android/server/am/ProcessRecord;J)Landroid/app/ApplicationExitInfo; HSPLcom/android/server/am/AppExitInfoTracker;->performLogToStatsdLocked(Landroid/app/ApplicationExitInfo;)V 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 @@ -1287,6 +1352,7 @@ HPLcom/android/server/am/AppFGSTracker$NotificationListener;->onNotificationRemo 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 HSPLcom/android/server/am/AppFGSTracker;->hasForegroundServices(Ljava/lang/String;I)Z +HSPLcom/android/server/am/AppFGSTracker;->scheduleDurationCheckLocked(J)V 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 HSPLcom/android/server/am/AppMediaSessionTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;)V @@ -1306,7 +1372,7 @@ HPLcom/android/server/am/AppPermissionTracker$UidGrantedPermissionState;->update 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 +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;->handlePermissionsInit()V HSPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;-><init>()V HSPLcom/android/server/am/AppProfiler$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V @@ -1326,6 +1392,7 @@ 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; @@ -1349,6 +1416,7 @@ HSPLcom/android/server/am/AppRestrictionController$1;-><init>(Lcom/android/serve 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 @@ -1394,6 +1462,7 @@ 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; @@ -1416,6 +1485,8 @@ HPLcom/android/server/am/AppRestrictionController;->isRoleHeldByUid(Ljava/lang/S 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 HSPLcom/android/server/am/AppRestrictionController;->refreshAppRestrictionLevelForUser(III)V +HPLcom/android/server/am/AssistDataRequester;->requestData(Ljava/util/List;ZZZZZZZILjava/lang/String;Ljava/lang/String;)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; @@ -1425,11 +1496,12 @@ HSPLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->< HSPLcom/android/server/am/BaseAppStateEventsTracker$BaseAppStateEventsPolicy;->getMaxTrackingDuration()J HSPLcom/android/server/am/BaseAppStateEventsTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V HSPLcom/android/server/am/BaseAppStateEventsTracker;->isUidOnTop(I)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; -HSPLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChanged(II)V +HSPLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChanged(II)V+]Lcom/android/server/am/BaseAppStateEventsTracker;Lcom/android/server/am/AppBroadcastEventsTracker;,Lcom/android/server/am/AppBindServiceEventsTracker;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap; HPLcom/android/server/am/BaseAppStateEventsTracker;->onUidProcStateChangedUncheckedLocked(II)V 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;->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; @@ -1443,22 +1515,26 @@ HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;-><init>(Landroid/co HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->handleNewEvent(Ljava/lang/String;I)V+]Lcom/android/server/am/BaseAppStateTracker$Injector;Lcom/android/server/am/BaseAppStateTracker$Injector;]Lcom/android/server/am/BaseAppStateEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$BaseAppStateTimeSlotEventsPolicy;Lcom/android/server/am/AppBroadcastEventsTracker$AppBroadcastEventsPolicy;,Lcom/android/server/am/AppBindServiceEventsTracker$AppBindServiceEventsPolicy;]Lcom/android/server/am/BaseAppStateTimeSlotEvents;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$SimpleAppStateTimeslotEvents;]Lcom/android/server/am/BaseAppStateEvents$Factory;Lcom/android/server/am/AppBroadcastEventsTracker;,Lcom/android/server/am/AppBindServiceEventsTracker;]Lcom/android/server/am/UidProcessMap;Lcom/android/server/am/UidProcessMap; HSPLcom/android/server/am/BaseAppStateTimeSlotEventsTracker;->onNewEvent(Ljava/lang/String;I)V+]Landroid/os/Handler;Lcom/android/server/am/BaseAppStateTimeSlotEventsTracker$H;]Landroid/os/Message;Landroid/os/Message; HSPLcom/android/server/am/BaseAppStateTracker$Injector;-><init>()V -HPLcom/android/server/am/BaseAppStateTracker$Injector;->getPermissionManagerServiceInternal()Lcom/android/server/pm/permission/PermissionManagerServiceInternal; HSPLcom/android/server/am/BaseAppStateTracker$Injector;->getPolicy()Lcom/android/server/am/BaseAppStatePolicy; HSPLcom/android/server/am/BaseAppStateTracker$Injector;->setPolicy(Lcom/android/server/am/BaseAppStatePolicy;)V HSPLcom/android/server/am/BaseAppStateTracker;-><init>(Landroid/content/Context;Lcom/android/server/am/AppRestrictionController;Ljava/lang/reflect/Constructor;Ljava/lang/Object;)V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda0;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda100;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;-><init>(Lcom/android/server/am/BatteryStatsService;ILjava/lang/String;Ljava/lang/String;JJ)V -HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda101;->run()V 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$$ExternalSyntheticLambda14;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda17;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda19;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda23;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda25;->run()V +HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda28;->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$$ExternalSyntheticLambda32;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda38;->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 @@ -1472,10 +1548,14 @@ 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$$ExternalSyntheticLambda61;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda64;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda66;->run()V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda67;->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 +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda71;-><init>(Lcom/android/server/am/BatteryStatsService;IJJ)V +HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda74;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda76;->run()V HPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda8;->run()V HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda93;->run()V @@ -1488,6 +1568,7 @@ HSPLcom/android/server/am/BatteryStatsService$$ExternalSyntheticLambda98;->run() HSPLcom/android/server/am/BatteryStatsService$1;-><init>(Lcom/android/server/am/BatteryStatsService;)V HSPLcom/android/server/am/BatteryStatsService$2;-><init>(Lcom/android/server/am/BatteryStatsService;)V HSPLcom/android/server/am/BatteryStatsService$3;-><init>(Lcom/android/server/am/BatteryStatsService;)V +HSPLcom/android/server/am/BatteryStatsService$3;->getUserIds()[I HPLcom/android/server/am/BatteryStatsService$LocalService$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V HPLcom/android/server/am/BatteryStatsService$LocalService$$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/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Ljava/lang/Long;Ljava/lang/Long; HSPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;)V @@ -1501,23 +1582,30 @@ HPLcom/android/server/am/BatteryStatsService;->-$$Nest$fgetmHandler(Lcom/android 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 +HSPLcom/android/server/am/BatteryStatsService;->addIsolatedUid(II)V HPLcom/android/server/am/BatteryStatsService;->awaitCompletion()V+]Landroid/os/Handler;Landroid/os/Handler;]Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/CountDownLatch; HSPLcom/android/server/am/BatteryStatsService;->create(Landroid/content/Context;Ljava/io/File;Landroid/os/Handler;Lcom/android/server/power/stats/BatteryStatsImpl$BatteryCallback;)Lcom/android/server/am/BatteryStatsService; HSPLcom/android/server/am/BatteryStatsService;->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;->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+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; +HSPLcom/android/server/am/BatteryStatsService;->isCharging()Z 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$noteAlarmStart$21(Ljava/lang/String;Landroid/os/WorkSource;IJJ)V +HPLcom/android/server/am/BatteryStatsService;->lambda$noteBleScanStarted$88(Landroid/os/WorkSource;ZJJ)V +HPLcom/android/server/am/BatteryStatsService;->lambda$noteBleScanStopped$89(Landroid/os/WorkSource;ZJJ)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$noteCpuWakingActivity$0(IJ[I)V +HPLcom/android/server/am/BatteryStatsService;->lambda$noteConnectivityChanged$43(ILjava/lang/String;JJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteCpuWakingActivity$0(IJ[I)V HSPLcom/android/server/am/BatteryStatsService;->lambda$noteEvent$14(ILjava/lang/String;IJJ)V +HSPLcom/android/server/am/BatteryStatsService;->lambda$noteInteractive$42(ZJ)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$noteProcessStart$9(Ljava/lang/String;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 @@ -1531,22 +1619,25 @@ HSPLcom/android/server/am/BatteryStatsService;->lambda$noteStopWakelock$24(IILja 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$noteWakupAlarm$20(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)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$96(IIIIIIIIJJJJ)V HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$97(IIIIIIIIJJJJ)V +HPLcom/android/server/am/BatteryStatsService;->lambda$updateBatteryStatsOnActivityUsage$100(ZIJJ)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;->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;->noteCpuWakingActivity(IJ[I)V +HPLcom/android/server/am/BatteryStatsService;->noteConnectivityChanged(ILjava/lang/String;)V +HSPLcom/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;->noteJobFinish(Ljava/lang/String;II)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;I)V+]Landroid/os/Handler;Landroid/os/Handler; 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 @@ -1558,9 +1649,11 @@ HSPLcom/android/server/am/BatteryStatsService;->noteServiceStartLaunch(ILjava/la 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; HPLcom/android/server/am/BatteryStatsService;->noteServiceStopRunning(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/BatteryStatsService;->noteStartAudio(I)V HSPLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/BatteryStatsService;->noteStopAudio(I)V HSPLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V HSPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V+]Landroid/os/Handler;Landroid/os/Handler; HSPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V+]Landroid/os/Handler;Landroid/os/Handler; @@ -1569,8 +1662,13 @@ HPLcom/android/server/am/BatteryStatsService;->noteSyncStart(Ljava/lang/String;I 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;->noteVibratorOn(IJ)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 +HPLcom/android/server/am/BatteryStatsService;->noteWifiRssiChanged(I)V +HPLcom/android/server/am/BatteryStatsService;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V +HPLcom/android/server/am/BatteryStatsService;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V +HPLcom/android/server/am/BatteryStatsService;->noteWifiSupplicantStateChanged(IZ)V HSPLcom/android/server/am/BatteryStatsService;->publish()V HSPLcom/android/server/am/BatteryStatsService;->scheduleWriteToDisk()V HSPLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIIIJ)V @@ -1591,7 +1689,7 @@ 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;->onBroadcastFinishedLocked(Lcom/android/server/am/BroadcastRecord;)V HSPLcom/android/server/am/BroadcastHistory;->ringAdvance(III)I 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 @@ -1599,7 +1697,7 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->assertHealthLocked()V HSPLcom/android/server/am/BroadcastProcessQueue;->assertHealthLocked(Ljava/util/ArrayDeque;)V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastRecord;]Ljava/util/Iterator;Ljava/util/ArrayDeque$DescendingIterator; HSPLcom/android/server/am/BroadcastProcessQueue;->enqueueOrReplaceBroadcast(Lcom/android/server/am/BroadcastRecord;ILcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;)Lcom/android/server/am/BroadcastRecord;+]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/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda10; HSPLcom/android/server/am/BroadcastProcessQueue;->forEachMatchingBroadcast(Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; -HSPLcom/android/server/am/BroadcastProcessQueue;->forEachMatchingBroadcastInQueue(Ljava/util/ArrayDeque;Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z+]Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;megamorphic_types]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda9;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda10;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda11;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda8;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda5;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda6;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda7;]Ljava/util/Iterator;Ljava/util/ArrayDeque$DeqIterator; +HSPLcom/android/server/am/BroadcastProcessQueue;->forEachMatchingBroadcastInQueue(Ljava/util/ArrayDeque;Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Z)Z+]Lcom/android/server/am/BroadcastProcessQueue$BroadcastPredicate;megamorphic_types]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Lcom/android/internal/os/SomeArgs;Lcom/android/internal/os/SomeArgs;]Lcom/android/server/am/BroadcastProcessQueue$BroadcastConsumer;Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda9;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda10;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda11;,Lcom/android/server/am/BroadcastQueueModernImpl$$ExternalSyntheticLambda8;]Ljava/util/Iterator;Ljava/util/ArrayDeque$DeqIterator; HSPLcom/android/server/am/BroadcastProcessQueue;->getActive()Lcom/android/server/am/BroadcastRecord; HSPLcom/android/server/am/BroadcastProcessQueue;->getActiveAssumedDeliveryCountSinceIdle()I HSPLcom/android/server/am/BroadcastProcessQueue;->getActiveCountSinceIdle()I @@ -1607,8 +1705,8 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->getActiveIndex()I 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+]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; +HSPLcom/android/server/am/BroadcastProcessQueue;->getQueueForBroadcast(Lcom/android/server/am/BroadcastRecord;)Ljava/util/ArrayDeque; +HSPLcom/android/server/am/BroadcastProcessQueue;->getRunnableAt()J 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 @@ -1616,11 +1714,9 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->isEmpty()Z HSPLcom/android/server/am/BroadcastProcessQueue;->isPendingManifest()Z HSPLcom/android/server/am/BroadcastProcessQueue;->isPendingOrdered()Z HSPLcom/android/server/am/BroadcastProcessQueue;->isPendingResultTo()Z -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; @@ -1628,7 +1724,7 @@ HSPLcom/android/server/am/BroadcastProcessQueue;->onBroadcastEnqueued(Lcom/andro 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; +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; HSPLcom/android/server/am/BroadcastProcessQueue;->removeFromRunnableList(Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;)Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->removeNextBroadcast()Lcom/android/internal/os/SomeArgs;+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue; HSPLcom/android/server/am/BroadcastProcessQueue;->replaceBroadcastInQueue(Ljava/util/ArrayDeque;Lcom/android/server/am/BroadcastRecord;I)Lcom/android/server/am/BroadcastRecord; @@ -1653,18 +1749,18 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;-><clinit>()V HSPLcom/android/server/am/BroadcastQueueModernImpl;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastConstants;)V HSPLcom/android/server/am/BroadcastQueueModernImpl;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastConstants;Lcom/android/server/am/BroadcastSkipPolicy;Lcom/android/server/am/BroadcastHistory;)V 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;->assertHealthLocked()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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; HSPLcom/android/server/am/BroadcastQueueModernImpl;->checkAndRemoveWaitingFor()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; 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;]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;->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; 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;]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;->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; 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; +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; HSPLcom/android/server/am/BroadcastQueueModernImpl;->getPreferredSchedulingGroupLocked(Lcom/android/server/am/ProcessRecord;)I HSPLcom/android/server/am/BroadcastQueueModernImpl;->getProcessQueue(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/BroadcastProcessQueue;+]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl; HSPLcom/android/server/am/BroadcastQueueModernImpl;->getProcessQueue(Ljava/lang/String;I)Lcom/android/server/am/BroadcastProcessQueue;+]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -1703,7 +1799,7 @@ HSPLcom/android/server/am/BroadcastQueueModernImpl;->shouldSkipReceiver(Lcom/and 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; HSPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunnableList(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;->updateRunningList()V -HSPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunningListLocked()V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/am/BroadcastQueueModernImpl;->updateRunningListLocked()V+]Landroid/os/Handler;Landroid/os/Handler;]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster;]Lcom/android/server/am/BroadcastQueueModernImpl;Lcom/android/server/am/BroadcastQueueModernImpl;]Lcom/android/server/am/BroadcastProcessQueue;Lcom/android/server/am/BroadcastProcessQueue;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HSPLcom/android/server/am/BroadcastQueueModernImpl;->updateWarmProcess(Lcom/android/server/am/BroadcastProcessQueue;)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;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; 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; @@ -1746,7 +1842,7 @@ HPLcom/android/server/am/BroadcastSkipPolicy;->noteOpForManifestReceiver(ILcom/a 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; 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;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;]Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastQueueModernImpl;]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; 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; 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; @@ -1783,7 +1879,8 @@ 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 -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$DefaultProcessDependencies;->performCompaction(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;I)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;]Landroid/os/Handler;Lcom/android/server/am/CachedAppOptimizer$FreezeHandler;]Lcom/android/server/am/ProcessStateRecord;Lcom/android/server/am/ProcessStateRecord; 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; @@ -1795,7 +1892,6 @@ HSPLcom/android/server/am/CachedAppOptimizer$SettingsContentObserver;-><init>(Lc 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$fgetmPendingCompactionProcesses(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/ArrayList; -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 @@ -1812,7 +1908,6 @@ HSPLcom/android/server/am/CachedAppOptimizer;->getUnfreezeReasonCodeFromOomAdjRe HSPLcom/android/server/am/CachedAppOptimizer;->onCleanupApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;)V HPLcom/android/server/am/CachedAppOptimizer;->onProcessFrozen(Lcom/android/server/am/ProcessRecord;)V 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; HPLcom/android/server/am/CachedAppOptimizer;->resolveCompactionProfile(Lcom/android/server/am/CachedAppOptimizer$CompactProfile;)Lcom/android/server/am/CachedAppOptimizer$CompactProfile; HPLcom/android/server/am/CachedAppOptimizer;->traceAppFreeze(Ljava/lang/String;II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; @@ -1839,6 +1934,7 @@ HPLcom/android/server/am/ConnectionRecord;->hasFlag(J)Z HPLcom/android/server/am/ConnectionRecord;->notHasFlag(I)Z+]Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ConnectionRecord; HSPLcom/android/server/am/ConnectionRecord;->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/ConnectionRecord;->stopAssociation()V+]Lcom/android/internal/app/procstats/AssociationState$SourceState;Lcom/android/internal/app/procstats/AssociationState$SourceState; +HPLcom/android/server/am/ConnectionRecord;->toString()Ljava/lang/String; 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 HSPLcom/android/server/am/ContentProviderConnection;->adjustCounts(II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; @@ -1846,7 +1942,8 @@ 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+]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;->stopAssociation()V+]Lcom/android/internal/app/procstats/AssociationState$SourceState;Lcom/android/internal/app/procstats/AssociationState$SourceState; +HPLcom/android/server/am/ContentProviderConnection;->toClientString(Ljava/lang/StringBuilder;)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 @@ -1855,25 +1952,28 @@ 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;->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; 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;]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;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; 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 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;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z +HSPLcom/android/server/am/ContentProviderHelper;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord; HSPLcom/android/server/am/ContentProviderHelper;->lambda$checkContentProviderAssociation$4(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ProviderInfo;Ljava/lang/String;)Ljava/lang/String; +HPLcom/android/server/am/ContentProviderHelper;->lambda$decProviderCountLocked$3(Lcom/android/server/am/ContentProviderConnection;ZZ)V 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+]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+]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; +HPLcom/android/server/am/ContentProviderHelper;->unstableProviderDied(Landroid/os/IBinder;)V 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 @@ -1881,7 +1981,9 @@ HSPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/ 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; -HPLcom/android/server/am/DataConnectionStats$PhoneStateListenerExecutor;->execute(Ljava/lang/Runnable;)V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/am/DataConnectionStats$PhoneStateListenerExecutor;->execute(Ljava/lang/Runnable;)V +HPLcom/android/server/am/DataConnectionStats$PhoneStateListenerImpl;->onServiceStateChanged(Landroid/telephony/ServiceState;)V +HPLcom/android/server/am/DataConnectionStats;->hasService()Z 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 @@ -1904,20 +2006,25 @@ HSPLcom/android/server/am/ForegroundServiceTypeLoggerModule;->hasValidActiveFgs( 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;->addTimer(Landroid/os/health/HealthStatsWriter;ILandroid/os/BatteryStats$Timer;)V+]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/os/BatteryStats$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; +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$StopwatchTimer;,Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; 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;->writePkg(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg;)V+]Ljava/util/Map$Entry;Landroid/util/MapCollections$MapIterator;]Lcom/android/server/am/HealthStatsBatteryStatsWriter;Lcom/android/server/am/HealthStatsBatteryStatsWriter;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/health/HealthStatsWriter;Landroid/os/health/HealthStatsWriter;]Landroid/os/BatteryStats$Uid$Pkg;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;]Landroid/os/BatteryStats$Counter;Lcom/android/server/power/stats/BatteryStatsImpl$Counter;]Ljava/util/Iterator;Landroid/util/MapCollections$MapIterator;]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;->writeServ(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg$Serv;)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;->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/HostingRecord;->getType()Ljava/lang/String; +HSPLcom/android/server/am/HostingRecord;->usesAppZygote()Z HSPLcom/android/server/am/InstrumentationReporter;-><init>()V HSPLcom/android/server/am/IntentBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent$FilterComparison;)V +HPLcom/android/server/am/IntentBindRecord;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)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;->exchange(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z+]Lcom/android/server/am/LmkdConnection;Lcom/android/server/am/LmkdConnection;]Ljava/lang/Object;Ljava/lang/Object; @@ -1925,13 +2032,13 @@ HSPLcom/android/server/am/LmkdConnection;->isConnected()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 HSPLcom/android/server/am/LowMemDetector$LowMemThread;->run()V HSPLcom/android/server/am/LowMemDetector;->-$$Nest$mwaitForPressure(Lcom/android/server/am/LowMemDetector;)I HSPLcom/android/server/am/LowMemDetector;-><init>(Lcom/android/server/am/ActivityManagerService;)V HSPLcom/android/server/am/LowMemDetector;->getMemFactor()I HSPLcom/android/server/am/LowMemDetector;->isAvailable()Z HPLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat; +HPLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromProcfs(I)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 @@ -1957,7 +2064,7 @@ HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingAct 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; +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; HSPLcom/android/server/am/OomAdjuster;->assignCachedAdjIfNecessary(Ljava/util/ArrayList;)V+]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;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/OomAdjuster;->checkAndEnqueueOomAdjTargetLocked(Lcom/android/server/am/ProcessRecord;)Z HSPLcom/android/server/am/OomAdjuster;->collectReachableProcessesLocked(Landroid/util/ArraySet;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;)Z+]Lcom/android/server/am/ActiveUids;Lcom/android/server/am/ActiveUids;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]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/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;]Lcom/android/server/am/ProcessProviderRecord;Lcom/android/server/am/ProcessProviderRecord;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -1986,13 +2093,13 @@ HSPLcom/android/server/am/OomAdjuster;->updateAndTrimProcessLSP(JJJLcom/android/ 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/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;]Landroid/os/Handler;Lcom/android/server/am/ActivityManagerService$MainHandler; +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;]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+]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/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/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 @@ -2002,6 +2109,7 @@ HSPLcom/android/server/am/PackageList;->getPackageList()[Ljava/lang/String;+]Lan 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; @@ -2011,7 +2119,7 @@ HSPLcom/android/server/am/PendingIntentController;->incrementUidStatLocked(Lcom/ 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 -HPLcom/android/server/am/PendingIntentController;->setPendingIntentAllowlistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;JIILjava/lang/String;)V +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 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; HSPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z+]Landroid/content/Intent;Landroid/content/Intent; @@ -2023,10 +2131,11 @@ HPLcom/android/server/am/PendingIntentRecord;->detachCancelListenersLocked()Land 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;->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;]Lcom/android/server/am/UserController;Lcom/android/server/am/UserController; 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;->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;->toString()Ljava/lang/String; 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 @@ -2034,22 +2143,23 @@ HSPLcom/android/server/am/PendingStartActivityUids;->delete(IJ)V+]Landroid/util/ 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 -HSPLcom/android/server/am/PendingTempAllowlists;->put(ILcom/android/server/am/ActivityManagerService$PendingTempAllowlist;)V +HSPLcom/android/server/am/PendingTempAllowlists;->put(ILcom/android/server/am/ActivityManagerService$PendingTempAllowlist;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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/PendingTempAllowlists;->valueAt(I)Lcom/android/server/am/ActivityManagerService$PendingTempAllowlist;+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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;+]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;->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;->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;->pruneStaleProcessesLocked()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;->fetchLocked(Landroid/content/pm/ApplicationInfo;I)Z HSPLcom/android/server/am/PlatformCompatCache$CacheItem;->invalidate(Landroid/content/pm/ApplicationInfo;)V @@ -2058,15 +2168,18 @@ HSPLcom/android/server/am/PlatformCompatCache;->getInstance()Lcom/android/server HSPLcom/android/server/am/PlatformCompatCache;->invalidate(Landroid/content/pm/ApplicationInfo;)V HSPLcom/android/server/am/PlatformCompatCache;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;Z)Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V +HPLcom/android/server/am/ProcessCachedOptimizerRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;J)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;->getReqCompactProfile()Lcom/android/server/am/CachedAppOptimizer$CompactProfile; +HPLcom/android/server/am/ProcessCachedOptimizerRecord;->getReqCompactSource()Lcom/android/server/am/CachedAppOptimizer$CompactSource; +HPLcom/android/server/am/ProcessCachedOptimizerRecord;->isForceCompact()Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeExempt()Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFreezeSticky()Z HSPLcom/android/server/am/ProcessCachedOptimizerRecord;->isFrozen()Z 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 @@ -2084,6 +2197,7 @@ HSPLcom/android/server/am/ProcessList$1;-><init>(Lcom/android/server/am/ProcessL HSPLcom/android/server/am/ProcessList$ImperceptibleKillRunner$H;-><init>(Lcom/android/server/am/ProcessList$ImperceptibleKillRunner;Landroid/os/Looper;)V HSPLcom/android/server/am/ProcessList$ImperceptibleKillRunner;-><init>(Lcom/android/server/am/ProcessList;Landroid/os/Looper;)V HSPLcom/android/server/am/ProcessList$IsolatedUidRange;-><init>(Lcom/android/server/am/ProcessList;II)V +HPLcom/android/server/am/ProcessList$IsolatedUidRange;->allocateIsolatedUidLocked(I)I 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 @@ -2092,6 +2206,7 @@ HSPLcom/android/server/am/ProcessList$MyProcessMap;->put(Ljava/lang/String;ILcom 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 +HPLcom/android/server/am/ProcessList$ProcStateMemTracker;->dumpLine(Ljava/io/PrintWriter;)V+]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter; 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 @@ -2101,16 +2216,16 @@ HPLcom/android/server/am/ProcessList;->clearAllDnsCacheLOSP()V+]Ljava/lang/Strin 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;,Lcom/android/server/devicestate/DeviceStateManagerService$1; +HPLcom/android/server/am/ProcessList;->dispatchProcessesChanged()V+]Landroid/app/IProcessObserver;Lcom/android/server/app/GameServiceProviderInstanceImpl$5;,Lcom/android/server/devicestate/DeviceStateManagerService$1;,Lcom/android/server/media/projection/MediaProjectionManagerService$1;,Lcom/android/server/am/AppFGSTracker$1;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; 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;->enqueueProcessChangeItemLocked(II)Lcom/android/server/am/ActivityManagerService$ProcessChangeItem; +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/ActivityManagerService;Lcom/android/server/am/ActivityManagerService;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; 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; HSPLcom/android/server/am/ProcessList;->forEachLruProcessesLOSP(ZLjava/util/function/Consumer;)V+]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/am/ProcessList;->getBlockStateForUid(Lcom/android/server/am/UidRecord;)I HSPLcom/android/server/am/ProcessList;->getLRURecordForAppLOSP(Landroid/os/IBinder;)Lcom/android/server/am/ProcessRecord;+]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;->getLruProcessesLOSP()Ljava/util/ArrayList; -HSPLcom/android/server/am/ProcessList;->getLruSizeLOSP()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLcom/android/server/am/ProcessList;->getLruSizeLOSP()I HSPLcom/android/server/am/ProcessList;->getMemLevel(I)J HSPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V+]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList; HSPLcom/android/server/am/ProcessList;->getNextProcStateSeq()J @@ -2127,12 +2242,12 @@ 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;->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;->haveBackgroundProcessLOSP()Z+]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/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/ProcessList;Lcom/android/server/am/ProcessList;]Lcom/android/server/am/ActivityManagerService$Injector;Lcom/android/server/am/ActivityManagerService$Injector;]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;->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/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; +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;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; 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;->makeOomAdjString(IZ)Ljava/lang/String; @@ -2145,9 +2260,10 @@ HSPLcom/android/server/am/ProcessList;->procStateToImportance(IILandroid/app/Act 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 +HPLcom/android/server/am/ProcessList;->removeProcessFromAppZygoteLocked(Lcom/android/server/am/ProcessRecord;)V 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$$ExternalSyntheticLambda3;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda7;]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$$ExternalSyntheticLambda7;,Lcom/android/server/am/ActiveServices$$ExternalSyntheticLambda3;]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; @@ -2168,11 +2284,13 @@ HSPLcom/android/server/am/ProcessProfileRecord;->abortNextPssTime(Lcom/android/s 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 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; +HSPLcom/android/server/am/ProcessProfileRecord;->getLastPss()J HSPLcom/android/server/am/ProcessProfileRecord;->getLastPssTime()J HSPLcom/android/server/am/ProcessProfileRecord;->getLastStateTime()J HSPLcom/android/server/am/ProcessProfileRecord;->getNextPssTime()J @@ -2182,7 +2300,6 @@ 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;->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 @@ -2195,6 +2312,7 @@ 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+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/am/ProcessProviderRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;J)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/io/PrintWriter;Lcom/android/internal/util/FastPrintWriter;]Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderConnection;]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; @@ -2202,7 +2320,7 @@ HSPLcom/android/server/am/ProcessProviderRecord;->getProviderConnectionAt(I)Lcom HSPLcom/android/server/am/ProcessProviderRecord;->installProvider(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V HSPLcom/android/server/am/ProcessProviderRecord;->numberOfProviderConnections()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/am/ProcessProviderRecord;->numberOfProviders()I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/am/ProcessProviderRecord;->onCleanupApplicationRecordLocked(Z)Z +HSPLcom/android/server/am/ProcessProviderRecord;->onCleanupApplicationRecordLocked(Z)Z+]Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ContentProviderRecord;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/am/ContentProviderHelper;Lcom/android/server/am/ContentProviderHelper;]Lcom/android/server/am/ProcessErrorStateRecord;Lcom/android/server/am/ProcessErrorStateRecord;]Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityManagerService; HPLcom/android/server/am/ProcessProviderRecord;->removeProviderConnection(Lcom/android/server/am/ContentProviderConnection;)Z HSPLcom/android/server/am/ProcessReceiverRecord;-><init>(Lcom/android/server/am/ProcessRecord;)V HSPLcom/android/server/am/ProcessReceiverRecord;->addReceiver(Lcom/android/server/am/ReceiverList;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; @@ -2212,11 +2330,12 @@ HSPLcom/android/server/am/ProcessReceiverRecord;->numberOfReceivers()I+]Landroid 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/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; +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; 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; +HPLcom/android/server/am/ProcessRecord;->getCpuTime()J HSPLcom/android/server/am/ProcessRecord;->getHostingRecord()Lcom/android/server/am/HostingRecord; HSPLcom/android/server/am/ProcessRecord;->getLastActivityTime()J HPLcom/android/server/am/ProcessRecord;->getLruSeq()I @@ -2238,7 +2357,7 @@ HSPLcom/android/server/am/ProcessRecord;->getUidRecord()Lcom/android/server/am/U HSPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController; HSPLcom/android/server/am/ProcessRecord;->hasActivities()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; HSPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController; -HSPLcom/android/server/am/ProcessRecord;->isCached()Z +HPLcom/android/server/am/ProcessRecord;->isCached()Z HSPLcom/android/server/am/ProcessRecord;->isDebuggable()Z HSPLcom/android/server/am/ProcessRecord;->isInFullBackup()Z HSPLcom/android/server/am/ProcessRecord;->isKilled()Z @@ -2252,15 +2371,20 @@ HSPLcom/android/server/am/ProcessRecord;->killProcessGroupIfNecessaryLocked(Z)V HSPLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V HSPLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V HSPLcom/android/server/am/ProcessRecord;->onCleanupApplicationRecordLSP(Lcom/android/server/am/ProcessStatsService;ZZ)Z +HPLcom/android/server/am/ProcessRecord;->onStartActivity(IZLjava/lang/String;J)V HSPLcom/android/server/am/ProcessRecord;->removeBackgroundStartPrivileges(Landroid/os/Binder;)V HSPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V HSPLcom/android/server/am/ProcessRecord;->setBackgroundStartPrivileges(Landroid/os/Binder;Landroid/app/BackgroundStartPrivileges;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/am/ProcessRecord;->setDebugging(Z)V +HSPLcom/android/server/am/ProcessRecord;->setDyingPid(I)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; +HPLcom/android/server/am/ProcessRecord;->setPendingUiCleanAndForceProcessStateUpTo(I)V HSPLcom/android/server/am/ProcessRecord;->setPid(I)V HSPLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V HPLcom/android/server/am/ProcessRecord;->setRunningRemoteAnimation(Z)V @@ -2279,7 +2403,9 @@ HSPLcom/android/server/am/ProcessServiceRecord;->addConnection(Lcom/android/serv HPLcom/android/server/am/ProcessServiceRecord;->areAllShortForegroundServicesProcstateTimedOut(J)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/am/ProcessServiceRecord;Lcom/android/server/am/ProcessServiceRecord;]Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ServiceRecord;]Lcom/android/server/am/ServiceRecord$ShortFgsInfo;Lcom/android/server/am/ServiceRecord$ShortFgsInfo; HSPLcom/android/server/am/ProcessServiceRecord;->areForegroundServiceTypesSame(IZ)Z HSPLcom/android/server/am/ProcessServiceRecord;->clearBoundClientUids()V +HPLcom/android/server/am/ProcessServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;J)V HPLcom/android/server/am/ProcessServiceRecord;->getConnectionAt(I)Lcom/android/server/am/ConnectionRecord;+]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/am/ProcessServiceRecord;->getConnectionGroup()I HPLcom/android/server/am/ProcessServiceRecord;->getExecutingServiceAt(I)Lcom/android/server/am/ServiceRecord; HSPLcom/android/server/am/ProcessServiceRecord;->getForegroundServiceTypes()I HPLcom/android/server/am/ProcessServiceRecord;->getNumForegroundServices()I+]Landroid/util/ArraySet;Landroid/util/ArraySet; @@ -2294,6 +2420,7 @@ 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 @@ -2301,6 +2428,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 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; @@ -2312,6 +2440,7 @@ 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;->getAdjSource()Ljava/lang/Object; HSPLcom/android/server/am/ProcessStateRecord;->getAdjTypeCode()I HSPLcom/android/server/am/ProcessStateRecord;->getCachedCompatChange(I)Z+]Lcom/android/server/am/OomAdjuster;Lcom/android/server/am/OomAdjuster; HSPLcom/android/server/am/ProcessStateRecord;->getCachedHasActivities()Z+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;]Lcom/android/server/am/ProcessProfileRecord;Lcom/android/server/am/ProcessProfileRecord; @@ -2370,10 +2499,11 @@ HSPLcom/android/server/am/ProcessStateRecord;->setForcingToImportant(Ljava/lang/ 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; +HPLcom/android/server/am/ProcessStateRecord;->setHasTopUi(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setInteractionEventTime(J)V HSPLcom/android/server/am/ProcessStateRecord;->setProcStateChanged(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;->setReportedProcState(I)V HPLcom/android/server/am/ProcessStateRecord;->setRunningRemoteAnimation(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setSetCached(Z)V HSPLcom/android/server/am/ProcessStateRecord;->setSetNoKillOnBgRestrictedAndIdle(Z)V @@ -2402,7 +2532,7 @@ HSPLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/Comp 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; -HSPLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V +HSPLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Lcom/android/server/am/ProviderMap;Lcom/android/server/am/ProviderMap; HSPLcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V HPLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V HPLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V @@ -2416,7 +2546,8 @@ HSPLcom/android/server/am/SameProcessApplicationThread$$ExternalSyntheticLambda1 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; +HSPLcom/android/server/am/ServiceRecord$1;->run()V+]Lcom/android/server/notification/NotificationManagerInternal;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; @@ -2441,11 +2572,13 @@ 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/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; +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; +HPLcom/android/server/am/ServiceRecord;->signalForegroundServiceNotification(Ljava/lang/String;IIZ)V HPLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String; HPLcom/android/server/am/ServiceRecord;->updateAllowUiJobScheduling(Z)V 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; +HPLcom/android/server/am/ServiceRecord;->updateParentProcessBgActivityStartsToken()V 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/TraceErrorLogger;-><init>()V HSPLcom/android/server/am/UidObserverController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/am/UidObserverController;)V @@ -2462,7 +2595,7 @@ HSPLcom/android/server/am/UidProcessMap;->getMap()Landroid/util/SparseArray; 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(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;->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;->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;->getCurCapability()I HSPLcom/android/server/am/UidRecord;->getCurProcState()I HPLcom/android/server/am/UidRecord;->getLastBackgroundTime()J @@ -2478,6 +2611,7 @@ 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;->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 @@ -2485,6 +2619,7 @@ HSPLcom/android/server/am/UidRecord;->setEphemeral(Z)V HSPLcom/android/server/am/UidRecord;->setLastReportedChange(I)V HSPLcom/android/server/am/UidRecord;->setSetCapability(I)V HSPLcom/android/server/am/UidRecord;->setSetProcState(I)V +HPLcom/android/server/am/UidRecord;->toString()Ljava/lang/String; HSPLcom/android/server/am/UidRecord;->updateHasInternetPermission()V HSPLcom/android/server/am/UserController$1;-><init>(Lcom/android/server/am/UserController;)V HSPLcom/android/server/am/UserController$Injector;-><init>(Lcom/android/server/am/ActivityManagerService;)V @@ -2501,6 +2636,7 @@ HSPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/Activit 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; 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;->getCurrentProfileIds()[I 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 @@ -2519,16 +2655,25 @@ HSPLcom/android/server/app/GameManagerService$MyUidObserver;->disableGameMode(I) 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;->-$$Nest$mgetGameModeFromSettingsUnchecked(Lcom/android/server/app/GameManagerService;Ljava/lang/String;I)I HSPLcom/android/server/app/GameManagerService;->getConfig(Ljava/lang/String;I)Lcom/android/server/app/GameManagerService$GamePackageConfiguration; HSPLcom/android/server/app/GameManagerService;->getGameMode(Ljava/lang/String;I)I HSPLcom/android/server/app/GameManagerService;->getGameModeFromSettingsUnchecked(Ljava/lang/String;I)I +HSPLcom/android/server/app/GameManagerService;->getResolutionScalingFactorInternal(Ljava/lang/String;II)F 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$4;->onTaskFocusChanged(IZ)V +HPLcom/android/server/app/GameServiceProviderInstanceImpl$5$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/app/GameServiceProviderInstanceImpl$5;I)V +HPLcom/android/server/app/GameServiceProviderInstanceImpl$5$$ExternalSyntheticLambda0;->run()V +HPLcom/android/server/app/GameServiceProviderInstanceImpl$5;->onForegroundActivitiesChanged(IIZ)V +HPLcom/android/server/app/GameServiceProviderInstanceImpl$5;->onProcessDied(II)V +HPLcom/android/server/app/GameServiceProviderInstanceImpl;->-$$Nest$fgetmBackgroundExecutor(Lcom/android/server/app/GameServiceProviderInstanceImpl;)Ljava/util/concurrent/Executor; 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 +HPLcom/android/server/app/GameServiceProviderInstanceImpl;->onProcessDiedLocked(I)V HSPLcom/android/server/apphibernation/AppHibernationService$LocalService;->isHibernatingForUser(Ljava/lang/String;I)Z+]Lcom/android/server/apphibernation/AppHibernationService;Lcom/android/server/apphibernation/AppHibernationService; +HPLcom/android/server/apphibernation/AppHibernationService$LocalService;->isHibernatingGlobally(Ljava/lang/String;)Z 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 @@ -2552,7 +2697,7 @@ 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+]Landroid/os/PackageTagsList;Landroid/os/PackageTagsList;]Lcom/android/server/appop/AppOpsRestrictionsImpl;Lcom/android/server/appop/AppOpsRestrictionsImpl; +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;]Landroid/os/PackageTagsList;Landroid/os/PackageTagsList; 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 @@ -2561,20 +2706,14 @@ HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lc HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/android/server/appop/AppOpsService;)V HSPLcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$AppOpsManagerLocalImpl-IA;)V 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;-><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;+]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; 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 HPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->checkAudioOperation(IIILjava/lang/String;)I+]Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Lcom/android/server/policy/AppOpsPolicy; -HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->checkOperation(IILjava/lang/String;Ljava/lang/String;Z)I+]Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Lcom/android/server/policy/AppOpsPolicy; -HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V+]Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Lcom/android/server/policy/AppOpsPolicy; -HSPLcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;+]Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;Lcom/android/server/policy/AppOpsPolicy; 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$Constants;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/Handler;)V HSPLcom/android/server/appop/AppOpsService$Constants;->updateConstants()V @@ -2593,26 +2732,22 @@ HSPLcom/android/server/appop/AppOpsService$UidState;->evalMode(II)I+]Lcom/androi 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+]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; +HPLcom/android/server/appop/AppOpsService;->-$$Nest$mcheckAudioOperationImpl(Lcom/android/server/appop/AppOpsService;IIILjava/lang/String;)I 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; HSPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lang/String;Ljava/lang/String;Z)I+]Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;]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;->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 +HPLcom/android/server/appop/AppOpsService;->dumpStatesLocked(Ljava/io/PrintWriter;Ljava/lang/String;IJLcom/android/server/appop/AppOpsService$Op;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;]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; @@ -2633,11 +2768,12 @@ HSPLcom/android/server/appop/AppOpsService;->isPackageExisted(Ljava/lang/String; HSPLcom/android/server/appop/AppOpsService;->isSpecialPackage(ILjava/lang/String;)Z HSPLcom/android/server/appop/AppOpsService;->lambda$getUidStateTracker$0(Ljava/lang/Runnable;)V+]Ljava/lang/Runnable;Lcom/android/internal/util/function/pooled/PooledLambdaImpl; HSPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher; -HSPLcom/android/server/appop/AppOpsService;->noteOperationImpl(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Z)Landroid/app/SyncNotedAppOp;+]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; 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;]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; +HPLcom/android/server/appop/AppOpsService;->notifyOpStarted(Landroid/util/ArraySet;IILjava/lang/String;Ljava/lang/String;IIIII)V +HSPLcom/android/server/appop/AppOpsService;->notifyWatchersOfChange(II)V +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;->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 @@ -2653,15 +2789,16 @@ HSPLcom/android/server/appop/AppOpsService;->scheduleOpStartedIfNeededLocked(IIL HSPLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V HSPLcom/android/server/appop/AppOpsService;->setCameraAudioRestriction(I)V HPLcom/android/server/appop/AppOpsService;->setUidMode(IIILcom/android/internal/app/IAppOpsCallback;)V +HPLcom/android/server/appop/AppOpsService;->shouldIgnoreCallback(III)Z 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;->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 +HPLcom/android/server/appop/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V HSPLcom/android/server/appop/AppOpsService;->switchPackageIfBootTimeOrRarelyUsedLocked(Ljava/lang/String;)V+]Ljava/util/concurrent/ThreadLocalRandom;Ljava/util/concurrent/ThreadLocalRandom;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; HSPLcom/android/server/appop/AppOpsService;->systemReady()V HPLcom/android/server/appop/AppOpsService;->updatePermissionRevokedCompat(III)V -HPLcom/android/server/appop/AppOpsService;->updateStartedOpModeForUidLocked(IZI)V+]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;]Landroid/util/SparseArray;Landroid/util/SparseArray;,Lcom/android/server/appop/AppOpsService$Ops; +HPLcom/android/server/appop/AppOpsService;->updateStartedOpModeForUidLocked(IZI)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;,Lcom/android/server/appop/AppOpsService$Ops;]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;->updateUidProcState(III)V+]Lcom/android/server/appop/AppOpsUidStateTracker;Lcom/android/server/appop/AppOpsUidStateTrackerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService; 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; @@ -2714,7 +2851,7 @@ HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getStartTime( HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->getUidState()I HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEvent;->reinit(JJLandroid/os/IBinder;Ljava/lang/String;Ljava/lang/Runnable;IILandroid/app/AppOpsManager$OpEventProxyInfo;IILandroid/util/Pools$Pool;)V HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;-><init>(Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;I)V -HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;->acquire(JJLandroid/os/IBinder;Ljava/lang/String;Ljava/lang/Runnable;ILjava/lang/String;Ljava/lang/String;IIII)Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;+]Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;]Landroid/util/Pools$SimplePool;Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool; +HSPLcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;->acquire(JJLandroid/os/IBinder;Ljava/lang/String;Ljava/lang/Runnable;ILjava/lang/String;Ljava/lang/String;IIII)Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;+]Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;Lcom/android/server/appop/AttributedOp$InProgressStartOpEvent;]Landroid/util/Pools$SimplePool;Lcom/android/server/appop/AttributedOp$InProgressStartOpEventPool;]Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;Lcom/android/server/appop/AttributedOp$OpEventProxyInfoPool; HSPLcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;-><init>(I)V HSPLcom/android/server/appop/AttributedOp$OpEventProxyInfoPool;->acquire(ILjava/lang/String;Ljava/lang/String;)Landroid/app/AppOpsManager$OpEventProxyInfo; HSPLcom/android/server/appop/AttributedOp;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Lcom/android/server/appop/AppOpsService$Op;)V @@ -2734,10 +2871,11 @@ 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;->checkAudioOperation(IIILjava/lang/String;)I+]Lcom/android/server/appop/AudioRestrictionManager;Lcom/android/server/appop/AudioRestrictionManager;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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+]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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/List;Ljava/util/ArrayList; @@ -2747,8 +2885,11 @@ HSPLcom/android/server/appop/DiscreteRegistry$DiscreteOps;-><init>(Lcom/android/ 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;->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$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;->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 @@ -2758,12 +2899,15 @@ 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/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;->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;->discretizeDuration(J)J 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;->generateFile(Ljava/io/File;I)Ljava/io/File; 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 @@ -2789,18 +2933,22 @@ HSPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILja 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 HSPLcom/android/server/appop/OnOpModeChangedListener;-><init>(IIIII)V +HSPLcom/android/server/appop/OnOpModeChangedListener;->getCallingPid()I HSPLcom/android/server/appop/OnOpModeChangedListener;->getCallingUid()I HSPLcom/android/server/appop/OnOpModeChangedListener;->getFlags()I 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/appprediction/AppPredictionPerUserService;->notifyAppTargetEventLocked(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V +HPLcom/android/server/appprediction/AppPredictionPerUserService;->requestPredictionUpdateLocked(Landroid/app/prediction/AppPredictionSessionId;)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 HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getGroupParent(I)I -HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(I)I +HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(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/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isCallerInstantAppLocked()Z HSPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isProfileEnabled(I)Z HPLcom/android/server/appwidget/AppWidgetServiceImpl;->-$$Nest$fgetmAppOpsManager(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Landroid/app/AppOpsManager; @@ -2812,11 +2960,13 @@ HPLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetIds(Landroid/ HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;+]Landroid/appwidget/AppWidgetProviderInfo;Landroid/appwidget/AppWidgetProviderInfo;]Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;]Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl;]Lcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;Lcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HPLcom/android/server/appwidget/AppWidgetServiceImpl;->getWidgetIds(Ljava/util/ArrayList;)[I HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet; -HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z +HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z+]Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;]Landroid/os/UserManager;Landroid/os/UserManager; HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isUserRunningAndUnlocked(I)Z +HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupHostLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$HostId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Host; 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;->serializeHost(Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V +HPLcom/android/server/appwidget/AppWidgetServiceImpl;->setAppWidgetHidden(Ljava/lang/String;I)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; @@ -2826,6 +2976,7 @@ HSPLcom/android/server/audio/AudioDeviceBroker;->preferredCommunicationDevice()L 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 +HPLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z 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 @@ -2833,62 +2984,121 @@ HSPLcom/android/server/audio/AudioService$VolumeStreamState;->-$$Nest$fgetmIsMut 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;->getMinIndex(Z)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$VolumeStreamState;->setIndex(IILjava/lang/String;Z)Z+]Landroid/util/SparseIntArray;Lcom/android/server/audio/AudioService$VolumeStreamState$1;]Lcom/android/server/audio/AudioService$VolumeStreamState;Lcom/android/server/audio/AudioService$VolumeStreamState;]Lcom/android/server/utils/EventLogger;Lcom/android/server/utils/EventLogger;]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService;]Landroid/content/Intent;Landroid/content/Intent; 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;->-$$Nest$smsendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V +HPLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;Ljava/lang/String;IILjava/lang/String;ZI)V +HPLcom/android/server/audio/AudioService;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;IIZI)V HSPLcom/android/server/audio/AudioService;->callingHasAudioSettingsPermission()Z -HSPLcom/android/server/audio/AudioService;->enforceQueryStateOrModifyRoutingPermission()V +HSPLcom/android/server/audio/AudioService;->enforceQueryStateOrModifyRoutingPermission()V+]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/audio/AudioService;->enforceVolumeController(Ljava/lang/String;)V HSPLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V HSPLcom/android/server/audio/AudioService;->getAudioModeOwnerHandler()Lcom/android/server/audio/AudioService$SetModeDeathHandler; 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;->getDeviceSetForStreamDirect(I)Ljava/util/Set;+]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; +HSPLcom/android/server/audio/AudioService;->getDevicesForAttributes(Landroid/media/AudioAttributes;)Ljava/util/ArrayList;+]Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService; 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 +HPLcom/android/server/audio/AudioService;->getMutingExpectedDevice()Landroid/media/AudioDeviceAttributes; 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 +HSPLcom/android/server/audio/AudioService;->isFullVolumeDevice(I)Z+]Lcom/android/server/audio/RecordingActivityMonitor;Lcom/android/server/audio/RecordingActivityMonitor;]Ljava/util/Set;Ljava/util/HashSet; HSPLcom/android/server/audio/AudioService;->isStreamMute(I)Z +HPLcom/android/server/audio/AudioService;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V +HPLcom/android/server/audio/AudioService;->playSoundEffect(II)V +HPLcom/android/server/audio/AudioService;->querySoundEffectsEnabled(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/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I +HSPLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z 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/MediaFocusControl;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I 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$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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->isPrivileged()Z 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;->playerAttributes(ILandroid/media/AudioAttributes;I)V HPLcom/android/server/audio/PlaybackActivityMonitor;->playerEvent(IIII)V +HPLcom/android/server/audio/PlaybackActivityMonitor;->portEvent(IILandroid/os/PersistableBundle;I)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;-><init>(IILandroid/media/AudioRecordingConfiguration;)V 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; +HPLcom/android/server/audio/RecordingActivityMonitor;->findStateByRiid(I)I +HPLcom/android/server/audio/RecordingActivityMonitor;->getActiveRecordingConfigurations(Z)Ljava/util/List; +HPLcom/android/server/audio/RecordingActivityMonitor;->onRecordingConfigurationChanged(IIIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;ILjava/lang/String;)V +HPLcom/android/server/audio/RecordingActivityMonitor;->updateSnapshot(IILandroid/media/AudioRecordingConfiguration;)Ljava/util/List; +HPLcom/android/server/audio/RotationHelper;->disable()V HSPLcom/android/server/audio/RotationHelper;->enable()V HSPLcom/android/server/audio/RotationHelper;->updateOrientation()V +HSPLcom/android/server/audio/SettingsAdapter;->getSystemIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I HSPLcom/android/server/audio/SystemServerAdapter;->isPrivileged()Z +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodFinishInput()V HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInput(Landroid/view/autofill/AutofillId;)V +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInputView()V +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession;->handleOnReceiveImeStatusUpdated(ZZ)V HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession;->maybeUpdateResponseToImeLocked()V +HPLcom/android/server/autofill/AutofillInlineSuggestionsRequestSession;->onCreateInlineSuggestionsRequestLocked()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 HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V +HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;ZLcom/android/internal/os/IResultReceiver;)V 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$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z 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/AutofillManagerService;->-$$Nest$mpeekServiceForUserWithLocalBinderIdentityLocked(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/autofill/AutofillManagerServiceImpl; +HPLcom/android/server/autofill/AutofillManagerService;->access$2200(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object; HPLcom/android/server/autofill/AutofillManagerService;->peekServiceForUserWithLocalBinderIdentityLocked(I)Lcom/android/server/autofill/AutofillManagerServiceImpl; +HPLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Landroid/os/Parcelable;)V +HPLcom/android/server/autofill/AutofillManagerServiceImpl;->forceRemoveFinishedSessionsLocked()V +HPLcom/android/server/autofill/AutofillManagerServiceImpl;->getFillEventHistory(I)Landroid/service/autofill/FillEventHistory; +HPLcom/android/server/autofill/AutofillManagerServiceImpl;->startSessionLocked(Landroid/os/IBinder;IILandroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;ZLandroid/content/ComponentName;ZZI)J HPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateSessionLocked(IILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)Z +HPLcom/android/server/autofill/FillRequestEventLogger;->logAndEndEvent()V +HPLcom/android/server/autofill/FillResponseEventLogger;->logAndEndEvent()V 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/Helper;->containsCharsInOrder(Ljava/lang/String;Ljava/lang/String;)Z+]Ljava/lang/String;Ljava/lang/String; +HPLcom/android/server/autofill/PresentationStatsEventLogger;->logAndEndEvent()V +HPLcom/android/server/autofill/SaveEventLogger;->logAndEndEvent()V +HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;->maybeRequestFillLocked()V HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;->onHandleAssistData(Landroid/os/Bundle;)V +HPLcom/android/server/autofill/Session$ClassificationState;->processResponse()Z 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;->destroyLocked()Lcom/android/server/autofill/RemoteFillService; +HPLcom/android/server/autofill/Session;->getLastResponseLocked(Ljava/lang/String;)Landroid/service/autofill/FillResponse; +HPLcom/android/server/autofill/Session;->getUiForShowing()Lcom/android/server/autofill/ui/AutoFillUI; +HPLcom/android/server/autofill/Session;->logAugmentedAutofillRequestLocked(ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;ZLjava/lang/Boolean;)V +HPLcom/android/server/autofill/Session;->onFillRequestSuccess(ILandroid/service/autofill/FillResponse;Ljava/lang/String;I)V HPLcom/android/server/autofill/Session;->requestNewFillResponseLocked(Lcom/android/server/autofill/ViewState;II)V +HPLcom/android/server/autofill/Session;->triggerAugmentedAutofillLocked(I)Ljava/lang/Runnable; 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/autofill/ViewState;-><init>(Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState$Listener;I)V +HPLcom/android/server/autofill/ViewState;->getCurrentValue()Landroid/view/autofill/AutofillValue; +HPLcom/android/server/autofill/ViewState;->setState(I)V +HPLcom/android/server/autofill/ui/AutoFillUI$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V +HPLcom/android/server/autofill/ui/AutoFillUI;->filterFillUi(Ljava/lang/String;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V +HPLcom/android/server/autofill/ui/AutoFillUI;->setCallback(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V +HPLcom/android/server/autofill/ui/InlineFillUi;-><init>(Landroid/view/autofill/AutofillId;)V +HPLcom/android/server/autofill/ui/InlineFillUi;->getInlineSuggestionsResponse()Landroid/view/inputmethod/InlineSuggestionsResponse; +HPLcom/android/server/backup/BackupAndRestoreFeatureFlags;->getBackupTransportFutureTimeoutMillis()J HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupIntervalMilliseconds()J HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequireCharging()Z HPLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequiredNetworkType()I @@ -2898,11 +3108,12 @@ HPLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/Stri 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+]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;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService;+]Lcom/android/server/backup/BackupManagerService;Lcom/android/server/backup/BackupManagerService;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/backup/BackupManagerService;->isUserReadyForBackup(I)Z+]Lcom/android/server/backup/BackupManagerService;Lcom/android/server/backup/BackupManagerService;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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/KeyValueBackupJob;->schedule(ILandroid/content/Context;Lcom/android/server/backup/UserBackupManagerService;)V +HPLcom/android/server/backup/PackageManagerBackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)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; @@ -2915,7 +3126,6 @@ HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->acquire() 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; -HPLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List; HPLcom/android/server/backup/UserBackupManagerService;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z HPLcom/android/server/backup/UserBackupManagerService;->bindToAgentSynchronous(Landroid/content/pm/ApplicationInfo;II)Landroid/app/IBackupAgent; HPLcom/android/server/backup/UserBackupManagerService;->dataChanged(Ljava/lang/String;)V @@ -2934,7 +3144,6 @@ HPLcom/android/server/backup/internal/LifecycleOperationStorage;->registerOperat 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 @@ -2942,7 +3151,7 @@ HPLcom/android/server/backup/transport/BackupTransportClient$TransportStatusCall 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/BackupTransportClient;->sendBackupData(I)I+]Lcom/android/server/backup/transport/TransportStatusCallback;Lcom/android/server/backup/transport/TransportStatusCallback;]Lcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;Lcom/android/server/backup/transport/BackupTransportClient$TransportStatusCallbackPool;]Lcom/android/internal/backup/IBackupTransport;Lcom/android/internal/backup/IBackupTransport$Stub$Proxy; 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 @@ -2955,7 +3164,7 @@ 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 +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;->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; @@ -2967,41 +3176,76 @@ HPLcom/android/server/backup/transport/TransportStats$Stats;->register(J)V 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/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;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;)Z 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 +HPLcom/android/server/biometrics/AuthService$AuthServiceImpl;->getAuthenticatorIds(I)[J HSPLcom/android/server/biometrics/BiometricSensor;->toString()Ljava/lang/String; +HPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->canAuthenticate(Ljava/lang/String;III)I HPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->getAuthenticatorIds(I)[J +HPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->getCurrentStrength(I)I +HPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->resetLockoutTimeBound(Landroid/os/IBinder;Ljava/lang/String;II[B)V 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/PreAuthInfo;->getStatusForBiometricAuthenticator(Landroid/app/admin/DevicePolicyManager;Lcom/android/server/biometrics/BiometricService$SettingObserver;Lcom/android/server/biometrics/BiometricSensor;ILjava/lang/String;ZILjava/util/List;ZLcom/android/server/biometrics/BiometricCameraManager;)I +HPLcom/android/server/biometrics/Utils;->isDebugEnabled(Landroid/content/Context;I)Z HPLcom/android/server/biometrics/Utils;->isKeyguard(Landroid/content/Context;Ljava/lang/String;)Z +HPLcom/android/server/biometrics/log/ALSProbe;-><init>(Landroid/hardware/SensorManager;Landroid/os/Handler;J)V HPLcom/android/server/biometrics/log/ALSProbe;->disableLightSensorLoggingLocked(Z)V HPLcom/android/server/biometrics/log/ALSProbe;->enableLightSensorLoggingLocked()V +HPLcom/android/server/biometrics/log/ALSProbe;->onNext(F)V +HPLcom/android/server/biometrics/log/ALSProbe;->resetTimerLocked(Z)V +HPLcom/android/server/biometrics/log/BiometricContextProvider$2;->onDisplayStateChanged(I)V +HPLcom/android/server/biometrics/log/BiometricContextProvider;->getCurrentRotation()I HPLcom/android/server/biometrics/log/BiometricContextProvider;->getKeyguardEntrySessionInfo()Lcom/android/server/biometrics/log/BiometricContextSessionInfo; +HPLcom/android/server/biometrics/log/BiometricContextProvider;->isDisplayOn()Z +HPLcom/android/server/biometrics/log/BiometricContextSessionInfo;->getId()I HPLcom/android/server/biometrics/log/BiometricFrameworkStatsLogger;->acquired(Lcom/android/server/biometrics/log/OperationContextExt;IIIZIII)V +HPLcom/android/server/biometrics/log/BiometricFrameworkStatsLogger;->toProtoWakeReasonDetails(Lcom/android/server/biometrics/log/OperationContextExt;)[I HPLcom/android/server/biometrics/log/BiometricLogger;->logOnAcquired(Landroid/content/Context;Lcom/android/server/biometrics/log/OperationContextExt;III)V +HPLcom/android/server/biometrics/log/BiometricLogger;->logOnAuthenticated(Landroid/content/Context;Lcom/android/server/biometrics/log/OperationContextExt;ZZIZ)V +HPLcom/android/server/biometrics/log/BiometricLogger;->shouldSkipLogging()Z 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 +HSPLcom/android/server/biometrics/sensors/AuthResultCoordinator;-><init>()V HPLcom/android/server/biometrics/sensors/AuthResultCoordinator;->updateState(ILjava/util/function/IntFunction;)V +HPLcom/android/server/biometrics/sensors/AuthSessionCoordinator$RingBuffer;->addApiCall(Ljava/lang/String;)V +HPLcom/android/server/biometrics/sensors/AuthSessionCoordinator;->authEndedFor(IIIJZ)V +HPLcom/android/server/biometrics/sensors/AuthSessionCoordinator;->authStartedFor(IIJ)V HPLcom/android/server/biometrics/sensors/AuthSessionCoordinator;->endAuthSession()V +HPLcom/android/server/biometrics/sensors/AuthenticationClient;-><init>(Landroid/content/Context;Ljava/util/function/Supplier;Landroid/os/IBinder;Lcom/android/server/biometrics/sensors/ClientMonitorCallbackConverter;JZLandroid/hardware/biometrics/AuthenticateOptions;IZLcom/android/server/biometrics/log/BiometricLogger;Lcom/android/server/biometrics/log/BiometricContext;ZLandroid/app/TaskStackListener;Lcom/android/server/biometrics/sensors/LockoutTracker;ZZI)V HPLcom/android/server/biometrics/sensors/AuthenticationClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)V +HPLcom/android/server/biometrics/sensors/AuthenticationClient;->start(Lcom/android/server/biometrics/sensors/ClientMonitorCallback;)V +HPLcom/android/server/biometrics/sensors/BaseClientMonitor;-><init>(Landroid/content/Context;Landroid/os/IBinder;Lcom/android/server/biometrics/sensors/ClientMonitorCallbackConverter;ILjava/lang/String;IILcom/android/server/biometrics/log/BiometricLogger;Lcom/android/server/biometrics/log/BiometricContext;)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/BiometricSchedulerOperation$1;->onClientFinished(Lcom/android/server/biometrics/sensors/BaseClientMonitor;Z)V +HPLcom/android/server/biometrics/sensors/BiometricSchedulerOperation;->doStart(Lcom/android/server/biometrics/sensors/ClientMonitorCallback;)Z +HPLcom/android/server/biometrics/sensors/BiometricSchedulerOperation;->toString()Ljava/lang/String; HPLcom/android/server/biometrics/sensors/BiometricServiceRegistry;->getProviderForSensor(I)Lcom/android/server/biometrics/sensors/BiometricServiceProvider; HPLcom/android/server/biometrics/sensors/BiometricServiceRegistry;->getSingleProvider()Landroid/util/Pair; +HPLcom/android/server/biometrics/sensors/BiometricStateCallback;->onClientStarted(Lcom/android/server/biometrics/sensors/BaseClientMonitor;)V HSPLcom/android/server/biometrics/sensors/BiometricUserState;->getBiometrics()Ljava/util/List; +HPLcom/android/server/biometrics/sensors/HalClientMonitor;->getOperationContext()Lcom/android/server/biometrics/log/OperationContextExt; +HPLcom/android/server/biometrics/sensors/MultiBiometricLockoutState;->clearPermanentLockOut(II)V +HPLcom/android/server/biometrics/sensors/MultiBiometricLockoutState;->clearTimedLockout(II)V +HPLcom/android/server/biometrics/sensors/MultiBiometricLockoutState;->getAuthMapForUser(I)Ljava/util/Map; +HPLcom/android/server/biometrics/sensors/MultiBiometricLockoutState;->getLockoutState(II)I HPLcom/android/server/biometrics/sensors/SensorList;->contains(I)Z +HPLcom/android/server/biometrics/sensors/SensorList;->get(I)Ljava/lang/Object; +HPLcom/android/server/biometrics/sensors/UserAwareBiometricScheduler;->getTag()Ljava/lang/String; +HPLcom/android/server/biometrics/sensors/UserAwareBiometricScheduler;->startNextOperationIfIdle()V 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;->hasEnrolledFingerprints(IILjava/lang/String;)Z 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 +HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintService;->-$$Nest$fgetmRegistry(Lcom/android/server/biometrics/sensors/fingerprint/FingerprintService;)Lcom/android/server/biometrics/sensors/fingerprint/FingerprintServiceRegistry; 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; @@ -3009,47 +3253,120 @@ HSPLcom/android/server/biometrics/sensors/fingerprint/FingerprintUtils;->getBiom 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/FingerprintAuthenticationClient;->lambda$doAuthenticate$1(Lcom/android/server/biometrics/sensors/fingerprint/aidl/AidlSession;Landroid/hardware/biometrics/common/OperationContext;)V +HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintAuthenticationClient;->onAcquired(II)V HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->containsSensor(I)Z +HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->getAuthenticatorId(II)J HSPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->getEnrolledFingerprints(II)Ljava/util/List; +HSPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->getTag()Ljava/lang/String; HPLcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider;->hasHalInstance()Z +HSPLcom/android/server/blob/BlobAccessMode;-><init>()V +HPLcom/android/server/blob/BlobAccessMode;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; +HPLcom/android/server/blob/BlobMetadata$Accessor;->equals(Ljava/lang/Object;)Z +HPLcom/android/server/blob/BlobMetadata$Accessor;->equals(Ljava/lang/String;I)Z +HSPLcom/android/server/blob/BlobMetadata$Accessor;->hashCode()I 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;-><init>(Landroid/content/Context;Ljava/lang/String;IILjava/lang/CharSequence;J)V +HPLcom/android/server/blob/BlobMetadata$Leasee;->isStillValid()Z 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;->addOrReplaceLeasee(Ljava/lang/String;IILjava/lang/CharSequence;J)V +HSPLcom/android/server/blob/BlobMetadata;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/Context;)Lcom/android/server/blob/BlobMetadata; +HPLcom/android/server/blob/BlobMetadata;->dump(Landroid/util/IndentingPrintWriter;Lcom/android/server/blob/BlobStoreManagerService$DumpArgs;)V +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;->getBlobFile()Ljava/io/File; +HPLcom/android/server/blob/BlobMetadata;->getExistingCommitter(Ljava/lang/String;I)Lcom/android/server/blob/BlobMetadata$Committer; +HPLcom/android/server/blob/BlobMetadata;->getSize()J+]Ljava/io/File;Ljava/io/File;]Lcom/android/server/blob/BlobMetadata;Lcom/android/server/blob/BlobMetadata; +HPLcom/android/server/blob/BlobMetadata;->isACommitter(Ljava/lang/String;I)Z 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;->isAccessAllowedForCaller(Ljava/lang/String;I)Z +HPLcom/android/server/blob/BlobMetadata;->isAnAccessor(Landroid/util/ArraySet;Ljava/lang/String;II)Z HPLcom/android/server/blob/BlobMetadata;->shouldAttributeToLeasee(IZ)Z+]Lcom/android/server/blob/BlobMetadata;Lcom/android/server/blob/BlobMetadata; +HPLcom/android/server/blob/BlobMetadata;->shouldAttributeToLeasee(Ljava/lang/String;IZ)Z +HPLcom/android/server/blob/BlobMetadata;->shouldAttributeToUser(I)Z+]Landroid/util/ArraySet;Landroid/util/ArraySet; 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/BlobStoreConfig;->getAppDataBytesLimit()J +HPLcom/android/server/blob/BlobStoreConfig;->getBlobFile(Ljava/io/File;J)Ljava/io/File; +HSPLcom/android/server/blob/BlobStoreConfig;->getBlobStoreRootDir()Ljava/io/File; HPLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V +HPLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda21;->accept(Ljava/lang/Object;)V +HPLcom/android/server/blob/BlobStoreManagerService$$ExternalSyntheticLambda9;->accept(Ljava/lang/Object;)V +HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter$$ExternalSyntheticLambda3;->accept(Ljava/lang/Object;)V +HPLcom/android/server/blob/BlobStoreManagerService$BlobStorageStatsAugmenter$$ExternalSyntheticLambda5;->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$BlobStorageStatsAugmenter;->lambda$augmentStatsForPackageForUser$1(Ljava/lang/String;Landroid/os/UserHandle;ZLjava/util/concurrent/atomic/AtomicLong;Lcom/android/server/blob/BlobMetadata;)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$BlobStorageStatsAugmenter;->lambda$augmentStatsForUser$5(Landroid/os/UserHandle;Ljava/util/concurrent/atomic/AtomicLong;Lcom/android/server/blob/BlobMetadata;)V +HPLcom/android/server/blob/BlobStoreManagerService$SessionStateChangeListener;->onStateChanged(Lcom/android/server/blob/BlobStoreSession;)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$Stub;->createSession(Landroid/app/blob/BlobHandle;Ljava/lang/String;)J +HPLcom/android/server/blob/BlobStoreManagerService$Stub;->openSession(JLjava/lang/String;)Landroid/app/blob/IBlobStoreSession; +HPLcom/android/server/blob/BlobStoreManagerService;->acquireLeaseInternal(Landroid/app/blob/BlobHandle;ILjava/lang/CharSequence;JILjava/lang/String;)V +HSPLcom/android/server/blob/BlobStoreManagerService;->addActiveBlobIdLocked(J)V +HPLcom/android/server/blob/BlobStoreManagerService;->createSessionInternal(Landroid/app/blob/BlobHandle;ILjava/lang/String;)J 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;->generateNextSessionIdLocked()J +HPLcom/android/server/blob/BlobStoreManagerService;->getCommittedBlobsCountLocked(ILjava/lang/String;)I +HPLcom/android/server/blob/BlobStoreManagerService;->getLeasedBlobsCountLocked(ILjava/lang/String;)I +HPLcom/android/server/blob/BlobStoreManagerService;->getSessionsCountLocked(ILjava/lang/String;)I +HPLcom/android/server/blob/BlobStoreManagerService;->getTotalUsageBytesLocked(ILjava/lang/String;)J HPLcom/android/server/blob/BlobStoreManagerService;->getUserSessionsLocked(I)Landroid/util/LongSparseArray; +HPLcom/android/server/blob/BlobStoreManagerService;->isAllowedBlobStoreAccess(ILjava/lang/String;)Z +HPLcom/android/server/blob/BlobStoreManagerService;->lambda$getCommittedBlobsCountLocked$1(Ljava/lang/String;ILjava/util/concurrent/atomic/AtomicInteger;Lcom/android/server/blob/BlobMetadata;)V +HPLcom/android/server/blob/BlobStoreManagerService;->lambda$getLeasedBlobsCountLocked$2(Ljava/lang/String;ILjava/util/concurrent/atomic/AtomicInteger;Lcom/android/server/blob/BlobMetadata;)V +HPLcom/android/server/blob/BlobStoreManagerService;->lambda$getTotalUsageBytesLocked$3(Ljava/lang/String;ILjava/util/concurrent/atomic/AtomicLong;Lcom/android/server/blob/BlobMetadata;)V+]Lcom/android/server/blob/BlobMetadata;Lcom/android/server/blob/BlobMetadata;]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; HPLcom/android/server/blob/BlobStoreManagerService;->onStateChangedInternal(Lcom/android/server/blob/BlobStoreSession;)V +HPLcom/android/server/blob/BlobStoreManagerService;->openSessionInternal(JILjava/lang/String;)Lcom/android/server/blob/BlobStoreSession; +HPLcom/android/server/blob/BlobStoreManagerService;->verifyCallingPackage(ILjava/lang/String;)V +HPLcom/android/server/blob/BlobStoreManagerService;->writeBlobSessionsAsync()V HPLcom/android/server/blob/BlobStoreManagerService;->writeBlobSessionsLocked()V +HPLcom/android/server/blob/BlobStoreManagerService;->writeBlobsInfoAsync()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;->assertCallerIsOwner()V +HPLcom/android/server/blob/BlobStoreSession;->closeSession(IZ)V +HPLcom/android/server/blob/BlobStoreSession;->getSessionFile()Ljava/io/File; +HPLcom/android/server/blob/BlobStoreSession;->openWrite(JJ)Landroid/os/ParcelFileDescriptor; +HPLcom/android/server/blob/BlobStoreSession;->openWriteInternal(JJ)Ljava/io/FileDescriptor; +HPLcom/android/server/blob/BlobStoreSession;->revokeAllFds()V +HPLcom/android/server/blob/BlobStoreSession;->trackRevocableFdLocked(Landroid/os/RevocableFileDescriptor;)V HPLcom/android/server/blob/BlobStoreSession;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V +HPLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;Ljava/lang/String;II)V +HPLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->getPrimaryClip(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/ClipData; +HPLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->getPrimaryClipDescription(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/ClipDescription; +HPLcom/android/server/clipboard/ClipboardService;->addActiveOwnerLocked(IILjava/lang/String;)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;->getIntendingUserId(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$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z +HPLcom/android/server/companion/AssociationStoreImpl;->getAssociationsByAddress(Ljava/lang/String;)Ljava/util/List; 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/AssociationStoreImpl;->getAssociationsForUserLocked(I)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/companion/AssociationInfo;Landroid/companion/AssociationInfo;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator; +HPLcom/android/server/companion/AssociationStoreImpl;->lambda$getAssociationsForPackage$2(Ljava/lang/String;Landroid/companion/AssociationInfo;)Z 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$CompanionDeviceManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z +HPLcom/android/server/companion/CompanionDeviceManagerService;->-$$Nest$fgetmAssociationStore(Lcom/android/server/companion/CompanionDeviceManagerService;)Lcom/android/server/companion/AssociationStoreImpl; +HPLcom/android/server/companion/PackageUtils$$ExternalSyntheticLambda0;-><init>(Landroid/content/pm/PackageManager;Ljava/lang/String;Landroid/content/pm/PackageManager$PackageInfoFlags;I)V +HPLcom/android/server/companion/PackageUtils$$ExternalSyntheticLambda0;->getOrThrow()Ljava/lang/Object; +HPLcom/android/server/companion/PackageUtils;->enforceUsesCompanionDeviceFeature(Landroid/content/Context;ILjava/lang/String;)V +HPLcom/android/server/companion/PackageUtils;->getPackageInfo(Landroid/content/Context;ILjava/lang/String;)Landroid/content/pm/PackageInfo; +HPLcom/android/server/companion/PermissionsUtils;->checkCallerCanManageCompanionDevice(Landroid/content/Context;)Z HPLcom/android/server/companion/PermissionsUtils;->checkCallerIsSystemOr(ILjava/lang/String;)Z +HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$2;->onInterceptActivityLaunch(Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo;)Lcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptResult; 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 +HPLcom/android/server/companion/virtual/VirtualDeviceManagerService$PendingTrampolineMap;->remove(Ljava/lang/String;)Lcom/android/server/companion/virtual/VirtualDeviceImpl$PendingTrampoline; +HSPLcom/android/server/companion/virtual/VirtualDeviceManagerService;->-$$Nest$fgetmVirtualDeviceManagerLock(Lcom/android/server/companion/virtual/VirtualDeviceManagerService;)Ljava/lang/Object; 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 @@ -3057,8 +3374,7 @@ HSPLcom/android/server/compat/CompatChange;-><init>(Lcom/android/server/compat/c 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+]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; +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;->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; @@ -3069,7 +3385,7 @@ 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;->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;->isLoggingOnly(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 @@ -3077,10 +3393,10 @@ 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;->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;-><init>(Landroid/content/Context;)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; @@ -3117,6 +3433,8 @@ HSPLcom/android/server/compat/config/XmlParser;->readText(Lorg/xmlpull/v1/XmlPul HPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I HPLcom/android/server/connectivity/IpConnectivityMetrics;->append(Landroid/net/ConnectivityMetricsEvent;)I HPLcom/android/server/connectivity/IpConnectivityMetrics;->isRateLimited(Landroid/net/ConnectivityMetricsEvent;)Z +HPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getDailyNonDefaultDataUsage()J +HPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getNetworkTotalBytes(JJ)J 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 @@ -3134,10 +3452,11 @@ HPLcom/android/server/connectivity/NetdEventListenerService;->onWakeupEvent(Ljav 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 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; -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; +HSPLcom/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; 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; @@ -3158,6 +3477,7 @@ HPLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser( 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; HSPLcom/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 HPLcom/android/server/content/ContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z 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; @@ -3166,6 +3486,7 @@ HSPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/ HPLcom/android/server/content/ContentService;->hasAccountAccess(ZLandroid/accounts/Account;I)Z HPLcom/android/server/content/ContentService;->hasAuthorityAccess(Ljava/lang/String;II)Z 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; +HPLcom/android/server/content/ContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z 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 @@ -3186,6 +3507,8 @@ 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$SyncFinishedOrCancelledMessagePayload;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)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 @@ -3208,12 +3531,14 @@ HPLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net 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; 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;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine; 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;->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; 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; @@ -3221,6 +3546,8 @@ HPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/ 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; @@ -3228,6 +3555,7 @@ 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; @@ -3244,6 +3572,7 @@ HPLcom/android/server/content/SyncStorageEngine;->getDelayUntilTime(Lcom/android HPLcom/android/server/content/SyncStorageEngine;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I HPLcom/android/server/content/SyncStorageEngine;->getMasterSyncAutomatically(I)Z HSPLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo; +HPLcom/android/server/content/SyncStorageEngine;->getOrCreateSyncStatusLocked(I)Landroid/content/SyncStatusInfo; HPLcom/android/server/content/SyncStorageEngine;->getSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;)Z HPLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;J)J HPLcom/android/server/content/SyncStorageEngine;->markPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;Z)V @@ -3258,12 +3587,15 @@ HSPLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptur HPLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->shareData(Landroid/view/contentcapture/DataShareRequest;Landroid/view/contentcapture/IDataShareWriteAdapter;)V HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->accept(Landroid/service/contentcapture/IDataShareReadAdapter;)V 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 +HPLcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;->lambda$accept$0(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/service/contentcapture/IDataShareReadAdapter;)V+]Landroid/service/contentcapture/IDataShareReadAdapter;Landroid/service/contentcapture/IDataShareReadAdapter$Stub$Proxy;]Lcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;Lcom/android/server/contentcapture/ContentCaptureManagerService$DataShareCallbackDelegate;]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;]Landroid/view/contentcapture/IDataShareWriteAdapter;Landroid/view/contentcapture/IDataShareWriteAdapter$Stub$Proxy;]Ljava/io/InputStream;Landroid/os/ParcelFileDescriptor$AutoCloseInputStream;]Landroid/view/contentcapture/DataShareRequest;Landroid/view/contentcapture/DataShareRequest;]Ljava/io/OutputStream;Landroid/os/ParcelFileDescriptor$AutoCloseOutputStream;]Ljava/util/Set;Ljava/util/HashSet; HSPLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->getOptions(ILjava/lang/String;)Landroid/content/ContentCaptureOptions; +HSPLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->isContentCaptureReceiverEnabled(ILjava/lang/String;)Z 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/ContentCaptureManagerService;->access$2100(Lcom/android/server/contentcapture/ContentCaptureManagerService;)Ljava/lang/Object; +HPLcom/android/server/contentcapture/ContentCaptureManagerService;->access$2200(Lcom/android/server/contentcapture/ContentCaptureManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService; +HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->access$2500(Lcom/android/server/contentcapture/ContentCaptureManagerService;)Ljava/lang/Object; 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 @@ -3275,7 +3607,6 @@ HPLcom/android/server/contentcapture/RemoteContentCaptureService;->onActivityLif 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 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; @@ -3314,7 +3645,8 @@ 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;->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;->hasParentActiveAdmin()Z +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/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/ArrayList$Itr; 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 @@ -3331,17 +3663,20 @@ HSPLcom/android/server/devicepolicy/DeviceManagementResourcesProvider;->getStrin 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 +HPLcom/android/server/devicepolicy/DevicePolicyEngine$$ExternalSyntheticLambda0;->runOrThrow()V 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+]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;->hasLocalPolicyLocked(Lcom/android/server/devicepolicy/PolicyDefinition;I)Z 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;->write()V 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$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V @@ -3351,18 +3686,20 @@ HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binder HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderWithCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderWithCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object; HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getAppOpsManager()Landroid/app/AppOpsManager; -HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;+]Landroid/content/Context;Landroid/app/ContextImpl; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager; 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;->-$$Nest$fgetmPolicyCache(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl; 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;->canQueryAdminPolicy(Lcom/android/server/devicepolicy/CallerIdentity;)Z HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkAdminCanSetRestriction(Lcom/android/server/devicepolicy/CallerIdentity;ZLjava/lang/String;)V HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)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; @@ -3371,10 +3708,11 @@ HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCallerIdenti 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;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List; -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;->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;]Landroid/app/admin/DeviceAdminInfo;Landroid/app/admin/DeviceAdminInfo;]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;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence; 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; 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; @@ -3382,10 +3720,11 @@ HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject() 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; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationNameForUser(I)Ljava/lang/CharSequence; 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;]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; +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; 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; @@ -3404,17 +3743,19 @@ HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFullCrossUse 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;->isDefaultDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners; 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;->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;->isFinancedDeviceOwner(Lcom/android/server/devicepolicy/CallerIdentity;)Z+]Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService;]Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners; +HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(I)Z 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(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; +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; 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; @@ -3423,12 +3764,12 @@ 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/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$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;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; 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;+]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; -HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isProfileOwner$70(Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/ComponentName; +HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isProfileOwner$70(Lcom/android/server/devicepolicy/CallerIdentity;)Landroid/content/ComponentName;+]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;->lambda$isSeparateProfileChallengeEnabled$21(I)Ljava/lang/Boolean; 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; @@ -3437,12 +3778,14 @@ HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotif 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;->setLocalUserRestrictionInternal(Lcom/android/server/devicepolicy/EnforcingAdmin;Ljava/lang/String;ZI)V HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ZZ)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+]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; @@ -3452,6 +3795,8 @@ HSPLcom/android/server/devicepolicy/Owners;->isProfileOwnerOfOrganizationOwnedDe HPLcom/android/server/devicepolicy/PolicyDefinition;->getPolicyDefinitionForUserRestriction(Ljava/lang/String;)Lcom/android/server/devicepolicy/PolicyDefinition; HPLcom/android/server/devicepolicy/PolicyDefinition;->savePolicyValueToXml(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/lang/Object;)V 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/devicestate/DeviceStateManagerService$1;->onForegroundActivitiesChanged(IIZ)V +HPLcom/android/server/devicestate/DeviceStateManagerService;->shouldCancelOverrideRequestWhenRequesterNotOnTop()Z 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; @@ -3461,9 +3806,9 @@ HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocal HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->reset()V 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$Timer;->totalDurationSec()F 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; +HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0()J 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 @@ -3476,6 +3821,7 @@ HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuff HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->size()I HPLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;->handleMessage(Landroid/os/Message;)V HPLcom/android/server/display/AutomaticBrightnessController$Injector$$ExternalSyntheticLambda0;->uptimeMillis()J +HPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;->onTaskStackChanged()V HPLcom/android/server/display/AutomaticBrightnessController;->-$$Nest$fgetmClock(Lcom/android/server/display/AutomaticBrightnessController;)Lcom/android/server/display/AutomaticBrightnessController$Clock; HPLcom/android/server/display/AutomaticBrightnessController;->-$$Nest$fgetmLightSensorEnabled(Lcom/android/server/display/AutomaticBrightnessController;)Z HPLcom/android/server/display/AutomaticBrightnessController;->-$$Nest$mhandleLightSensorEvent(Lcom/android/server/display/AutomaticBrightnessController;JF)V @@ -3486,26 +3832,31 @@ HPLcom/android/server/display/AutomaticBrightnessController;->calculateWeight(JJ 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 +HSPLcom/android/server/display/AutomaticBrightnessController;->getAmbientLux()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;->getLastSensorValues()[F 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 +HSPLcom/android/server/display/AutomaticBrightnessController;->isInIdleMode()Z+]Lcom/android/server/display/BrightnessMappingStrategy;Lcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy; 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()V 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 +HPLcom/android/server/display/AutomaticBrightnessController;->updateForegroundApp()V +HPLcom/android/server/display/AutomaticBrightnessController;->updateForegroundAppSync()V 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 +HPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isDefaultConfig()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 @@ -3517,27 +3868,39 @@ 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 +HPLcom/android/server/display/BrightnessSetting$1;->handleMessage(Landroid/os/Message;)V HSPLcom/android/server/display/BrightnessSetting;->getBrightness()F +HPLcom/android/server/display/BrightnessSetting;->notifyListeners(F)V +HSPLcom/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 +HSPLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J 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 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; +HSPLcom/android/server/display/BrightnessTracker;->-$$Nest$mrecordAmbientBrightnessStats(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V 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/BrightnessTracker;->startSensorListener()V +HSPLcom/android/server/display/BrightnessTracker;->stopSensorListener()V HPLcom/android/server/display/BrightnessUtils;->convertGammaToLinear(F)F +HPLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->onDisplayTransaction(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/display/ColorFade;->attachEglContext()Z HPLcom/android/server/display/ColorFade;->createSurfaceControl(Z)Z +HPLcom/android/server/display/ColorFade;->destroySurface()V HPLcom/android/server/display/ColorFade;->detachEglContext()V -HPLcom/android/server/display/ColorFade;->draw(F)Z +HSPLcom/android/server/display/ColorFade;->dismissResources()V +HPLcom/android/server/display/ColorFade;->draw(F)Z+]Lcom/android/server/display/ColorFade;Lcom/android/server/display/ColorFade; HPLcom/android/server/display/ColorFade;->drawFaded(FF)V +HPLcom/android/server/display/ColorFade;->initGLBuffers()Z HPLcom/android/server/display/ColorFade;->initGLShaders(Landroid/content/Context;)Z +HPLcom/android/server/display/ColorFade;->prepare(Landroid/content/Context;I)Z HPLcom/android/server/display/ColorFade;->setScreenshotTextureAndSetViewport(Landroid/window/ScreenCapture$ScreenshotHardwareBuffer;I)Z +HPLcom/android/server/display/ColorFade;->showSurface(F)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 @@ -3552,7 +3915,6 @@ HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;-><init> HSPLcom/android/server/display/DisplayAdapter$$ExternalSyntheticLambda1;->run()V HSPLcom/android/server/display/DisplayAdapter;-><clinit>()V HSPLcom/android/server/display/DisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Ljava/lang/String;)V -HSPLcom/android/server/display/DisplayAdapter;->createMode(IIF[F[I)Landroid/view/Display$Mode; HSPLcom/android/server/display/DisplayAdapter;->getContext()Landroid/content/Context; HSPLcom/android/server/display/DisplayAdapter;->getHandler()Landroid/os/Handler; HSPLcom/android/server/display/DisplayAdapter;->lambda$sendDisplayDeviceEventLocked$0(Lcom/android/server/display/DisplayDevice;I)V @@ -3573,6 +3935,8 @@ HSPLcom/android/server/display/DisplayBrightnessState$Builder;->setBrightness(F) 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$Builder;->setShouldUseAutoBrightness(Z)Lcom/android/server/display/DisplayBrightnessState$Builder; HSPLcom/android/server/display/DisplayBrightnessState;-><init>(Lcom/android/server/display/DisplayBrightnessState$Builder;)V+]Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState$Builder; HSPLcom/android/server/display/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; @@ -3593,6 +3957,7 @@ HSPLcom/android/server/display/DisplayDevice;->isWindowManagerMirroringLocked()Z HSPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)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$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 @@ -3627,7 +3992,7 @@ HSPLcom/android/server/display/DisplayDeviceConfig;->getLowBlockingZoneThermalMa 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; +HSPLcom/android/server/display/DisplayDeviceConfig;->getNitsFromBacklight(F)F HSPLcom/android/server/display/DisplayDeviceConfig;->getRefreshRange(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange; HSPLcom/android/server/display/DisplayDeviceConfig;->getThermalRefreshRateThrottlingData(Ljava/lang/String;)Landroid/util/SparseArray; HSPLcom/android/server/display/DisplayDeviceConfig;->hasQuirk(Ljava/lang/String;)Z @@ -3659,6 +4024,7 @@ HSPLcom/android/server/display/DisplayDeviceConfig;->rawBacklightToNits(IF)F HSPLcom/android/server/display/DisplayDeviceConfig;->setProxSensorUnspecified()V 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(Lcom/android/server/display/DisplayDeviceInfo;)Z 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; @@ -3709,9 +4075,10 @@ 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/VirtualDisplayAdapter$VirtualDisplayDevice;,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/LocalDisplayAdapter$LocalDisplayDevice;,Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo; HSPLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V +HPLcom/android/server/display/DisplayManagerService$LocalService;->getRefreshRateForDisplayAndSensor(ILjava/lang/String;Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange; 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; @@ -3782,54 +4149,66 @@ HSPLcom/android/server/display/DisplayManagerService;->registerDefaultDisplayAda 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;]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;->sendDisplayEventLocked(Lcom/android/server/display/LogicalDisplay;I)V+]Landroid/os/Handler;Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay; HSPLcom/android/server/display/DisplayManagerService;->sendDisplayGroupEvent(II)V HSPLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)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;->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;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/mode/DisplayModeDirector;Lcom/android/server/display/mode/DisplayModeDirector;]Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService;]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; +HPLcom/android/server/display/DisplayManagerService;->systemScreenshotInternal(I)Landroid/window/ScreenCapture$ScreenshotHardwareBuffer; 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/DisplayPowerController2$$ExternalSyntheticLambda6;->run()V +HPLcom/android/server/display/DisplayPowerController2$3;->onAnimationEnd()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$ScreenOffUnblocker;->onScreenOff()V HSPLcom/android/server/display/DisplayPowerController2;->-$$Nest$mupdatePowerState(Lcom/android/server/display/DisplayPowerController2;)V HSPLcom/android/server/display/DisplayPowerController2;->animateScreenBrightness(FFF)V HSPLcom/android/server/display/DisplayPowerController2;->animateScreenStateChange(IZ)V -HSPLcom/android/server/display/DisplayPowerController2;->clampScreenBrightness(F)F +HSPLcom/android/server/display/DisplayPowerController2;->blockScreenOff()V +HPLcom/android/server/display/DisplayPowerController2;->blockScreenOn()V +HSPLcom/android/server/display/DisplayPowerController2;->clampScreenBrightness(F)F+]Lcom/android/server/display/BrightnessRangeController;Lcom/android/server/display/BrightnessRangeController; HSPLcom/android/server/display/DisplayPowerController2;->getBrightnessInfo()Landroid/hardware/display/BrightnessInfo; HSPLcom/android/server/display/DisplayPowerController2;->getScreenBrightnessSetting()F +HPLcom/android/server/display/DisplayPowerController2;->handleSettingsChange(Z)V HSPLcom/android/server/display/DisplayPowerController2;->logBrightnessEvent(Lcom/android/server/display/brightness/BrightnessEvent;F)V +HPLcom/android/server/display/DisplayPowerController2;->logDisplayPolicyChanged(I)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 +HPLcom/android/server/display/DisplayPowerController2;->reportStats(F)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;->setReportedScreenState(I)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;->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;->setProximitySensorEnabled(Z)V 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$1;->setValue(Ljava/lang/Object;F)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 +HPLcom/android/server/display/DisplayPowerState$5;->run()V+]Lcom/android/server/display/ColorFade;Lcom/android/server/display/ColorFade; HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(IFF)Z+]Ljava/lang/Object;Ljava/lang/Object; +HPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmColorFade(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/ColorFade; HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fgetmColorFadeLevel(Lcom/android/server/display/DisplayPowerState;)F 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 @@ -3839,12 +4218,14 @@ HSPLcom/android/server/display/DisplayPowerState;->-$$Nest$fputmScreenReady(Lcom 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+]Lcom/android/server/display/DisplayPowerState;Lcom/android/server/display/DisplayPowerState; HSPLcom/android/server/display/DisplayPowerState;->dismissColorFade()V +HSPLcom/android/server/display/DisplayPowerState;->dismissColorFadeResources()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+]Ljava/lang/Runnable;Lcom/android/server/display/DisplayPowerController2$$ExternalSyntheticLambda0; HSPLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/display/DisplayPowerState;->scheduleColorFadeDraw()V 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+]Lcom/android/server/display/DisplayPowerState;Lcom/android/server/display/DisplayPowerState; HSPLcom/android/server/display/DisplayPowerState;->setScreenBrightness(F)V @@ -3858,23 +4239,26 @@ HSPLcom/android/server/display/HighBrightnessModeController;->getCurrentBrightne HSPLcom/android/server/display/HighBrightnessModeController;->getHighBrightnessMode()I HSPLcom/android/server/display/HighBrightnessModeController;->getTransitionPoint()F HSPLcom/android/server/display/HighBrightnessModeController;->isCurrentlyAllowed()Z +HPLcom/android/server/display/HighBrightnessModeController;->onAmbientLuxChange(F)V 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/HighBrightnessModeMetadata;->getRunningStartTimeMillis()J HSPLcom/android/server/display/HighBrightnessModeMetadataMapper;-><init>()V 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$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$DisplayMode;)Z+]Landroid/view/Display$Mode;Landroid/view/Display$Mode; 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$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)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; @@ -3888,7 +4272,7 @@ HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><init>(L 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;->findSfDisplayModeIdLocked(II)I +HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findSfDisplayModeIdLocked(II)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord; 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; HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayModes(Landroid/util/SparseArray;)[Landroid/view/Display$Mode; @@ -3898,6 +4282,7 @@ HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getPrefe HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->loadDisplayDeviceConfig()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;->updateActiveModeLocked(IF)Z HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateAllmSupport(Z)Z HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateColorModesLocked([II)Z @@ -3933,6 +4318,7 @@ 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;->getLeadDisplayIdLocked()I HSPLcom/android/server/display/LogicalDisplay;->getMaskingInsets(Lcom/android/server/display/DisplayDeviceInfo;)Landroid/graphics/Rect; HSPLcom/android/server/display/LogicalDisplay;->getNonOverrideDisplayInfoLocked(Landroid/view/DisplayInfo;)V HSPLcom/android/server/display/LogicalDisplay;->getPrimaryDisplayDeviceLocked()Lcom/android/server/display/DisplayDevice; @@ -3949,9 +4335,9 @@ HSPLcom/android/server/display/LogicalDisplay;->setRequestedColorModeLocked(I)V HSPLcom/android/server/display/LogicalDisplay;->setThermalBrightnessThrottlingDataIdLocked(Ljava/lang/String;)V HSPLcom/android/server/display/LogicalDisplay;->swapDisplaysLocked(Lcom/android/server/display/LogicalDisplay;)V HSPLcom/android/server/display/LogicalDisplay;->updateDisplayGroupIdLocked(I)V -HSPLcom/android/server/display/LogicalDisplay;->updateFrameRateOverrides(Lcom/android/server/display/DisplayDeviceInfo;)V +HSPLcom/android/server/display/LogicalDisplay;->updateFrameRateOverrides(Lcom/android/server/display/DisplayDeviceInfo;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/Float;Ljava/lang/Float; HSPLcom/android/server/display/LogicalDisplay;->updateLayoutLimitedRefreshRateLocked(Landroid/view/SurfaceControl$RefreshRateRange;)V -HSPLcom/android/server/display/LogicalDisplay;->updateLocked(Lcom/android/server/display/DisplayDeviceRepository;)V+]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/DisplayDeviceRepository;Lcom/android/server/display/DisplayDeviceRepository;]Lcom/android/server/display/DisplayInfoProxy;Lcom/android/server/display/DisplayInfoProxy; +HSPLcom/android/server/display/LogicalDisplay;->updateLocked(Lcom/android/server/display/DisplayDeviceRepository;)V HSPLcom/android/server/display/LogicalDisplay;->updateThermalRefreshRateThrottling(Landroid/util/SparseArray;)V HSPLcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda2;-><init>()V HSPLcom/android/server/display/LogicalDisplayMapper$$ExternalSyntheticLambda3;-><init>()V @@ -3960,17 +4346,17 @@ HSPLcom/android/server/display/LogicalDisplayMapper$LogicalDisplayMapperHandler; HSPLcom/android/server/display/LogicalDisplayMapper;-><clinit>()V HSPLcom/android/server/display/LogicalDisplayMapper;->applyLayoutLocked()V HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupIdLocked(ZLjava/lang/String;ZLjava/lang/Integer;)I -HSPLcom/android/server/display/LogicalDisplayMapper;->assignDisplayGroupLocked(Lcom/android/server/display/LogicalDisplay;)V+]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;->assignDisplayGroupLocked(Lcom/android/server/display/LogicalDisplay;)V HSPLcom/android/server/display/LogicalDisplayMapper;->assignLayerStackLocked(I)I HSPLcom/android/server/display/LogicalDisplayMapper;->createNewLogicalDisplayLocked(Lcom/android/server/display/DisplayDevice;I)Lcom/android/server/display/LogicalDisplay; 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;->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;Lcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda0;,Lcom/android/server/display/DisplayManagerService$BinderService$$ExternalSyntheticLambda0;,Lcom/android/server/display/DisplayManagerService$DesiredDisplayModeSpecsObserver$$ExternalSyntheticLambda0;,Lcom/android/server/display/DisplayManagerService$$ExternalSyntheticLambda12; +HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupIdFromDisplayIdLocked(I)I HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayGroupLocked(I)Lcom/android/server/display/DisplayGroup;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayIdsLocked(IZ)[I+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(I)Lcom/android/server/display/LogicalDisplay;+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(IZ)Lcom/android/server/display/LogicalDisplay;+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay; +HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;+]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper; HSPLcom/android/server/display/LogicalDisplayMapper;->getDisplayLocked(Lcom/android/server/display/DisplayDevice;Z)Lcom/android/server/display/LogicalDisplay;+]Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/LogicalDisplay;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/display/LogicalDisplayMapper;->handleDisplayDeviceAddedLocked(Lcom/android/server/display/DisplayDevice;)V HSPLcom/android/server/display/LogicalDisplayMapper;->initializeDefaultDisplayDeviceLocked(Lcom/android/server/display/DisplayDevice;)V @@ -3978,12 +4364,12 @@ 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;->sendUpdatesForDisplaysLocked(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/display/LogicalDisplayMapper;Lcom/android/server/display/LogicalDisplayMapper;]Lcom/android/server/display/LogicalDisplayMapper$Listener;Lcom/android/server/display/DisplayManagerService$LogicalDisplayListener;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/display/LogicalDisplayMapper;->sendUpdatesForGroupsLocked(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; 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/LogicalDisplayMapper;->updateLogicalDisplaysLocked(I)V+]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 @@ -3996,6 +4382,7 @@ HSPLcom/android/server/display/PersistentDataStore$DisplayState;->getResolution( 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 +HPLcom/android/server/display/PersistentDataStore$DisplayState;->setBrightness(FI)Z HSPLcom/android/server/display/PersistentDataStore$Injector;-><init>()V HSPLcom/android/server/display/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream; HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->-$$Nest$mgetDisplaySize(Lcom/android/server/display/PersistentDataStore$StableDeviceValues;)Landroid/graphics/Point; @@ -4004,6 +4391,7 @@ HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>(L HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->getDisplaySize()Landroid/graphics/Point; HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadIntValue(Lcom/android/modules/utils/TypedXmlPullParser;)I +HPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/server/display/PersistentDataStore;-><init>()V HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;)V HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;Landroid/os/Handler;)V @@ -4013,20 +4401,26 @@ HSPLcom/android/server/display/PersistentDataStore;->getDisplayState(Ljava/lang/ HSPLcom/android/server/display/PersistentDataStore;->getStableDisplaySize()Landroid/graphics/Point; HSPLcom/android/server/display/PersistentDataStore;->getUserPreferredRefreshRate(Lcom/android/server/display/DisplayDevice;)F HSPLcom/android/server/display/PersistentDataStore;->getUserPreferredResolution(Lcom/android/server/display/DisplayDevice;)Landroid/graphics/Point; +HPLcom/android/server/display/PersistentDataStore;->lambda$save$0(Ljava/io/ByteArrayOutputStream;)V HSPLcom/android/server/display/PersistentDataStore;->load()V HSPLcom/android/server/display/PersistentDataStore;->loadDisplaysFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/display/PersistentDataStore;->loadFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V HSPLcom/android/server/display/PersistentDataStore;->loadIfNeeded()V HSPLcom/android/server/display/PersistentDataStore;->loadRememberedWifiDisplaysFromXml(Lcom/android/modules/utils/TypedXmlPullParser;)V +HPLcom/android/server/display/PersistentDataStore;->save()V HSPLcom/android/server/display/PersistentDataStore;->saveIfNeeded()V HPLcom/android/server/display/PersistentDataStore;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V +HPLcom/android/server/display/PersistentDataStore;->setBrightness(Lcom/android/server/display/DisplayDevice;FI)Z HPLcom/android/server/display/RampAnimator$DualRampAnimator$1;->run()V+]Lcom/android/server/display/RampAnimator$Listener;Lcom/android/server/display/DisplayPowerController2$3;]Lcom/android/server/display/RampAnimator;Lcom/android/server/display/RampAnimator;]Lcom/android/server/display/RampAnimator$DualRampAnimator;Lcom/android/server/display/RampAnimator$DualRampAnimator;]Landroid/view/Choreographer;Landroid/view/Choreographer; +HPLcom/android/server/display/RampAnimator$DualRampAnimator;->-$$Nest$fgetmChoreographer(Lcom/android/server/display/RampAnimator$DualRampAnimator;)Landroid/view/Choreographer; +HPLcom/android/server/display/RampAnimator$DualRampAnimator;->-$$Nest$fgetmFirst(Lcom/android/server/display/RampAnimator$DualRampAnimator;)Lcom/android/server/display/RampAnimator; +HPLcom/android/server/display/RampAnimator$DualRampAnimator;->-$$Nest$fgetmSecond(Lcom/android/server/display/RampAnimator$DualRampAnimator;)Lcom/android/server/display/RampAnimator; +HPLcom/android/server/display/RampAnimator$DualRampAnimator;->-$$Nest$mpostAnimationCallback(Lcom/android/server/display/RampAnimator$DualRampAnimator;)V HSPLcom/android/server/display/RampAnimator$DualRampAnimator;->isAnimating()Z+]Lcom/android/server/display/RampAnimator;Lcom/android/server/display/RampAnimator; HPLcom/android/server/display/RampAnimator$DualRampAnimator;->postAnimationCallback()V 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;->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 @@ -4042,20 +4436,29 @@ HSPLcom/android/server/display/brightness/BrightnessEvent;-><init>(Lcom/android/ 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;->getDisplayId()I HSPLcom/android/server/display/brightness/BrightnessEvent;->getFlags()I HSPLcom/android/server/display/brightness/BrightnessEvent;->getHbmMode()I +HSPLcom/android/server/display/brightness/BrightnessEvent;->getPhysicalDisplayId()Ljava/lang/String; HSPLcom/android/server/display/brightness/BrightnessEvent;->getPowerFactor()F +HSPLcom/android/server/display/brightness/BrightnessEvent;->getPreThresholdBrightness()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;->setDisplayBrightnessStrategyName(Ljava/lang/String;)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setFlags(I)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setHbmMax(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;->setTime(J)V +HSPLcom/android/server/display/brightness/BrightnessEvent;->setWasShortTermModelActive(Z)Z HSPLcom/android/server/display/brightness/BrightnessEvent;->toString(Z)Ljava/lang/String; +HSPLcom/android/server/display/brightness/BrightnessEvent;->wasShortTermModelActive()Z 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 @@ -4076,25 +4479,34 @@ HSPLcom/android/server/display/brightness/DisplayBrightnessController;->getCurre HSPLcom/android/server/display/brightness/DisplayBrightnessController;->getLastUserSetScreenBrightness()F HSPLcom/android/server/display/brightness/DisplayBrightnessController;->getScreenBrightnessSetting()F HSPLcom/android/server/display/brightness/DisplayBrightnessController;->isAllowAutoBrightnessWhileDozingConfig()Z +HPLcom/android/server/display/brightness/DisplayBrightnessController;->setBrightness(FI)V HSPLcom/android/server/display/brightness/DisplayBrightnessController;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;I)Lcom/android/server/display/DisplayBrightnessState; +HPLcom/android/server/display/brightness/DisplayBrightnessController;->updateScreenBrightnessSetting(F)V 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;->clamp(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;FZ)Lcom/android/server/display/DisplayBrightnessState;+]Lcom/android/server/display/brightness/clamper/BrightnessModifier;Lcom/android/server/display/brightness/clamper/BrightnessLowPowerModeModifier;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/display/DisplayBrightnessState$Builder;Lcom/android/server/display/DisplayBrightnessState$Builder; 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;->getAutoBrightnessAdjustmentChanged()Z 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;->isTemporaryAutoBrightnessAdjustmentApplied()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 +HPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->updatePendingAutoBrightnessAdjustments(Z)V HSPLcom/android/server/display/brightness/strategy/AutomaticBrightnessStrategy;->updateTemporaryAutoBrightnessAdjustments()F HSPLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->getName()Ljava/lang/String; -HPLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I +HPLcom/android/server/display/brightness/strategy/InvalidBrightnessStrategy;->updateBrightness(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Lcom/android/server/display/DisplayBrightnessState; +HPLcom/android/server/display/color/AppSaturationController$SaturationController;->addColorTransformController(Ljava/lang/ref/WeakReference;)Z +HPLcom/android/server/display/color/AppSaturationController$SaturationController;->clearExpiredReferences()V +HPLcom/android/server/display/color/AppSaturationController;->getOrCreateUserIdMapLocked(Ljava/lang/String;)Landroid/util/SparseArray; HSPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->getReduceBrightColorsStrength()I 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; @@ -4135,7 +4547,7 @@ HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;-><in 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; HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequest(IIFF)V+]Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver; -HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequestedModeLocked(II)V+]Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;]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; +HSPLcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;->setAppRequestedModeLocked(II)V+]Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;Lcom/android/server/display/mode/DisplayModeDirector$AppRequestObserver;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/Display$Mode;Landroid/view/Display$Mode;]Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/VotesStorage; HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$$ExternalSyntheticLambda14;-><init>(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)V 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 @@ -4166,6 +4578,9 @@ HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver$LightS 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$fgetmHighAmbientBrightnessThresholds(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fgetmLowAmbientBrightnessThresholds(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;)[F +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->-$$Nest$fputmAmbientLux(Lcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;F)V 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 @@ -4187,12 +4602,15 @@ HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->loa 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+]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 +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->onDisplayChanged(I)V +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->registerLightSensor()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 +HPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->setDefaultDisplayState(I)V +HSPLcom/android/server/display/mode/DisplayModeDirector$BrightnessObserver;->unregisterSensorListener()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 +HPLcom/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 @@ -4220,22 +4638,24 @@ HSPLcom/android/server/display/mode/DisplayModeDirector$DeviceConfigDisplaySetti 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+]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 +HPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->getDisplayInfo(I)Landroid/view/DisplayInfo; +HPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->onDisplayChanged(I)V +HPLcom/android/server/display/mode/DisplayModeDirector$DisplayObserver;->updateDisplayModes(ILandroid/view/DisplayInfo;)V +HPLcom/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 +HPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->getDisplay(I)Landroid/view/Display; +HPLcom/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;->isDozeState(Landroid/view/Display;)Z HSPLcom/android/server/display/mode/DisplayModeDirector$RealInjector;->supportsFrameRateOverride()Z HSPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;-><init>(Landroid/content/Context;Lcom/android/server/display/mode/VotesStorage;Lcom/android/server/display/mode/DisplayModeDirector$Injector;)V -HSPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->onDisplayChanged(I)V +HPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->onDisplayChanged(I)V +HPLcom/android/server/display/mode/DisplayModeDirector$SensorObserver;->recalculateVotesLocked()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 @@ -4244,6 +4664,7 @@ HSPLcom/android/server/display/mode/DisplayModeDirector$UdfpsObserver;-><init>(L 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$fgetmConfigParameterProvider(Lcom/android/server/display/mode/DisplayModeDirector;)Lcom/android/server/display/feature/DeviceConfigParameterProvider; +HSPLcom/android/server/display/mode/DisplayModeDirector;->-$$Nest$fgetmDefaultModeByDisplay(Lcom/android/server/display/mode/DisplayModeDirector;)Landroid/util/SparseArray; 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; @@ -4252,7 +4673,7 @@ HPLcom/android/server/display/mode/DisplayModeDirector;->disableModeSwitching(Lc 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;+]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; +HSPLcom/android/server/display/mode/DisplayModeDirector;->getDesiredDisplayModeSpecs(I)Lcom/android/server/display/mode/DisplayModeDirector$DesiredDisplayModeSpecs;+]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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; 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 @@ -4260,8 +4681,9 @@ HSPLcom/android/server/display/mode/DisplayModeDirector;->selectBaseMode(Lcom/an 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/SkinThermalStatusObserver;->fallbackReportThrottlingIfNeeded(II)V +HPLcom/android/server/display/mode/SkinThermalStatusObserver;->updateThermalRefreshRateThrottling(I)V +HPLcom/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 @@ -4280,7 +4702,7 @@ HPLcom/android/server/display/utils/AmbientFilter;->truncateOldValues(J)V+]Lcom/ 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;->getLatestIndexBefore(J)I 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 HPLcom/android/server/display/utils/RollingBuffer;->isEmpty()Z @@ -4288,16 +4710,21 @@ 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/dreams/DreamController$DreamRecord$1;->sendResult(Landroid/os/Bundle;)V 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 +HPLcom/android/server/dreams/DreamManagerService$BinderService;->startDozing(Landroid/os/IBinder;II)V +HPLcom/android/server/dreams/DreamManagerService$DreamRecord;-><init>(Landroid/content/ComponentName;IZZ)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;->-$$Nest$misDreamingInternal(Lcom/android/server/dreams/DreamManagerService;)Z +HPLcom/android/server/dreams/DreamManagerService;->cleanupDreamLocked()V 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/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z HSPLcom/android/server/firewall/AndFilter$1;-><init>(Ljava/lang/String;)V HSPLcom/android/server/firewall/AndFilter;-><clinit>()V HSPLcom/android/server/firewall/CategoryFilter$1;-><init>(Ljava/lang/String;)V @@ -4372,9 +4799,9 @@ HSPLcom/android/server/health/HealthRegCallbackAidl;->-$$Nest$fgetmServiceInfoCa 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;->scheduleUpdate()V 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; @@ -4387,11 +4814,14 @@ HPLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponentNa HSPLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->readServiceName(I)Ljava/lang/String; HSPLcom/android/server/infra/ServiceNameBaseResolver;->getDefaultServiceNameList(I)[Ljava/lang/String; +HSPLcom/android/server/infra/ServiceNameBaseResolver;->getServiceName(I)Ljava/lang/String; HSPLcom/android/server/infra/ServiceNameBaseResolver;->getServiceNameList(I)[Ljava/lang/String; HSPLcom/android/server/infra/ServiceNameBaseResolver;->isTemporary(I)Z HSPLcom/android/server/input/AmbientKeyboardBacklightController;->handleDisplayChange()V +HPLcom/android/server/input/AmbientKeyboardBacklightController;->onDisplayChanged(I)V HSPLcom/android/server/input/BatteryController$1;->onInputDeviceChanged(I)V -HPLcom/android/server/input/BatteryController;->monitor()V +HPLcom/android/server/input/BatteryController;->updatePollingLocked(Z)V +HSPLcom/android/server/input/InputFeatureFlagProvider;->isAmbientKeyboardBacklightControlEnabled()Z HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;-><init>()V HSPLcom/android/server/input/InputManagerService$AdditionalDisplayInputProperties;->reset()V HSPLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->notifyInputDevicesChanged([I)V @@ -4400,6 +4830,7 @@ HPLcom/android/server/input/InputManagerService$LocalService;->notifyUserActivit 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;->createInputChannel(Ljava/lang/String;)Landroid/view/InputChannel; 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;->getExcludedDeviceNames()[Ljava/lang/String; @@ -4407,9 +4838,9 @@ HSPLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/vie HSPLcom/android/server/input/InputManagerService;->getKeyboardLayoutAssociations()[Ljava/lang/String; HSPLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration; HPLcom/android/server/input/InputManagerService;->hasKeys(II[I[Z)Z -HPLcom/android/server/input/InputManagerService;->monitor()V HSPLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V HPLcom/android/server/input/InputManagerService;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V+]Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;Lcom/android/server/wm/InputManagerCallback; +HPLcom/android/server/input/InputManagerService;->removeInputChannel(Landroid/os/IBinder;)V HSPLcom/android/server/input/InputManagerService;->setDisplayViewportsInternal(Ljava/util/List;)V HSPLcom/android/server/input/KeyboardBacklightController$$ExternalSyntheticLambda2;->handleMessage(Landroid/os/Message;)Z HSPLcom/android/server/input/KeyboardBacklightController;->getInputDevice(I)Landroid/view/InputDevice; @@ -4418,81 +4849,137 @@ HSPLcom/android/server/input/KeyboardBacklightController;->handleMessage(Landroi HPLcom/android/server/input/KeyboardBacklightController;->handleUserActivity()V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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/KeyboardBacklightController;->updateAmbientLightListener()V 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/input/KeyboardLayoutManager;->onInputDeviceChanged(I)V +HSPLcom/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/inputmethod/AdditionalSubtypeUtils;->getAdditionalSubtypeFile(Ljava/io/File;)Landroid/util/AtomicFile; 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/DefaultImeVisibilityApplier;->performShowIme(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;ILandroid/os/ResultReceiver;I)V +HSPLcom/android/server/inputmethod/HardwareKeyboardShortcutController;->reset(Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)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/ImePlatformCompatUtils;->isChangeEnabledByUid(JI)Z HPLcom/android/server/inputmethod/ImeTrackerService$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/inputmethod/ImeTrackerService;Landroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/inputmethod/ImeTrackerService$$ExternalSyntheticLambda1;->run()V +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmDuration(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)J +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmOrigin(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmPhase(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmReason(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmStartTime(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)J +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmStatus(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmType(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fgetmUid(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)I +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;->-$$Nest$fputmDuration(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;J)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;->-$$Nest$fputmStatus(Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;I)V HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;-><init>(Ljava/lang/String;IIIII)V +HPLcom/android/server/inputmethod/ImeTrackerService$History$Entry;-><init>(Ljava/lang/String;IIIIILcom/android/server/inputmethod/ImeTrackerService$History$Entry-IA;)V +HPLcom/android/server/inputmethod/ImeTrackerService$History;->-$$Nest$maddEntry(Lcom/android/server/inputmethod/ImeTrackerService$History;Landroid/os/IBinder;Lcom/android/server/inputmethod/ImeTrackerService$History$Entry;)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;->-$$Nest$sfgetsSequenceNumber()Ljava/util/concurrent/atomic/AtomicInteger; 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; +HPLcom/android/server/inputmethod/ImeTrackerService$History;->setFinished(Landroid/view/inputmethod/ImeTracker$Token;II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Landroid/view/inputmethod/ImeTracker$Token;Landroid/view/inputmethod/ImeTracker$Token; +HPLcom/android/server/inputmethod/ImeTrackerService;->onCancelled(Landroid/view/inputmethod/ImeTracker$Token;I)V +HPLcom/android/server/inputmethod/ImeTrackerService;->onImmsUpdate(Landroid/view/inputmethod/ImeTracker$Token;Ljava/lang/String;)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; +HPLcom/android/server/inputmethod/ImeTrackerService;->onRequestShow(Ljava/lang/String;III)Landroid/view/inputmethod/ImeTracker$Token; 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$ImeTargetWindowState;->getRequestImeToken()Landroid/os/IBinder; +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer$ImeVisibilityResult;-><init>(II)V +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->canHideIme(Landroid/view/inputmethod/ImeTracker$Token;I)Z +HPLcom/android/server/inputmethod/ImeVisibilityStateComputer;->clearImeShowFlags()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;->onImeShowFlags(Landroid/view/inputmethod/ImeTracker$Token;I)Z 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 +HPLcom/android/server/inputmethod/InputMethodBindingController$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V +HPLcom/android/server/inputmethod/InputMethodBindingController;->advanceSequenceNumber()V +HPLcom/android/server/inputmethod/InputMethodBindingController;->getCurId()Ljava/lang/String; +HSPLcom/android/server/inputmethod/InputMethodBindingController;->getCurMethod()Lcom/android/server/inputmethod/IInputMethodInvoker; 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$$ExternalSyntheticLambda3;->test(Ljava/lang/Object;)Z 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 +HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;-><init>(Lcom/android/server/inputmethod/IInputMethodClientInvoker;Lcom/android/internal/inputmethod/IRemoteInputConnection;IIILcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;->toString()Ljava/lang/String; +HPLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportStartInputAsync(Landroid/os/IBinder;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->setImeWindowStatusAsync(II)V +HPLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->reportImeControl(Landroid/os/IBinder;)V +HPLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->updateImeWindowStatus(Z)V +HSPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)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$SoftInputShowHideHistory;->addEntry(Lcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry;)V HPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)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;->advanceSequenceNumberLocked()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;->calledWithValidTokenLocked(Landroid/os/IBinder;)Z 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;->createAccessibilityInputMethodSessions(Landroid/util/SparseArray;)Landroid/util/SparseArray; 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;->getCurMethodUidLocked()I +HSPLcom/android/server/inputmethod/InputMethodManagerService;->getCurTokenLocked()Landroid/os/IBinder; HPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List; HPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(II)Ljava/util/List; 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; +HPLcom/android/server/inputmethod/InputMethodManagerService;->getSequenceNumberLocked()I 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 HPLcom/android/server/inputmethod/InputMethodManagerService;->hideSoftInput(Lcom/android/internal/inputmethod/IInputMethodClient;Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;ILandroid/os/ResultReceiver;I)Z +HSPLcom/android/server/inputmethod/InputMethodManagerService;->hideStatusBarIconLocked()V +HPLcom/android/server/inputmethod/InputMethodManagerService;->isInputShown()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;->onSessionCreated(Lcom/android/server/inputmethod/IInputMethodInvoker;Lcom/android/internal/inputmethod/IInputMethodSession;Landroid/view/InputChannel;)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; +HPLcom/android/server/inputmethod/InputMethodManagerService;->removeImeSurfaceFromWindowAsync(Landroid/os/IBinder;)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->reportPerceptibleAsync(Landroid/os/IBinder;Z)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;->shouldShowImeSwitcherLocked(I)Z HPLcom/android/server/inputmethod/InputMethodManagerService;->showCurrentInputLocked(Landroid/os/IBinder;Landroid/view/inputmethod/ImeTracker$Token;IILandroid/os/ResultReceiver;I)Z +HPLcom/android/server/inputmethod/InputMethodManagerService;->showSoftInput(Lcom/android/internal/inputmethod/IInputMethodClient;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;->unbindCurrentClientLocked(I)V +HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V +HPLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked()V HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V +HPLcom/android/server/inputmethod/InputMethodMenuController;->getSwitchingDialogLocked()Landroid/app/AlertDialog; 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/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; @@ -4504,19 +4991,24 @@ HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEna 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;->getSelectedInputMethod()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;->switchCurrentUser(IZ)V +HPLcom/android/server/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/content/pm/PackageManagerInternal;ILjava/lang/String;)Z 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; +HPLcom/android/server/inputmethod/OverlayableSystemBooleanResourceWrapper;->get()Z +HPLcom/android/server/inputmethod/SubtypeUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList; +HSPLcom/android/server/inputmethod/SubtypeUtils;->getSubtypeIdFromHashCode(Landroid/view/inputmethod/InputMethodInfo;I)I+]Landroid/view/inputmethod/InputMethodSubtype;Landroid/view/inputmethod/InputMethodSubtype;]Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodInfo; HSPLcom/android/server/integrity/model/BitInputStream;->getNext(I)I+]Lcom/android/server/integrity/model/BitInputStream;Lcom/android/server/integrity/model/BitInputStream; 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$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HPLcom/android/server/job/JobConcurrencyManager$AssignmentInfo;->clear()V HPLcom/android/server/job/JobConcurrencyManager$ContextAssignment;->clear()V HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$madjustRunningCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ZZ)V -HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$madjustStagedCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ZZ)V +HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$madjustStagedCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ZZ)V+]Lcom/android/server/job/JobConcurrencyManager$PackageStats;Lcom/android/server/job/JobConcurrencyManager$PackageStats; HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$mresetStagedCount(Lcom/android/server/job/JobConcurrencyManager$PackageStats;)V HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->-$$Nest$msetPackage(Lcom/android/server/job/JobConcurrencyManager$PackageStats;ILjava/lang/String;)V HPLcom/android/server/job/JobConcurrencyManager$PackageStats;-><init>()V @@ -4526,18 +5018,18 @@ HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->resetStagedCount( HPLcom/android/server/job/JobConcurrencyManager$PackageStats;->setPackage(ILjava/lang/String;)V HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->adjustPendingJobCount(IZ)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->canJobStart(I)I+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->decrementPendingJobCount(I)V +HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->decrementPendingJobCount(I)V+]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->getRunningJobCount(I)I HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->incrementPendingJobCount(I)V HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->incrementRunningJobCount(I)V HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->maybeAdjustReservations(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onCountDone()V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; -HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobFinished(I)V -HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobStarted(I)V +HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobFinished(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; +HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->onJobStarted(I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->resetCounts()V HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->resetStagingCount()V HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->setConfig(Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig;Lcom/android/server/job/JobConcurrencyManager$WorkTypeConfig; -HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->stageJob(II)V +HPLcom/android/server/job/JobConcurrencyManager$WorkCountTracker;->stageJob(II)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker;Lcom/android/server/job/JobConcurrencyManager$WorkCountTracker; 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 @@ -4545,7 +5037,7 @@ HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalL 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;->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;]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;]Landroid/util/Pools$Pool;Landroid/util/Pools$SimplePool; 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; HSPLcom/android/server/job/JobConcurrencyManager;->getRunningJobsLocked()Landroid/util/ArraySet; @@ -4557,31 +5049,33 @@ HPLcom/android/server/job/JobConcurrencyManager;->lambda$static$0(Lcom/android/s 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;]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;->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;]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;->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;]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;->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; 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; +HSPLcom/android/server/job/JobConcurrencyManager;->stopNonReadyActiveJobsLocked()V 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;->removeNotificationAssociation(Lcom/android/server/job/JobServiceContext;ILcom/android/server/job/controllers/JobStatus;)V -HPLcom/android/server/job/JobPackageTracker$DataSet;->decActive(ILjava/lang/String;JI)V +HPLcom/android/server/job/JobNotificationCoordinator;->removeNotificationAssociation(Lcom/android/server/job/JobServiceContext;ILcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/job/JobPackageTracker$DataSet;->decActive(ILjava/lang/String;JI)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; 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; HPLcom/android/server/job/JobPackageTracker$DataSet;->getTotalTime(J)J HPLcom/android/server/job/JobPackageTracker$DataSet;->incActive(ILjava/lang/String;J)V +HPLcom/android/server/job/JobPackageTracker$DataSet;->incActiveTop(ILjava/lang/String;J)V HPLcom/android/server/job/JobPackageTracker$DataSet;->incPending(ILjava/lang/String;J)V HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getActiveTime(J)J HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getPendingTime(J)J HPLcom/android/server/job/JobPackageTracker;->addEvent(IILjava/lang/String;IILjava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/internal/util/jobs/RingBufferIndices;Lcom/android/internal/util/jobs/RingBufferIndices; HPLcom/android/server/job/JobPackageTracker;->getLoadFactor(Lcom/android/server/job/controllers/JobStatus;)F+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobPackageTracker$PackageEntry;Lcom/android/server/job/JobPackageTracker$PackageEntry;]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; -HPLcom/android/server/job/JobPackageTracker;->noteActive(Lcom/android/server/job/controllers/JobStatus;)V +HPLcom/android/server/job/JobPackageTracker;->noteActive(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; HPLcom/android/server/job/JobPackageTracker;->noteConcurrency(II)V -HPLcom/android/server/job/JobPackageTracker;->noteInactive(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)V +HPLcom/android/server/job/JobPackageTracker;->noteInactive(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; HPLcom/android/server/job/JobPackageTracker;->noteNonpending(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/JobPackageTracker;->notePending(Lcom/android/server/job/controllers/JobStatus;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; HPLcom/android/server/job/JobPackageTracker;->rebatchIfNeeded(J)V+]Lcom/android/server/job/JobPackageTracker$DataSet;Lcom/android/server/job/JobPackageTracker$DataSet; @@ -4592,7 +5086,7 @@ 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; 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; +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;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; 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+]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; @@ -4601,7 +5095,7 @@ HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getAllPendingJo 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+]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+]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/app/job/JobWorkItem;Landroid/app/job/JobWorkItem; +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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;Lcom/android/server/job/JobSchedulerService$JobSchedulerStub; HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateNamespace(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; 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 @@ -4625,6 +5119,7 @@ HPLcom/android/server/job/JobSchedulerService;->cancelJob(ILjava/lang/String;III 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+]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; +HSPLcom/android/server/job/JobSchedulerService;->clearPendingJobQueue()V 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; @@ -4641,7 +5136,7 @@ HPLcom/android/server/job/JobSchedulerService;->getRescheduleJobForPeriodic(Lcom 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;->hasPermission(IILjava/lang/String;)Z+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/SystemService;Lcom/android/server/job/JobSchedulerService;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/Context;Landroid/app/ContextImpl; 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; @@ -4651,12 +5146,11 @@ HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/ HPLcom/android/server/job/JobSchedulerService;->isUidActive(I)Z 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;->maybeProcessBuggyJob(Lcom/android/server/job/controllers/JobStatus;I)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$1;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/utils/quota/CountQuotaTracker;Lcom/android/server/utils/quota/CountQuotaTracker; 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; 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;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;IIZ)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/os/Handler;Lcom/android/server/job/JobSchedulerService$JobHandler;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Landroid/os/Message;Landroid/os/Message;]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;->queueReadyJobsForExecutionLocked()V 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; @@ -4667,13 +5161,15 @@ HSPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/and 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; 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;->acknowledgeStartMessage(IZ)V+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; +HPLcom/android/server/job/JobServiceContext$JobCallback;->completeWork(II)Z 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+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; +HPLcom/android/server/job/JobServiceContext;->assertCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)Z 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;->closeAndCleanupJobLocked(ZLjava/lang/String;)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/JobNotificationCoordinator;Lcom/android/server/job/JobNotificationCoordinator;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/PowerManager$WakeLock;Landroid/os/PowerManager$WakeLock;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobCompletedListener;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/JobConcurrencyManager;Lcom/android/server/job/JobConcurrencyManager; 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+]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; @@ -4682,21 +5178,22 @@ HPLcom/android/server/job/JobServiceContext;->doCompleteWork(Lcom/android/server HPLcom/android/server/job/JobServiceContext;->doDequeueWork(Lcom/android/server/job/JobServiceContext$JobCallback;I)Landroid/app/job/JobWorkItem; HPLcom/android/server/job/JobServiceContext;->doJobFinished(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V HPLcom/android/server/job/JobServiceContext;->doServiceBoundLocked()V -HPLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;I)Z +HPLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;I)Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/modules/expresslog/Histogram;Lcom/android/modules/expresslog/Histogram;]Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobPackageTracker;]Landroid/content/Context;Landroid/app/ContextImpl;]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;]Landroid/app/job/JobInfo;Landroid/app/job/JobInfo;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/os/PowerManager;Landroid/os/PowerManager;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/usage/UsageStatsService$LocalService; HPLcom/android/server/job/JobServiceContext;->getExecutionStartTimeElapsed()J HPLcom/android/server/job/JobServiceContext;->getId()I+]Ljava/lang/Object;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->getPreferredUid()I HPLcom/android/server/job/JobServiceContext;->getRemainingGuaranteedTimeMs(J)J HPLcom/android/server/job/JobServiceContext;->getRunningJobLocked()Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/JobServiceContext;->getRunningJobWorkType()I -HPLcom/android/server/job/JobServiceContext;->getStartActionId(Lcom/android/server/job/controllers/JobStatus;)I +HPLcom/android/server/job/JobServiceContext;->getStartActionId(Lcom/android/server/job/controllers/JobStatus;)I+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; HPLcom/android/server/job/JobServiceContext;->handleCancelLocked(Ljava/lang/String;)V -HPLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V -HPLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V -HPLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V +HPLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; +HPLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V+]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext;]Landroid/app/job/IJobService;Landroid/app/job/JobServiceEngine$JobInterface;,Landroid/app/job/IJobService$Stub$Proxy; +HPLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V+]Landroid/app/job/JobParameters;Landroid/app/job/JobParameters;]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->hasPermissionForDelivery(ILjava/lang/String;Ljava/lang/String;)Z +HPLcom/android/server/job/JobServiceContext;->informOfNetworkChangeLocked(Landroid/net/Network;)V HPLcom/android/server/job/JobServiceContext;->isWithinExecutionGuaranteeTime()Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; -HPLcom/android/server/job/JobServiceContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V +HPLcom/android/server/job/JobServiceContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/job/JobServiceContext;Lcom/android/server/job/JobServiceContext; HPLcom/android/server/job/JobServiceContext;->removeOpTimeOutLocked()V+]Landroid/os/Handler;Lcom/android/server/job/JobServiceContext$JobServiceHandler; 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 @@ -4716,7 +5213,7 @@ HPLcom/android/server/job/JobStore$2;->writeJobsMapImpl(Landroid/util/AtomicFile 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; -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;->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;->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; @@ -4724,7 +5221,6 @@ 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$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+]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; @@ -4740,6 +5236,7 @@ HSPLcom/android/server/job/JobStore;->isSyncJob(Lcom/android/server/job/controll HSPLcom/android/server/job/JobStore;->maybeUpdateHighWaterMark()V HPLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V HPLcom/android/server/job/JobStore;->remove(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/JobStore$JobSet;Lcom/android/server/job/JobStore$JobSet;]Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore; +HPLcom/android/server/job/JobStore;->touchJob(Lcom/android/server/job/controllers/JobStatus;)V HPLcom/android/server/job/PendingJobQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HPLcom/android/server/job/PendingJobQueue$AppJobQueue$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HPLcom/android/server/job/PendingJobQueue$AppJobQueue$AdjustedJobStatus;->clear()V @@ -4762,6 +5259,7 @@ HSPLcom/android/server/job/PendingJobQueue;->getAppJobQueue(IZ)Lcom/android/serv 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; 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;->resetIterator()V 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 @@ -4769,24 +5267,27 @@ HSPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor 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;->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;->lambda$dumpControllerStateLocked$0(Landroid/util/IndentingPrintWriter;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 +HSPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V+]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/JobStore;Lcom/android/server/job/JobStore;]Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor; 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;->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/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;]Lcom/android/server/job/controllers/StateController;Lcom/android/server/job/controllers/BatteryController; 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/BatteryController;->prepareForExecutionLocked(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;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; 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;->getServiceProcessLocked(Lcom/android/server/job/controllers/JobStatus;)Ljava/lang/String;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService;]Landroid/content/ComponentName;Landroid/content/ComponentName; 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;->maybeUnregisterSignalStrengthCallbackLocked(Landroid/net/NetworkCapabilities;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/ArraySet; 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$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$sfgetDEBUG()Z 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; 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; @@ -4801,17 +5302,17 @@ HSPLcom/android/server/job/controllers/ConnectivityController;->isStandbyExcepti 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/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; -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; +HPLcom/android/server/job/controllers/ConnectivityController;->maybeAdjustRegisteredCallbacksLocked()V+]Landroid/os/Handler;Lcom/android/server/job/controllers/ConnectivityController$CcHandler;]Landroid/util/SparseArray;Landroid/util/SparseArray; +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;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; 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; -HSPLcom/android/server/job/controllers/ConnectivityController;->onUidBiasChangedLocked(III)V +HSPLcom/android/server/job/controllers/ConnectivityController;->onUidBiasChangedLocked(III)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/job/controllers/ConnectivityController;Lcom/android/server/job/controllers/ConnectivityController; 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;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]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/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/ConnectivityController;->requestStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V 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;)Z+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]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; 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; @@ -4823,8 +5324,9 @@ HPLcom/android/server/job/controllers/ContentObserverController$JobInstance;->un HPLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;->onChange(ZLandroid/net/Uri;)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/ContentObserverController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; 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; +HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;->handleMessage(Landroid/os/Message;)V HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Ljava/lang/Object;)V+]Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor; HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->prepare()V @@ -4834,6 +5336,7 @@ HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedL 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;->updateIdleMode(Z)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; @@ -4887,7 +5390,6 @@ HPLcom/android/server/job/controllers/JobStatus;->getSourceTag()Ljava/lang/Strin 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; 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 @@ -4900,6 +5402,7 @@ 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;->hasExecutingWorkLocked()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; HSPLcom/android/server/job/controllers/JobStatus;->hasPowerConstraint()Z+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; @@ -4909,7 +5412,6 @@ HPLcom/android/server/job/controllers/JobStatus;->incrementCumulativeExecutionTi HSPLcom/android/server/job/controllers/JobStatus;->isConstraintSatisfied(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; @@ -4937,22 +5439,25 @@ HSPLcom/android/server/job/controllers/JobStatus;->shouldTreatAsExpeditedJob()Z+ 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;]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+]Ljava/util/ArrayList;Ljava/util/ArrayList; 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; +HSPLcom/android/server/job/controllers/JobStatus;->wouldBeReadyWithConstraint(I)Z HPLcom/android/server/job/controllers/JobStatus;->writeToShortProto(Landroid/util/proto/ProtoOutputStream;J)V +HPLcom/android/server/job/controllers/PrefetchController$PcHandler;->handleMessage(Landroid/os/Message;)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/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 +HSPLcom/android/server/job/controllers/QuotaController$QcUidObserver;->onUidStateChanged(IIJI)V+]Landroid/os/Handler;Lcom/android/server/job/controllers/QuotaController$QcHandler;]Landroid/os/Message;Landroid/os/Message; 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;->onAppIdleStateChanged(Ljava/lang/String;IZII)V -HSPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppAdded(I)V +HSPLcom/android/server/job/controllers/QuotaController$TempAllowlistTracker;->onAppAdded(I)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]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;]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; 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; @@ -4964,10 +5469,11 @@ 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+]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;->startTrackingJobLocked(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;]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$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;->calculateTimeChunks(J)I HPLcom/android/server/job/controllers/QuotaController$TopAppTimer;->isActive()Z 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; @@ -4980,10 +5486,12 @@ HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmEJPkgTimer HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$fgetmForegroundUids(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseBooleanArray; 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$fgetmTopAppCache(Lcom/android/server/job/controllers/QuotaController;)Landroid/util/SparseBooleanArray; 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; +HSPLcom/android/server/job/controllers/QuotaController;->-$$Nest$mmaybeUpdateConstraintForUidLocked(Lcom/android/server/job/controllers/QuotaController;I)Landroid/util/ArraySet;+]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController; 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 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 @@ -4991,11 +5499,11 @@ 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;->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;->getEJLimitMsLocked(ILjava/lang/String;I)J+]Landroid/util/SparseSetArray;Landroid/util/SparseSetArray; 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; HPLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;IZ)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap; HPLcom/android/server/job/controllers/QuotaController;->getMaxJobExecutionTimeMsLocked(Lcom/android/server/job/controllers/JobStatus;)J+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/JobSchedulerService; -HPLcom/android/server/job/controllers/QuotaController;->getRemainingEJExecutionTimeLocked(ILjava/lang/String;)J +HPLcom/android/server/job/controllers/QuotaController;->getRemainingEJExecutionTimeLocked(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;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/job/controllers/QuotaController$TopAppTimer;Lcom/android/server/job/controllers/QuotaController$TopAppTimer;]Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits;Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits; 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; @@ -5011,19 +5519,19 @@ HPLcom/android/server/job/controllers/QuotaController;->isWithinEJQuotaLocked(Lc 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 -HSPLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V +HSPLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2;]Landroid/os/Handler;Lcom/android/server/job/controllers/QuotaController$QcHandler;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/job/controllers/QuotaController;Lcom/android/server/job/controllers/QuotaController;]Landroid/os/Message;Landroid/os/Message;]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;->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;+]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;->prepareForExecutionLocked(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/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; HPLcom/android/server/job/controllers/QuotaController;->saveTimingSession(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$TimingSession;ZJ)V 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+]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 +HPLcom/android/server/job/controllers/QuotaController;->updateStandbyBucket(ILjava/lang/String;I)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;]Lcom/android/server/job/controllers/QuotaController$Timer;Lcom/android/server/job/controllers/QuotaController$Timer;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/job/StateChangedListener;Lcom/android/server/job/JobSchedulerService;]Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits;Lcom/android/server/job/controllers/QuotaController$ShrinkableDebits; HSPLcom/android/server/job/controllers/StateController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V HSPLcom/android/server/job/controllers/StateController;->onUidBiasChangedLocked(III)V HPLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V @@ -5033,25 +5541,26 @@ HPLcom/android/server/job/controllers/StorageController;->maybeStopTrackingJobLo 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;->getRunningBill(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/tare/EconomyManagerInternal$ActionBill;+]Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus; 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;->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;]Lcom/android/server/tare/EconomyManagerInternal;Lcom/android/server/tare/InternalResourceService$LocalService;]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; 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 +HPLcom/android/server/job/controllers/TimeController;->maybeAdjustAlarmTime(J)J+]Ljava/time/Clock;Lcom/android/server/job/JobSchedulerService$2; 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;->setDelayExpiredAlarmLocked(JLandroid/os/WorkSource;)V+]Lcom/android/server/job/controllers/TimeController;Lcom/android/server/job/controllers/TimeController; HPLcom/android/server/job/controllers/TimeController;->updateAlarmWithListenerLocked(Ljava/lang/String;ILandroid/app/AlarmManager$OnAlarmListener;JLandroid/os/WorkSource;)V 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; @@ -5075,18 +5584,23 @@ HSPLcom/android/server/lights/LightsService;->populateAvailableLights(Landroid/c HSPLcom/android/server/lights/LightsService;->populateAvailableLightsFromHidl(Landroid/content/Context;)V HSPLcom/android/server/lights/LogicalLight;-><init>()V HPLcom/android/server/locales/LocaleManagerService;->getApplicationLocales(Ljava/lang/String;I)Landroid/os/LocaleList; +HPLcom/android/server/locales/LocaleManagerService;->getInstallingPackageName(Ljava/lang/String;I)Ljava/lang/String; 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$LocalService;->isProviderEnabledForUser(Ljava/lang/String;I)Z+]Lcom/android/server/location/LocationManagerService;Lcom/android/server/location/LocationManagerService;]Lcom/android/server/location/provider/LocationProviderManager;Lcom/android/server/location/provider/PassiveLocationProviderManager;,Lcom/android/server/location/provider/LocationProviderManager; HSPLcom/android/server/location/LocationManagerService$SystemInjector;->getSettingsHelper()Lcom/android/server/location/injector/SettingsHelper; +HSPLcom/android/server/location/LocationManagerService;->getAllProviders()Ljava/util/List;+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/ArrayList;Ljava/util/ArrayList;]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/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z +HSPLcom/android/server/location/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z+]Lcom/android/server/location/LocationManagerService$LocalService;Lcom/android/server/location/LocationManagerService$LocalService; 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; +HSPLcom/android/server/location/LocationManagerService;->registerLocationListener(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/location/ILocationListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HPLcom/android/server/location/LocationManagerService;->validateLastLocationRequest(Ljava/lang/String;Landroid/location/LastLocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LastLocationRequest; +HSPLcom/android/server/location/LocationManagerService;->validateLocationRequest(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;)Landroid/location/LocationRequest; +HSPLcom/android/server/location/LocationPermissions;->getPermissionLevel(Landroid/content/Context;II)I 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 @@ -5109,6 +5623,7 @@ HPLcom/android/server/location/contexthub/ContextHubEventLogger;->logMessageToNa 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;->handleClientMessageCallback(ISLandroid/hardware/location/NanoAppMessage;Ljava/util/List;Ljava/util/List;)V 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 @@ -5123,9 +5638,12 @@ HSPLcom/android/server/location/contexthub/ContextHubTransactionManager$$Externa 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 +HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->-$$Nest$fgetmContextHubProxy(Lcom/android/server/location/contexthub/ContextHubTransactionManager;)Lcom/android/server/location/contexthub/IContextHubWrapper; HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/contexthub/ContextHubServiceTransaction;)V HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;Ljava/lang/String;)Lcom/android/server/location/contexthub/ContextHubServiceTransaction; -HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->startNextTransaction()V +HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V +HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->removeTransactionAndStartNext()V +HSPLcom/android/server/location/contexthub/ContextHubTransactionManager;->startNextTransaction()V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/util/concurrent/ScheduledThreadPoolExecutor;]Lcom/android/server/location/contexthub/ContextHubServiceTransaction;Lcom/android/server/location/contexthub/ContextHubTransactionManager$5; 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 @@ -5136,8 +5654,13 @@ HPLcom/android/server/location/contexthub/IContextHubWrapper$ContextHubWrapperAi 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; +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$2;-><init>(Lcom/android/server/location/countrydetector/ComprehensiveCountryDetector;Landroid/location/Country;Landroid/location/Country;ZZ)V +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$2;->run()V HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector$4;->onServiceStateChanged(Landroid/telephony/ServiceState;)V HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->detectCountry(ZZ)Landroid/location/Country; +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->getNetworkBasedCountry()Landroid/location/Country; +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V +HPLcom/android/server/location/countrydetector/ComprehensiveCountryDetector;->runAfterDetectionAsync(Landroid/location/Country;Landroid/location/Country;ZZ)V 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 @@ -5153,21 +5676,33 @@ HPLcom/android/server/location/eventlog/LocationEventLog$LocationsEventLog;->log 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 +HPLcom/android/server/location/eventlog/LocationEventLog$ProviderReceiveLocationEvent;-><init>(Ljava/lang/String;I)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$$ExternalSyntheticLambda4;->onAppForegroundChanged(IZ)V 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;->getIdentity()Landroid/location/util/identity/CallerIdentity; 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;->set(III)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 +HSPLcom/android/server/location/gnss/GnssLocationProvider;->updateEnabled()V +HSPLcom/android/server/location/gnss/GnssLocationProvider;->updateRequirements()V +HPLcom/android/server/location/gnss/GnssMeasurementsProvider$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/location/gnss/GnssMeasurementsProvider;Landroid/location/GnssMeasurementsEvent;)V +HPLcom/android/server/location/gnss/GnssMeasurementsProvider$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; +HPLcom/android/server/location/gnss/GnssMeasurementsProvider$$ExternalSyntheticLambda1;->operate(Ljava/lang/Object;)V +HPLcom/android/server/location/gnss/GnssMeasurementsProvider;->lambda$onReportMeasurements$1(Landroid/location/GnssMeasurementsEvent;Lcom/android/server/location/gnss/GnssListenerMultiplexer$GnssListenerRegistration;)Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation; +HPLcom/android/server/location/gnss/GnssMeasurementsProvider;->onReportMeasurements(Landroid/location/GnssMeasurementsEvent;)V +HPLcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;->reportSignalQuality([F)V+]Lcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;Lcom/android/server/location/gnss/GnssMetrics$GnssPowerMetrics;]Lcom/android/internal/app/IBatteryStats;Lcom/android/server/am/BatteryStatsService; 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; @@ -5176,31 +5711,43 @@ HPLcom/android/server/location/gnss/GnssMetrics;->logSvStatus(Landroid/location/ 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$1(Landroid/location/GnssStatus;Landroid/location/IGnssStatusListener;)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$$ExternalSyntheticLambda23;->runOrThrow()V +HPLcom/android/server/location/gnss/hal/GnssNative;->injectLocation(Landroid/location/Location;)V HPLcom/android/server/location/gnss/hal/GnssNative;->lambda$reportLocation$0(ZLandroid/location/Location;)V +HPLcom/android/server/location/gnss/hal/GnssNative;->lambda$reportMeasurementData$5(Landroid/location/GnssMeasurementsEvent;)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;->reportMeasurementData(Landroid/location/GnssMeasurementsEvent;)V 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/LocationUsageLogger;->logLocationApiUsage(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/location/LocationRequest;ZZLandroid/location/Geofence;Z)V 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+]Landroid/location/util/identity/CallerIdentity;Landroid/location/util/identity/CallerIdentity;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; +HPLcom/android/server/location/injector/SystemLocationPowerSaveModeHelper;->getLocationPowerSaveMode()I HSPLcom/android/server/location/injector/SystemSettingsHelper$IntegerSecureSetting;->getValueForUser(II)I+]Landroid/content/Context;Landroid/app/ContextImpl; +HPLcom/android/server/location/injector/SystemSettingsHelper$StringListCachedSecureSetting;->getValueForUser(I)Ljava/util/List; HSPLcom/android/server/location/injector/SystemSettingsHelper;->isLocationEnabled(I)Z +HPLcom/android/server/location/injector/SystemSettingsHelper;->isLocationPackageBlacklisted(ILjava/lang/String;)Z 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+]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$ReentrancyGuard;->close()V+]Ljava/util/Map$Entry;Ljava/util/AbstractMap$SimpleImmutableEntry;]Lcom/android/server/location/listeners/ListenerMultiplexer;Lcom/android/server/location/provider/LocationProviderManager;,Lcom/android/server/location/gnss/GnssStatusProvider;]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;->deliverToListeners(Ljava/util/function/Function;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Function;Lcom/android/server/location/gnss/GnssNmeaProvider$1;,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/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;->onRegistrationActiveChanged(Lcom/android/server/location/listeners/ListenerRegistration;)V +HPLcom/android/server/location/listeners/ListenerMultiplexer;->removeRegistration(I)V +HSPLcom/android/server/location/listeners/ListenerMultiplexer;->replaceRegistration(Ljava/lang/Object;Ljava/lang/Object;Lcom/android/server/location/listeners/ListenerRegistration;)V +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;]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; @@ -5208,7 +5755,7 @@ HPLcom/android/server/location/listeners/ListenerRegistration$$ExternalSynthetic 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; -HSPLcom/android/server/location/provider/AbstractLocationProvider;->getState()Lcom/android/server/location/provider/AbstractLocationProvider$State; +HSPLcom/android/server/location/provider/AbstractLocationProvider;->getState()Lcom/android/server/location/provider/AbstractLocationProvider$State;+]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; 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 @@ -5227,12 +5774,16 @@ HPLcom/android/server/location/provider/LocationProviderManager$LocationRegistra 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;->-$$Nest$fputmNumLocationsDelivered(Lcom/android/server/location/provider/LocationProviderManager$LocationRegistration;I)V +HSPLcom/android/server/location/provider/LocationProviderManager$LocationRegistration;-><init>(Lcom/android/server/location/provider/LocationProviderManager;Landroid/location/LocationRequest;Landroid/location/util/identity/CallerIdentity;Ljava/util/concurrent/Executor;Lcom/android/server/location/provider/LocationProviderManager$LocationTransport;I)V 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;->calculateProviderLocationRequest()Landroid/location/LocationRequest; 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;->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; +HSPLcom/android/server/location/provider/LocationProviderManager$Registration;->onRegister()V 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; @@ -5275,21 +5826,29 @@ HSPLcom/android/server/locksettings/LockSettingsStorage;->-$$Nest$sfgetDEFAULT() 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;->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; +HPLcom/android/server/locksettings/LockSettingsStrongAuth;->handleScheduleNonStrongBiometricIdleTimeout(I)V HSPLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData; HPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->checkRecoverKeyStorePermission()V -HPLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getGrantAlias(IILjava/lang/String;)Ljava/lang/String; +HPLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->deserializeInternal(Ljava/io/InputStream;)Landroid/security/keystore/recovery/KeyChainSnapshot; 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; HPLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->registerRecoveryAgent(II)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/AudioPoliciesBluetoothRouteController;->getAllBluetoothRoutes()Ljava/util/List;+]Lcom/android/server/media/AudioPoliciesBluetoothRouteController;Lcom/android/server/media/AudioPoliciesBluetoothRouteController;]Ljava/util/Collection;Ljava/util/HashMap$Values;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$ValueIterator; 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 +HSPLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->notifyResourceGranted(II)V+]Lcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;Lcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;]Lcom/android/server/SystemService;Lcom/android/server/media/MediaResourceMonitorService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserManager;Landroid/os/UserManager;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/android/server/media/MediaRoute2Provider;->getProviderInfo()Landroid/media/MediaRoute2ProviderInfo; HPLcom/android/server/media/MediaRoute2Provider;->getSessionInfos()Ljava/util/List; +HSPLcom/android/server/media/MediaRoute2Provider;->notifyProviderState()V 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$ServiceCallbackStub;->notifyProviderUpdated(Landroid/media/MediaRoute2ProviderInfo;)V +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->bind()V +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->disconnect()V +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->onProviderUpdated(Lcom/android/server/media/MediaRoute2ProviderServiceProxy$Connection;Landroid/media/MediaRoute2ProviderInfo;)V HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->shouldBind()Z +HPLcom/android/server/media/MediaRoute2ProviderServiceProxy;->updateDiscoveryPreference(Ljava/util/Set;Landroid/media/RouteDiscoveryPreference;)V HPLcom/android/server/media/MediaRoute2ProviderWatcher;->scanPackages()V 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 @@ -5297,27 +5856,53 @@ HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->dispatchUpdate 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;->getRouterRecords(Z)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;Lcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; 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;->lambda$maybeUpdateDiscoveryPreferenceForUid$1(ILcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;)Z +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->lambda$updateDiscoveryPreferenceOnHandler$3(Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;)Z +HSPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->maybeUpdateDiscoveryPreferenceForUid(I)V +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->notifyRoutesUpdatedToManagers(Ljava/util/List;Ljava/util/List;)V 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;->onProviderStateChangedOnHandler(Lcom/android/server/media/MediaRoute2Provider;)V+]Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;]Ljava/util/Collection;Ljava/util/Collections$EmptyList;,Landroid/util/MapCollections$ValuesCollection;,Ljava/util/Collections$EmptySet;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/Set;Ljava/util/HashSet;,Ljava/util/Collections$EmptySet;]Lcom/android/server/media/MediaRoute2Provider;Lcom/android/server/media/SystemMediaRoute2Provider;,Lcom/android/server/media/MediaRoute2ProviderServiceProxy;]Lcom/android/server/media/SystemMediaRoute2Provider;Lcom/android/server/media/SystemMediaRoute2Provider;]Landroid/media/MediaRoute2Info;Landroid/media/MediaRoute2Info;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/stream/Stream;Ljava/util/stream/ReferencePipeline$Head;,Ljava/util/stream/ReferencePipeline$3;]Landroid/media/MediaRoute2ProviderInfo;Landroid/media/MediaRoute2ProviderInfo;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/Collections$EmptyIterator; +HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->toLoggingMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)Ljava/lang/String; 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;->getOrCreateUserRecordLocked(I)Lcom/android/server/media/MediaRouter2ServiceImpl$UserRecord;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/media/MediaRouter2ServiceImpl;->getRemoteSessions(Landroid/media/IMediaRouter2Manager;)Ljava/util/List;+]Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl; +HPLcom/android/server/media/MediaRouter2ServiceImpl;->getRemoteSessionsLocked(Landroid/media/IMediaRouter2Manager;)Ljava/util/List;+]Landroid/media/IMediaRouter2Manager;Landroid/media/MediaRouter2Manager$Client;,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;+]Landroid/media/RoutingSessionInfo$Builder;Landroid/media/RoutingSessionInfo$Builder;]Lcom/android/server/media/MediaRoute2Provider;Lcom/android/server/media/SystemMediaRoute2Provider;]Lcom/android/server/media/SystemMediaRoute2Provider;Lcom/android/server/media/SystemMediaRoute2Provider;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/os/UserHandle;Landroid/os/UserHandle;]Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl; 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$AudioPlayerActiveStateChangedListenerImpl;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V +HPLcom/android/server/media/MediaRouterService$UserHandler;->updateDiscoveryRequest()V +HPLcom/android/server/media/MediaRouterService;->getRemoteSessions(Landroid/media/IMediaRouter2Manager;)Ljava/util/List;+]Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl; +HSPLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V HSPLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V +HPLcom/android/server/media/MediaSessionRecord$ControllerStub;->getMetadata()Landroid/media/MediaMetadata; +HPLcom/android/server/media/MediaSessionRecord$ControllerStub;->getPlaybackState()Landroid/media/session/PlaybackState; +HPLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueue()Landroid/content/pm/ParceledListSlice; +HPLcom/android/server/media/MediaSessionRecord$SessionStub;->sanitizeMediaMetadata(Landroid/media/MediaMetadata;)Landroid/media/MediaMetadata; +HPLcom/android/server/media/MediaSessionRecord$SessionStub;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V HPLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackState(Landroid/media/session/PlaybackState;)V +HPLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;Lcom/android/server/media/MediaSessionService;Landroid/os/Looper;I)V 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/MediaSessionRecord;->toString()Ljava/lang/String; +HPLcom/android/server/media/MediaSessionService$SessionManagerImpl;->dispatchAdjustVolumeLocked(Ljava/lang/String;Ljava/lang/String;IIZIIIZ)V +HPLcom/android/server/media/MediaSessionService$SessionManagerImpl;->dispatchVolumeKeyEvent(Ljava/lang/String;Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V +HSPLcom/android/server/media/MediaSessionService$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List; +HSPLcom/android/server/media/MediaSessionService;->getActiveSessionsLocked(I)Ljava/util/List; +HSPLcom/android/server/media/MediaSessionService;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionService$FullUserRecord;+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/media/MediaSessionService;->onSessionPlaybackStateChanged(Lcom/android/server/media/MediaSessionRecordImpl;Z)V +HPLcom/android/server/media/MediaSessionStack;->findMediaButtonSession(I)Lcom/android/server/media/MediaSessionRecordImpl;+]Lcom/android/server/media/MediaSessionRecordImpl;Lcom/android/server/media/MediaSessionRecord;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/AudioPlayerStateMonitor;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HSPLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; +HPLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V HPLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V -HPLcom/android/server/media/SystemMediaRoute2Provider;->generateDeviceRouteSelectedSessionInfo(Ljava/lang/String;)Landroid/media/RoutingSessionInfo; +HPLcom/android/server/media/SystemMediaRoute2Provider;->generateDeviceRouteSelectedSessionInfo(Ljava/lang/String;)Landroid/media/RoutingSessionInfo;+]Landroid/media/RoutingSessionInfo$Builder;Landroid/media/RoutingSessionInfo$Builder;]Lcom/android/server/media/BluetoothRouteController;Lcom/android/server/media/AudioPoliciesBluetoothRouteController;]Landroid/media/MediaRoute2Info;Landroid/media/MediaRoute2Info;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Lcom/android/server/media/DeviceRouteController;Lcom/android/server/media/AudioPoliciesDeviceRouteController; HSPLcom/android/server/media/SystemMediaRoute2Provider;->updateSessionInfosIfNeeded()Z +HPLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;->inList([Ljava/lang/String;Ljava/util/List;)Z+]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Ljava/util/Iterator;Ljava/util/Arrays$ArrayItr; HPLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;->loggingLevel()I +HPLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;->reportPlaybackMetrics(Ljava/lang/String;Landroid/media/metrics/PlaybackMetrics;I)V +HPLcom/android/server/media/metrics/MediaMetricsManagerService$BinderService;->reportTrackChangeEvent(Ljava/lang/String;Landroid/media/metrics/TrackChangeEvent;I)V 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 @@ -5332,15 +5917,17 @@ HSPLcom/android/server/net/NetworkManagementService;->getFirewallChainState(I)Z+ 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;->isNetworkRestrictedInternal(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; HPLcom/android/server/net/NetworkManagementService;->notifyInterfaceClassActivity(IZJI)V HPLcom/android/server/net/NetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V +HSPLcom/android/server/net/NetworkManagementService;->setFirewallChainEnabled(IZ)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;->setUidOnMeteredNetworkAllowlist(IZ)V +HSPLcom/android/server/net/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager; HSPLcom/android/server/net/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkManagementService;Lcom/android/server/net/NetworkManagementService; HSPLcom/android/server/net/NetworkPolicyLogger$Data;->reset()V HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->appIdleStateChanged(IZ)V @@ -5351,17 +5938,23 @@ HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged 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; HSPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJI)V HPLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V -HSPLcom/android/server/net/NetworkPolicyLogger;->meteredAllowlistChanged(IZ)V +HPLcom/android/server/net/NetworkPolicyLogger;->appIdleWlChanged(IZ)V +HSPLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V +HSPLcom/android/server/net/NetworkPolicyLogger;->meteredAllowlistChanged(IZ)V+]Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; 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; -HSPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V +HSPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJI)V+]Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;Lcom/android/server/net/NetworkPolicyLogger$LogBuffer; HPLcom/android/server/net/NetworkPolicyManagerService$$ExternalSyntheticLambda3;->accept(I)V +HPLcom/android/server/net/NetworkPolicyManagerService$11;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)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$4;->onUidGone(IZ)V +HSPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJI)V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/os/Message;Landroid/os/Message;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo; HPLcom/android/server/net/NetworkPolicyManagerService$Dependencies;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J +HPLcom/android/server/net/NetworkPolicyManagerService$IfaceQuotas;-><init>(Ljava/lang/String;JJ)V HPLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V +HPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->getSubscriptionOpportunisticQuota(Landroid/net/Network;I)J 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 @@ -5374,9 +5967,12 @@ HSPLcom/android/server/net/NetworkPolicyManagerService;->-$$Nest$fgetmUidStateCa 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;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;->addSdkSandboxUidsIfNeeded(Landroid/util/SparseIntArray;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray; +HPLcom/android/server/net/NetworkPolicyManagerService;->collectIfaces(Landroid/util/ArraySet;Landroid/net/NetworkStateSnapshot;)V +HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchBlockedReasonChanged(Landroid/net/INetworkPolicyListener;III)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 +HSPLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V +HPLcom/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; @@ -5384,10 +5980,12 @@ HPLcom/android/server/net/NetworkPolicyManagerService;->getPrimarySubscriptionPl 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;->getSubscriptionPlan(Landroid/net/NetworkTemplate;)Landroid/telephony/SubscriptionPlan; +HPLcom/android/server/net/NetworkPolicyManagerService;->getTotalBytes(Landroid/net/NetworkTemplate;JJ)J 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;->handleUidChanged(Lcom/android/server/net/NetworkPolicyManagerService$UidStateCallbackInfo;)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Lcom/android/server/net/NetworkPolicyLogger;Lcom/android/server/net/NetworkPolicyLogger;]Landroid/app/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService; 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 HSPLcom/android/server/net/NetworkPolicyManagerService;->isRestrictedByAdminUL(I)Z @@ -5401,16 +5999,18 @@ HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForDenylistRu HSPLcom/android/server/net/NetworkPolicyManagerService;->lambda$forEachUid$7(Landroid/util/SparseBooleanArray;ILjava/util/function/IntConsumer;Lcom/android/server/pm/pkg/AndroidPackage;)V HPLcom/android/server/net/NetworkPolicyManagerService;->lambda$handleDeviceIdleModeChangedUL$4(I)V+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService; HSPLcom/android/server/net/NetworkPolicyManagerService;->postBlockedReasonsChangedMsg(III)V -HSPLcom/android/server/net/NetworkPolicyManagerService;->postUidRulesChangedMsg(II)V HPLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)Z HPLcom/android/server/net/NetworkPolicyManagerService;->setAppIdleWhitelist(IZ)V +HPLcom/android/server/net/NetworkPolicyManagerService;->setDeviceIdleMode(Z)V +HPLcom/android/server/net/NetworkPolicyManagerService;->setInterfaceQuotasAsync(Ljava/lang/String;JJ)V HSPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredNetworkAllowlist(IZ)V HPLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnabledInner(Landroid/net/NetworkTemplate;Z)V 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;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]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+]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 +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;]Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;]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;]Landroid/net/NetworkPolicy;Landroid/net/NetworkPolicy;]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Ljava/time/Instant;Ljava/time/Instant;]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;]Landroid/telephony/SubscriptionPlan;Landroid/telephony/SubscriptionPlan; +HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/usage/NetworkStatsManager;Landroid/app/usage/NetworkStatsManager; HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V 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 @@ -5422,7 +6022,7 @@ HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRest 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;->updateSubscriptions()V -HSPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(IIJI)Z +HSPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(IIJI)Z+]Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/InputStream;)[B+]Ljava/io/InputStream;Ljava/io/FileInputStream;]Ljava/security/MessageDigest;Ljava/security/MessageDigest$Delegate; 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+]Lcom/android/server/net/watchlist/WatchlistLoggingHandler;Lcom/android/server/net/watchlist/WatchlistLoggingHandler; @@ -5434,7 +6034,6 @@ HPLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/Stri 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; 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;->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; 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; @@ -5443,6 +6042,7 @@ HPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server HPLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult; 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/EventConditionProvider$2;->onChanged()V 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; @@ -5460,22 +6060,22 @@ 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;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo; +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;->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 +HSPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; +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 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;->getLoggingImportance(Landroid/app/NotificationChannel;I)I+]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel; 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; +HPLcom/android/server/notification/NotificationComparator;->isCallStyle(Lcom/android/server/notification/NotificationRecord;)Z HPLcom/android/server/notification/NotificationComparator;->isImportantColorized(Lcom/android/server/notification/NotificationRecord;)Z+]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationComparator;->isImportantMessaging(Lcom/android/server/notification/NotificationRecord;)Z+]Lcom/android/internal/util/NotificationMessagingUtil;Lcom/android/internal/util/NotificationMessagingUtil;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; 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; @@ -5484,7 +6084,6 @@ HPLcom/android/server/notification/NotificationComparator;->isSystemMax(Lcom/and 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;->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 @@ -5508,6 +6107,7 @@ HPLcom/android/server/notification/NotificationManagerService$12;->getNotificati 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; +HSPLcom/android/server/notification/NotificationManagerService$12;->getZenMode()I 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 @@ -5515,6 +6115,7 @@ HSPLcom/android/server/notification/NotificationManagerService$13;->areNotificat 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;->run()V +HPLcom/android/server/notification/NotificationManagerService$1;->onNotificationClick(IILjava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)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 @@ -5523,14 +6124,16 @@ HPLcom/android/server/notification/NotificationManagerService$5;->onReceive(Land 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 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$CancelNotificationRunnable;->run()V+]Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/ShortcutHelper;]Lcom/android/server/notification/NotificationUsageStats;Lcom/android/server/notification/NotificationUsageStats;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/content/ComponentName;Landroid/content/ComponentName;]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$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$NotificationAssistants$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V +HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants$$ExternalSyntheticLambda0;->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$$ExternalSyntheticLambda10;->run()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+]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 @@ -5541,14 +6144,12 @@ HPLcom/android/server/notification/NotificationManagerService$NotificationAssist 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$$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 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$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(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; @@ -5563,7 +6164,6 @@ HPLcom/android/server/notification/NotificationManagerService$PostNotificationRu 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$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; @@ -5573,10 +6173,11 @@ HPLcom/android/server/notification/NotificationManagerService$TrimCache;->ForLis HPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V 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; 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 @@ -5586,16 +6187,16 @@ HPLcom/android/server/notification/NotificationManagerService;->applyAdjustment( 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/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/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; HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIII)V 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; -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;->checkCallerIsSameApp(Ljava/lang/String;II)V+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V+]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService; -HPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z +HPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;ZZ)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]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/ActivityManagerInternal;Lcom/android/server/am/ActivityManagerService$LocalService;]Landroid/app/Notification$Action;Landroid/app/Notification$Action;]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/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/SnoozeHelper; 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;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V @@ -5603,13 +6204,13 @@ HPLcom/android/server/notification/NotificationManagerService;->disableNotificat 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;->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; 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 +HPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;IIILandroid/app/ActivityManagerInternal$ServiceNotificationPolicy;Z)V+]Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$FlagResolver;Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$DebugResolver;]Lcom/android/server/SystemService;Lcom/android/server/notification/NotificationManagerService;]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/Notification;Landroid/app/Notification;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;]Landroid/content/AttributionSource$Builder;Landroid/content/AttributionSource$Builder;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Landroid/app/Notification$CallStyle;Landroid/app/Notification$CallStyle; 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;->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$HierarchicalUri;,Landroid/net/Uri$StringUri; +HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V 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; @@ -5629,13 +6230,12 @@ HPLcom/android/server/notification/NotificationManagerService;->isInteractionVis 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 +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;->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; +HPLcom/android/server/notification/NotificationManagerService;->logSmartSuggestionsVisible(Lcom/android/server/notification/NotificationRecord;I)V HSPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;+]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 HPLcom/android/server/notification/NotificationManagerService;->maybeRegisterMessageSent(Lcom/android/server/notification/NotificationRecord;)V @@ -5651,6 +6251,7 @@ HSPLcom/android/server/notification/NotificationManagerService;->updateLightsLoc HPLcom/android/server/notification/NotificationManagerService;->updateNotificationBubbleFlags(Lcom/android/server/notification/NotificationRecord;Z)V HPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V HPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;IZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService;]Lcom/android/server/uri/UriGrantsManagerInternal;Lcom/android/server/uri/UriGrantsManagerService$LocalService; +HPLcom/android/server/notification/NotificationManagerService;->vibrate(Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;Z)V 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 @@ -5662,7 +6263,7 @@ HPLcom/android/server/notification/NotificationRecord;->calculateGrantableUris() HPLcom/android/server/notification/NotificationRecord;->calculateImportance()V+]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I+]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/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light; -HPLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J +HPLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri; HPLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V+]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->calculateVibration()Landroid/os/VibrationEffect; @@ -5672,7 +6273,7 @@ HPLcom/android/server/notification/NotificationRecord;->copyRankingInformation(L 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; @@ -5680,8 +6281,10 @@ 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; 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; @@ -5703,44 +6306,41 @@ HPLcom/android/server/notification/NotificationRecord;->getUid()I+]Landroid/serv HPLcom/android/server/notification/NotificationRecord;->getUser()Landroid/os/UserHandle;+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; 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;->hasBeenVisiblyExpanded()Z HPLcom/android/server/notification/NotificationRecord;->hasSensitiveContent()Z 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;->isConversation()Z+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;]Landroid/app/Notification;Landroid/app/Notification;]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecord;->isHidden()Z HPLcom/android/server/notification/NotificationRecord;->isIntercepted()Z HPLcom/android/server/notification/NotificationRecord;->isInterruptive()Z HPLcom/android/server/notification/NotificationRecord;->isPreChannelsNotification()Z HPLcom/android/server/notification/NotificationRecord;->isRecentlyIntrusive()Z +HPLcom/android/server/notification/NotificationRecord;->isSeen()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;->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;->setSeen()V HPLcom/android/server/notification/NotificationRecord;->setVisibility(ZIILcom/android/server/notification/NotificationRecordLogger;)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/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V +HPLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;ZZ)V+]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]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;,Landroid/net/Uri$HierarchicalUri; 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$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;->getStyle()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 +HPLcom/android/server/notification/NotificationRecordLogger;->getLoggingImportance(Lcom/android/server/notification/NotificationRecord;)I+]Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord; HPLcom/android/server/notification/NotificationRecordLogger;->isForegroundService(Lcom/android/server/notification/NotificationRecord;)Z -HPLcom/android/server/notification/NotificationRecordLogger;->isNonDismissible(Lcom/android/server/notification/NotificationRecord;)Z +HPLcom/android/server/notification/NotificationRecordLogger;->logNotificationVisibility(Lcom/android/server/notification/NotificationRecord;Z)V 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 +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;->updateInterarrivalEstimate(J)V HPLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V HPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V @@ -5752,10 +6352,10 @@ HPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLo 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 +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;->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 -HPLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V +HPLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;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/NotificationUsageStats$SingleNotificationStats;Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats; 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; @@ -5768,7 +6368,6 @@ HPLcom/android/server/notification/PreferencesHelper;->bubblesEnabled(Landroid/o HPLcom/android/server/notification/PreferencesHelper;->canShowBadge(Ljava/lang/String;I)Z+]Lcom/android/server/notification/PreferencesHelper;Lcom/android/server/notification/PreferencesHelper; HPLcom/android/server/notification/PreferencesHelper;->canShowNotificationsOnLockscreen(I)Z HPLcom/android/server/notification/PreferencesHelper;->canShowPrivateNotificationsOnLockScreen(I)Z -HSPLcom/android/server/notification/PreferencesHelper;->createDefaultChannelIfNeededLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z HSPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZIZ)Z HPLcom/android/server/notification/PreferencesHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZIZ)V HSPLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;IZ)Z @@ -5794,24 +6393,22 @@ HSPLcom/android/server/notification/PreferencesHelper;->restorePackage(Lcom/andr 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/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; +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; 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; +HSPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]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/RateEstimator;->getInterarrivalEstimate(J)D +HPLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D+]Ljava/lang/Long;Ljava/lang/Long; 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 -HSPLcom/android/server/notification/SmallHash;->hash(Ljava/lang/String;)I 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; 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 HSPLcom/android/server/notification/SnoozeHelper;->writeXml(Lcom/android/modules/utils/TypedXmlSerializer;)V -HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isExpired()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; @@ -5822,16 +6419,24 @@ 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; -HSPLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F +HSPLcom/android/server/notification/VibratorHelper;->getFloatArray(Landroid/content/res/Resources;I)[F+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLcom/android/server/notification/VibratorHelper;->getLongArray(Landroid/content/res/Resources;II[J)[J+]Landroid/content/res/Resources;Landroid/content/res/Resources; 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; HSPLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V +HSPLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)V HSPLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Z)V HSPLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Landroid/content/ComponentName;Z)V +HSPLcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;-><init>(ILandroid/service/notification/ZenModeConfig;Landroid/app/NotificationManager$Policy;)V +HSPLcom/android/server/notification/ZenModeEventLogger$ZenStateChanges;->init(Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;Lcom/android/server/notification/ZenModeEventLogger$ZenModeInfo;IZ)V 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 +HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitDndType()V +HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitRules()V +HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitZenMode()V +HPLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V +HSPLcom/android/server/notification/ZenModeHelper;->computeZenMode()I +HSPLcom/android/server/notification/ZenModeHelper;->evaluateZenModeLocked(Ljava/lang/String;Z)V 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;->updateConfigAndZenModeLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;ZIZ)V @@ -5852,7 +6457,6 @@ HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/an 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$fgetmUserId(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;->getOverlayInfo()Landroid/content/om/OverlayInfo; HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getTargetPackageName()Ljava/lang/String; HSPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForTarget(Ljava/lang/String;I)Ljava/util/List; HSPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereTarget$12(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z @@ -5874,6 +6478,7 @@ HPLcom/android/server/om/OverlayReferenceMapper;->isValidActor(Ljava/lang/String 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/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 @@ -5883,16 +6488,18 @@ HPLcom/android/server/people/data/AbstractProtoDiskReadWriter;->scheduleSave(Lja 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;->getConversation(Ljava/lang/String;)Lcom/android/server/people/data/ConversationInfo; 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$MmsSmsContentObserver;->onChange(Z)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 +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 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;->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;->getPackage(Ljava/lang/String;I)Lcom/android/server/people/data/PackageData; 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 @@ -5902,7 +6509,7 @@ HPLcom/android/server/people/data/EventIndex;->createFourHoursLongTimeSlot(J)Lan HPLcom/android/server/people/data/EventIndex;->createOneDayLongTimeSlot(J)Landroid/util/Range; HPLcom/android/server/people/data/EventIndex;->createOneHourLongTimeSlot(J)Landroid/util/Range; HPLcom/android/server/people/data/EventIndex;->createTwoMinutesLongTimeSlot(J)Landroid/util/Range; -HPLcom/android/server/people/data/EventIndex;->diffTimeSlots(IJJ)I +HPLcom/android/server/people/data/EventIndex;->diffTimeSlots(IJJ)I+]Ljava/util/function/Function;Lcom/android/server/people/data/EventIndex$$ExternalSyntheticLambda2;,Lcom/android/server/people/data/EventIndex$$ExternalSyntheticLambda3;,Lcom/android/server/people/data/EventIndex$$ExternalSyntheticLambda0;,Lcom/android/server/people/data/EventIndex$$ExternalSyntheticLambda1;]Landroid/util/Range;Landroid/util/Range;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Ljava/lang/Long;Ljava/lang/Long; HPLcom/android/server/people/data/EventIndex;->getDuration(Landroid/util/Range;)J HPLcom/android/server/people/data/EventIndex;->toEpochMilli(Ljava/time/LocalDateTime;)J+]Ljava/time/LocalDateTime;Ljava/time/LocalDateTime;]Ljava/time/Instant;Ljava/time/Instant;]Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime; HPLcom/android/server/people/data/EventIndex;->toLocalDateTime(J)Ljava/time/LocalDateTime;+]Ljava/util/TimeZone;Llibcore/util/ZoneInfo; @@ -5910,8 +6517,10 @@ 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; +HPLcom/android/server/people/data/MmsQueryHelper;->querySince(J)Z +HPLcom/android/server/people/data/SmsQueryHelper;->querySince(J)Z +HPLcom/android/server/people/data/UsageStatsQueryHelper;->querySince(J)Z +HPLcom/android/server/people/data/UserData;->getPackageData(Ljava/lang/String;)Lcom/android/server/people/data/PackageData; HSPLcom/android/server/permission/access/AccessCheckingService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/permission/access/AccessCheckingService;->onStart()V HSPLcom/android/server/permission/access/AccessPersistence$Companion;-><init>()V @@ -5990,8 +6599,7 @@ HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaPackage(II)Z+]Lcom/andro HPLcom/android/server/pm/AppsFilterBase;->isQueryableViaUsesLibrary(II)Z+]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray; 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/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;->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/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl; 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 @@ -6009,10 +6617,10 @@ HSPLcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;->updatePackageState( HSPLcom/android/server/pm/AppsFilterImpl;->-$$Nest$monChanged(Lcom/android/server/pm/AppsFilterImpl;)V HSPLcom/android/server/pm/AppsFilterImpl;-><init>(Lcom/android/server/pm/FeatureConfig;[Ljava/lang/String;ZLcom/android/server/om/OverlayReferenceMapper$Provider;Landroid/os/Handler;)V HSPLcom/android/server/pm/AppsFilterImpl;->addPackage(Lcom/android/server/pm/Computer;Lcom/android/server/pm/pkg/PackageStateInternal;ZZ)V -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;->addPackageInternal(Lcom/android/server/pm/pkg/PackageStateInternal;Landroid/util/ArrayMap;)Landroid/util/ArraySet;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/FeatureConfig;Lcom/android/server/pm/AppsFilterImpl$FeatureConfigImpl;]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/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/Collections$UnmodifiableRandomAccessList;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting;]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/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedPermissionImpl;]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/server/pm/pkg/component/ParsedUsesPermission;Lcom/android/server/pm/pkg/component/ParsedUsesPermissionImpl;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/utils/WatchedSparseSetArray;Lcom/android/server/utils/WatchedSparseSetArray;]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+]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;->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;->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 @@ -6073,10 +6681,11 @@ HSPLcom/android/server/pm/ComputerEngine$Settings;->isEnabledAndMatch(Lcom/andro 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/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;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;II)Ljava/util/List;+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]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; 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/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; +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; HSPLcom/android/server/pm/ComputerEngine;->canViewInstantApps(II)Z+]Landroid/content/Context;Landroid/app/ContextImpl; HSPLcom/android/server/pm/ComputerEngine;->checkSignatures(Ljava/lang/String;Ljava/lang/String;I)I HSPLcom/android/server/pm/ComputerEngine;->checkSignaturesInternal(Landroid/content/pm/SigningDetails;Landroid/content/pm/SigningDetails;)I @@ -6086,13 +6695,13 @@ HSPLcom/android/server/pm/ComputerEngine;->enforceCrossUserOrProfilePermission(I 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/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +HSPLcom/android/server/pm/ComputerEngine;->filterAppAccess(Ljava/lang/String;IIZ)Z+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; 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;+]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;->filterSdkLibPackage(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/ComputerEngine;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;]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/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;->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; 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; @@ -6101,18 +6710,20 @@ HSPLcom/android/server/pm/ComputerEngine;->getApplicationEnabledSetting(Ljava/la HSPLcom/android/server/pm/ComputerEngine;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getApplicationInfoInternal(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]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;->getApplicationInfoInternalBody(Ljava/lang/String;JII)Landroid/content/pm/ApplicationInfo;+]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; +HPLcom/android/server/pm/ComputerEngine;->getBlockUninstall(ILjava/lang/String;)Z HPLcom/android/server/pm/ComputerEngine;->getBlockUninstallForUser(Ljava/lang/String;I)Z+]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;->getComponentEnabledSetting(Landroid/content/ComponentName;II)I HPLcom/android/server/pm/ComputerEngine;->getComponentEnabledSettingInternal(Landroid/content/ComponentName;II)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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;->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;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence; 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; +HPLcom/android/server/pm/ComputerEngine;->getInstallerPackageName(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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;->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;+]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; @@ -6128,18 +6739,18 @@ HSPLcom/android/server/pm/ComputerEngine;->getPackageStartability(ZLjava/lang/St 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/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;->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;->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; +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/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;->getPackagesForUid(I)[Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternal(II)[Ljava/lang/String;+]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine; HSPLcom/android/server/pm/ComputerEngine;->getPackagesForUidInternalBody(IIIZ)[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;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]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;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting; HSPLcom/android/server/pm/ComputerEngine;->getPackagesHoldingPermissions([Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;]Lcom/android/server/pm/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; -HSPLcom/android/server/pm/ComputerEngine;->getPackagesUsingSharedLibrary(Landroid/content/pm/SharedLibraryInfo;JII)Ljava/util/List;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/ArrayList;]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/ComputerLocked;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/ComputerEngine;->getPackagesUsingSharedLibrary(Landroid/content/pm/SharedLibraryInfo;JII)Ljava/util/List;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;Ljava/util/ArrayList;]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/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; 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;->getReceiverInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo;+]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/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]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;->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; @@ -6159,23 +6770,23 @@ HPLcom/android/server/pm/ComputerEngine;->hasSigningCertificate(Ljava/lang/Strin 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/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +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;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;->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+]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$HierarchicalUri;,Landroid/net/Uri$StringUri;]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/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Landroid/net/Uri;Landroid/net/Uri$OpaqueUri;,Landroid/net/Uri$StringUri;,Landroid/net/Uri$HierarchicalUri;]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; 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;->queryContentProviders(Ljava/lang/String;IJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]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;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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/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;->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;->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; @@ -6185,21 +6796,22 @@ HSPLcom/android/server/pm/ComputerEngine;->resolveInternalPackageName(Ljava/lang 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/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +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;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/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/ComputerEngine;Lcom/android/server/pm/ComputerEngine;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/SharedUserSetting;]Lcom/android/server/pm/pkg/PackageState;Lcom/android/server/pm/PackageSetting; 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/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/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +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;->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; @@ -6212,34 +6824,29 @@ HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->-$$Nest$mhasInteractAcros 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;+]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; 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;->getStringFromXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLcom/android/server/pm/CrossProfileIntentFilter;->getFlags()I +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 -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;-><init>()V +HSPLcom/android/server/pm/CrossProfileIntentFilter;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Landroid/content/IntentFilter;Landroid/content/IntentFilter; HSPLcom/android/server/pm/CrossProfileIntentResolver;-><init>(Lcom/android/server/pm/CrossProfileIntentResolver;)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 HPLcom/android/server/pm/CrossProfileIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z+]Lcom/android/server/pm/CrossProfileIntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver; -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/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 @@ -6251,8 +6858,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/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;->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;->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; @@ -6276,7 +6883,7 @@ HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultClon HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultCrossProfileTelephonyIntentFilters(Z)Ljava/util/List; HSPLcom/android/server/pm/DefaultCrossProfileIntentFiltersUtils;->getDefaultManagedProfileFilters()Ljava/util/List; HSPLcom/android/server/pm/DefaultCrossProfileResolver;-><init>(Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;)V -HSPLcom/android/server/pm/DefaultCrossProfileResolver;->createForwardingResolveInfo(Lcom/android/server/pm/Computer;Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;JILjava/util/function/Function;)Lcom/android/server/pm/CrossProfileDomainInfo; +HSPLcom/android/server/pm/DefaultCrossProfileResolver;->createForwardingResolveInfo(Lcom/android/server/pm/Computer;Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;JILjava/util/function/Function;)Lcom/android/server/pm/CrossProfileDomainInfo;+]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Lcom/android/server/pm/CrossProfileResolver;Lcom/android/server/pm/DefaultCrossProfileResolver;]Ljava/util/function/Function;Lcom/android/server/pm/ComputerEngine$$ExternalSyntheticLambda1;]Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/verify/domain/DomainVerificationService;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter; HPLcom/android/server/pm/DefaultCrossProfileResolver;->filterResolveInfoWithDomainPreferredActivity(Landroid/content/Intent;Ljava/util/List;JIII)Ljava/util/List; HSPLcom/android/server/pm/DefaultCrossProfileResolver;->queryCrossProfileIntents(Lcom/android/server/pm/Computer;Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;JIZLjava/util/function/Function;)Lcom/android/server/pm/CrossProfileDomainInfo; HSPLcom/android/server/pm/DefaultCrossProfileResolver;->querySkipCurrentProfileIntents(Lcom/android/server/pm/Computer;Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;JILjava/util/function/Function;)Lcom/android/server/pm/CrossProfileDomainInfo; @@ -6292,8 +6899,8 @@ 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;->-$$Nest$fgetmAuditWatchingStopRequested(Lcom/android/server/pm/DynamicCodeLoggingService;)Z HSPLcom/android/server/pm/GentleUpdateHelper;->onUidImportance(II)V+]Landroid/os/Handler;Landroid/os/Handler;]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl; +HPLcom/android/server/pm/IPackageManagerBase;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V 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;->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; @@ -6301,7 +6908,6 @@ HSPLcom/android/server/pm/IPackageManagerBase;->getApplicationEnabledSetting(Lja HSPLcom/android/server/pm/IPackageManagerBase;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;+]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;->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;+]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; @@ -6310,8 +6916,9 @@ HSPLcom/android/server/pm/IPackageManagerBase;->getNameForUid(I)Ljava/lang/Strin 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;->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; -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; +HPLcom/android/server/pm/IPackageManagerBase;->getPropertyAsUser(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PackageManager$Property; HSPLcom/android/server/pm/IPackageManagerBase;->getRotationResolverPackageName()Ljava/lang/String; +HPLcom/android/server/pm/IPackageManagerBase;->getSdkSandboxPackageName()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; @@ -6347,7 +6954,6 @@ HSPLcom/android/server/pm/InstallPackageHelper;->commitReconciledScanResultLocke 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;->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 @@ -6418,7 +7024,9 @@ HPLcom/android/server/pm/InstantAppResolver;->doInstantAppResolutionPhaseOne(Lco 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; HPLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;->sendResult(Landroid/os/Bundle;)V +HPLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;->getInstantAppResolveInfoList(Landroid/app/IInstantAppResolver;Landroid/content/pm/InstantAppRequestInfo;)Ljava/util/List; HPLcom/android/server/pm/InstantAppResolverConnection;->getInstantAppResolveInfoList(Landroid/content/pm/InstantAppRequestInfo;)Ljava/util/List; +HPLcom/android/server/pm/InstantAppResolverConnection;->throwIfCalledOnMainThread()V HSPLcom/android/server/pm/InstructionSets;-><clinit>()V HSPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String; HSPLcom/android/server/pm/InstructionSets;->getPreferredInstructionSet()Ljava/lang/String; @@ -6447,7 +7055,7 @@ HSPLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked( 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/Computer;Lcom/android/server/pm/ComputerLocked;,Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/DefaultAppProvider;Lcom/android/server/pm/DefaultAppProvider; +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; 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; @@ -6458,6 +7066,7 @@ HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getAppUsageLimit 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;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor; 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 HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I @@ -6468,16 +7077,14 @@ HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCal HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z 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;->queryIntentLauncherActivities(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;+]Ljava/util/List;Ljava/util/Collections$EmptyList;,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;->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;)V 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;->getInstalledModules(I)Ljava/util/List; +HSPLcom/android/server/pm/ModuleInfoProvider;->getInstalledModules(I)Ljava/util/List;+]Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageManagerService$IPackageManagerImpl;]Lcom/android/server/pm/ModuleInfoProvider;Lcom/android/server/pm/ModuleInfoProvider;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; 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 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;->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 HSPLcom/android/server/pm/PackageAbiHelper$Abis;->applyTo(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)V @@ -6503,15 +7110,12 @@ HSPLcom/android/server/pm/PackageHandler;-><init>(Landroid/os/Looper;Lcom/androi HSPLcom/android/server/pm/PackageHandler;->doHandleMessage(Landroid/os/Message;)V HSPLcom/android/server/pm/PackageInstallerService$1;-><init>()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 HPLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionProgressChanged(Lcom/android/server/pm/PackageInstallerSession;F)V HSPLcom/android/server/pm/PackageInstallerService;-><clinit>()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;->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 -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; @@ -6520,11 +7124,10 @@ HPLcom/android/server/pm/PackageInstallerSession;->generateInfoInternal(ZZ)Landr 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;->isCommitted()Z+]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean; 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/PackageInstallerSession;->write(Lcom/android/modules/utils/TypedXmlSerializer;Ljava/io/File;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;]Lcom/android/server/pm/PackageInstallerSession;Lcom/android/server/pm/PackageInstallerSession;]Ljava/io/File;Ljava/io/File;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Lcom/android/server/pm/PackageInstallerSession$PerFileChecksum;Lcom/android/server/pm/PackageInstallerSession$PerFileChecksum;]Landroid/content/pm/Checksum;Landroid/content/pm/Checksum; HSPLcom/android/server/pm/PackageKeySetData;-><init>()V HSPLcom/android/server/pm/PackageKeySetData;-><init>(Lcom/android/server/pm/PackageKeySetData;)V HSPLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap; @@ -6540,11 +7143,11 @@ HSPLcom/android/server/pm/PackageManagerException;->ofInternalError(Ljava/lang/S 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/ComputerEngine;,Lcom/android/server/pm/ComputerLocked; +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; HSPLcom/android/server/pm/PackageManagerInternalBase;->forEachPackageState(Ljava/util/function/Consumer;)V 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+]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; @@ -6577,8 +7180,8 @@ HSPLcom/android/server/pm/PackageManagerInternalBase;->snapshot()Lcom/android/se HSPLcom/android/server/pm/PackageManagerNative;->getTargetSdkVersionForPackage(Ljava/lang/String;)I 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; @@ -6588,19 +7191,21 @@ HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda31;->pro 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$$ExternalSyntheticLambda35;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda37;->produce(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object; +HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda38;-><init>()V HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda39;-><init>()V -HSPLcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda40;-><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$$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$$ExternalSyntheticLambda44;-><init>(Landroid/content/Context;)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$$ExternalSyntheticLambda48;->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$$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 @@ -6609,8 +7214,6 @@ 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 @@ -6620,6 +7223,7 @@ 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$IPackageManagerImpl;->checkPackageStartable(Ljava/lang/String;I)V +HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getSplashScreenTheme(Ljava/lang/String;I)Ljava/lang/String; HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice; 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 @@ -6628,6 +7232,7 @@ HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->notifyPack 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 HSPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setComponentEnabledSetting(Landroid/content/ComponentName;IIILjava/lang/String;)V +HPLcom/android/server/pm/PackageManagerService$IPackageManagerImpl;->setPackageStoppedState(Ljava/lang/String;ZI)V HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V 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; @@ -6635,7 +7240,7 @@ HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->get 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;->hasSignatureCapability(III)Z -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;II)Z+]Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; 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;->writePermissionSettings([IZ)V+]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings; @@ -6650,6 +7255,7 @@ HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmPackagesSnapshot( 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$fgetmSuspendPackageHelper(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/SuspendPackageHelper; HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$fgetmWebInstantAppsDisabled(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/utils/WatchedSparseBooleanArray; HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$mnotifyPackageUseInternal(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V HSPLcom/android/server/pm/PackageManagerService;->-$$Nest$msetEnabledSettings(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;ILjava/lang/String;)V @@ -6663,7 +7269,7 @@ HSPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/Str HSPLcom/android/server/pm/PackageManagerService;->createLiveComputer()Lcom/android/server/pm/ComputerLocked; 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(Landroid/util/ArrayMap;Ljava/util/function/Consumer;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/Consumer;Lcom/android/server/BinaryTransparencyService$BinaryTransparencyServiceImpl$$ExternalSyntheticLambda0;,Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda3;,Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl$$ExternalSyntheticLambda0; 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;->getCoreAndroidApplication()Landroid/content/pm/ApplicationInfo; @@ -6695,17 +7301,7 @@ HSPLcom/android/server/pm/PackageManagerService;->lambda$main$17(Lcom/android/se HSPLcom/android/server/pm/PackageManagerService;->lambda$main$18(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/DynamicCodeLogger; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$19(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/ArtManagerService; HSPLcom/android/server/pm/PackageManagerService;->lambda$main$20(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ApexManager; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$21(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/dex/ViewCompiler; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$22(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager; -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$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; -HSPLcom/android/server/pm/PackageManagerService;->lambda$main$36(Lcom/android/server/pm/PackageManagerServiceInjector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/BackgroundDexOptService; -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; 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; @@ -6719,7 +7315,7 @@ HSPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictio HSPLcom/android/server/pm/PackageManagerService;->scheduleWriteSettings()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/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;->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;->setPlatformPackage(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)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; @@ -6729,7 +7325,7 @@ HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getAndCheckVali 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$$ExternalSyntheticLambda46;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda49; +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$$ExternalSyntheticLambda46;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda36;,Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda39;,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; @@ -6762,9 +7358,8 @@ 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; +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;->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 @@ -6775,9 +7370,10 @@ HSPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/l HSPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Lcom/android/server/pm/UserManagerInternal;Ljava/lang/String;II)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;->getSettingsProblemFile()Ljava/io/File; HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRoot()Z HSPLcom/android/server/pm/PackageManagerServiceUtils;->isSystemOrRootOrShell(I)Z +HSPLcom/android/server/pm/PackageManagerServiceUtils;->logCriticalInfo(ILjava/lang/String;)V 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 @@ -6786,6 +7382,7 @@ 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; +HPLcom/android/server/pm/PackageProperty;->getApplicationProperty(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property; 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;-><init>(Lcom/android/server/pm/PackageSetting;)V @@ -6844,7 +7441,7 @@ 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;->isPrivileged()Z+]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting; -HSPLcom/android/server/pm/PackageSetting;->isProduct()Z +HSPLcom/android/server/pm/PackageSetting;->isProduct()Z+]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->isSystem()Z+]Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting; HSPLcom/android/server/pm/PackageSetting;->isSystemExt()Z HSPLcom/android/server/pm/PackageSetting;->isUpdateAvailable()Z @@ -6886,6 +7483,7 @@ HSPLcom/android/server/pm/PackageSetting;->snapshot()Ljava/lang/Object;+]Lcom/an HSPLcom/android/server/pm/PackageSetting;->toString()Ljava/lang/String; HSPLcom/android/server/pm/PackageSetting;->updateFrom(Lcom/android/server/pm/PackageSetting;)V HSPLcom/android/server/pm/PackageSetting;->updateMimeGroups(Ljava/util/Set;)Lcom/android/server/pm/PackageSetting; +HPLcom/android/server/pm/PackageSetting;->writePackageUserPermissionsProto(Landroid/util/proto/ProtoOutputStream;JLjava/util/List;Lcom/android/server/pm/permission/LegacyPermissionDataProvider;)V 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 @@ -6893,7 +7491,6 @@ 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;->readToken(Ljava/io/InputStream;Ljava/lang/StringBuilder;C)Ljava/lang/String; 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 @@ -6928,12 +7525,11 @@ HSPLcom/android/server/pm/PreferredActivity$1;-><init>(Lcom/android/server/pm/Pr HSPLcom/android/server/pm/PreferredActivity;-><init>(Lcom/android/modules/utils/TypedXmlPullParser;)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;->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+]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; +HPLcom/android/server/pm/PreferredComponent;->sameSet([Landroid/content/ComponentName;)Z +HSPLcom/android/server/pm/PreferredComponent;->writeToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V HSPLcom/android/server/pm/PreferredIntentResolver$1;-><init>(Lcom/android/server/pm/PreferredIntentResolver;Lcom/android/server/pm/PreferredIntentResolver;Lcom/android/server/utils/Watchable;)V HSPLcom/android/server/pm/PreferredIntentResolver;-><init>()V HSPLcom/android/server/pm/PreferredIntentResolver;->getIntentFilter(Lcom/android/server/pm/PreferredActivity;)Landroid/content/IntentFilter; @@ -6950,7 +7546,6 @@ HSPLcom/android/server/pm/ProtectedPackages;->isOwnerProtectedPackage(ILjava/lan 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+]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 HSPLcom/android/server/pm/ReconcilePackageUtils;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z HSPLcom/android/server/pm/ReconcilePackageUtils;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z @@ -6959,12 +7554,12 @@ HSPLcom/android/server/pm/ReconciledPackage;-><init>(Ljava/util/List;Ljava/util/ HSPLcom/android/server/pm/ReconciledPackage;->getCombinedAvailablePackages()Ljava/util/Map; HSPLcom/android/server/pm/ResilientAtomicFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/io/File;ILjava/lang/String;Lcom/android/server/pm/ResilientAtomicFile$ReadEventLogger;)V HSPLcom/android/server/pm/ResilientAtomicFile;->close()V -HSPLcom/android/server/pm/ResilientAtomicFile;->finalizeOutStream(Ljava/io/FileOutputStream;)V HSPLcom/android/server/pm/ResilientAtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V HSPLcom/android/server/pm/ResilientAtomicFile;->openRead()Ljava/io/FileInputStream; HSPLcom/android/server/pm/ResilientAtomicFile;->startWrite()Ljava/io/FileOutputStream; HSPLcom/android/server/pm/ResolveIntentHelper;-><init>(Landroid/content/Context;Lcom/android/server/pm/PreferredActivityHelper;Lcom/android/server/compat/PlatformCompat;Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/verify/domain/DomainVerificationManagerInternal;Lcom/android/server/pm/UserNeedsBadgingCache;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Landroid/os/Handler;)V HSPLcom/android/server/pm/ResolveIntentHelper;->chooseBestActivity(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJLjava/util/List;IZ)Landroid/content/pm/ResolveInfo;+]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/function/Supplier;Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda62;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Lcom/android/server/pm/PreferredActivityHelper;Lcom/android/server/pm/PreferredActivityHelper;]Landroid/content/Intent;Landroid/content/Intent; +HPLcom/android/server/pm/ResolveIntentHelper;->queryIntentContentProvidersInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; HSPLcom/android/server/pm/ResolveIntentHelper;->queryIntentReceiversInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JII)Ljava/util/List; HSPLcom/android/server/pm/ResolveIntentHelper;->queryIntentReceiversInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JIIZ)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/pm/resolution/ComponentResolverSnapshot;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Landroid/content/Intent;Landroid/content/Intent; HSPLcom/android/server/pm/ResolveIntentHelper;->resolveIntentInternal(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JJIZI)Landroid/content/pm/ResolveInfo; @@ -7021,11 +7616,10 @@ HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;-><ini HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$PersistenceHandler;-><init>(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;->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;->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;->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;->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 @@ -7040,6 +7634,7 @@ HSPLcom/android/server/pm/Settings;->dispatchChange(Lcom/android/server/utils/Wa 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 +HPLcom/android/server/pm/Settings;->dumpSplitNames(Ljava/io/PrintWriter;Lcom/android/server/pm/pkg/AndroidPackage;)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; @@ -7069,6 +7664,7 @@ HSPLcom/android/server/pm/Settings;->isRegisteredObserver(Lcom/android/server/ut HSPLcom/android/server/pm/Settings;->makeCache()Lcom/android/server/utils/SnapshotCache; HSPLcom/android/server/pm/Settings;->parseAppId(Lcom/android/modules/utils/TypedXmlPullParser;)I HSPLcom/android/server/pm/Settings;->parseSharedUserAppId(Lcom/android/modules/utils/TypedXmlPullParser;)I +HPLcom/android/server/pm/Settings;->permissionFlagsToString(Ljava/lang/String;I)Ljava/lang/String; HPLcom/android/server/pm/Settings;->printFlags(Ljava/io/PrintWriter;I[Ljava/lang/Object;)V+]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; @@ -7088,12 +7684,12 @@ HSPLcom/android/server/pm/Settings;->registerObserver(Lcom/android/server/utils/ HSPLcom/android/server/pm/Settings;->registerObservers()V HSPLcom/android/server/pm/Settings;->removeRenamedPackageLPw(Ljava/lang/String;)V HSPLcom/android/server/pm/Settings;->snapshot()Lcom/android/server/pm/Settings; -HSPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V +HSPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lcom/android/modules/utils/TypedXmlSerializer;I)V+]Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;]Ljava/util/Iterator;Ljava/util/Collections$UnmodifiableCollection$1;]Lcom/android/server/IntentResolver;Lcom/android/server/pm/CrossProfileIntentResolver;]Lcom/android/server/pm/CrossProfileIntentFilter;Lcom/android/server/pm/CrossProfileIntentFilter;]Ljava/util/Set;Ljava/util/Collections$UnmodifiableSet; 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+]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 +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;->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;->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; @@ -7119,7 +7715,7 @@ HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->attribute(Ljava/lang/St 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;->finish()V+]Lcom/android/server/pm/SettingsXml$WriteSectionImpl;Lcom/android/server/pm/SettingsXml$WriteSectionImpl; +HSPLcom/android/server/pm/SettingsXml$WriteSectionImpl;->finish()V 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; HPLcom/android/server/pm/ShareTargetInfo;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;)V @@ -7148,7 +7744,7 @@ HSPLcom/android/server/pm/SharedLibrariesImpl;->registerObserver(Lcom/android/se HSPLcom/android/server/pm/SharedLibrariesImpl;->registerObservers()V HSPLcom/android/server/pm/SharedLibrariesImpl;->setDeletePackageHelper(Lcom/android/server/pm/DeletePackageHelper;)V HSPLcom/android/server/pm/SharedLibrariesImpl;->snapshot()Lcom/android/server/pm/SharedLibrariesRead; -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;->updateAllSharedLibrariesLPw(Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/Map;)Ljava/util/ArrayList;+]Lcom/android/server/pm/SharedLibrariesImpl;Lcom/android/server/pm/SharedLibrariesImpl;]Lcom/android/server/pm/Settings;Lcom/android/server/pm/Settings;]Lcom/android/server/utils/WatchedArrayMap;Lcom/android/server/utils/WatchedArrayMap;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl;]Ljava/util/ArrayList;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/SharedUidMigration;->isDisabled()Z @@ -7175,18 +7771,20 @@ HPLcom/android/server/pm/ShortcutBitmapSaver;->saveBitmapLocked(Landroid/content 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$$ExternalSyntheticLambda35;-><init>(Lcom/android/server/pm/ShortcutPackage;Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutService;[Z)V +HPLcom/android/server/pm/ShortcutPackage$$ExternalSyntheticLambda35;->apply(Ljava/lang/Object;)Ljava/lang/Object; 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;->adjustRanks()V HPLcom/android/server/pm/ShortcutPackage;->areAllActivitiesStillEnabled()Z 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;->findShortcutById(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo; 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$$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;->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;]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; @@ -7195,8 +7793,8 @@ 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 -HPLcom/android/server/pm/ShortcutPackage;->lambda$new$25(Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;)I+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo; +HPLcom/android/server/pm/ShortcutPackage;->lambda$forEachShortcut$37(Ljava/util/function/Consumer;Landroid/content/pm/ShortcutInfo;)Ljava/lang/Boolean; +HPLcom/android/server/pm/ShortcutPackage;->lambda$new$25(Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;)I HPLcom/android/server/pm/ShortcutPackage;->lambda$saveShortcutsAsync$46(Ljava/util/Collection;Landroid/app/appsearch/AppSearchSession;)V HPLcom/android/server/pm/ShortcutPackage;->lambda$sortShortcutsToActivities$22(Landroid/util/ArrayMap;Landroid/content/pm/ShortcutInfo;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;]Ljava/util/ArrayList;Ljava/util/ArrayList; HPLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo; @@ -7205,12 +7803,13 @@ HPLcom/android/server/pm/ShortcutPackage;->pushDynamicShortcut(Landroid/content/ HPLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z 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;->saveShortcut(Ljava/util/Collection;)V 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;->saveToXml(Lcom/android/modules/utils/TypedXmlSerializer;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;,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;->isBackupAllowed()Z 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 @@ -7223,11 +7822,12 @@ HPLcom/android/server/pm/ShortcutPackageItem;->saveToFileLocked(Ljava/io/File;Z) HPLcom/android/server/pm/ShortcutPackageItem;->scheduleSave()V 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/ShortcutRequestPinProcessor;->getRequestPinConfirmationActivity(II)Landroid/util/Pair; 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;->lambda$onUidStateChanged$0(II)V +HSPLcom/android/server/pm/ShortcutService$4;->lambda$onUidStateChanged$0(II)V+]Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService; 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; @@ -7245,13 +7845,13 @@ HPLcom/android/server/pm/ShortcutService;->getApplicationInfo(Ljava/lang/String; 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;+]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;->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;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo; +HPLcom/android/server/pm/ShortcutService;->injectBinderCallingUid()I 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; @@ -7264,10 +7864,10 @@ HSPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runna 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;->isCallerSystem()Z +HPLcom/android/server/pm/ShortcutService;->isEphemeralApp(Ljava/lang/String;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;]Lcom/android/server/pm/UserManagerInternal;Lcom/android/server/pm/UserManagerService$LocalService; @@ -7279,22 +7879,22 @@ HPLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V+]Lcom/android/in 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;+]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;->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;->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;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;Ljava/lang/CharSequence;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/ArtBinaryXmlSerializer;,Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]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+]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;+]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;->lambda$getAppSearch$7(Lcom/android/internal/infra/AndroidFuture;Landroid/app/appsearch/AppSearchResult;)V HPLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V HSPLcom/android/server/pm/SnapshotStatistics$1;-><init>(Lcom/android/server/pm/SnapshotStatistics;Landroid/os/Looper;)V HSPLcom/android/server/pm/SnapshotStatistics$BinMap;-><init>([I)V @@ -7336,7 +7936,7 @@ HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserInfos()[Landr HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserProperties(I)Landroid/content/pm/UserProperties; 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 +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; 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; @@ -7367,29 +7967,30 @@ HSPLcom/android/server/pm/UserManagerService;->checkQueryOrInteractPermissionIfC 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;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HPLcom/android/server/pm/UserManagerService;->getCrossProfileIntentFilterAccessControl(I)I 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;->getOwnerName()Ljava/lang/String; 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;->getProfileParentIdUnchecked(I)I 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; 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;->getUserBadgeDarkColorResId(I)I -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 +HSPLcom/android/server/pm/UserManagerService;->getUserHandle(I)I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; 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; -HSPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; +HSPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService;->getUserInfoNoChecks(I)Landroid/content/pm/UserInfo;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/pm/UserManagerService;->getUserListFile()Lcom/android/server/pm/ResilientAtomicFile; HSPLcom/android/server/pm/UserManagerService;->getUserPropertiesCopy(I)Landroid/content/pm/UserProperties;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; @@ -7399,12 +8000,9 @@ HSPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I+]Lcom/and 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; -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(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 HSPLcom/android/server/pm/UserManagerService;->hasCreateUsersPermission()Z HSPLcom/android/server/pm/UserManagerService;->hasManageUsersOrPermission(Ljava/lang/String;)Z HSPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission()Z @@ -7421,7 +8019,7 @@ 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 -HPLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z +HPLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo; 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 @@ -7435,8 +8033,6 @@ HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljav 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; -HSPLcom/android/server/pm/UserManagerService;->readUserLP(I)Lcom/android/server/pm/UserManagerService$UserData; -HSPLcom/android/server/pm/UserManagerService;->readUserLP(ILjava/io/InputStream;)Lcom/android/server/pm/UserManagerService$UserData; HSPLcom/android/server/pm/UserManagerService;->readUserListLP()V HPLcom/android/server/pm/UserManagerService;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V HSPLcom/android/server/pm/UserManagerService;->updateUserIds()V @@ -7447,9 +8043,9 @@ HSPLcom/android/server/pm/UserManagerService;->userWithName(Landroid/content/pm/ HPLcom/android/server/pm/UserManagerService;->writeApplicationRestrictionsLAr(Landroid/os/Bundle;Landroid/util/AtomicFile;)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; +HSPLcom/android/server/pm/UserNeedsBadgingCache;->get(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HSPLcom/android/server/pm/UserRestrictionsUtils;-><clinit>()V -HSPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z+]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z 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 @@ -7539,6 +8135,7 @@ 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;->checkIorapCompiledTrace(Ljava/lang/String;Ljava/lang/String;J)Z 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 @@ -7550,15 +8147,11 @@ HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs 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;->loadInternal(Ljava/util/Map;)V -HSPLcom/android/server/pm/dex/DexManager;->putIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/server/pm/dex/DynamicCodeLogger;-><init>(Lcom/android/server/pm/Installer;)V HSPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><clinit>()V HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><init>()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 HSPLcom/android/server/pm/local/PackageManagerLocalImpl$BaseSnapshotImpl;->checkClosed()V @@ -7608,7 +8201,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/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;->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/ParsedAttribution;Lcom/android/server/pm/pkg/component/ParsedAttributionImpl;]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; 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 @@ -7620,7 +8213,7 @@ 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;->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; +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; HSPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;-><init>()V HSPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;ZZ)V HSPLcom/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdater;-><init>()V @@ -7683,6 +8276,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addImplicitPermission(Ljava/ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addLibraryName(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addLibraryName(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addMimeGroupsFromComponent(Lcom/android/server/pm/pkg/component/ParsedComponent;)V+]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/component/ParsedIntentInfo;Lcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/content/IntentFilter;Landroid/content/IntentFilter; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addOriginalPackage(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addOriginalPackage(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addOverlayable(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addPermission(Lcom/android/server/pm/pkg/component/ParsedPermission;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addPermission(Lcom/android/server/pm/pkg/component/ParsedPermission;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; @@ -7690,6 +8285,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addPermissionGroup(Lcom/andr HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addPermissionGroup(Lcom/android/server/pm/pkg/component/ParsedPermissionGroup;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProperty(Landroid/content/pm/PackageManager$Property;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProperty(Landroid/content/pm/PackageManager$Property;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProtectedBroadcast(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProtectedBroadcast(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProvider(Lcom/android/server/pm/pkg/component/ParsedProvider;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addProvider(Lcom/android/server/pm/pkg/component/ParsedProvider;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addQueriesIntent(Landroid/content/Intent;)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7706,6 +8303,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addService(Lcom/android/serv HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addService(Lcom/android/server/pm/pkg/component/ParsedService;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesOptionalLibrary(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; 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; @@ -7727,7 +8326,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getBoolean2(J)Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getClassLoaderName()Ljava/lang/String; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getCompileSdkVersion()I HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getCompileSdkVersionCodeName()Ljava/lang/String; -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getInstallLocation()I HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getInstrumentations()Ljava/util/List; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getKeySetMapping()Ljava/util/Map; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getLibraryNames()Ljava/util/List; @@ -7770,7 +8368,7 @@ 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/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;->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;->getStaticSharedLibraryName()Ljava/lang/String; HPLcom/android/server/pm/parsing/pkg/PackageImpl;->getStorageUuid()Ljava/util/UUID; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getTargetSdkVersion()I @@ -7787,7 +8385,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesSdkLibraries()Ljava/u 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;->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; @@ -7805,7 +8402,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isBackupInForeground()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isClearUserDataAllowed()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isClearUserDataOnFailedRestoreAllowed()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isCleartextTrafficAllowed()Z -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isCoreApp()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isCrossProfile()Z+]Lcom/android/server/pm/parsing/pkg/PackageImpl;Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isDebuggable()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isDeclaredHavingCode()Z @@ -7840,7 +8436,6 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isProduct()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isProfileable()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isProfileableByShell()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isRequestLegacyExternalStorage()Z -HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isRequiredForAllUsers()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isResizeable()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isResizeableActivityViaSdkVersion()Z HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->isResourceOverlay()Z @@ -7867,6 +8462,7 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->removeUsesLibrary(Ljava/lang HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->removeUsesLibrary(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->removeUsesOptionalLibrary(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->removeUsesOptionalLibrary(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->removeUsesOptionalLibrary(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->set32BitAbiPreferred(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->set32BitAbiPreferred(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAllComponentsDirectBootAware(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7875,6 +8471,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAllowAudioPlaybackCapture HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAllowAudioPlaybackCapture(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAllowNativeHeapPointerTagging(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAllowNativeHeapPointerTagging(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAnyDensity(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAnyDensity(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setApex(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setApex(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setAppComponentFactory(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7905,6 +8503,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setClearUserDataOnFailedRest HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setClearUserDataOnFailedRestoreAllowed(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCleartextTrafficAllowed(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCleartextTrafficAllowed(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCompatibleWidthLimitDp(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setCompatibleWidthLimitDp(I)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;->setCrossProfile(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7925,12 +8525,16 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setEnabled(Z)Lcom/android/se HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setEnabled(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExternalStorage(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExternalStorage(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExtraLargeScreensSupported(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExtraLargeScreensSupported(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExtractNativeLibrariesRequested(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setExtractNativeLibrariesRequested(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFactoryTest(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFactoryTest(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setForceQueryable(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setForceQueryable(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFullBackupContentResourceId(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFullBackupContentResourceId(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFullBackupOnly(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setFullBackupOnly(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setGame(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7952,6 +8556,10 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLabelResourceId(I)Lcom/an HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLabelResourceId(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargeHeap(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargeHeap(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargeScreensSupported(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargeScreensSupported(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargestWidthLimitDp(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLargestWidthLimitDp(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLeavingSharedUser(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLeavingSharedUser(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setLocaleConfigResourceId(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -7986,6 +8594,8 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNonLocalizedLabel(Ljava/l HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNonLocalizedLabel(Ljava/lang/CharSequence;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNonSdkApiRequested(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNonSdkApiRequested(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNormalScreensSupported(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setNormalScreensSupported(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOdm(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOdm(Z)Lcom/android/server/pm/parsing/pkg/ParsedPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setOem(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -8006,13 +8616,23 @@ 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; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiredAccountType(Ljava/lang/String;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiredForAllUsers(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiredForAllUsers(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiresSmallestWidthDp(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRequiresSmallestWidthDp(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResetEnabledSettingsOnAppDataCleared(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeable(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeable(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeableActivity(Ljava/lang/Boolean;)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeableActivity(Ljava/lang/Boolean;)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeableActivityViaSdkVersion(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setResizeableActivityViaSdkVersion(Z)Lcom/android/server/pm/pkg/parsing/ParsingPackage; HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setRestoreAnyVersion(Z)Lcom/android/server/pm/parsing/pkg/PackageImpl; @@ -8038,6 +8658,8 @@ 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;->setSmallScreensSupported(I)Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setSmallScreensSupported(I)Lcom/android/server/pm/pkg/parsing/ParsingPackage; 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; @@ -8078,7 +8700,7 @@ HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setVolumeUuid(Ljava/lang/Str HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->setZygotePreloadName(Ljava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl; 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;->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;Ljava/util/Collections$UnmodifiableSet;,Ljava/util/Collections$EmptySet;,Landroid/util/ArraySet; 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 @@ -8086,10 +8708,10 @@ HSPLcom/android/server/pm/permission/CompatibilityPermissionInfo;-><init>(Ljava/ HSPLcom/android/server/pm/permission/CompatibilityPermissionInfo;->getName()Ljava/lang/String; HSPLcom/android/server/pm/permission/CompatibilityPermissionInfo;->getSdkVersion()I HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)V +HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->getPermissionInfo(Ljava/lang/String;)Landroid/content/pm/PermissionInfo; HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$2;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/os/Looper;)V HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache$PermissionState;->initFlags()V HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache$PermissionState;->initGranted()V -HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;->createContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context; HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;->getPermissionInfo(Ljava/lang/String;)Landroid/content/pm/PermissionInfo; HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache;->getPermissionState(Ljava/lang/String;Landroid/content/pm/PackageInfo;Landroid/os/UserHandle;)Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DelayingPackageManagerCache$PermissionState; HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$PackageManagerWrapper;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)V @@ -8134,6 +8756,7 @@ HSPLcom/android/server/pm/permission/LegacyPermissionSettings;->writePermissions 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 HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;-><init>(Ljava/lang/String;ZZI)V +HPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->equals(Ljava/lang/Object;)Z HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->getFlags()I HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->getName()Ljava/lang/String; HSPLcom/android/server/pm/permission/LegacyPermissionState$PermissionState;->isGranted()Z @@ -8164,44 +8787,43 @@ 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;->isDefinitionChanged()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;->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;->isPreInstalled()Z HSPLcom/android/server/pm/permission/Permission;->isPrivileged()Z -HSPLcom/android/server/pm/permission/Permission;->isRecents()Z 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;->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;->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/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; +HPLcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;->registerAttributionSource(Landroid/content/AttributionSource;)V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;-><clinit>()V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkAppOpPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZ)I+]Landroid/content/AttributionSource;Landroid/content/AttributionSource; -HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZZI)I+]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; +HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkOp(ILandroid/content/AttributionSourceState;Ljava/lang/String;ZZ)I +HPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkOp(Landroid/content/Context;ILcom/android/server/pm/permission/PermissionManagerServiceInternal;Landroid/content/AttributionSource;Ljava/lang/String;ZZ)I +HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->checkPermission(Landroid/content/Context;Lcom/android/server/pm/permission/PermissionManagerServiceInternal;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;ZZZI)I+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/concurrent/ConcurrentHashMap;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; 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;->finishDataDelivery(Landroid/content/Context;ILandroid/content/AttributionSourceState;Z)V 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;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionCheckerService;->performOpTransaction(Landroid/content/Context;Landroid/os/IBinder;ILandroid/content/AttributionSource;Ljava/lang/String;ZZZZZIIII)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/app/AppOpsManager;Landroid/app/AppOpsManager; 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 @@ -8213,6 +8835,7 @@ HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerS 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;->readLegacyPermissionStateTEMP()V HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->readLegacyPermissionsTEMP(Lcom/android/server/pm/permission/LegacyPermissionSettings;)V +HPLcom/android/server/pm/permission/PermissionManagerService$RegisteredAttribution;-><init>(Landroid/content/Context;ILandroid/content/AttributionSource;Z)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 @@ -8221,6 +8844,7 @@ HPLcom/android/server/pm/permission/PermissionManagerService;->getAllowlistedRes 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; HSPLcom/android/server/pm/permission/PermissionManagerService;->getSplitPermissions()Ljava/util/List; HPLcom/android/server/pm/permission/PermissionManagerService;->isRegisteredAttributionSource(Landroid/content/AttributionSourceState;)Z+]Lcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry;Lcom/android/server/pm/permission/PermissionManagerService$AttributionSourceRegistry; +HPLcom/android/server/pm/permission/PermissionManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice; HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda13;-><init>(Lcom/android/server/pm/permission/PermissionManagerServiceImpl;[I)V HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$$ExternalSyntheticLambda13;->accept(Ljava/lang/Object;)V @@ -8228,15 +8852,13 @@ HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$1;-><init>(Lco HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)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; 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;->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/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;->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;->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;->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; @@ -8245,12 +8867,12 @@ HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->enforceCross HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->enforceGrantRevokeGetRuntimePermissionPermissions(Ljava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl; HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V+]Landroid/content/Context;Landroid/app/ContextImpl; 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 +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getAllUserIds()[I+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService; 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/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; +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+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/pm/permission/UidPermissionState;Lcom/android/server/pm/permission/UidPermissionState;]Lcom/android/server/pm/permission/PermissionManagerServiceImpl;Lcom/android/server/pm/permission/PermissionManagerServiceImpl; 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;->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/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; @@ -8265,7 +8887,7 @@ HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getSplitPerm 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;+]Lcom/android/server/pm/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/PackageImpl; +HSPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->getVolumeUuidForPackage(Lcom/android/server/pm/pkg/AndroidPackage;)Ljava/lang/String; 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$readLegacyPermissionStateTEMP$15([ILcom/android/server/pm/pkg/PackageStateInternal;)V @@ -8277,16 +8899,16 @@ HPLcom/android/server/pm/permission/PermissionManagerServiceImpl;->queryPermissi 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;]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;->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/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;->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; 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;->updatePermissionSourcePackage(Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceImpl$PermissionCallback;)Z+]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;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Ljava/util/Set;Landroid/util/ArraySet; 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+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLcom/android/server/pm/permission/PermissionRegistry;->addAppOpPermissionPackage(Ljava/lang/String;Ljava/lang/String;)V 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 @@ -8295,7 +8917,7 @@ HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissionGroup(Lja HSPLcom/android/server/pm/permission/PermissionRegistry;->getPermissionTrees()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 +HSPLcom/android/server/pm/permission/PermissionState;->computeGids(I)[I+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission; HSPLcom/android/server/pm/permission/PermissionState;->getFlags()I HSPLcom/android/server/pm/permission/PermissionState;->getName()Ljava/lang/String;+]Lcom/android/server/pm/permission/Permission;Lcom/android/server/pm/permission/Permission; HSPLcom/android/server/pm/permission/PermissionState;->getPermission()Lcom/android/server/pm/permission/Permission; @@ -8317,7 +8939,7 @@ HSPLcom/android/server/pm/permission/UidPermissionState;->invalidateCache()V 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+]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;->revokePermission(Lcom/android/server/pm/permission/Permission;)Z 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 @@ -8333,7 +8955,6 @@ HSPLcom/android/server/pm/pkg/PackageStateInternal;->getUserStateOrDefault(I)Lco HSPLcom/android/server/pm/pkg/PackageStateUnserialized;-><init>(Lcom/android/server/pm/PackageSetting;)V HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getApexModuleName()Ljava/lang/String; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getLastPackageUsageTimeInMills()[J+]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized; -HPLcom/android/server/pm/pkg/PackageStateUnserialized;->getLatestPackageUseTimeInMills()J+]Lcom/android/server/pm/pkg/PackageStateUnserialized;Lcom/android/server/pm/pkg/PackageStateUnserialized; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getOverrideSeInfo()Ljava/lang/String; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getSeInfo()Ljava/lang/String; HSPLcom/android/server/pm/pkg/PackageStateUnserialized;->getUsesLibraryFiles()Ljava/util/List; @@ -8372,7 +8993,6 @@ 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;->getMinAspectRatio()I HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getOverrideLabelIconForComponent(Landroid/content/ComponentName;)Landroid/util/Pair; HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->getUninstallReason()I HSPLcom/android/server/pm/pkg/PackageUserStateImpl;->isComponentDisabled(Ljava/lang/String;)Z @@ -8556,7 +9176,7 @@ HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->setHasDefault(Z)L HSPLcom/android/server/pm/pkg/component/ParsedIntentInfoImpl;->setIcon(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/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/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/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/pm/parsing/result/ParseInput;Landroid/content/pm/parsing/result/ParseTypeImpl;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]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 @@ -8577,7 +9197,7 @@ 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;+]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/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/ParsedPermissionGroupImpl$1;-><init>()V HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;-><clinit>()V HSPLcom/android/server/pm/pkg/component/ParsedPermissionGroupImpl;-><init>()V @@ -8598,6 +9218,7 @@ HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->getProtectionLeve HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->getRequestRes()I HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->isTree()Z HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->setGroup(Ljava/lang/String;)Lcom/android/server/pm/pkg/component/ParsedPermissionImpl; +HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->setKnownCerts([Ljava/lang/String;)V HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->setParsedPermissionGroup(Lcom/android/server/pm/pkg/component/ParsedPermissionGroup;)Lcom/android/server/pm/pkg/component/ParsedPermissionImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->setProtectionLevel(I)Lcom/android/server/pm/pkg/component/ParsedPermissionImpl; HSPLcom/android/server/pm/pkg/component/ParsedPermissionImpl;->setRequestRes(I)Lcom/android/server/pm/pkg/component/ParsedPermissionImpl; @@ -8660,7 +9281,7 @@ HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator$StateWriteWrapper;-><in 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;-><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;->onPackageStateChanged()V+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; +HSPLcom/android/server/pm/pkg/mutate/PackageStateMutator;->onPackageStateChanged()V 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 @@ -8678,6 +9299,7 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->getSigningDetails(La HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->hasDomainURLs(Lcom/android/server/pm/pkg/parsing/ParsingPackage;)Z 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;->nonResString(ILandroid/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;->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;->parseBaseAppBasicFlags(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/TypedArray;)V @@ -8687,16 +9309,19 @@ HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseFeatureInfo(Lan 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; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseMetaData(Lcom/android/server/pm/pkg/parsing/ParsingPackage;Lcom/android/server/pm/pkg/component/ParsedComponent;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Ljava/lang/String;Landroid/content/pm/parsing/result/ParseInput;)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseMinOrMaxSdkVersion(Landroid/content/res/TypedArray;II)I -HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseMonolithicPackage(Landroid/content/pm/parsing/result/ParseInput;Ljava/io/File;I)Landroid/content/pm/parsing/result/ParseResult; +HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseOriginalPackage(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;->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;->parseProtectedBroadcast(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; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseSplitApk(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseSplitApplication(Landroid/content/pm/parsing/result/ParseInput;Lcom/android/server/pm/pkg/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II)Landroid/content/pm/parsing/result/ParseResult; HSPLcom/android/server/pm/pkg/parsing/ParsingPackageUtils;->parseSplitBaseAppChildTags(Landroid/content/pm/parsing/result/ParseInput;Ljava/lang/String;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;->parseSupportScreens(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;->parseUsesFeature(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;->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; @@ -8718,11 +9343,12 @@ HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0 HSPLcom/android/server/pm/resolution/ComponentResolver$$ExternalSyntheticLambda0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLcom/android/server/pm/resolution/ComponentResolver$1;-><init>(Lcom/android/server/pm/resolution/ComponentResolver;Lcom/android/server/pm/resolution/ComponentResolverApi;Lcom/android/server/utils/Watchable;Lcom/android/server/pm/UserNeedsBadgingCache;)V HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;-><init>(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+]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;->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;->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 +HPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;->filterToLabel(Ljava/lang/Object;)Ljava/lang/Object; 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; @@ -8737,8 +9363,8 @@ HSPLcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;-> HSPLcom/android/server/pm/resolution/ComponentResolver$MimeGroupsAwareIntentResolver;-><init>(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$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/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; HSPLcom/android/server/pm/resolution/ComponentResolver$ProviderIntentResolver;-><init>(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 @@ -8776,16 +9402,15 @@ HSPLcom/android/server/pm/resolution/ComponentResolver;->findMatchingActivity(Lj 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 -HPLcom/android/server/pm/resolution/ComponentResolver;->removeAllComponentsLocked(Lcom/android/server/pm/pkg/AndroidPackage;Z)V HSPLcom/android/server/pm/resolution/ComponentResolver;->snapshot()Lcom/android/server/pm/resolution/ComponentResolverApi; HSPLcom/android/server/pm/resolution/ComponentResolverBase;-><init>(Lcom/android/server/pm/UserManagerService;)V HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getActivity(Landroid/content/ComponentName;)Lcom/android/server/pm/pkg/component/ParsedActivity;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getReceiver(Landroid/content/ComponentName;)Lcom/android/server/pm/pkg/component/ParsedActivity; +HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getReceiver(Landroid/content/ComponentName;)Lcom/android/server/pm/pkg/component/ParsedActivity;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->getService(Landroid/content/ComponentName;)Lcom/android/server/pm/pkg/component/ParsedService;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryActivities(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List;+]Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver;Lcom/android/server/pm/resolution/ComponentResolver$ActivityIntentResolver; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryProvider(Lcom/android/server/pm/Computer;Ljava/lang/String;JI)Landroid/content/pm/ProviderInfo;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/pm/pkg/component/ParsedComponent;Lcom/android/server/pm/pkg/component/ParsedProviderImpl;]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/ComponentResolverBase;->queryProviders(Lcom/android/server/pm/Computer;Ljava/lang/String;Ljava/lang/String;IJI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]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;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;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;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator; +HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryProviders(Lcom/android/server/pm/Computer;Ljava/lang/String;Ljava/lang/String;IJI)Ljava/util/List;+]Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]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;]Lcom/android/server/pm/pkg/PackageStateInternal;Lcom/android/server/pm/PackageSetting;]Ljava/util/List;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;]Lcom/android/server/pm/Computer;Lcom/android/server/pm/ComputerEngine;]Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;]Landroid/os/Bundle;Landroid/os/Bundle; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; HPLcom/android/server/pm/resolution/ComponentResolverBase;->queryReceivers(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JLjava/util/List;I)Ljava/util/List; HSPLcom/android/server/pm/resolution/ComponentResolverBase;->queryServices(Lcom/android/server/pm/Computer;Landroid/content/Intent;Ljava/lang/String;JI)Ljava/util/List; @@ -8828,7 +9453,7 @@ 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+]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;->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;->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+]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; @@ -8868,27 +9493,25 @@ HSPLcom/android/server/pm/verify/domain/models/DomainVerificationStateMap;->get( 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;->valueAt(I)Ljava/lang/Object; HSPLcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyUnavailable;-><init>()V -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;->checkAudioOperation(IIILjava/lang/String;Lcom/android/internal/util/function/QuadFunction;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/internal/util/function/QuadFunction;Lcom/android/server/appop/AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda15; 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; HPLcom/android/server/policy/AppOpsPolicy;->noteProxyOperation(ILandroid/content/AttributionSource;ZLjava/lang/String;ZZLcom/android/internal/util/function/HexFunction;)Landroid/app/SyncNotedAppOp; HSPLcom/android/server/policy/AppOpsPolicy;->resolveDatasourceOp(IILjava/lang/String;Ljava/lang/String;)I+]Lcom/android/server/policy/AppOpsPolicy;Lcom/android/server/policy/AppOpsPolicy; 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; +HPLcom/android/server/policy/DisplayFoldDurationLogger;->log()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$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;->isNoDisplayActivity(Landroid/content/pm/ActivityInfo;)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; +HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Ljava/lang/String;)V HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addExtraAppOp(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PermissionInfo;)V+]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/policy/SoftRestrictedPermissionPolicy;Lcom/android/server/policy/SoftRestrictedPermissionPolicy$3;,Lcom/android/server/policy/SoftRestrictedPermissionPolicy$2; HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPackage(Ljava/lang/String;)V+]Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPermissionAppOp(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/pkg/AndroidPackage;Landroid/content/pm/PermissionInfo;)V+]Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;]Landroid/content/Context;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager;]Ljava/util/ArrayList;Ljava/util/ArrayList; @@ -8902,12 +9525,15 @@ HSPLcom/android/server/policy/PermissionPolicyService;->getSwitchOp(Ljava/lang/S HSPLcom/android/server/policy/PermissionPolicyService;->getUserContext(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context; 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 +HPLcom/android/server/policy/PermissionPolicyService;->resetAppOpPermissionsIfNotRequestedForUidAsync(I)V+]Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyService;]Landroid/os/Handler;Landroid/os/Handler;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; 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;->finishKeyguardDrawn()V HPLcom/android/server/policy/PhoneWindowManager;->finishedGoingToSleep(II)V +HSPLcom/android/server/policy/PhoneWindowManager;->getKeyguardDrawnTimeout()J HPLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z HPLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I +HPLcom/android/server/policy/PhoneWindowManager;->interceptPowerKeyDown(Landroid/view/KeyEvent;Z)V 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 @@ -8915,13 +9541,18 @@ 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;->isScreenOn()Z+]Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayPolicy; +HPLcom/android/server/policy/PhoneWindowManager;->isUserSetupComplete()Z 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 +HPLcom/android/server/policy/PhoneWindowManager;->performHapticFeedback(ILjava/lang/String;IZLjava/lang/String;)Z +HSPLcom/android/server/policy/PhoneWindowManager;->screenTurnedOff(IZ)V +HSPLcom/android/server/policy/PhoneWindowManager;->screenTurningOff(ILcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)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;->shouldEnableWakeGestureLp()Z -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; +HPLcom/android/server/policy/PhoneWindowManager;->startedWakingUp(II)V +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;->updateWakeGestureListenerLp()V 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 @@ -8935,12 +9566,13 @@ HSPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasUidRequestedLe 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/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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZZ)I 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; +HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isInputRestricted()Z HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isSecure(I)Z HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z @@ -8954,7 +9586,7 @@ HSPLcom/android/server/power/AttentionDetector;-><init>(Ljava/lang/Runnable;Ljav 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/AttentionDetector;->updateUserActivity(JJ)J 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 HSPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;-><init>(Lcom/android/server/power/FaceDownDetector;F)V @@ -8962,7 +9594,9 @@ HSPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;-><init>( HPLcom/android/server/power/FaceDownDetector$ExponentialMovingAverage;->updateMovingAverage(F)V HSPLcom/android/server/power/FaceDownDetector$ScreenStateReceiver;-><init>(Lcom/android/server/power/FaceDownDetector;)V HSPLcom/android/server/power/FaceDownDetector$ScreenStateReceiver;-><init>(Lcom/android/server/power/FaceDownDetector;Lcom/android/server/power/FaceDownDetector$ScreenStateReceiver-IA;)V +HPLcom/android/server/power/FaceDownDetector$ScreenStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLcom/android/server/power/FaceDownDetector;-><init>(Ljava/util/function/Consumer;)V +HPLcom/android/server/power/FaceDownDetector;->lambda$new$0()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;]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 @@ -8985,10 +9619,12 @@ 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;->handleEarlyGlobalInteractiveChange()V 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 +HPLcom/android/server/power/Notifier;->lambda$handleLateGlobalInteractiveChange$5(II)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 @@ -9005,6 +9641,7 @@ 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;->getLastSleepTimeLocked()J HSPLcom/android/server/power/PowerGroup;->getLastUserActivityTimeLocked()J HSPLcom/android/server/power/PowerGroup;->getLastUserActivityTimeNoChangeLightsLocked()J HSPLcom/android/server/power/PowerGroup;->getLastWakeTimeLocked()J @@ -9019,6 +9656,7 @@ 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 +HPLcom/android/server/power/PowerGroup;->setWakefulnessLocked(IJIIILjava/lang/String;Ljava/lang/String;)Z 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 @@ -9029,14 +9667,18 @@ HSPLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker(Ljava 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;->getPowerSaveState(I)Landroid/os/PowerSaveState; HSPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; HSPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z 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;->setBatteryDischargePrediction(Landroid/os/ParcelDuration;Z)V HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V +HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUidsAsync(Landroid/os/IBinder;[I)V HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V+]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 @@ -9065,6 +9707,7 @@ HSPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/andr HSPLcom/android/server/power/PowerManagerService$LocalService;->getLowPowerState(I)Landroid/os/PowerSaveState; HSPLcom/android/server/power/PowerManagerService$LocalService;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V HSPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleTempWhitelist([I)V +HPLcom/android/server/power/PowerManagerService$LocalService;->setPowerMode(IZ)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 @@ -9087,6 +9730,7 @@ HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;-><init>(Lco HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire()V HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire(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;->recordReferenceLocked(Ljava/lang/String;)V +HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()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$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; @@ -9103,8 +9747,9 @@ HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fgetmLock(Lcom/androi 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 +HSPLcom/android/server/power/PowerManagerService;->-$$Nest$fputmDirty(Lcom/android/server/power/PowerManagerService;I)V HSPLcom/android/server/power/PowerManagerService;->-$$Nest$macquireWakeLockInternal(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILandroid/os/IWakeLockCallback;)V -HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleSandman(Lcom/android/server/power/PowerManagerService;I)V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; +HSPLcom/android/server/power/PowerManagerService;->-$$Nest$mhandleSandman(Lcom/android/server/power/PowerManagerService;I)V 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 @@ -9123,7 +9768,7 @@ HSPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Conte 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;]Landroid/os/WorkSource;Landroid/os/WorkSource; +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;->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;->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; @@ -9140,7 +9785,7 @@ HSPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutWithFaceDo HSPLcom/android/server/power/PowerManagerService;->getSleepTimeoutLocked(J)J HSPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I HPLcom/android/server/power/PowerManagerService;->handleBatteryStateChangedLocked()V -HSPLcom/android/server/power/PowerManagerService;->handleSandman(I)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/service/dreams/DreamManagerInternal;Lcom/android/server/dreams/DreamManagerService$LocalService;]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/content/Context;Landroid/app/ContextImpl; +HSPLcom/android/server/power/PowerManagerService;->handleSandman(I)V+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup;]Landroid/service/dreams/DreamManagerInternal;Lcom/android/server/dreams/DreamManagerService$LocalService;]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;->isAttentiveTimeoutExpired(Lcom/android/server/power/PowerGroup;J)Z HPLcom/android/server/power/PowerManagerService;->isBeingKeptAwakeLocked(Lcom/android/server/power/PowerGroup;)Z+]Lcom/android/server/power/PowerGroup;Lcom/android/server/power/PowerGroup; HSPLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z @@ -9156,7 +9801,9 @@ HPLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(L HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockLongFinishedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V+]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier; HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(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; HSPLcom/android/server/power/PowerManagerService;->onBootPhase(I)V +HPLcom/android/server/power/PowerManagerService;->onFlip(Z)V HSPLcom/android/server/power/PowerManagerService;->onStart()V +HPLcom/android/server/power/PowerManagerService;->recalculateGlobalWakefulnessLocked()I HSPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;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;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Ljava/util/ArrayList;Ljava/util/ArrayList; 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; @@ -9179,7 +9826,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;]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;->updateIsPoweredLocked(I)V+]Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Lcom/android/server/power/batterysaver/BatterySaverStateMachine;]Landroid/os/BatteryManagerInternal;Lcom/android/server/BatteryService$LocalService;]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/power/Notifier;Lcom/android/server/power/Notifier;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/Context;Landroid/app/ContextImpl;]Lcom/android/server/power/WirelessChargerDetector;Lcom/android/server/power/WirelessChargerDetector;]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; @@ -9192,6 +9839,7 @@ HPLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLo 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; +HPLcom/android/server/power/PowerManagerService;->userActivityFromNative(JIII)V+]Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService; 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 @@ -9208,6 +9856,7 @@ HSPLcom/android/server/power/ThermalManagerService$ThermalHalAidlWrapper;->getCu 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;->notifyEventListenersLocked(Landroid/os/Temperature;)V HSPLcom/android/server/power/ThermalManagerService;->onBootPhase(I)V HSPLcom/android/server/power/ThermalManagerService;->onStart()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; @@ -9238,17 +9887,21 @@ 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 +HPLcom/android/server/power/batterysaver/BatterySaverController;->-$$Nest$mupdateBatterySavingStats(Lcom/android/server/power/batterysaver/BatterySaverController;)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 HSPLcom/android/server/power/batterysaver/BatterySaverController;->getAdaptiveEnabledLocked()Z HSPLcom/android/server/power/batterysaver/BatterySaverController;->getFullEnabledLocked()Z HPLcom/android/server/power/batterysaver/BatterySaverController;->getPowerManager()Landroid/os/PowerManager; HSPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z +HPLcom/android/server/power/batterysaver/BatterySaverController;->isPolicyEnabled()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 +HPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->fromConfig(Landroid/os/BatterySaverPolicyConfig;)Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy; 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 @@ -9264,17 +9917,20 @@ 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;->getStat(I)Lcom/android/server/power/batterysaver/BatterySavingStats$Stat; 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 HPLcom/android/server/power/hint/HintManagerService$AppHintSession;->close()V +HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;->pause()V HPLcom/android/server/power/hint/HintManagerService$AppHintSession;->reportActualWorkDuration([J[J)V+]Lcom/android/server/power/hint/HintManagerService$NativeWrapper;Lcom/android/server/power/hint/HintManagerService$NativeWrapper;]Lcom/android/server/power/hint/HintManagerService$AppHintSession;Lcom/android/server/power/hint/HintManagerService$AppHintSession; +HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;->resume()V HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;->sendHint(I)V+]Lcom/android/server/power/hint/HintManagerService$NativeWrapper;Lcom/android/server/power/hint/HintManagerService$NativeWrapper;]Lcom/android/server/power/hint/HintManagerService$AppHintSession;Lcom/android/server/power/hint/HintManagerService$AppHintSession; -HSPLcom/android/server/power/hint/HintManagerService$AppHintSession;->updateHintAllowed()Z+]Lcom/android/server/power/hint/HintManagerService$AppHintSession;Lcom/android/server/power/hint/HintManagerService$AppHintSession;]Lcom/android/server/power/hint/HintManagerService$MyUidObserver;Lcom/android/server/power/hint/HintManagerService$MyUidObserver; HPLcom/android/server/power/hint/HintManagerService$AppHintSession;->updateTargetWorkDuration(J)V HSPLcom/android/server/power/hint/HintManagerService$BinderService;-><init>(Lcom/android/server/power/hint/HintManagerService;)V HSPLcom/android/server/power/hint/HintManagerService$BinderService;->createHintSession(Landroid/os/IBinder;[IJ)Landroid/os/IHintSession; +HSPLcom/android/server/power/hint/HintManagerService$BinderService;->logPerformanceHintSessionAtom(IJJ[I)V HSPLcom/android/server/power/hint/HintManagerService$Injector;-><init>()V HSPLcom/android/server/power/hint/HintManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/hint/HintManagerService$NativeWrapper; HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/hint/HintManagerService$MyUidObserver;II)V @@ -9285,15 +9941,18 @@ HSPLcom/android/server/power/hint/HintManagerService$MyUidObserver;->lambda$onUi 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 +HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halCreateHintSession(II[IJ)J HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halGetHintSessionPreferredRate()J HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halInit()V -HPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halReportActualWorkDuration(J[J[J)V -HSPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halSendHint(JI)V +HPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halSendHint(JI)V +HPLcom/android/server/power/hint/HintManagerService$NativeWrapper;->halUpdateTargetWorkDuration(JJ)V HSPLcom/android/server/power/hint/HintManagerService;->-$$Nest$fgetmActiveSessions(Lcom/android/server/power/hint/HintManagerService;)Landroid/util/ArrayMap; HSPLcom/android/server/power/hint/HintManagerService;->-$$Nest$fgetmLock(Lcom/android/server/power/hint/HintManagerService;)Ljava/lang/Object; HSPLcom/android/server/power/hint/HintManagerService;->-$$Nest$fgetmNativeWrapper(Lcom/android/server/power/hint/HintManagerService;)Lcom/android/server/power/hint/HintManagerService$NativeWrapper; +HSPLcom/android/server/power/hint/HintManagerService;->-$$Nest$misHalSupported(Lcom/android/server/power/hint/HintManagerService;)Z HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/power/hint/HintManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/hint/HintManagerService$Injector;)V +HSPLcom/android/server/power/hint/HintManagerService;->isHalSupported()Z HSPLcom/android/server/power/hint/HintManagerService;->onBootPhase(I)V HSPLcom/android/server/power/hint/HintManagerService;->onStart()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; @@ -9303,7 +9962,7 @@ HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSynthetic 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$$ExternalSyntheticLambda3;->run()V -HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$$ExternalSyntheticLambda6;->onWifiActivityEnergyInfo(Landroid/os/connectivity/WifiActivityEnergyInfo;)V +HPLcom/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 HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$1;-><init>(Lcom/android/server/power/stats/BatteryExternalStatsWorker;)V HSPLcom/android/server/power/stats/BatteryExternalStatsWorker$1;->run()V @@ -9342,7 +10001,7 @@ HSPLcom/android/server/power/stats/BatteryExternalStatsWorker;->getEnergyConsume 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$updateExternalStatsLocked$8(Landroid/os/SynchronousResultReceiver;Landroid/os/connectivity/WifiActivityEnergyInfo;)V +HPLcom/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 @@ -9356,6 +10015,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$$ExternalSyntheticLambda2;-> HSPLcom/android/server/power/stats/BatteryStatsImpl$1;-><init>()V HSPLcom/android/server/power/stats/BatteryStatsImpl$2;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/Clock;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;ILcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V +HPLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->addDuration(JJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->computeCurrentCountLocked()I HSPLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->computeOverage(J)J HSPLcom/android/server/power/stats/BatteryStatsImpl$BatchTimer;->computeRunTimeLocked(JJ)J @@ -9374,9 +10034,14 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;- HSPLcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl$BluetoothActivityInfoCache-IA;)V 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 +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->-$$Nest$mgetOrCreateTxTimeCounters(Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;)[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;-><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;->getOrCreateIdleTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->getOrCreateRxTimeCounter()Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter; 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; +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter; +HPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter; 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; @@ -9385,6 +10050,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImp HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->writeTimeMultiStateCounter(Landroid/os/Parcel;Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl;->writeTimeMultiStateCounters(Landroid/os/Parcel;[Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Counter;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;)V +HPLcom/android/server/power/stats/BatteryStatsImpl$Counter;->addAtomic(I)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; @@ -9416,11 +10082,12 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$HistoryStepDetailsCalculator 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;->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$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$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 HPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J +HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->reset(ZJ)Z HSPLcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; @@ -9428,6 +10095,7 @@ 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;->getSize()I 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 @@ -9443,7 +10111,10 @@ 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; +HPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->noteActive(ZJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl$RadioAccessTechnologyBatteryStats;->noteSignalStrength(IJ)V 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 @@ -9463,7 +10134,7 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$StopwatchTimer;->detach()V+]L 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;->reset(ZJ)Z+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; 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; @@ -9489,7 +10160,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter; 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+]Lcom/android/internal/os/LongArrayMultiStateCounter;Lcom/android/internal/os/LongArrayMultiStateCounter; +HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeInFreqMultiStateCounter;->writeToParcel(Landroid/os/Parcel;)V 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 @@ -9498,7 +10169,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;->-$$N 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; 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 +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;->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; @@ -9511,7 +10182,7 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Timer;->getCountLocked(I)I+]L 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;->onTimeStopped(JJJ)V+]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; 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; @@ -9523,6 +10194,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$2;->instantiateObject()L HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl;I)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;->instantiateObject()Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$3;->instantiateObject()Ljava/lang/Object; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$ChildUid;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl$Uid;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTimeToNowLocked(J)J HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; @@ -9531,6 +10203,9 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLo HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked(J)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/server/power/stats/BatteryStatsImpl;)V HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;->newServiceStatsLocked()Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;->onTimeStarted(JJJ)V +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;->onTimeStopped(JJJ)V 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 @@ -9574,19 +10249,21 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer( 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; 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;->getCpuClusterTimes()[J 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; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Lcom/android/server/power/stats/BatteryStatsImpl$Timer; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getForegroundActivityTimer()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;->getForegroundActivityTimer()Lcom/android/server/power/stats/BatteryStatsImpl$Timer; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getFullWifiLockTime(JI)J HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getGnssEnergyConsumptionUC()J +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getJobStats()Landroid/util/ArrayMap; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getMobileRadioActiveCount(I)I 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; @@ -9596,40 +10273,47 @@ HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getNetworkActivityBytes 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; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getOrCreateWifiControllerActivityLocked()Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; 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; 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; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getProcessStats()Landroid/util/ArrayMap; 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; -HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer; +HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg$Serv;+]Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$Pkg;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSyncStats()Landroid/util/ArrayMap; HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getSystemCpuTimeUs(I)J 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()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;->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; +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiRunningTime(JI)J +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiScanCount(I)I +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->getWifiScanTime(JI)J 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;->noteBluetoothScanResultsLocked(I)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 HSPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStartWakeLocked(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;]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;->noteStopJobLocked(Ljava/lang/String;JI)V +HPLcom/android/server/power/stats/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;]Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Lcom/android/server/power/stats/BatteryStatsImpl$OverflowArrayMap;Lcom/android/server/power/stats/BatteryStatsImpl$Uid$3; 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;->noteUserActivityLocked(I)V+]Lcom/android/server/power/stats/BatteryStatsImpl$Counter;Lcom/android/server/power/stats/BatteryStatsImpl$Counter;]Lcom/android/server/power/stats/BatteryStatsImpl$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid; 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 @@ -9653,6 +10337,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$fgetmWifiMulticast 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$mtrackPerProcStateCpuTimes(Lcom/android/server/power/stats/BatteryStatsImpl;)Z +HPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$sfgetZERO_LONG_COUNTER()Landroid/os/BatteryStats$LongCounter; 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 HSPLcom/android/server/power/stats/BatteryStatsImpl;->-$$Nest$smisActiveRadioPowerState(I)Z @@ -9666,6 +10351,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->detachIfNotNull(Lcom/andro 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;->evaluateOverallScreenBrightnessBinLocked()I HSPLcom/android/server/power/stats/BatteryStatsImpl;->fillLowPowerStats()V HSPLcom/android/server/power/stats/BatteryStatsImpl;->getAvailableUidStatsLocked(I)Lcom/android/server/power/stats/BatteryStatsImpl$Uid; HSPLcom/android/server/power/stats/BatteryStatsImpl;->getBatteryUptimeLocked(J)J+]Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase;Lcom/android/server/power/stats/BatteryStatsImpl$TimeBase; @@ -9686,6 +10372,7 @@ 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;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;+]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$LongSamplingCounter;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/BatteryStatsImpl$Timer;Lcom/android/server/power/stats/BatteryStatsImpl$DualTimer;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; 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 @@ -9694,30 +10381,34 @@ 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;->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;->markPartialTimersAsEligible()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HPLcom/android/server/power/stats/BatteryStatsImpl;->maybeRemoveIsolatedUidLocked(IJJ)Z HSPLcom/android/server/power/stats/BatteryStatsImpl;->maybeUpdateOverallScreenBrightness(IJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteAudioOffLocked(IJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteAudioOnLocked(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;->noteBluetoothScanStartedFromSourceLocked(Landroid/os/WorkSource;ZJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteBluetoothScanStartedLocked(Landroid/os/WorkSource$WorkChain;IZJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteBluetoothScanStoppedFromSourceLocked(Landroid/os/WorkSource;ZJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteBluetoothScanStoppedLocked(Landroid/os/WorkSource$WorkChain;IZJJ)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;->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 +HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteInteractiveLocked(ZJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;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;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Landroid/os/BatteryStats$HistoryEventTracker;Landroid/os/BatteryStats$HistoryEventTracker; +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteJobStartLocked(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;Lcom/android/server/power/stats/BatteryStatsImpl;]Lcom/android/internal/os/BatteryStatsHistory;Lcom/android/internal/os/BatteryStatsHistory;]Landroid/os/BatteryStats$HistoryEventTracker;Landroid/os/BatteryStats$HistoryEventTracker; 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;->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/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;->noteProcessDiedLocked(II)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 @@ -9729,11 +10420,15 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopSensorLocked(IIJJ) HSPLcom/android/server/power/stats/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IJJ)V+]Lcom/android/server/power/stats/BatteryStatsImpl;Lcom/android/server/power/stats/BatteryStatsImpl;]Landroid/os/WorkSource;Landroid/os/WorkSource; 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 +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteSyncStartLocked(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;->noteVibratorOnLocked(IJJJ)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;JJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiMulticastEnabledLocked(IJJ)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiRadioApWakeupLocked(JJI)V HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiRadioPowerState(IJIJJ)V +HPLcom/android/server/power/stats/BatteryStatsImpl;->noteWifiRssiChangedLocked(IJJ)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 @@ -9751,6 +10446,7 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->reportChangesToStatsLog(II 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 +HPLcom/android/server/power/stats/BatteryStatsImpl;->resetIfNotNull([Lcom/android/server/power/stats/BatteryStatsImpl$TimeBaseObs;ZJ)Z 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 @@ -9762,11 +10458,14 @@ HSPLcom/android/server/power/stats/BatteryStatsImpl;->startTrackingSystemServerC HSPLcom/android/server/power/stats/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z 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; +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;->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; +HPLcom/android/server/power/stats/BatteryStatsImpl;->updateCustomEnergyConsumerStatsLocked(IJLandroid/util/SparseLongArray;)V HSPLcom/android/server/power/stats/BatteryStatsImpl;->updateDailyDeadlineLocked()V -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;->updateDischargeScreenLevelsLocked(II)V +HPLcom/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 @@ -9785,6 +10484,7 @@ 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 +HPLcom/android/server/power/stats/BatteryUsageStatsProvider;->getAggregatedBatteryUsageStats(Landroid/os/BatteryUsageStatsQuery;)Landroid/os/BatteryUsageStats; 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 @@ -9808,7 +10508,8 @@ 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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +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;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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 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; @@ -9832,7 +10533,6 @@ 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; @@ -9840,7 +10540,7 @@ 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; +HPLcom/android/server/power/stats/SystemServerCpuThreadReader;->readAbsolute()Lcom/android/server/power/stats/SystemServerCpuThreadReader$SystemServiceCpuThreadTimes;+]Lcom/android/internal/os/KernelSingleProcessCpuThreadReader;Lcom/android/internal/os/KernelSingleProcessCpuThreadReader; 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; @@ -9856,23 +10556,29 @@ HPLcom/android/server/power/stats/WifiPowerCalculator;->calculate(Landroid/os/Ba HPLcom/android/server/power/stats/WifiPowerCalculator;->calculateApp(Lcom/android/server/power/stats/WifiPowerCalculator$PowerDurationAndTraffic;Landroid/os/BatteryStats$Uid;IJIZJ)V+]Landroid/os/BatteryStats$LongCounter;Lcom/android/server/power/stats/BatteryStatsImpl$1;,Lcom/android/server/power/stats/BatteryStatsImpl$TimeMultiStateCounter;]Lcom/android/server/power/stats/WifiPowerCalculator;Lcom/android/server/power/stats/WifiPowerCalculator;]Landroid/os/BatteryStats$Uid;Lcom/android/server/power/stats/BatteryStatsImpl$Uid;]Landroid/os/BatteryStats$ControllerActivityCounter;Lcom/android/server/power/stats/BatteryStatsImpl$ControllerActivityCounterImpl; HPLcom/android/server/power/stats/WifiPowerCalculator;->calculateRemaining(Lcom/android/server/power/stats/WifiPowerCalculator$PowerDurationAndTraffic;ILandroid/os/BatteryStats;JIZJDJ)V HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/power/stats/wakeups/CpuWakeupStats;)V +HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0;->getAsLong()J +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/power/stats/wakeups/CpuWakeupStats;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Wakeup;)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$IrqDevice;->toString()Ljava/lang/String; 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$WakingActivityHistory;->recordActivity(IJLandroid/util/SparseIntArray;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/function/LongSupplier;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$$ExternalSyntheticLambda0; +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;->removeBetween(IJJ)Landroid/util/SparseIntArray;+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; 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 +HSPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->attemptAttributionWith(IJLandroid/util/SparseIntArray;)Z+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->dump(Landroid/util/IndentingPrintWriter;J)V+]Landroid/util/SparseLongArray;Landroid/util/SparseLongArray;]Lcom/android/server/power/stats/wakeups/IrqDeviceMap;Lcom/android/server/power/stats/wakeups/IrqDeviceMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/IndentingPrintWriter;Landroid/util/IndentingPrintWriter;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$Config;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory; +HSPLcom/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/CpuWakeupStats;->noteWakingActivity(IJ[I)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats;Lcom/android/server/power/stats/wakeups/CpuWakeupStats;]Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory;Lcom/android/server/power/stats/wakeups/CpuWakeupStats$WakingActivityHistory; +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->stringToKnownSubsystem(Ljava/lang/String;)I +HPLcom/android/server/power/stats/wakeups/CpuWakeupStats;->subsystemToString(I)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; @@ -9882,6 +10588,7 @@ HPLcom/android/server/powerstats/PowerStatsDataStorage$DataElement;->toByteArray HPLcom/android/server/powerstats/PowerStatsDataStorage;->write([B)V HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;-><init>()V HSPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;->isInitialized()Z +HPLcom/android/server/powerstats/PowerStatsHALWrapper$PowerStatsHAL20WrapperImpl;->readEnergyMeter([I)[Landroid/hardware/power/stats/EnergyMeasurement; HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;-><init>()V HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;-><init>(Lcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache-IA;)V HSPLcom/android/server/powerstats/PowerStatsHALWrapper$VintfHalCache;->get()Landroid/hardware/power/stats/IPowerStats; @@ -9903,8 +10610,14 @@ HSPLcom/android/server/powerstats/PowerStatsService;->onBootPhase(I)V HSPLcom/android/server/powerstats/PowerStatsService;->onStart()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$EnergyConsumerResultUtils;->unpackEnergyConsumerResultProto(Landroid/util/proto/ProtoInputStream;)Landroid/hardware/power/stats/EnergyConsumerResult; 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$EnergyMeasurementUtils;->unpackEnergyMeasurementProto(Landroid/util/proto/ProtoInputStream;)Landroid/hardware/power/stats/EnergyMeasurement;+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream; +HPLcom/android/server/powerstats/ProtoStreamUtils$StateResidencyResultUtils;->adjustTimeSinceBootToEpoch([Landroid/hardware/power/stats/StateResidencyResult;J)V 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/ProtoStreamUtils$StateResidencyResultUtils;->unpackStateResidencyProto(Landroid/util/proto/ProtoInputStream;)Landroid/hardware/power/stats/StateResidency;+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream; +HPLcom/android/server/powerstats/ProtoStreamUtils$StateResidencyResultUtils;->unpackStateResidencyResultProto(Landroid/util/proto/ProtoInputStream;)Landroid/hardware/power/stats/StateResidencyResult;+]Landroid/util/proto/ProtoInputStream;Landroid/util/proto/ProtoInputStream;]Ljava/util/List;Ljava/util/ArrayList; +HPLcom/android/server/powerstats/StatsPullAtomCallbackImpl;->onPullAtom(ILjava/util/List;)I 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 @@ -9920,8 +10633,8 @@ HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Landroid/co 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 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+]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; +HPLcom/android/server/search/Searchables;->updateSearchableList()V +HPLcom/android/server/searchui/SearchUiManagerService$SearchUiManagerStub;->runForUserLocked(Ljava/lang/String;Landroid/app/search/SearchSessionId;Ljava/util/function/Consumer;)V 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 @@ -9930,6 +10643,8 @@ 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; +HPLcom/android/server/security/rkp/RemoteProvisioningRegistration;->getKey(ILandroid/security/rkp/IGetKeyCallback;)V +HPLcom/android/server/security/rkp/RemoteProvisioningService$RemoteProvisioningImpl;->getRegistration(Ljava/lang/String;Landroid/security/rkp/IGetRegistrationCallback;)V HSPLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;-><init>(III)V HSPLcom/android/server/sensorprivacy/PersistedState$TypeUserSensor;->hashCode()I HSPLcom/android/server/sensorprivacy/PersistedState;->getState(III)Lcom/android/server/sensorprivacy/SensorState; @@ -9938,64 +10653,138 @@ HSPLcom/android/server/sensorprivacy/SensorPrivacyService$SensorPrivacyServiceIm HSPLcom/android/server/sensorprivacy/SensorPrivacyStateControllerImpl;->getStateLocked(III)Lcom/android/server/sensorprivacy/SensorState; HSPLcom/android/server/sensorprivacy/SensorState;-><init>(I)V HSPLcom/android/server/sensors/SensorService$ProximityListenerDelegate;->onProximityActive(Z)V +HSPLcom/android/server/sensors/SensorService$ProximityListenerProxy$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/sensors/SensorService$ProximityListenerProxy;Z)V +HSPLcom/android/server/sensors/SensorService$ProximityListenerProxy;->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;+]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;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceClientPermissions; +HPLcom/android/server/slice/SliceClientPermissions;->getAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority; 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$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; 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;->getAssistant(I)Ljava/lang/String; +HPLcom/android/server/slice/SliceManagerService;->getAssistantMatcher(I)Lcom/android/server/slice/SliceManagerService$PackageMatchingCache; +HPLcom/android/server/slice/SliceManagerService;->getPinnedSlice(Landroid/net/Uri;)Lcom/android/server/slice/PinnedSliceState; +HPLcom/android/server/slice/SliceManagerService;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec; 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;->hasFullSliceAccess(Ljava/lang/String;I)Z HPLcom/android/server/slice/SliceManagerService;->verifyCaller(Ljava/lang/String;)V HPLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;I)V 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;->hasFullAccess(Ljava/lang/String;I)Z HPLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z HSPLcom/android/server/smartspace/RemoteSmartspaceService;->executeOnResolvedService(Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)V +HPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V HSPLcom/android/server/smartspace/SmartspaceManagerService$SmartspaceManagerStub$$ExternalSyntheticLambda4;->accept(Ljava/lang/Object;)V +HSPLcom/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 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 HSPLcom/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 HPLcom/android/server/smartspace/SmartspacePerUserService;->notifySmartspaceEventLocked(Landroid/app/smartspace/SmartspaceSessionId;Landroid/app/smartspace/SmartspaceTargetEvent;)V 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/SoundTriggerDbHelper;->getGenericSoundModel(Ljava/util/UUID;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel; +HPLcom/android/server/soundtrigger/SoundTriggerEvent$SessionEvent;-><init>(Lcom/android/server/soundtrigger/SoundTriggerEvent$SessionEvent$Type;Ljava/util/UUID;Ljava/lang/String;)V +HPLcom/android/server/soundtrigger/SoundTriggerHelper;->onGenericRecognitionLocked(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V +HPLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognition(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;IZ)I +HPLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Z)I +HPLcom/android/server/soundtrigger/SoundTriggerHelper;->unloadGenericSoundModel(Ljava/util/UUID;)I 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 +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$SoundModelStatTracker;->onStart(Ljava/util/UUID;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundModelStatTracker;->onStop(Ljava/util/UUID;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService$1;->onOpFinished(I)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;->bind()V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;->destroy()V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;->disconnectLocked()V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub$RemoteSoundTriggerDetectionService;->runOrAddOperation(Lcom/android/server/soundtrigger/SoundTriggerService$Operation;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;->deleteSoundModel(Landroid/os/ParcelUuid;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;->enforceCallingPermission(Ljava/lang/String;)V +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;->isRecognitionActive(Landroid/os/ParcelUuid;)Z +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I +HPLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerSessionStub;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->aidl2hidlRecognitionConfig(Landroid/media/soundtrigger/RecognitionConfig;II)Landroid/hardware/soundtrigger/V2_3/RecognitionConfig; +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->aidl2hidlSoundModel(Landroid/media/soundtrigger/SoundModel;)Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHw$SoundModel; +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->aidl2hidlUuid(Ljava/lang/String;)Landroid/hardware/audio/common/V2_0/Uuid; +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlAudioConfig(Landroid/hardware/audio/common/V2_0/AudioConfig;Z)Landroid/media/audio/common/AudioConfig; +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlOffloadInfo(Landroid/hardware/audio/common/V2_0/AudioOffloadInfo;)Landroid/media/audio/common/AudioOffloadInfo; +HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlRecognitionEvent(Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHwCallback$RecognitionEvent;)Landroid/media/soundtrigger/RecognitionEvent; HSPLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->setCaptureState(Z)V HPLcom/android/server/soundtrigger_middleware/ObjectPrinter;->print(Ljava/lang/StringBuilder;Ljava/lang/Object;I)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerDuplicateModelHandler;->unloadSoundModel(I)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer$ModelCallbackEnforcer;->recognitionCallback(ILandroid/media/soundtrigger_middleware/RecognitionEventSys;)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerHalEnforcer;->startRecognition(IIILandroid/media/soundtrigger/RecognitionConfig;)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 +HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHalWatchdog$Watchdog;->close()V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat;->loadSoundModel(Landroid/media/soundtrigger/SoundModel;Lcom/android/server/soundtrigger_middleware/ISoundTriggerHal$ModelCallback;)I +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onRecognition(ILandroid/media/soundtrigger_middleware/RecognitionEventSys;I)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->loadModel(Landroid/media/soundtrigger/SoundModel;)I +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->startRecognition(ILandroid/media/soundtrigger/RecognitionConfig;)Landroid/os/IBinder; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$SessionEvent;-><init>(Ljava/lang/Exception;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$SessionEvent$Type;Ljava/lang/Object;[Ljava/lang/Object;)V HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$SessionEvent;->eventToString()Ljava/lang/String; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$SessionEvent;->printLog(ILjava/lang/String;)Lcom/android/server/utils/EventLogger$Event; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->printArgs(Ljava/lang/StringBuilder;[Ljava/lang/Object;)Ljava/lang/StringBuilder; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission;->enforcePermissionsForPreflight(Landroid/media/permission/Identity;)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$Session;->loadModel(Landroid/media/soundtrigger/SoundModel;)I +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$Session;->startRecognition(ILandroid/media/soundtrigger/RecognitionConfig;)Landroid/os/IBinder; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$Session;->unloadModel(I)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session$Model;->load(Landroid/media/soundtrigger/SoundModel;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider$AudioSession;)I +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session$Model;->setState(Lcom/android/server/soundtrigger_middleware/SoundTriggerModule$ModelState;)V +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session$Model;->startRecognition(Landroid/media/soundtrigger/RecognitionConfig;)Landroid/os/IBinder; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session$Model;->unload()I +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session;->startRecognition(ILandroid/media/soundtrigger/RecognitionConfig;)Landroid/os/IBinder; +HPLcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session;->unloadModel(I)V 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/soundtrigger_middleware/ValidationUtil;->validateRecognitionConfig(Landroid/media/soundtrigger/RecognitionConfig;)V +HPLcom/android/server/speech/RemoteSpeechRecognitionService;->checkRecognitionSupport(Landroid/content/Intent;Landroid/content/AttributionSource;Landroid/speech/IRecognitionSupportCallback;)V +HPLcom/android/server/speech/SpeechRecognitionManagerService$SpeechRecognitionManagerServiceStub;->createSession(Landroid/content/ComponentName;Landroid/os/IBinder;ZLandroid/speech/IRecognitionServiceManagerCallback;)V +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/speech/SpeechRecognitionManagerServiceImpl;Landroid/os/IBinder;ILcom/android/server/speech/RemoteSpeechRecognitionService;)V +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/speech/SpeechRecognitionManagerServiceImpl;Landroid/speech/IRecognitionServiceManagerCallback;Lcom/android/server/speech/RemoteSpeechRecognitionService;Landroid/os/IBinder;ILandroid/os/IBinder$DeathRecipient;)V +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl$$ExternalSyntheticLambda1;->accept(Ljava/lang/Object;)V +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl$1;-><init>(Lcom/android/server/speech/SpeechRecognitionManagerServiceImpl;Lcom/android/server/speech/RemoteSpeechRecognitionService;Landroid/os/IBinder;ILandroid/os/IBinder$DeathRecipient;)V 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/speech/SpeechRecognitionManagerServiceImpl;->getOnDeviceComponentNameLocked()Landroid/content/ComponentName; +HPLcom/android/server/speech/SpeechRecognitionManagerServiceImpl;->lambda$createSessionLocked$1(Landroid/speech/IRecognitionServiceManagerCallback;Lcom/android/server/speech/RemoteSpeechRecognitionService;Landroid/os/IBinder;ILandroid/os/IBinder$DeathRecipient;Landroid/speech/IRecognitionService;)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/StatsPullAtomService$$ExternalSyntheticLambda16;->onUidCpuTime(ILjava/lang/Object;)V +HPLcom/android/server/stats/pull/StatsPullAtomService$$ExternalSyntheticLambda3;->apply(Ljava/lang/Object;)Ljava/lang/Object; 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$3;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;Ljava/util/concurrent/CompletableFuture;)V +HPLcom/android/server/stats/pull/StatsPullAtomService$StatsPullAtomCallbackImpl;->onPullAtom(ILjava/util/List;)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/stats/pull/StatsPullAtomService;Lcom/android/server/stats/pull/StatsPullAtomService; 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; 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;->getAllCollapsedRatTypes()[I +HPLcom/android/server/stats/pull/StatsPullAtomService;->getAllCollapsedRatTypes()[I+]Ljava/util/HashSet;Ljava/util/HashSet; 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; @@ -10007,24 +10796,29 @@ HPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$pullProcessMemory 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;->pullBluetoothBytesTransferLocked(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;->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;->pullDataBytesTransferLocked(ILjava/util/List;)I+]Landroid/net/NetworkStats;Landroid/net/NetworkStats;]Lcom/android/server/stats/pull/StatsPullAtomService;Lcom/android/server/stats/pull/StatsPullAtomService;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;,Landroid/net/NetworkStats$1; 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;->pullProcessCpuTimeLocked(ILjava/util/List;)I+]Lcom/android/internal/os/ProcessCpuTracker;Lcom/android/internal/os/ProcessCpuTracker;]Ljava/util/List;Ljava/util/ArrayList; 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;->pullTemperatureLocked(ILjava/util/List;)I +HPLcom/android/server/stats/pull/StatsPullAtomService;->pullTemperatureLocked(ILjava/util/List;)I+]Landroid/os/IThermalService;Lcom/android/server/power/ThermalManagerService$1;]Lcom/android/server/stats/pull/StatsPullAtomService;Lcom/android/server/stats/pull/StatsPullAtomService;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/Temperature;Landroid/os/Temperature; 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/StatsPullAtomService;->sliceNetworkStatsByFgbg(Landroid/net/NetworkStats;)Landroid/net/NetworkStats; 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/SessionMonitor;->onSessionEnded(ILcom/android/internal/logging/InstanceId;)V +HPLcom/android/server/statusbar/SessionMonitor;->onSessionStarted(ILcom/android/internal/logging/InstanceId;)V 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 +HSPLcom/android/server/statusbar/StatusBarManagerService$1;->setIconVisibility(Ljava/lang/String;Z)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 @@ -10035,15 +10829,22 @@ 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;->manageDisableListLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V HPLcom/android/server/statusbar/StatusBarManagerService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V +HPLcom/android/server/statusbar/StatusBarManagerService;->onPanelHidden()V +HPLcom/android/server/statusbar/StatusBarManagerService;->onPanelRevealed(ZI)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 +HPLcom/android/server/storage/AppFuseBridge$MountScope;-><init>(II)V +HPLcom/android/server/storage/AppFuseBridge$MountScope;->setMountResultLocked(Z)V +HPLcom/android/server/storage/AppFuseBridge;-><init>()V HPLcom/android/server/storage/AppFuseBridge;->addBridge(Lcom/android/server/storage/AppFuseBridge$MountScope;)Landroid/os/ParcelFileDescriptor; +HPLcom/android/server/storage/AppFuseBridge;->onClosed(I)V +HPLcom/android/server/storage/AppFuseBridge;->onMount(I)V +HPLcom/android/server/storage/AppFuseBridge;->run()V 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+]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/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V HSPLcom/android/server/storage/DeviceStorageMonitorService;->checkLow()V HSPLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->-$$Nest$msetNewAffordability(Lcom/android/server/tare/Agent$ActionAffordabilityNote;Z)V @@ -10052,17 +10853,18 @@ HSPLcom/android/server/tare/Agent$ActionAffordabilityNote;->equals(Ljava/lang/Ob 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;->scheduleBalanceCheckLocked(ILjava/lang/String;)V+]Landroid/util/SparseArrayMap;Landroid/util/SparseArrayMap;]Lcom/android/server/utils/AlarmQueue;Lcom/android/server/tare/Agent$BalanceThresholdAlarmQueue; 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/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/EconomyManagerInternal$AnticipatedAction;->equals(Ljava/lang/Object;)Z 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 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$LocalService;->unregisterAffordabilityChangeListener(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;->-$$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; @@ -10082,22 +10884,25 @@ HPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;- 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$TextServicesData;->isSpellCheckerEnabled()Z +HPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellChecker(ILjava/lang/String;)Landroid/view/textservice/SpellCheckerInfo; 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/textservices/TextServicesManagerService;->verifyUser(I)V HPLcom/android/server/timedetector/NetworkTimeSuggestion;-><init>(Landroid/app/time/UnixEpochTime;I)V 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$1;->reportKeyguardShowingChanged()V 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 +HPLcom/android/server/trust/TrustManagerService;->-$$Nest$mresolveProfileParent(Lcom/android/server/trust/TrustManagerService;I)I+]Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService; HSPLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z -HSPLcom/android/server/trust/TrustManagerService;->checkNewAgentsForUser(I)V +HPLcom/android/server/trust/TrustManagerService;->dispatchDeviceLocked(IZ)V +HPLcom/android/server/trust/TrustManagerService;->dispatchTrustableDowngrade()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 @@ -10120,11 +10925,8 @@ 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; -HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder; 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; -HSPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$menforceNotIsolatedCaller(Lcom/android/server/uri/UriGrantsManagerService;Ljava/lang/String;)V HSPLcom/android/server/uri/UriGrantsManagerService;->-$$Nest$mstart(Lcom/android/server/uri/UriGrantsManagerService;)V HSPLcom/android/server/uri/UriGrantsManagerService;-><init>()V HSPLcom/android/server/uri/UriGrantsManagerService;-><init>(Lcom/android/server/uri/UriGrantsManagerService-IA;)V @@ -10133,14 +10935,14 @@ HSPLcom/android/server/uri/UriGrantsManagerService;->checkAuthorityGrantsLocked( HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionFromIntentUnlocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;+]Landroid/content/ClipData;Landroid/content/ClipData;]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;]Landroid/content/ClipData$Item;Landroid/content/ClipData$Item;]Landroid/content/Intent;Landroid/content/Intent; HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionUnlocked(ILjava/lang/String;Landroid/net/Uri;II)I HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionUnlocked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;II)I+]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/os/PatternMatcher;Landroid/os/PatternMatcher;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; -HPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternalUnlocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z+]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Landroid/content/pm/PathPermission;Landroid/content/pm/PathPermission;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; +HPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternalUnlocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z 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 +HPLcom/android/server/uri/UriGrantsManagerService;->checkUriPermissionLocked(Lcom/android/server/uri/GrantUri;II)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/uri/UriPermission;Lcom/android/server/uri/UriPermission;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V 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; +HSPLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;III)Landroid/content/pm/ProviderInfo;+]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/uri/UriGrantsManagerService;->getUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/uri/UriGrantsManagerService;Lcom/android/server/uri/UriGrantsManagerService;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/pm/PackageManagerInternal;Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl; +HPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwnerUnlocked(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V 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;->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; @@ -10152,9 +10954,7 @@ HSPLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/S 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;->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 +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;->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; @@ -10162,19 +10962,20 @@ 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; 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;->getUserHistory(I)Landroid/util/ArrayMap;+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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 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;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;->setLastJobRunTime(Ljava/lang/String;IJ)V+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; 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; HSPLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V HSPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)V HSPLcom/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$Injector;->elapsedRealtime()J HSPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String; 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; @@ -10190,7 +10991,6 @@ HPLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z+]Lcom/and 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;->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 @@ -10208,14 +11008,14 @@ 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; -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; +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; 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 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;->setLastJobRunTime(Ljava/lang/String;IJ)V +HPLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V+]Lcom/android/server/usage/AppIdleHistory;Lcom/android/server/usage/AppIdleHistory; HPLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I 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; @@ -10231,7 +11031,7 @@ HPLcom/android/server/usage/BroadcastResponseStatsTracker;->recordAndPruneOldBro 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 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;->addEvent(Landroid/app/usage/UsageEvents$Event;)V 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/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; @@ -10241,25 +11041,24 @@ HPLcom/android/server/usage/IntervalStats;->obfuscateEventsData(Lcom/android/ser 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;]Ljava/lang/Long;Ljava/lang/Long;]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; 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$H;->handleMessage(Landroid/os/Message;)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;->checkStatsPermission(ILjava/lang/String;Z)Ljava/lang/String; 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;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J HPLcom/android/server/usage/StorageStatsService;->getDefaultFlags()I 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;+]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;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats; 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; 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;->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/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J+]Ljava/io/File;Ljava/io/File; -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; @@ -10273,7 +11072,6 @@ HPLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/la 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 HPLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I -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; @@ -10288,7 +11086,8 @@ HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/ HPLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)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 +HPLcom/android/server/usage/UsageStatsService$LocalService;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V +HPLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V+]Lcom/android/server/usage/AppStandbyInternal;Lcom/android/server/usage/AppStandbyController; 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$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$mshouldObfuscateInstantAppsForCaller(Lcom/android/server/usage/UsageStatsService;II)Z @@ -10296,20 +11095,21 @@ HPLcom/android/server/usage/UsageStatsService;->convertToSystemTimeLocked(Landro 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; 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;]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; +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; +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;]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;]Landroid/os/Handler;Lcom/android/server/usage/UsageStatsService$H; 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;->shouldObfuscateInstantAppsForCaller(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;->formatDateTime(JZ)Ljava/lang/String; 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;->lambda$queryEventsForPackage$1(JJLjava/lang/String;Landroid/util/ArraySet;ZLcom/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; +HPLcom/android/server/usage/UserUsageStatsService;->notifyStatsChanged()V 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 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V @@ -10319,18 +11119,15 @@ HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landro 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;+]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;+]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;->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 @@ -10340,8 +11137,10 @@ HPLcom/android/server/utils/AlarmQueue;->addAlarm(Ljava/lang/Object;J)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$Event;->printLog(ILjava/lang/String;)Lcom/android/server/utils/EventLogger$Event; +HSPLcom/android/server/utils/EventLogger$StringEvent;-><init>(Ljava/lang/String;)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/EventLogger;->enqueue(Lcom/android/server/utils/EventLogger$Event;)V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; 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; @@ -10386,17 +11185,16 @@ HSPLcom/android/server/utils/WatchedArrayList;->registerChild(Ljava/lang/Object; HSPLcom/android/server/utils/WatchedArrayList;->registerObserver(Lcom/android/server/utils/Watcher;)V HSPLcom/android/server/utils/WatchedArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object; HSPLcom/android/server/utils/WatchedArrayList;->size()I -HSPLcom/android/server/utils/WatchedArrayList;->snapshot()Lcom/android/server/utils/WatchedArrayList; HSPLcom/android/server/utils/WatchedArrayList;->snapshot(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+]Lcom/android/server/utils/WatchableImpl;Lcom/android/server/utils/WatchedArrayMap; +HSPLcom/android/server/utils/WatchedArrayMap$1;->onChange(Lcom/android/server/utils/Watchable;)V HSPLcom/android/server/utils/WatchedArrayMap;-><init>()V HSPLcom/android/server/utils/WatchedArrayMap;-><init>(IZ)V HSPLcom/android/server/utils/WatchedArrayMap;->clear()V -HSPLcom/android/server/utils/WatchedArrayMap;->containsKey(Ljava/lang/Object;)Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLcom/android/server/utils/WatchedArrayMap;->containsKey(Ljava/lang/Object;)Z HSPLcom/android/server/utils/WatchedArrayMap;->entrySet()Ljava/util/Set; HSPLcom/android/server/utils/WatchedArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLcom/android/server/utils/WatchedArrayMap;->keyAt(I)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; @@ -10427,7 +11225,7 @@ 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;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/WatchedArraySet;->valueAt(I)Ljava/lang/Object;+]Landroid/util/ArraySet;Landroid/util/ArraySet; 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;->get(J)Ljava/lang/Object; @@ -10452,7 +11250,6 @@ HSPLcom/android/server/utils/WatchedSparseArray;->size()I HSPLcom/android/server/utils/WatchedSparseArray;->snapshot()Lcom/android/server/utils/WatchedSparseArray; HSPLcom/android/server/utils/WatchedSparseArray;->snapshot(Lcom/android/server/utils/WatchedSparseArray;Lcom/android/server/utils/WatchedSparseArray;)V HSPLcom/android/server/utils/WatchedSparseArray;->unregisterChildIf(Ljava/lang/Object;)V -HSPLcom/android/server/utils/WatchedSparseArray;->valueAt(I)Ljava/lang/Object; HSPLcom/android/server/utils/WatchedSparseBooleanArray;-><init>()V HSPLcom/android/server/utils/WatchedSparseBooleanArray;-><init>(Lcom/android/server/utils/WatchedSparseBooleanArray;)V HSPLcom/android/server/utils/WatchedSparseBooleanArray;->get(I)Z+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; @@ -10470,7 +11267,7 @@ HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAt(IIZ)V+]Lcom/ HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->setValueAtInternal(IIZ)V 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;->valueAt(II)Z HPLcom/android/server/utils/WatchedSparseBooleanMatrix;->valueAtInternal(II)Z HSPLcom/android/server/utils/WatchedSparseIntArray;-><init>()V HSPLcom/android/server/utils/WatchedSparseIntArray;->size()I @@ -10502,23 +11299,47 @@ HSPLcom/android/server/utils/quota/UptcMap;->get(ILjava/lang/String;Ljava/lang/S 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; HPLcom/android/server/vcn/TelephonySubscriptionTracker$TelephonySubscriptionSnapshot;->getGroupForSubId(I)Landroid/os/ParcelUuid; +HPLcom/android/server/vibrator/AbstractVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)V +HPLcom/android/server/vibrator/AbstractVibratorStep;->acceptVibratorCompleteCallback(I)Z +HPLcom/android/server/vibrator/AbstractVibratorStep;->getVibratorId()I HPLcom/android/server/vibrator/AbstractVibratorStep;->nextSteps(JI)Ljava/util/List; +HPLcom/android/server/vibrator/AbstractVibratorStep;->stopVibrating()V HPLcom/android/server/vibrator/CompleteEffectVibratorStep;->play()Ljava/util/List; +HPLcom/android/server/vibrator/FinishSequentialEffectStep;-><init>(Lcom/android/server/vibrator/StartSequentialEffectStep;)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;->addFallback(ILandroid/os/VibrationEffect;)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;->getFallback(I)Landroid/os/VibrationEffect; HPLcom/android/server/vibrator/HalVibration;->getStatsInfo(J)Lcom/android/server/vibrator/VibrationStats$StatsInfo; +HPLcom/android/server/vibrator/HalVibration;->hasEnded()Z +HPLcom/android/server/vibrator/InputDeviceDelegate;->vibrateIfAvailable(Lcom/android/server/vibrator/Vibration$CallerInfo;Landroid/os/CombinedVibration;)Z +HPLcom/android/server/vibrator/PerformPrebakedVibratorStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLcom/android/server/vibrator/VibratorController;Landroid/os/VibrationEffect$Composed;IJ)V HPLcom/android/server/vibrator/PerformPrebakedVibratorStep;->play()Ljava/util/List; +HPLcom/android/server/vibrator/RampDownAdapter;->addRampDownToZeroAmplitudeSegments(Ljava/util/List;I)I +HPLcom/android/server/vibrator/RampOffVibratorStep;->play()Ljava/util/List; 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$DeviceEffectMap;->effectAt(I)Landroid/os/VibrationEffect$Composed; +HPLcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap;->vibratorIdAt(I)I +HPLcom/android/server/vibrator/StartSequentialEffectStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;JLandroid/os/CombinedVibration$Sequential;I)V +HPLcom/android/server/vibrator/StartSequentialEffectStep;-><init>(Lcom/android/server/vibrator/VibrationStepConductor;Landroid/os/CombinedVibration$Sequential;)V +HPLcom/android/server/vibrator/StartSequentialEffectStep;->createEffectToVibratorMapping(Landroid/os/CombinedVibration;)Lcom/android/server/vibrator/StartSequentialEffectStep$DeviceEffectMap; +HPLcom/android/server/vibrator/StartSequentialEffectStep;->nextStep()Lcom/android/server/vibrator/Step; HPLcom/android/server/vibrator/StartSequentialEffectStep;->play()Ljava/util/List; +HPLcom/android/server/vibrator/StartSequentialEffectStep;->startVibrating(Lcom/android/server/vibrator/AbstractVibratorStep;Ljava/util/List;)J 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/Step;->compareTo(Lcom/android/server/vibrator/Step;)I +HPLcom/android/server/vibrator/Step;->compareTo(Ljava/lang/Object;)I +HPLcom/android/server/vibrator/Step;->getVibration()Lcom/android/server/vibrator/HalVibration;+]Lcom/android/server/vibrator/VibrationStepConductor;Lcom/android/server/vibrator/VibrationStepConductor; +HPLcom/android/server/vibrator/TurnOffVibratorStep;->play()Ljava/util/List; 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 +HPLcom/android/server/vibrator/Vibration$EndInfo;-><init>(Lcom/android/server/vibrator/Vibration$Status;)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; @@ -10526,59 +11347,114 @@ HPLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->isUidForeground HSPLcom/android/server/vibrator/VibrationSettings$MyUidObserver;->onUidStateChanged(IIJI)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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; +HPLcom/android/server/vibrator/VibrationSettings;->getFallbackEffect(I)Landroid/os/VibrationEffect; HSPLcom/android/server/vibrator/VibrationSettings;->getRampStepDuration()I HPLcom/android/server/vibrator/VibrationSettings;->shouldIgnoreVibration(Lcom/android/server/vibrator/Vibration$CallerInfo;)Lcom/android/server/vibrator/Vibration$Status; 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;->filteredKeys(Landroid/util/SparseBooleanArray;Z)[I+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray; HPLcom/android/server/vibrator/VibrationStats$StatsInfo;->writeVibrationReported()V +HPLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmEndUptimeMillis(Lcom/android/server/vibrator/VibrationStats;)J +HPLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmEndedByUid(Lcom/android/server/vibrator/VibrationStats;)I +HPLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorOnCount(Lcom/android/server/vibrator/VibrationStats;)I +HPLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorPerformCount(Lcom/android/server/vibrator/VibrationStats;)I +HPLcom/android/server/vibrator/VibrationStats;->-$$Nest$fgetmVibratorPrimitivesUsed(Lcom/android/server/vibrator/VibrationStats;)Landroid/util/SparseBooleanArray; HPLcom/android/server/vibrator/VibrationStats;-><init>()V +HPLcom/android/server/vibrator/VibrationStats;->getDurationDebug()J +HPLcom/android/server/vibrator/VibrationStats;->getStartTimeDebug()J +HPLcom/android/server/vibrator/VibrationStats;->hasEnded()Z HPLcom/android/server/vibrator/VibrationStats;->reportEnded(Lcom/android/server/vibrator/Vibration$CallerInfo;)Z +HPLcom/android/server/vibrator/VibrationStats;->reportPerformEffect(JLandroid/os/vibrator/PrebakedSegment;)V +HPLcom/android/server/vibrator/VibrationStats;->reportStarted()V +HPLcom/android/server/vibrator/VibrationStepConductor;->calculateVibrationEndInfo()Lcom/android/server/vibrator/Vibration$EndInfo; HPLcom/android/server/vibrator/VibrationStepConductor;->expectIsVibrationThread(Z)V 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;->notifyVibratorComplete(I)V 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+]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;->toSequential(Landroid/os/CombinedVibration;)Landroid/os/CombinedVibration$Sequential; 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;->clientVibrationCompleteIfNotAlready(Lcom/android/server/vibrator/Vibration$EndInfo;)V 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 HPLcom/android/server/vibrator/VibrationThread;->runCurrentVibrationWithWakeLockAndDeathLink()V +HPLcom/android/server/vibrator/VibrationThread;->runVibrationOnVibrationThread(Lcom/android/server/vibrator/VibrationStepConductor;)Z HSPLcom/android/server/vibrator/VibrationThread;->waitForVibrationRequest()Lcom/android/server/vibrator/VibrationStepConductor;+]Ljava/lang/Object;Ljava/lang/Object; +HPLcom/android/server/vibrator/VibratorController$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/vibrator/VibratorController;Z)V HSPLcom/android/server/vibrator/VibratorController$NativeWrapper;->off()V +HPLcom/android/server/vibrator/VibratorController$NativeWrapper;->perform(JJJ)J +HPLcom/android/server/vibrator/VibratorController;->getCurrentAmplitude()F +HSPLcom/android/server/vibrator/VibratorController;->getVibratorInfo()Landroid/os/VibratorInfo; HSPLcom/android/server/vibrator/VibratorController;->notifyListenerOnVibrating(Z)V+]Landroid/os/RemoteCallbackList;Landroid/os/RemoteCallbackList; HSPLcom/android/server/vibrator/VibratorController;->off()V +HPLcom/android/server/vibrator/VibratorController;->on(Landroid/os/vibrator/PrebakedSegment;J)J HPLcom/android/server/vibrator/VibratorController;->setAmplitude(F)V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda0;->run()V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda1;->run()V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger$$ExternalSyntheticLambda2;->run()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/VibratorFrameworkStatsLogger;->writeVibratorStateOffAsync(I)V +HPLcom/android/server/vibrator/VibratorFrameworkStatsLogger;->writeVibratorStateOnAsync(IJ)V +HPLcom/android/server/vibrator/VibratorManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V +HPLcom/android/server/vibrator/VibratorManagerService$VibrationCompleteListener;->onComplete(IJ)V +HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->noteVibratorOff(I)V +HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->noteVibratorOn(IJ)V HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationCompleted(JLcom/android/server/vibrator/Vibration$EndInfo;)V HPLcom/android/server/vibrator/VibratorManagerService$VibrationThreadCallbacks;->onVibrationThreadReleased(J)V HPLcom/android/server/vibrator/VibratorManagerService$VibratorManagerRecords;->record(Lcom/android/server/vibrator/HalVibration;)V +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmCurrentVibration(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/server/vibrator/VibrationStepConductor; +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmFrameworkStatsLogger(Lcom/android/server/vibrator/VibratorManagerService;)Lcom/android/server/vibrator/VibratorFrameworkStatsLogger; +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fgetmLock(Lcom/android/server/vibrator/VibratorManagerService;)Ljava/lang/Object; +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$fputmCurrentVibration(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/VibrationStepConductor;)V +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$monVibrationComplete(Lcom/android/server/vibrator/VibratorManagerService;IJ)V +HPLcom/android/server/vibrator/VibratorManagerService;->-$$Nest$mreportFinishedVibrationLocked(Lcom/android/server/vibrator/VibratorManagerService;Lcom/android/server/vibrator/Vibration$EndInfo;)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;->enforceUpdateAppOpsStatsPermission(I)V +HPLcom/android/server/vibrator/VibratorManagerService;->fillVibrationFallbacks(Lcom/android/server/vibrator/HalVibration;Landroid/os/CombinedVibration;)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;->finishAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)V HPLcom/android/server/vibrator/VibratorManagerService;->fixupVibrationAttributes(Landroid/os/VibrationAttributes;Landroid/os/CombinedVibration;)Landroid/os/VibrationAttributes; +HPLcom/android/server/vibrator/VibratorManagerService;->isEffectValid(Landroid/os/CombinedVibration;)Z +HPLcom/android/server/vibrator/VibratorManagerService;->logVibrationStatus(ILandroid/os/VibrationAttributes;Lcom/android/server/vibrator/Vibration$Status;)V +HPLcom/android/server/vibrator/VibratorManagerService;->onVibrationComplete(IJ)V HPLcom/android/server/vibrator/VibratorManagerService;->reportFinishedVibrationLocked(Lcom/android/server/vibrator/Vibration$EndInfo;)V +HPLcom/android/server/vibrator/VibratorManagerService;->shouldIgnoreVibrationForOngoingLocked(Lcom/android/server/vibrator/Vibration;)Lcom/android/server/vibrator/Vibration$EndInfo; +HPLcom/android/server/vibrator/VibratorManagerService;->shouldIgnoreVibrationLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)Lcom/android/server/vibrator/Vibration$EndInfo; +HPLcom/android/server/vibrator/VibratorManagerService;->startAppOpModeLocked(Lcom/android/server/vibrator/Vibration$CallerInfo;)I 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;->vibrate(IILjava/lang/String;Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;Ljava/lang/String;Landroid/os/IBinder;)V 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/voiceinteraction/VoiceInteractionManagerService$LocalService;->getHotwordDetectionServiceIdentity()Landroid/service/voice/VoiceInteractionManagerInternal$HotwordDetectionServiceIdentity; 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/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z +HPLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)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/WallpaperDataParser;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile; +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/util/SparseArray;Landroid/util/SparseArray;]Landroid/app/WallpaperColors;Landroid/app/WallpaperColors;]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/util/Iterator;Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;]Ljava/lang/Float;Ljava/lang/Float; HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V +HPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$DisplayConnector; +HPLcom/android/server/wallpaper/WallpaperManagerService;->checkCallerIsSystemOrSystemUi()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 -HPLcom/android/server/wm/AbsAppSnapshotController;->shouldDisableSnapshots()Z +HPLcom/android/server/wm/AbsAppSnapshotController;->checkIfReadyToSnapshot(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pair; +HPLcom/android/server/wm/AbsAppSnapshotController;->getAppearance(Lcom/android/server/wm/WindowContainer;)I +HSPLcom/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; @@ -10591,6 +11467,7 @@ HSPLcom/android/server/wm/AccessibilityController;->getAccessibilityControllerIn 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; 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;->activityDestroyed(Landroid/os/IBinder;)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 @@ -10603,69 +11480,94 @@ HPLcom/android/server/wm/ActivityInterceptorCallback$ActivityInterceptorInfo$Bui 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$$ExternalSyntheticLambda0;->run()V +HPLcom/android/server/wm/ActivityMetricsLogger$$ExternalSyntheticLambda7;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)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$TransitionInfo;->setLatestLaunchedActivity(Lcom/android/server/wm/ActivityRecord;)V 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;->getAppHibernationManagerInternal()Lcom/android/server/apphibernation/AppHibernationManagerInternal; +HPLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunchFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;J)V HPLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V +HPLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyIntentStarted(Landroid/content/Intent;J)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;->logRecentsAnimationLatency(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)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;->notifyActivityLaunching(Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState; +HPLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityRemoved(Lcom/android/server/wm/ActivityRecord;)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$$ExternalSyntheticLambda25;->test(Ljava/lang/Object;)Z 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;->abortAndClearOptionsAnimation()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;->applyAspectRatio(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;F)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;->attachStartingWindow(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z HPLcom/android/server/wm/ActivityRecord;->canAffectSystemUiFlags()Z +HPLcom/android/server/wm/ActivityRecord;->canBeLaunchedOnDisplay(I)Z HPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z+]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/ActivityRecord;->canCaptureSnapshot()Z +HPLcom/android/server/wm/ActivityRecord;->canForceResizeNonResizable(I)Z 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/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;->canResumeByCompat()Z +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;->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;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z 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;->clearOptionsAnimation()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;->completeFinishing(ZLjava/lang/String;)Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V +HPLcom/android/server/wm/ActivityRecord;->computeTaskAffinity(Ljava/lang/String;I)Ljava/lang/String; 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;->destroyIfPossible(Ljava/lang/String;)Z HPLcom/android/server/wm/ActivityRecord;->destroyImmediately(Ljava/lang/String;)Z HPLcom/android/server/wm/ActivityRecord;->destroySurfaces(Z)V +HPLcom/android/server/wm/ActivityRecord;->destroyed(Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityRecord;->determineLaunchSourceType(ILcom/android/server/wm/WindowProcessController;)I 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;->finishActivityResults(ILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;)V 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;->finishOrAbortReplacingWindow()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 @@ -10682,21 +11584,23 @@ 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;->getLockTaskLaunchMode(Landroid/content/pm/ActivityInfo;Landroid/app/ActivityOptions;)I 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;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment; 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;->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;->getRequestedConfigurationOrientation(Z)I +HPLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation(ZI)I 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/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;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner; 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;->hasProcess()Z @@ -10705,21 +11609,27 @@ HPLcom/android/server/wm/ActivityRecord;->hasStartingWindow()Z+]Lcom/android/ser 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;->isEligibleForLetterboxEducation()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration; 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;->isFreezingScreen()Z 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;->isKeyguardLocked()Z HPLcom/android/server/wm/ActivityRecord;->isLetterboxedForFixedOrientationAndAspectRatio()Z HPLcom/android/server/wm/ActivityRecord;->isNoHistory()Z +HPLcom/android/server/wm/ActivityRecord;->isPersistable()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;->isResizeable(Z)Z +HPLcom/android/server/wm/ActivityRecord;->isResolverOrDelegateActivity()Z +HPLcom/android/server/wm/ActivityRecord;->isRootOfTask()Z +HPLcom/android/server/wm/ActivityRecord;->isSnapshotCompatible(Landroid/window/TaskSnapshot;)Z 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 @@ -10731,8 +11641,11 @@ HPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z+]Lcom/a 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;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/ActivityRecord;->makeFinishingLocked()V 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;->makeVisibleIfNeeded(Lcom/android/server/wm/ActivityRecord;Z)V +HPLcom/android/server/wm/ActivityRecord;->moveFocusableActivityToTop(Ljava/lang/String;)Z 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; @@ -10742,6 +11655,8 @@ HPLcom/android/server/wm/ActivityRecord;->onDisplayChanged(Lcom/android/server/w 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;->onStartingWindowDrawn()V +HPLcom/android/server/wm/ActivityRecord;->onSyncTransactionCommitted(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/ActivityRecord;->onWindowsDrawn()V HPLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V HPLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V @@ -10749,20 +11664,29 @@ 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;->removeChild(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/ActivityRecord;->removeDestroyTimeout()V 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;->removeLaunchTickRunnable()V 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;->reportDescendantOrientationChangeIfNeeded()V HPLcom/android/server/wm/ActivityRecord;->requestUpdateWallpaperIfNeeded()V HPLcom/android/server/wm/ActivityRecord;->resolveAspectRatioRestriction(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/ActivityRecord;->resolveFixedOrientationConfiguration(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;->setClientVisible(Z)V +HPLcom/android/server/wm/ActivityRecord;->setLocusId(Landroid/content/LocusId;)V +HPLcom/android/server/wm/ActivityRecord;->setOptions(Landroid/app/ActivityOptions;)V +HPLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V +HPLcom/android/server/wm/ActivityRecord;->setRequestedOrientation(I)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 @@ -10770,68 +11694,86 @@ 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;->shouldBeResumed(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/ActivityRecord;->shouldBeVisible()Z +HPLcom/android/server/wm/ActivityRecord;->shouldBeVisible(ZZ)Z 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;->shouldCreateCompatDisplayInsets()Z 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;->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;->shouldPauseActivity(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/ActivityRecord;->shouldSendCompatFakeFocus()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;->stopFreezingScreenLocked(Z)V 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;->supportsSizeChanges()I +HPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String; 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;->updateAnimatingActivityRegistry()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;->updateResolvedBoundsPosition(Landroid/content/res/Configuration;)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;->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/ActivityRecord;->windowsAreFocusable(Z)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; 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;->createInputWindowHandle()Landroid/view/InputWindowHandle; 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;->onExecutionComplete(Lcom/android/server/wm/ActivityStarter;)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;->interceptHarmfulAppIfNeeded()Z HPLcom/android/server/wm/ActivityStartInterceptor;->interceptLockTaskModeViolationPackageIfNeeded()Z HPLcom/android/server/wm/ActivityStartInterceptor;->onActivityLaunched(Landroid/app/TaskInfo;Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;Ljava/lang/String;)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;->addOrReparentStartingActivity(Lcom/android/server/wm/Task;Ljava/lang/String;)V +HPLcom/android/server/wm/ActivityStarter;->complyActivityFlags(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/uri/NeededUriGrants;)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;->getOrCreateRootTask(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/Task;Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task; 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;->resolveToHeavyWeightSwitcherIfNeeded()I +HPLcom/android/server/wm/ActivityStarter;->resumeTargetRootTaskIfNeeded()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;->setNewTask(Lcom/android/server/wm/Task;)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$$ExternalSyntheticLambda0;-><init>()V +HPLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda10;-><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 +HPLcom/android/server/wm/ActivityTaskManagerService$$ExternalSyntheticLambda7;->run()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 @@ -10844,6 +11786,7 @@ HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWe 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; HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getApplicationConfig(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$PackageConfig; +HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getAttachedNonFinishingActivityForTask(ILandroid/os/IBinder;)Lcom/android/server/wm/ActivityTaskManagerInternal$ActivityTokens; 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 @@ -10862,6 +11805,7 @@ HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive( HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->useTopSchedGroupForTopProcess()Z +HPLcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/os/Bundle;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;I)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 @@ -10872,6 +11816,7 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$fgetmSleeping(Lco HSPLcom/android/server/wm/ActivityTaskManagerService;->-$$Nest$mstart(Lcom/android/server/wm/ActivityTaskManagerService;)V HSPLcom/android/server/wm/ActivityTaskManagerService;-><init>(Landroid/content/Context;)V HSPLcom/android/server/wm/ActivityTaskManagerService;->addWindowLayoutReasons(I)V +HPLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateLockStateLocked(Lcom/android/server/wm/ActivityRecord;)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 @@ -10884,6 +11829,8 @@ 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;->finishRunningVoiceLocked()V +HPLcom/android/server/wm/ActivityTaskManagerService;->focusTopTask(I)V HPLcom/android/server/wm/ActivityTaskManagerService;->getAppOpsManager()Landroid/app/AppOpsManager; HPLcom/android/server/wm/ActivityTaskManagerService;->getAppTasks(Ljava/lang/String;I)Ljava/util/List; HPLcom/android/server/wm/ActivityTaskManagerService;->getFocusedRootTaskInfo()Landroid/app/ActivityTaskManager$RootTaskInfo; @@ -10905,8 +11852,7 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->getRootTaskInfo(II)Landro 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;->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; +HSPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(IZZI)Ljava/util/List; 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;->getUserManager()Lcom/android/server/pm/UserManagerService; @@ -10916,22 +11862,34 @@ HSPLcom/android/server/wm/ActivityTaskManagerService;->initialize(Lcom/android/s 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 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; +HPLcom/android/server/wm/ActivityTaskManagerService;->isSameApp(ILjava/lang/String;)Z HSPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingLocked()Z +HPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingOrShuttingDownLocked()Z +HPLcom/android/server/wm/ActivityTaskManagerService;->lambda$onScreenAwakeChanged$5(Z)V +HPLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$4(Z)V HPLcom/android/server/wm/ActivityTaskManagerService;->maybeHideLockedProfileActivityLocked()V HSPLcom/android/server/wm/ActivityTaskManagerService;->onActivityManagerInternalAdded()V HSPLcom/android/server/wm/ActivityTaskManagerService;->onInitPowerManagement()V +HPLcom/android/server/wm/ActivityTaskManagerService;->onScreenAwakeChanged(Z)V HSPLcom/android/server/wm/ActivityTaskManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z 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;->setFocusedTask(ILcom/android/server/wm/ActivityRecord;)V HPLcom/android/server/wm/ActivityTaskManagerService;->setLastResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V HPLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V +HPLcom/android/server/wm/ActivityTaskManagerService;->setLocusId(Landroid/content/LocusId;Landroid/os/IBinder;)V +HPLcom/android/server/wm/ActivityTaskManagerService;->setProcessAnimatingWhileDozing(Lcom/android/server/wm/WindowProcessController;)V HSPLcom/android/server/wm/ActivityTaskManagerService;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)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;->startBackNavigation(Landroid/os/RemoteCallback;Landroid/window/BackAnimationAdapter;)Landroid/window/BackNavigationInfo; HPLcom/android/server/wm/ActivityTaskManagerService;->startTimeTrackingFocusedActivityLocked()V +HPLcom/android/server/wm/ActivityTaskManagerService;->stopAppSwitches()V +HPLcom/android/server/wm/ActivityTaskManagerService;->takeTaskSnapshot(IZ)Landroid/window/TaskSnapshot; HPLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V HPLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V HPLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V @@ -10939,6 +11897,7 @@ HPLcom/android/server/wm/ActivityTaskManagerService;->updatePreviousProcess(Lcom 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 +HPLcom/android/server/wm/ActivityTaskSupervisor$$ExternalSyntheticLambda7;->run()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 @@ -10946,7 +11905,7 @@ HSPLcom/android/server/wm/ActivityTaskSupervisor$OpaqueActivityHelper;-><init>() 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(Lcom/android/server/wm/ActivityRecord;)V+]Landroid/app/TaskInfo;Landroid/app/ActivityManager$RecentTaskInfo;,Landroid/app/ActivityManager$RunningTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo; 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;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/ActivityTaskSupervisor;-><clinit>()V @@ -10961,18 +11920,24 @@ HSPLcom/android/server/wm/ActivityTaskSupervisor;->computeProcessActivityStateBa 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; +HPLcom/android/server/wm/ActivityTaskSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;Ljava/lang/String;IIZ)I HSPLcom/android/server/wm/ActivityTaskSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController; HSPLcom/android/server/wm/ActivityTaskSupervisor;->getNextTaskIdForUser(I)I +HSPLcom/android/server/wm/ActivityTaskSupervisor;->getRunningTasks()Lcom/android/server/wm/RunningTasks; +HPLcom/android/server/wm/ActivityTaskSupervisor;->handleForcedResizableTaskIfNeeded(Lcom/android/server/wm/Task;I)V 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 +HPLcom/android/server/wm/ActivityTaskSupervisor;->isCallerAllowedToLaunchOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z 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;->lambda$activityIdleInternal$2()V +HPLcom/android/server/wm/ActivityTaskSupervisor;->onProcessActivityStateChanged(Lcom/android/server/wm/WindowProcessController;Z)V 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;->reportActivityLaunched(ZLcom/android/server/wm/ActivityRecord;JI)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; @@ -10985,9 +11950,13 @@ HPLcom/android/server/wm/ActivityTaskSupervisor;->scheduleTopResumedStateLossTim 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 +HPLcom/android/server/wm/ActivityTaskSupervisor;->startActivityFromRecents(IIILcom/android/server/wm/SafeActivityOptions;)I +HPLcom/android/server/wm/ActivityTaskSupervisor;->startSpecificActivity(Lcom/android/server/wm/ActivityRecord;ZZ)V HSPLcom/android/server/wm/ActivityTaskSupervisor;->updateTopResumedActivityIfNeeded(Ljava/lang/String;)V HSPLcom/android/server/wm/AnimatingActivityRegistry;-><init>()V +HPLcom/android/server/wm/AnimatingActivityRegistry;->endDeferringFinished()V HPLcom/android/server/wm/AnrController;->onFocusChanged(Lcom/android/server/wm/WindowState;)V +HPLcom/android/server/wm/AppSnapshotLoader;->loadTask(IIZ)Landroid/window/TaskSnapshot; HPLcom/android/server/wm/AppTaskImpl;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo; HSPLcom/android/server/wm/AppTransition$$ExternalSyntheticLambda2;-><init>()V HSPLcom/android/server/wm/AppTransition;->isReady()Z @@ -11001,22 +11970,35 @@ HSPLcom/android/server/wm/AppWarnings$WriteConfigTask;-><init>(Lcom/android/serv 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;->readConfigFromFileAmsThread()V HPLcom/android/server/wm/AppWarnings;->showDeprecatedAbiDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V HPLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup$$ExternalSyntheticLambda0;->onTransactionCommitted()V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup$$ExternalSyntheticLambda2;-><init>(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;)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$1CommitCallback;->onCommitted(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/os/Handler;Lcom/android/server/wm/WindowManagerService$H;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator; +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$maddToSync(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Lcom/android/server/wm/WindowContainer;)V +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->-$$Nest$msetReady(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)Z 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 +HPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->isIgnoring(Lcom/android/server/wm/WindowContainer;)Z +HSPLcom/android/server/wm/BLASTSyncEngine$SyncGroup;->lambda$finishNow$1(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup$1CommitCallback;)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$SyncGroup;->tryFinish()Z +HSPLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmHandler(Lcom/android/server/wm/BLASTSyncEngine;)Landroid/os/Handler; +HSPLcom/android/server/wm/BLASTSyncEngine;->-$$Nest$fgetmWm(Lcom/android/server/wm/BLASTSyncEngine;)Lcom/android/server/wm/WindowManagerService; 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;->getSyncGroup(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup; +HSPLcom/android/server/wm/BLASTSyncEngine;->getSyncSet(I)Lcom/android/server/wm/BLASTSyncEngine$SyncGroup; +HSPLcom/android/server/wm/BLASTSyncEngine;->hasActiveSync()Z HSPLcom/android/server/wm/BLASTSyncEngine;->onSurfacePlacement()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; 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;->scheduleTimeout(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;J)V HSPLcom/android/server/wm/BLASTSyncEngine;->setReady(IZ)Z +HPLcom/android/server/wm/BLASTSyncEngine;->setSyncMethod(II)V HSPLcom/android/server/wm/BLASTSyncEngine;->startSyncSet(Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;JZ)V +HPLcom/android/server/wm/BLASTSyncEngine;->startSyncSet(Lcom/android/server/wm/BLASTSyncEngine$TransactionReadyListener;JLjava/lang/String;Z)I 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 @@ -11030,23 +12012,21 @@ HSPLcom/android/server/wm/BackNavigationController;->checkAnimationReady(Lcom/an 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;->onFocusChanged(Lcom/android/server/wm/WindowState;)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 +HPLcom/android/server/wm/BackgroundActivityStartController;->isHomeApp(ILjava/lang/String;)Z 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;]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; +HPLcom/android/server/wm/BackgroundLaunchProcessController;->isBoundByForegroundUid()Z+]Landroid/util/IntArray;Landroid/util/IntArray;]Ljava/util/function/IntPredicate;Lcom/android/server/wm/WindowProcessController$$ExternalSyntheticLambda2; HSPLcom/android/server/wm/BackgroundLaunchProcessController;->removeAllowBackgroundStartPrivileges(Landroid/os/Binder;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HPLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getDirectory(I)Ljava/io/File; +HPLcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;->getHighResolutionBitmapFile(II)Ljava/io/File; HSPLcom/android/server/wm/ClientLifecycleManager;-><init>()V -HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V +HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V+]Landroid/app/servertransaction/ClientTransaction;Landroid/app/servertransaction/ClientTransaction; 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 HSPLcom/android/server/wm/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo; @@ -11056,10 +12036,10 @@ HSPLcom/android/server/wm/CompatModePackages;->getPackageFlags(Ljava/lang/String HSPLcom/android/server/wm/ConfigurationContainer;-><init>()V 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 +HPLcom/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;->getRequestedOverrideBounds()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;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration; HPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration; @@ -11076,13 +12056,14 @@ HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndef HSPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HPLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; HPLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z -HSPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/ConfigurationContainerListener;megamorphic_types]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/ConfigurationContainerListener;Lcom/android/server/wm/WindowContextListenerController$WindowContextListenerImpl;,Lcom/android/server/wm/DisplayContent$2;,Lcom/android/server/wm/WindowProcessController;,Lcom/android/server/wm/WindowContainer$2;]Lcom/android/server/wm/ConfigurationContainer;megamorphic_types]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; 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;->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;->unregisterConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V HSPLcom/android/server/wm/ConfigurationContainer;->updateRequestedOverrideConfiguration(Landroid/content/res/Configuration;)V HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;-><clinit>()V HSPLcom/android/server/wm/DesktopModeLaunchParamsModifier;->isDesktopModeSupported()Z @@ -11090,7 +12071,7 @@ HPLcom/android/server/wm/DeviceStateController;->shouldReverseRotationDirectionA HSPLcom/android/server/wm/Dimmer;->getDimBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/Dimmer;->resetDimStates()V 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$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/DisplayContent;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; HSPLcom/android/server/wm/DisplayArea$Tokens$$ExternalSyntheticLambda1;->test(Ljava/lang/Object;)Z 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; @@ -11103,16 +12084,18 @@ HSPLcom/android/server/wm/DisplayArea;->asDisplayArea()Lcom/android/server/wm/Di HSPLcom/android/server/wm/DisplayArea;->fillsParent()Z 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;->findPositionForChildDisplayArea(ILcom/android/server/wm/DisplayArea;)I HPLcom/android/server/wm/DisplayArea;->forAllLeafTasks(Ljava/util/function/Predicate;)Z 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; +HPLcom/android/server/wm/DisplayArea;->forAllTaskDisplayAreas(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea$Tokens;,Lcom/android/server/wm/DisplayArea;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +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/DisplayArea;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/DisplayArea$Dimmable;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +HPLcom/android/server/wm/DisplayArea;->getActivity(Ljava/util/function/Predicate;ZLcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord; 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]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayArea;megamorphic_types +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;->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; +HPLcom/android/server/wm/DisplayArea;->getStableRect(Landroid/graphics/Rect;)V HSPLcom/android/server/wm/DisplayArea;->getSurfaceControl()Landroid/view/SurfaceControl; HSPLcom/android/server/wm/DisplayArea;->getSyncTransaction()Landroid/view/SurfaceControl$Transaction; HSPLcom/android/server/wm/DisplayArea;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task; @@ -11122,7 +12105,6 @@ HSPLcom/android/server/wm/DisplayArea;->onChildPositionChanged(Lcom/android/serv HSPLcom/android/server/wm/DisplayArea;->onConfigurationChanged(Landroid/content/res/Configuration;)V 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;->toString()Ljava/lang/String; HSPLcom/android/server/wm/DisplayAreaOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V @@ -11137,7 +12119,7 @@ HPLcom/android/server/wm/DisplayContent$FixedRotationTransitionListener;->onAppT 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;->getOrientation(I)I 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$ImeContainer;->updateAboveInsetsState(Landroid/view/InsetsState;Landroid/util/SparseArray;Landroid/util/ArraySet;)V @@ -11149,14 +12131,16 @@ 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 -HSPLcom/android/server/wm/DisplayContent;->assignRelativeLayerForIme(Landroid/view/SurfaceControl$Transaction;Z)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;,Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$ImeContainer;]Lcom/android/server/wm/DisplayContent$ImeContainer;Lcom/android/server/wm/DisplayContent$ImeContainer;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/DisplayContent;->assignRelativeLayerForIme(Landroid/view/SurfaceControl$Transaction;Z)V HPLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V +HPLcom/android/server/wm/DisplayContent;->attachImeScreenshotOnTargetIfNeeded()V HSPLcom/android/server/wm/DisplayContent;->beginHoldScreenUpdate()V HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Landroid/view/DisplayCutout; HSPLcom/android/server/wm/DisplayContent;->calculateDisplayShapeForRotation(I)Landroid/view/DisplayShape; HSPLcom/android/server/wm/DisplayContent;->calculatePrivacyIndicatorBoundsForRotation(I)Landroid/view/PrivacyIndicatorBounds; HSPLcom/android/server/wm/DisplayContent;->calculateRoundedCornersForRotation(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;->canShowTasksInHostDeviceRecents()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 @@ -11169,7 +12153,7 @@ 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 +HPLcom/android/server/wm/DisplayContent;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord; 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;->getDisplayId()I @@ -11186,7 +12170,7 @@ HSPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/ HSPLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy; HSPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController; HSPLcom/android/server/wm/DisplayContent;->getKeepClearAreas(Ljava/util/Set;Ljava/util/Set;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/DisplayContent;]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;->getOrientation()I+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; HSPLcom/android/server/wm/DisplayContent;->getOrientationRequestingTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea; HPLcom/android/server/wm/DisplayContent;->getRootTask(I)Lcom/android/server/wm/Task; HSPLcom/android/server/wm/DisplayContent;->getRootTask(II)Lcom/android/server/wm/Task; @@ -11197,12 +12181,13 @@ HPLcom/android/server/wm/DisplayContent;->getStableRect(Landroid/graphics/Rect;) 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; +HPLcom/android/server/wm/DisplayContent;->handleTopActivityLaunchingInDifferentOrientation(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Z)Z 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;->isImeControlledByApp()Z+]Lcom/android/server/wm/InputTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow; +HSPLcom/android/server/wm/DisplayContent;->isInTouchMode()Z 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 @@ -11216,6 +12201,8 @@ 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;->isVisibleRequested()Z +HSPLcom/android/server/wm/DisplayContent;->lambda$getRootTask$14(IILcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/Task; +HSPLcom/android/server/wm/DisplayContent;->lambda$getRootTaskCount$16([ILcom/android/server/wm/Task;)V 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; 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; @@ -11223,23 +12210,33 @@ HSPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/W 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;]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; +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; +HPLcom/android/server/wm/DisplayContent;->lambda$onImeInsetsClientVisibilityUpdate$28([ZLcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/DisplayContent;->lambda$updateImeControlTarget$29(Landroid/os/IBinder;)V 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; +HSPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder; HPLcom/android/server/wm/DisplayContent;->needsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;Z)Z+]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 +HPLcom/android/server/wm/DisplayContent;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z 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 HPLcom/android/server/wm/DisplayContent;->onImeInsetsClientVisibilityUpdate()Z +HPLcom/android/server/wm/DisplayContent;->onRunningActivityChanged()V +HPLcom/android/server/wm/DisplayContent;->onWindowAnimationFinished(Lcom/android/server/wm/WindowContainer;I)V 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; +HPLcom/android/server/wm/DisplayContent;->prepareAppTransition(II)V 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; 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; +HSPLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V +HPLcom/android/server/wm/DisplayContent;->refreshImeSecureFlag(Landroid/view/SurfaceControl$Transaction;)Z +HPLcom/android/server/wm/DisplayContent;->removeImeSurfaceByTarget(Lcom/android/server/wm/WindowContainer;)V +HPLcom/android/server/wm/DisplayContent;->removeWindowToken(Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowToken; 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; @@ -11263,6 +12260,7 @@ HPLcom/android/server/wm/DisplayContent;->updateImeInputAndControlTarget(Lcom/an 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+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/DisplayContent;->updateOrientation(Lcom/android/server/wm/WindowContainer;Z)Landroid/content/res/Configuration; 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;->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; @@ -11275,26 +12273,36 @@ HPLcom/android/server/wm/DisplayPolicy$$ExternalSyntheticLambda13;->test(Ljava/l 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$$ExternalSyntheticLambda3;->run()V +HPLcom/android/server/wm/DisplayPolicy$2;->lambda$onAppTransitionStartingLocked$3(JJ)V +HPLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V +HPLcom/android/server/wm/DisplayPolicy$2;->onAppTransitionPendingLocked()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 +HPLcom/android/server/wm/DisplayPolicy;->-$$Nest$fgetmHandler(Lcom/android/server/wm/DisplayPolicy;)Landroid/os/Handler; +HPLcom/android/server/wm/DisplayPolicy;->addStatusBarAppearanceRegionsForDimmingWindow(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z 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; +HSPLcom/android/server/wm/DisplayPolicy;->areSystemBarsForcedConsumedLw()Z 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;->clearNavBarOpaqueFlag(I)I 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;->finishScreenTurningOn()Z 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;->getDisplayId()I+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/DisplayPolicy;->getDockMode()I 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; @@ -11302,16 +12310,22 @@ HPLcom/android/server/wm/DisplayPolicy;->getRefreshRatePolicy()Lcom/android/serv HPLcom/android/server/wm/DisplayPolicy;->getStatusBar()Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal; HPLcom/android/server/wm/DisplayPolicy;->getTopFullscreenOpaqueWindow()Lcom/android/server/wm/WindowState; +HSPLcom/android/server/wm/DisplayPolicy;->hasNavigationBar()Z +HPLcom/android/server/wm/DisplayPolicy;->hasSideGestures()Z 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;->isCarDockEnablesAccelerometer()Z +HPLcom/android/server/wm/DisplayPolicy;->isDeskDockEnablesAccelerometer()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;->isHdmiPlugged()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 HPLcom/android/server/wm/DisplayPolicy;->isLightBarAllowed(Lcom/android/server/wm/WindowState;I)Z 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;->isPersistentVrModeEnabled()Z HPLcom/android/server/wm/DisplayPolicy;->isRemoteInsetsControllerControllingSystemBars()Z HSPLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z HPLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z @@ -11323,15 +12337,17 @@ HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemBarsLw$8(Lcom/androi 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;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)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;->onUserActivityEventTouch()V +HPLcom/android/server/wm/DisplayPolicy;->removeRelaunchingApp(Lcom/android/server/wm/ActivityRecord;)V 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;->selectAnimation(Lcom/android/server/wm/WindowState;I)I 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;->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; 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;]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; +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; 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/DisplayPolicy;->validateAddingWindowLw(Landroid/view/WindowManager$LayoutParams;II)I HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V @@ -11340,30 +12356,41 @@ HSPLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z HSPLcom/android/server/wm/DisplayRotation;->isRotatingSeamlessly()Z 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;->updateOrientation(IZ)Z 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/DisplayRotationCoordinator;->isSecondaryInternalDisplay(Lcom/android/server/wm/DisplayContent;)Z -HPLcom/android/server/wm/DisplayRotationReversionController;->isRotationReversionEnabled()Z +HPLcom/android/server/wm/DisplayRotationReversionController;->isRotationReversionEnabled()Z+]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; 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 +HPLcom/android/server/wm/DisplayWindowPolicyControllerHelper;->onRunningActivityChanged()V HSPLcom/android/server/wm/DisplayWindowSettings;->getImePolicyLocked(Lcom/android/server/wm/DisplayContent;)I HSPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z 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; +HPLcom/android/server/wm/EmbeddedWindowController;->onWindowRemoved(Lcom/android/server/wm/WindowState;)V +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;]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;->writeWmAddToStopping(IILjava/lang/String;Ljava/lang/String;)V +HPLcom/android/server/wm/EventLogTags;->writeWmFocusedRootTask(IIIILjava/lang/String;)V +HPLcom/android/server/wm/EventLogTags;->writeWmPauseActivity(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V +HPLcom/android/server/wm/EventLogTags;->writeWmResumeActivity(IIILjava/lang/String;)V HPLcom/android/server/wm/EventLogTags;->writeWmSetKeyguardShown(IIIIILjava/lang/String;)V +HPLcom/android/server/wm/EventLogTags;->writeWmSetResumedActivity(ILjava/lang/String;Ljava/lang/String;)V HSPLcom/android/server/wm/EventLogTags;->writeWmTaskMoved(IIIII)V +HPLcom/android/server/wm/EventLogTags;->writeWmTaskToFront(III)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; +HPLcom/android/server/wm/ImeInsetsSourceProvider;->abortShowImePostLayout()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;->isImeTargetWindowClosing(Lcom/android/server/wm/WindowState;)Z 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;->setClientVisible(Z)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 @@ -11373,6 +12400,7 @@ HPLcom/android/server/wm/InputConfigAdapter;->applyMapping(ILjava/util/List;)I+] HPLcom/android/server/wm/InputConfigAdapter;->getInputConfigFromWindowParams(III)I HPLcom/android/server/wm/InputConfigAdapter;->getMask()I HPLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V +HPLcom/android/server/wm/InputConsumerImpl;->show(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V HSPLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I 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 @@ -11393,11 +12421,14 @@ HSPLcom/android/server/wm/InputMonitor;->-$$Nest$mupdateInputFocusRequest(Lcom/a HSPLcom/android/server/wm/InputMonitor;->-$$Nest$smgetWeak(Ljava/lang/ref/WeakReference;)Ljava/lang/Object; 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; +HPLcom/android/server/wm/InputMonitor;->pauseDispatchingLw(Lcom/android/server/wm/WindowToken;)V HPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/WindowState;)V+]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; +HPLcom/android/server/wm/InputMonitor;->resumeDispatchingLw(Lcom/android/server/wm/WindowToken;)V HSPLcom/android/server/wm/InputMonitor;->scheduleUpdateInputWindows()V+]Landroid/os/Handler;Landroid/os/Handler; +HPLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/ActivityRecord;)V 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 @@ -11406,11 +12437,13 @@ HSPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V+]Lcom/android/ 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 +HPLcom/android/server/wm/InputWindowHandleWrapper;->forceChange()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 HPLcom/android/server/wm/InputWindowHandleWrapper;->isPaused()Z +HSPLcom/android/server/wm/InputWindowHandleWrapper;->isTrustedOverlay()Z HPLcom/android/server/wm/InputWindowHandleWrapper;->setDispatchingTimeoutMillis(J)V HPLcom/android/server/wm/InputWindowHandleWrapper;->setDisplayId(I)V HSPLcom/android/server/wm/InputWindowHandleWrapper;->setFocusable(Z)V+]Lcom/android/server/wm/InputWindowHandleWrapper;Lcom/android/server/wm/InputWindowHandleWrapper;]Landroid/view/InputWindowHandle;Landroid/view/InputWindowHandle; @@ -11431,14 +12464,16 @@ HSPLcom/android/server/wm/InputWindowHandleWrapper;->setToken(Landroid/os/IBinde HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchOcclusionMode(I)V HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegion(Landroid/graphics/Region;)V HPLcom/android/server/wm/InputWindowHandleWrapper;->setTouchableRegionCrop(Landroid/view/SurfaceControl;)V+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Landroid/view/InputWindowHandle;Landroid/view/InputWindowHandle; +HSPLcom/android/server/wm/InputWindowHandleWrapper;->setTrustedOverlay(Z)V HPLcom/android/server/wm/InputWindowHandleWrapper;->setWindowToken(Landroid/view/IWindow;)V +HPLcom/android/server/wm/InsetsControlTarget;->asWindowOrNull(Lcom/android/server/wm/InsetsControlTarget;)Lcom/android/server/wm/WindowState; 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; 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$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;+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]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;+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; 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 @@ -11447,27 +12482,31 @@ HSPLcom/android/server/wm/InsetsPolicy;->enforceInsetsPolicyForTarget(Landroid/v HPLcom/android/server/wm/InsetsPolicy;->forceShowingNavigationBars(Lcom/android/server/wm/WindowState;)Z 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;->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; 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+]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;->-$$Nest$fgetmCapturedLeash(Lcom/android/server/wm/InsetsSourceProvider$ControlAdapter;)Landroid/view/SurfaceControl; 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 -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;->-$$Nest$fgetmAdapter(Lcom/android/server/wm/InsetsSourceProvider;)Lcom/android/server/wm/InsetsSourceProvider$ControlAdapter; +HPLcom/android/server/wm/InsetsSourceProvider;->-$$Nest$fgetmCropToProvidingInsets(Lcom/android/server/wm/InsetsSourceProvider;)Z +HPLcom/android/server/wm/InsetsSourceProvider;->getControl(Lcom/android/server/wm/InsetsControlTarget;)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;]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/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; +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; 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;->setWindowContainer(Lcom/android/server/wm/WindowContainer;Lcom/android/internal/util/function/TriFunction;Landroid/util/SparseArray;)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/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/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -11476,10 +12515,11 @@ HPLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V+]Landroid/vi 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;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/ImeInsetsSourceProvider;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLcom/android/server/wm/InsetsStateController;->getOrCreateSourceProvider(II)Lcom/android/server/wm/InsetsSourceProvider;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider;,Lcom/android/server/wm/ImeInsetsSourceProvider; HSPLcom/android/server/wm/InsetsStateController;->getRawInsetsState()Landroid/view/InsetsState; +HPLcom/android/server/wm/InsetsStateController;->lambda$addToControlMaps$2(Lcom/android/server/wm/InsetsControlTarget;)Ljava/util/ArrayList; 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; +HPLcom/android/server/wm/InsetsStateController;->lambda$notifyPendingInsetsControlChanged$3()V+]Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/InsetsPolicy$ControlTarget;,Lcom/android/server/wm/InsetsStateController$1;,Lcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;]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; @@ -11501,21 +12541,32 @@ HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->getRootTaskF 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/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; +HPLcom/android/server/wm/KeyguardController;->checkKeyguardVisibility(Lcom/android/server/wm/ActivityRecord;)Z HSPLcom/android/server/wm/KeyguardController;->getDisplayState(I)Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;+]Landroid/util/SparseArray;Landroid/util/SparseArray; 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;->isKeyguardOrAodShowing(I)Z +HPLcom/android/server/wm/KeyguardController;->isKeyguardUnoccludedOrAodShowing(I)Z HPLcom/android/server/wm/KeyguardController;->keyguardGoingAway(II)V HPLcom/android/server/wm/KeyguardController;->setKeyguardShown(IZZ)V +HPLcom/android/server/wm/KeyguardController;->setWakeTransitionReady()V HPLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken()V +HPLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken(I)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/LaunchObserverRegistryImpl;-><init>(Landroid/os/Looper;)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunchFinished(JLandroid/content/ComponentName;J)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunched(JLandroid/content/ComponentName;I)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnIntentStarted(Landroid/content/Intent;J)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished(JLandroid/content/ComponentName;J)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunched(JLandroid/content/ComponentName;I)V +HPLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;J)V HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;-><init>()V +HPLcom/android/server/wm/LaunchParamsController$LaunchParams;->isEmpty()Z 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 +HPLcom/android/server/wm/LaunchParamsController;->layoutTask(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z HSPLcom/android/server/wm/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/wm/ActivityTaskSupervisor;)V HSPLcom/android/server/wm/LaunchParamsController;->registerModifier(Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;)V HSPLcom/android/server/wm/LaunchParamsPersister$$ExternalSyntheticLambda3;-><init>()V @@ -11523,44 +12574,48 @@ HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/ HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityTaskSupervisor;Ljava/util/function/IntFunction;)V 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;->centerBounds(Lcom/android/server/wm/TaskDisplayArea;IILandroid/graphics/Rect;)V HPLcom/android/server/wm/LaunchParamsUtil;->getDefaultFreeformSize(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo$WindowLayout;ILandroid/graphics/Rect;)Landroid/util/Size; +HPLcom/android/server/wm/Letterbox$LetterboxSurface;->needsApplySurfaceChanges()Z+]Ljava/util/function/Supplier;Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda18;,Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda13;,Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda12;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/Color;Landroid/graphics/Color; 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 +HSPLcom/android/server/wm/LetterboxConfiguration;->isCameraCompatTreatmentEnabled()Z HPLcom/android/server/wm/LetterboxConfiguration;->isCompatFakeFocusEnabled()Z HPLcom/android/server/wm/LetterboxConfiguration;->isUserAppAspectRatioFullscreenEnabled()Z 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$$ExternalSyntheticLambda9;->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;+]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;->findOpaqueNotFinishingActivityBelow()Ljava/util/Optional; +HPLcom/android/server/wm/LetterboxUiController;->getCropBoundsIfNeeded(Lcom/android/server/wm/WindowState;)Landroid/graphics/Rect;+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; 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;->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;->getRoundedCornersRadius(Lcom/android/server/wm/WindowState;)I+]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; 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;->isHorizontalReachabilityEnabled(Landroid/content/res/Configuration;)Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration; 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+]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;->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;->isVerticalReachabilityEnabled(Landroid/content/res/Configuration;)Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration; +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/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/Boolean;Ljava/lang/Boolean;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; 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;->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+]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;->shouldEnableUserAspectRatioSettings()Z+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent; +HPLcom/android/server/wm/LetterboxUiController;->shouldEnableWithOptInOverrideAndOptOutProperty(Ljava/util/function/BooleanSupplier;ZLjava/lang/Boolean;)Z+]Ljava/util/function/BooleanSupplier;Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda8;,Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda1;,Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda0;,Lcom/android/server/wm/LetterboxUiController$$ExternalSyntheticLambda6;]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 @@ -11570,17 +12625,23 @@ HPLcom/android/server/wm/LetterboxUiController;->updateLetterboxSurface(Lcom/and HPLcom/android/server/wm/LetterboxUiController;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/LetterboxUiController;->updateRoundedCornersIfNeeded(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Lcom/android/server/wm/LetterboxUiController;Lcom/android/server/wm/LetterboxUiController; HPLcom/android/server/wm/LetterboxUiController;->updateWallpaperForLetterbox(Lcom/android/server/wm/WindowState;)V+]Lcom/android/server/wm/LetterboxConfiguration;Lcom/android/server/wm/LetterboxConfiguration; +HPLcom/android/server/wm/LocalAnimationAdapter$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V +HPLcom/android/server/wm/LocalAnimationAdapter;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Lcom/android/server/wm/SurfaceAnimationRunner;)V +HPLcom/android/server/wm/LocalAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>()V HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>(Lcom/android/server/wm/LockTaskController$LockTaskToken-IA;)V HSPLcom/android/server/wm/LockTaskController;-><clinit>()V HSPLcom/android/server/wm/LockTaskController;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskSupervisor;Landroid/os/Handler;Lcom/android/server/wm/TaskChangeNotificationController;)V 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; +HPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/wm/WindowContainer;ILandroid/content/Intent;I)Z +HPLcom/android/server/wm/LockTaskController;->isPackageAllowlisted(ILjava/lang/String;)Z 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; +HPLcom/android/server/wm/NavBarFadeAnimationController;-><init>(Lcom/android/server/wm/DisplayContent;)V HSPLcom/android/server/wm/PackageConfigPersister;-><clinit>()V HSPLcom/android/server/wm/PackageConfigPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityTaskManagerService;)V HPLcom/android/server/wm/PackageConfigPersister;->findPackageConfiguration(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$PackageConfig; @@ -11593,8 +12654,11 @@ HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V HSPLcom/android/server/wm/PersisterQueue;-><clinit>()V HSPLcom/android/server/wm/PersisterQueue;-><init>()V HSPLcom/android/server/wm/PersisterQueue;-><init>(JJ)V +HPLcom/android/server/wm/PersisterQueue;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V HSPLcom/android/server/wm/PersisterQueue;->addListener(Lcom/android/server/wm/PersisterQueue$Listener;)V +HPLcom/android/server/wm/PersisterQueue;->findLastItem(Ljava/util/function/Predicate;Ljava/lang/Class;)Lcom/android/server/wm/PersisterQueue$WriteQueueItem; HSPLcom/android/server/wm/PersisterQueue;->processNextItem()V +HSPLcom/android/server/wm/PinnedTaskController;->notifyMovementBoundsChanged(Z)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/PossibleDisplayInfoMapper;->removePossibleDisplayInfos(I)V @@ -11605,41 +12669,51 @@ 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 HPLcom/android/server/wm/RecentTasks;->createRecentTaskInfo(Lcom/android/server/wm/Task;ZZ)Landroid/app/ActivityManager$RecentTaskInfo; +HPLcom/android/server/wm/RecentTasks;->findRemoveIndexForTask(Lcom/android/server/wm/Task;Z)I 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;->getPersistableTaskIds(Landroid/util/ArraySet;)V 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; +HPLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/Task;IIZ)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Landroid/content/Intent;Landroid/content/Intent; +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;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; HSPLcom/android/server/wm/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V HPLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V +HPLcom/android/server/wm/RecentTasks;->onActivityIdle(Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/RecentTasks;->registerCallback(Lcom/android/server/wm/RecentTasks$Callbacks;)V +HPLcom/android/server/wm/RecentTasks;->shouldPersistTaskLocked(Lcom/android/server/wm/Task;)Z 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;->trimInactiveRecentTasks()V HPLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I +HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;-><init>()V 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+]Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote;Lcom/android/server/wm/RefreshRatePolicy$FrameRateVote; +HSPLcom/android/server/wm/RefreshRatePolicy$FrameRateVote;->update(FI)Z HPLcom/android/server/wm/RefreshRatePolicy$PackageRefreshRate;->get(Ljava/lang/String;)Landroid/view/SurfaceControl$RefreshRateRange;+]Ljava/util/HashMap;Ljava/util/HashMap; HPLcom/android/server/wm/RefreshRatePolicy;->calculatePriority(Lcom/android/server/wm/WindowState;)I 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/RootWindowContainer$$ExternalSyntheticLambda11;->accept(Ljava/lang/Object;)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$$ExternalSyntheticLambda36;-><init>(Lcom/android/server/policy/PermissionPolicyInternal;)V +HPLcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda36;->test(Ljava/lang/Object;)Z 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 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; HPLcom/android/server/wm/RootWindowContainer$RankTaskLayersRunnable;->run()V +HPLcom/android/server/wm/RootWindowContainer$SleepToken;-><init>(Ljava/lang/String;IZ)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; @@ -11654,37 +12728,48 @@ HSPLcom/android/server/wm/RootWindowContainer;->ensureActivitiesVisible(Lcom/and 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 +HPLcom/android/server/wm/RootWindowContainer;->findTask(ILjava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/ActivityRecord; +HSPLcom/android/server/wm/RootWindowContainer;->forAllDisplayPolicies(Ljava/util/function/Consumer;)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; +HPLcom/android/server/wm/RootWindowContainer;->getOrCreateRootTask(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;I)Lcom/android/server/wm/Task; 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(I)Landroid/app/ActivityTaskManager$RootTaskInfo; +HSPLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(II)Landroid/app/ActivityTaskManager$RootTaskInfo; HPLcom/android/server/wm/RootWindowContainer;->getRootTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityTaskManager$RootTaskInfo; 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; 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; +HPLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken; HSPLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent; 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+]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; +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; +HPLcom/android/server/wm/RootWindowContainer;->lambda$getRootTaskInfo$21(Lcom/android/server/wm/Task;[Z[ILcom/android/server/wm/Task;)Z HPLcom/android/server/wm/RootWindowContainer;->lambda$getRootTaskInfo$22([ILandroid/app/ActivityTaskManager$RootTaskInfo;Lcom/android/server/wm/Task;)V +HPLcom/android/server/wm/RootWindowContainer;->lambda$hasVisibleWindowAboveButDoesNotOwnNotificationShade$32(I[ZLcom/android/server/wm/WindowState;)Z HSPLcom/android/server/wm/RootWindowContainer;->lambda$performSurfacePlacementNoTrace$7(Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/RootWindowContainer;->lambda$rankTaskLayers$27(Lcom/android/server/wm/ActivityRecord;)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;->lambda$updateDisplayImePolicyCache$25(Landroid/util/ArrayMap;Lcom/android/server/wm/DisplayContent;)V +HPLcom/android/server/wm/RootWindowContainer;->makeSleepTokenKey(Ljava/lang/String;I)I 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;->putTasksToSleep(ZZ)Z 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 +HPLcom/android/server/wm/RootWindowContainer;->startPowerModeLaunchIfNeeded(ZLcom/android/server/wm/ActivityRecord;)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;]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 @@ -11696,10 +12781,13 @@ HSPLcom/android/server/wm/RunningTasks;->accept(Ljava/lang/Object;)V+]Lcom/andro HPLcom/android/server/wm/RunningTasks;->createRunningTaskInfo(Lcom/android/server/wm/Task;J)Landroid/app/ActivityManager$RunningTaskInfo; 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/RunningTasks;->processTaskInWindowContainer(Lcom/android/server/wm/WindowContainer;)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;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityTaskSupervisor;)Landroid/app/ActivityOptions; 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$$ExternalSyntheticLambda5;-><init>(FFFF)V 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 @@ -11707,39 +12795,57 @@ HPLcom/android/server/wm/Session;->lambda$setWallpaperZoomOut$1(FLcom/android/se 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 +HPLcom/android/server/wm/Session;->performHapticFeedback(IZ)Z +HPLcom/android/server/wm/Session;->performHapticFeedbackAsync(IZ)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;->updatePointerIcon(Landroid/view/IWindow;)V HPLcom/android/server/wm/Session;->updateRequestedVisibleTypes(Landroid/view/IWindow;I)V HSPLcom/android/server/wm/Session;->windowAddedLocked()V +HPLcom/android/server/wm/Session;->windowRemovedLocked()V HPLcom/android/server/wm/SnapshotCache;->getSnapshot(Ljava/lang/Integer;)Landroid/window/TaskSnapshot; HPLcom/android/server/wm/SnapshotController;->onTransactionReady(ILjava/util/ArrayList;)V HPLcom/android/server/wm/SnapshotController;->onTransitionFinish(ILjava/util/ArrayList;)V +HPLcom/android/server/wm/SnapshotController;->setPause(Z)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 +HSPLcom/android/server/wm/SnapshotPersistQueue;->-$$Nest$fgetmLock(Lcom/android/server/wm/SnapshotPersistQueue;)Ljava/lang/Object; +HPLcom/android/server/wm/SnapshotPersistQueue;->sendToQueueLocked(Lcom/android/server/wm/SnapshotPersistQueue$WriteQueueItem;)V HPLcom/android/server/wm/SnapshotPersistQueue;->setPaused(Z)V +HPLcom/android/server/wm/SplashScreenExceptionList;->isException(Ljava/lang/String;ILjava/util/function/Supplier;)Z +HPLcom/android/server/wm/StartingSurfaceController$StartingSurface;->remove(Z)V +HPLcom/android/server/wm/StartingSurfaceController;->createTaskSnapshotSurface(Lcom/android/server/wm/ActivityRecord;Landroid/window/TaskSnapshot;)Lcom/android/server/wm/StartingSurfaceController$StartingSurface; +HPLcom/android/server/wm/SurfaceAnimationRunner$$ExternalSyntheticLambda1;->run()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$RunningAnimation;->-$$Nest$fgetmCancelled(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)Z +HPLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Ljava/lang/Runnable;)V +HPLcom/android/server/wm/SurfaceAnimationRunner;->applyTransformation(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/view/SurfaceControl$Transaction;J)V+]Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Lcom/android/server/wm/WindowAnimationSpec;,Lcom/android/server/wm/FadeAnimationController$1;,Lcom/android/server/wm/WindowState$MoveAnimationSpec; 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 +HPLcom/android/server/wm/SurfaceAnimationRunner;->startAnimations(J)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 +HPLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda1;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V +HPLcom/android/server/wm/SurfaceAnimator$$ExternalSyntheticLambda1;->run()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;->animationTypeToString(I)Ljava/lang/String; 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$0(Lcom/android/server/wm/AnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;I)V 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 @@ -11752,10 +12858,10 @@ HPLcom/android/server/wm/SurfaceFreezer;->unfreeze(Landroid/view/SurfaceControl$ 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; 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$FlingGestureDetector;->onSingleTapUp(Landroid/view/MotionEvent;)Z +HPLcom/android/server/wm/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V 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 @@ -11765,6 +12871,7 @@ HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->onConfigurationCh 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$$ExternalSyntheticLambda2;-><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 @@ -11777,40 +12884,45 @@ HSPLcom/android/server/wm/Task$Builder;->validateRootTask(Lcom/android/server/wm 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;-><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;->addChild(Lcom/android/server/wm/WindowContainer;I)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;->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; +HSPLcom/android/server/wm/Task;->computeMinUserPosition(II)I 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; +HPLcom/android/server/wm/Task;->executeAppTransition(Landroid/app/ActivityOptions;)V 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;->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/ActivityManager$RunningTaskInfo;,Landroid/app/ActivityTaskManager$RootTaskInfo;]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;]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/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;->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$$ExternalSyntheticLambda31;,Lcom/android/server/wm/RootWindowContainer$FindTaskResult;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda35;]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/Consumer;Z)V+]Ljava/util/function/Consumer;Lcom/android/server/wm/TaskSnapshotController$$ExternalSyntheticLambda1;,Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda39; 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;->getAdjustedChildPosition(Lcom/android/server/wm/WindowContainer;I)I 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; +HPLcom/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; HSPLcom/android/server/wm/Task;->getHasBeenVisible()Z +HPLcom/android/server/wm/Task;->getInactiveDuration()J HSPLcom/android/server/wm/Task;->getLaunchBounds()Landroid/graphics/Rect; HSPLcom/android/server/wm/Task;->getName()Ljava/lang/String; +HPLcom/android/server/wm/Task;->getOccludingActivityAbove(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord; 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;+]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; +HPLcom/android/server/wm/Task;->getRootActivity(Z)Lcom/android/server/wm/ActivityRecord; 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 @@ -11818,16 +12930,19 @@ HPLcom/android/server/wm/Task;->getStartingWindowInfo(Lcom/android/server/wm/Act 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;->getTopFullscreenActivity()Lcom/android/server/wm/ActivityRecord; HPLcom/android/server/wm/Task;->getTopLeafTask()Lcom/android/server/wm/Task; HPLcom/android/server/wm/Task;->getTopPausingActivity()Lcom/android/server/wm/ActivityRecord;+]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; +HPLcom/android/server/wm/Task;->goToSleepIfPossible(Z)Z+]Lcom/android/server/wm/Task;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/Task;->handlesOrientationChangeFromDescendant(I)Z 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;->isFocused()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord; -HPLcom/android/server/wm/Task;->isForceTranslucent()Z +HPLcom/android/server/wm/Task;->isFocusedRootTaskOnDisplay()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 @@ -11835,32 +12950,47 @@ HSPLcom/android/server/wm/Task;->isResizeable()Z+]Lcom/android/server/wm/Task;Lc 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;->isTopRootTaskInDisplayArea()Z +HPLcom/android/server/wm/Task;->isUidPresent(I)Z +HPLcom/android/server/wm/Task;->moveTaskToFront(Lcom/android/server/wm/Task;ZLandroid/app/ActivityOptions;Lcom/android/server/am/AppTimeTracker;ZLjava/lang/String;)V HPLcom/android/server/wm/Task;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/Task;)V +HPLcom/android/server/wm/Task;->onAppFocusChanged(Z)V +HSPLcom/android/server/wm/Task;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)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 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 +HPLcom/android/server/wm/Task;->onSnapshotChanged(Landroid/window/TaskSnapshot;)V +HSPLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)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;->removeChild(Lcom/android/server/wm/WindowContainer;Ljava/lang/String;)V 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 +HPLcom/android/server/wm/Task;->returnsToHomeRootTask()Z 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;->setDeferTaskAppear(Z)V HSPLcom/android/server/wm/Task;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V +HPLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V HSPLcom/android/server/wm/Task;->setLockTaskAuth(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; +HPLcom/android/server/wm/Task;->setTaskDescriptionFromActivityAboveRoot(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z 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; 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 +HSPLcom/android/server/wm/Task;->taskAppearedReady()Z +HPLcom/android/server/wm/Task;->toFullString()Ljava/lang/String; 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; +HPLcom/android/server/wm/Task;->topRunningNonDelayedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/Task;->touchActiveTime()V +HPLcom/android/server/wm/Task;->updateOverlayInsetsState(Lcom/android/server/wm/WindowState;)V HSPLcom/android/server/wm/Task;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect; 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; @@ -11902,21 +13032,33 @@ HSPLcom/android/server/wm/TaskChangeNotificationController;-><init>(Lcom/android HSPLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V+]Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList; 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 +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$10(Landroid/app/ITaskStackListener;Landroid/os/Message;)V +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$16(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;Landroid/app/ITaskStackListener$Stub$Proxy;,Lcom/android/server/app/GameServiceProviderInstanceImpl$4;,Lcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider$BiometricTaskStackListener;,Lcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl; +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$20(Landroid/app/ITaskStackListener;Landroid/os/Message;)V +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$3(Landroid/app/ITaskStackListener;Landroid/os/Message;)V +HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V+]Landroid/app/ITaskStackListener;Landroid/app/ITaskStackListener$Stub$Proxy;,Lcom/android/server/app/GameServiceProviderInstanceImpl$4;,Lcom/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider$BiometricTaskStackListener;,Lcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl; +HPLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityRestartAttempt(Landroid/app/ActivityManager$RunningTaskInfo;ZZZ)V HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)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;->notifyTaskFocusChanged(IZ)V +HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskListUpdated()V +HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskMovedToFront(Landroid/app/TaskInfo;)V HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V HSPLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V +HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda4;-><init>()V +HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda4;->test(Ljava/lang/Object;)Z HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda5;->test(Ljava/lang/Object;)Z HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda6;->accept(Ljava/lang/Object;)V +HPLcom/android/server/wm/TaskDisplayArea$$ExternalSyntheticLambda8;-><init>(Lcom/android/server/wm/ActivityRecord;IZZ)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;->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;]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; +HPLcom/android/server/wm/TaskDisplayArea;->canCreateRemoteAnimationTarget()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; 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 @@ -11925,21 +13067,25 @@ HSPLcom/android/server/wm/TaskDisplayArea;->findPositionForRootTask(ILcom/androi 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; +HPLcom/android/server/wm/TaskDisplayArea;->getLastFocusedRootTask()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; 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;->getOrientation(I)I 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;->getRootTaskAbove(Lcom/android/server/wm/Task;)Lcom/android/server/wm/Task; 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 +HPLcom/android/server/wm/TaskDisplayArea;->isValidWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)Z 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 +HPLcom/android/server/wm/TaskDisplayArea;->pauseBackTasks(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/TaskDisplayArea;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V HPLcom/android/server/wm/TaskDisplayArea;->positionChildTaskAt(ILcom/android/server/wm/Task;Z)V 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 @@ -11953,30 +13099,31 @@ HSPLcom/android/server/wm/TaskFragment;->addChild(Lcom/android/server/wm/WindowC 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+]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;->canSpecifyOrientation()Z+]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; +HPLcom/android/server/wm/TaskFragment;->cleanUpActivityReferences(Lcom/android/server/wm/ActivityRecord;)V 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;Landroid/view/DisplayInfo;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V 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;->fillsParent()Z+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; +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/ActivityRecord$$ExternalSyntheticLambda29;,Lcom/android/server/wm/Task$$ExternalSyntheticLambda34;,Lcom/android/server/wm/RootWindowContainer$$ExternalSyntheticLambda25;]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; 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/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/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;->getDisplayId()I+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/TaskFragment;,Lcom/android/server/wm/Task; +HPLcom/android/server/wm/TaskFragment;->getOrganizedTaskFragment()Lcom/android/server/wm/TaskFragment; 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; +HSPLcom/android/server/wm/TaskFragment;->getOrientation(I)I+]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment; 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/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/TaskFragment;Lcom/android/server/wm/Task; +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; +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/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;+]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;->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/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; @@ -11984,17 +13131,19 @@ HSPLcom/android/server/wm/TaskFragment;->intersectWithInsetsIfFits(Landroid/grap 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/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; +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; HSPLcom/android/server/wm/TaskFragment;->isOrganizedTaskFragment()Z -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;->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+]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;->isTranslucentForTransition()Z 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;->lambda$topRunningActivity$4(Lcom/android/server/wm/ActivityRecord;)Z 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;->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;->onChildVisibleRequestedChanged(Lcom/android/server/wm/WindowContainer;)Z +HSPLcom/android/server/wm/TaskFragment;->prepareSurfaces()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskFragment;]Lcom/android/server/wm/Dimmer;Lcom/android/server/wm/Dimmer; +HSPLcom/android/server/wm/TaskFragment;->providesOrientation()Z 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 @@ -12004,23 +13153,29 @@ HSPLcom/android/server/wm/TaskFragment;->shouldBeVisible(Lcom/android/server/wm/ 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;->sleepIfPossible(Z)Z+]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; 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;->supportsMultiWindowInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;)Z+]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;]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; -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; +HPLcom/android/server/wm/TaskFragment;->warnForNonLeafTaskFragment(Ljava/lang/String;)V HSPLcom/android/server/wm/TaskFragmentOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowOrganizerController;)V 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/TaskLaunchParamsModifier$$ExternalSyntheticLambda0;-><init>(Lcom/android/server/wm/TaskLaunchParamsModifier;II)V +HPLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda0;->test(Ljava/lang/Object;)Z +HPLcom/android/server/wm/TaskLaunchParamsModifier$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V 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;->adjustBoundsToFitInDisplayArea(Lcom/android/server/wm/TaskDisplayArea;Landroid/content/pm/ActivityInfo$WindowLayout;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 +HPLcom/android/server/wm/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityStarter$Request;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I 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$PendingTaskEvent;->isLifecycleEvent()Z 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 @@ -12028,34 +13183,43 @@ HSPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerPendingEventsQueu 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$fgetmOrganizer(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks; 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 +HPLcom/android/server/wm/TaskOrganizerController;->addStartingWindow(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;ILandroid/window/TaskSnapshot;)Z 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;->onTaskAppeared(Landroid/window/ITaskOrganizer;Lcom/android/server/wm/Task;)V 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 HPLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V +HPLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V +HPLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)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 +HSPLcom/android/server/wm/TaskSnapshotController;->screenTurningOff(ILcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V +HSPLcom/android/server/wm/TaskSnapshotController;->snapshotForSleeping(I)V +HPLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->getTaskId(Ljava/lang/String;)I+]Ljava/lang/String;Ljava/lang/String; +HPLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V+]Ljava/io/File;Ljava/io/File;]Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;Lcom/android/server/wm/BaseAppSnapshotPersister$PersistInfoProvider;]Lcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;Lcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HPLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[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+]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$ChangeInfo;->getTransitMode(Lcom/android/server/wm/WindowContainer;)I +HPLcom/android/server/wm/Transition$ChangeInfo;->hasChanged()Z +HPLcom/android/server/wm/Transition$Targets;-><init>()V 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$Token;-><init>(Lcom/android/server/wm/Transition;)V +HPLcom/android/server/wm/Transition;->-$$Nest$smgetDisplayId(Lcom/android/server/wm/WindowContainer;)I 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 @@ -12063,37 +13227,46 @@ 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;->calcParallelCollectType(Landroid/window/WindowContainerTransaction;)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;->collect(Lcom/android/server/wm/WindowContainer;)V 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;->commitVisibleActivities(Landroid/view/SurfaceControl$Transaction;)V HPLcom/android/server/wm/Transition;->commitVisibleWallpapers()V +HPLcom/android/server/wm/Transition;->containsChangeFor(Lcom/android/server/wm/WindowContainer;Ljava/util/ArrayList;)Z 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;->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;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService;]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/DisplayContent;Lcom/android/server/wm/DisplayContent;]Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor;]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/SnapshotController;Lcom/android/server/wm/SnapshotController;]Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WallpaperController;]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/ActivityRecord;]Lcom/android/server/wm/TaskDisplayArea;Lcom/android/server/wm/TaskDisplayArea;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController; 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;->getOrigParentSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl; +HPLcom/android/server/wm/Transition;->getTaskRotationAnimation(Lcom/android/server/wm/Task;)I +HPLcom/android/server/wm/Transition;->getToken()Landroid/os/IBinder; 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;->isReadyGroup(Lcom/android/server/wm/WindowContainer;)Z 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;->isTranslucent(Lcom/android/server/wm/WindowContainer;)Z 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;->onTransactionReady(ILandroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Landroid/os/Handler;Landroid/os/Handler;]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/SnapshotController;Lcom/android/server/wm/SnapshotController;]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;]Ljava/util/List;Ljava/util/ArrayList;]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; 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;->setEndFixedRotationIfNeeded(Landroid/window/TransitionInfo$Change;Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V HPLcom/android/server/wm/Transition;->setReady(Lcom/android/server/wm/WindowContainer;Z)V +HPLcom/android/server/wm/Transition;->setTransientLaunch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)V +HPLcom/android/server/wm/Transition;->shouldApplyOnDisplayThread()Z HPLcom/android/server/wm/Transition;->shouldWallpaperBeVisible()Z HPLcom/android/server/wm/Transition;->start()V HPLcom/android/server/wm/Transition;->startCollecting(J)V @@ -12108,17 +13281,21 @@ 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;->reportRunning(Landroid/app/IApplicationThread;)Z HPLcom/android/server/wm/TransitionController$RemotePlayer;->update(Lcom/android/server/wm/WindowProcessController;ZZ)V HSPLcom/android/server/wm/TransitionController$TransitionMetricsReporter;-><init>()V +HPLcom/android/server/wm/TransitionController$TransitionMetricsReporter;->reportAnimationStart(Landroid/os/IBinder;J)V HSPLcom/android/server/wm/TransitionController;-><clinit>()V HSPLcom/android/server/wm/TransitionController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V 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; 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;->createAndStartCollecting(I)Lcom/android/server/wm/Transition; +HPLcom/android/server/wm/TransitionController;->dispatchLegacyAppTransitionFinished(Lcom/android/server/wm/ActivityRecord;)V 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 +HPLcom/android/server/wm/TransitionController;->getCollectingTransitionType()I 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; @@ -12128,28 +13305,36 @@ HPLcom/android/server/wm/TransitionController;->isCollecting(Lcom/android/server HSPLcom/android/server/wm/TransitionController;->isPlaying()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/TransitionController;->isShellTransitionsEnabled()Z HPLcom/android/server/wm/TransitionController;->isTransientCollect(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/TransitionController;->isTransientHide(Lcom/android/server/wm/Task;)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; 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;)V 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; 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 HPLcom/android/server/wm/TransitionTracer;->logFinishedTransition(Lcom/android/server/wm/Transition;)V +HPLcom/android/server/wm/TransitionTracer;->logRemovingStartingWindow(Lcom/android/server/wm/StartingData;)V HPLcom/android/server/wm/TransitionTracer;->logSentTransition(Lcom/android/server/wm/Transition;Ljava/util/ArrayList;)V +HPLcom/android/server/wm/TrustedOverlayHost;->setVisibility(Landroid/view/SurfaceControl$Transaction;Z)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; +HPLcom/android/server/wm/UnknownAppVisibilityController;->appRemovedOrHidden(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/UnknownAppVisibilityController;->isVisibilityUnknown(Lcom/android/server/wm/ActivityRecord;)Z +HPLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/ActivityRecord;)V HPLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/VisibleActivityProcessTracker$CpuTimeRecord;-><init>(Lcom/android/server/wm/VisibleActivityProcessTracker;Lcom/android/server/wm/WindowProcessController;)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;->onAllActivitiesInvisible(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 @@ -12158,12 +13343,16 @@ HSPLcom/android/server/wm/VrController;-><init>(Ljava/lang/Object;)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$TopWallpaper;->reset()V HPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->getTopWallpaper(Z)Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->hasTopHideWhenLockedWallpaper()Z +HPLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->hasTopShowWhenLockedWallpaper()Z 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;->getDisplayWidthOffset(ILandroid/graphics/Rect;Z)I +HPLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState; 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; @@ -12172,10 +13361,11 @@ HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z+]Lcom/andr 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; HPLcom/android/server/wm/WallpaperController;->lambda$new$2(Lcom/android/server/wm/WindowState;)V +HSPLcom/android/server/wm/WallpaperController;->resetLargestDisplay(Landroid/view/Display;)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;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)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/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 HPLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V HPLcom/android/server/wm/WallpaperController;->zoomOutToScale(F)F @@ -12186,8 +13376,9 @@ HPLcom/android/server/wm/WallpaperWindowToken;->setVisibility(Z)V+]Lcom/android/ 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$TmpValues;-><init>()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; +HPLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V HSPLcom/android/server/wm/WindowAnimator$$ExternalSyntheticLambda1;->doFrame(J)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; @@ -12199,6 +13390,7 @@ 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 +HPLcom/android/server/wm/WindowContainer$$ExternalSyntheticLambda8;->test(Ljava/lang/Object;)Z 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; @@ -12231,7 +13423,7 @@ HPLcom/android/server/wm/WindowContainer;->doAnimationFinished(ILcom/android/ser 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/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+]Lcom/android/server/wm/WindowContainer;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;->forAllLeafTaskFragments(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;->forAllLeafTasks(Ljava/util/function/Consumer;Z)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; @@ -12242,49 +13434,51 @@ HPLcom/android/server/wm/WindowContainer;->forAllRootTasks(Ljava/util/function/P 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;->forAllTasks(Ljava/util/function/Predicate;)Z 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/RootWindowContainer;,Lcom/android/server/wm/TaskFragment; +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; 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;+]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; +HPLcom/android/server/wm/WindowContainer;->getAnimationLeash()Landroid/view/SurfaceControl; +HPLcom/android/server/wm/WindowContainer;->getAnimationLeashParent()Landroid/view/SurfaceControl; 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;->getDisplayArea()Lcom/android/server/wm/DisplayArea;+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/TaskDisplayArea;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment; 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 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; +HPLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl; 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(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; +HPLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation(ZI)I 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/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;->getSession()Landroid/view/SurfaceSession; 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;)Lcom/android/server/wm/Task; 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/WindowState;,Lcom/android/server/wm/ActivityRecord;,Lcom/android/server/wm/TaskFragment;]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;->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; @@ -12296,6 +13490,7 @@ HPLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z HSPLcom/android/server/wm/WindowContainer;->hasInsetsSourceProvider()Z HSPLcom/android/server/wm/WindowContainer;->inTransition()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; HPLcom/android/server/wm/WindowContainer;->inTransitionSelfOrParent()Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; +HPLcom/android/server/wm/WindowContainer;->isAnimating()Z HSPLcom/android/server/wm/WindowContainer;->isAnimating(I)Z+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/Task;,Lcom/android/server/wm/DisplayContent;,Lcom/android/server/wm/ActivityRecord; HSPLcom/android/server/wm/WindowContainer;->isAnimating(II)Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types HPLcom/android/server/wm/WindowContainer;->isAttached()Z+]Lcom/android/server/wm/WindowContainer;megamorphic_types @@ -12311,44 +13506,51 @@ 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;->makeSurface()Landroid/view/SurfaceControl$Builder; +HPLcom/android/server/wm/WindowContainer;->migrateToNewSurfaceControl(Landroid/view/SurfaceControl$Transaction;)V 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;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V 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;->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;->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;->onConfigurationChanged(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/WindowContainer;megamorphic_types]Lcom/android/server/wm/TrustedOverlayHost;Lcom/android/server/wm/TrustedOverlayHost;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/Task; +HPLcom/android/server/wm/WindowContainer;->onDescendantOrientationChanged(Lcom/android/server/wm/WindowContainer;)Z +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/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 +HPLcom/android/server/wm/WindowContainer;->onSyncFinishedDrawing()Z 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 +HSPLcom/android/server/wm/WindowContainer;->onSyncTransactionCommitted(Landroid/view/SurfaceControl$Transaction;)V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; 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;->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;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V 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; +HPLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V HSPLcom/android/server/wm/WindowContainer;->setInitialSurfaceControlProperties(Landroid/view/SurfaceControl$Builder;)V HSPLcom/android/server/wm/WindowContainer;->setOrientation(ILcom/android/server/wm/WindowContainer;)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;->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; 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;ZI)V +HPLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V HPLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V +HSPLcom/android/server/wm/WindowContainer;->unregisterWindowContainerListener(Lcom/android/server/wm/WindowContainerListener;)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 @@ -12356,6 +13558,8 @@ HSPLcom/android/server/wm/WindowContainer;->updateSurfacePositionNonOrganized()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 +HPLcom/android/server/wm/WindowContextListenerController;->dispatchPendingConfigurationIfNeeded(I)V +HSPLcom/android/server/wm/WindowContextListenerController;->hasListener(Landroid/os/IBinder;)Z 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; @@ -12364,40 +13568,50 @@ 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 +HPLcom/android/server/wm/WindowFrames;->setInsetsChanged(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/WindowManagerGlobalLock;-><init>()V +HPLcom/android/server/wm/WindowManagerInternal$ImeTargetInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V +HPLcom/android/server/wm/WindowManagerService$$ExternalSyntheticLambda8;->accept(Ljava/lang/Object;)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$H;->handleMessage(Landroid/os/Message;)V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]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; +HPLcom/android/server/wm/WindowManagerService$LocalService;->getFocusedWindowToken()Landroid/os/IBinder; 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;->hasNavigationBar(I)Z 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;->isKeyguardShowingAndNotOccluded()Z 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 +HPLcom/android/server/wm/WindowManagerService$LocalService;->setDismissImeOnBackKeyPressed(Z)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; +HPLcom/android/server/wm/WindowManagerService;->-$$Nest$monPointerDownOutsideFocusLocked(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/InputTarget;)V+]Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService; HSPLcom/android/server/wm/WindowManagerService;-><clinit>()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;->boostPriorityForLockedSection()V+]Lcom/android/server/wm/WindowManagerThreadPriorityBooster;Lcom/android/server/wm/WindowManagerThreadPriorityBooster; +HSPLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;Z)Z 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; 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 HPLcom/android/server/wm/WindowManagerService;->dispatchImeInputTargetVisibilityChanged(Landroid/os/IBinder;ZZ)V +HPLcom/android/server/wm/WindowManagerService;->dispatchImeTargetOverlayVisibilityChanged(Landroid/os/IBinder;IZZ)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;->getCurrentAnimatorScale()F 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;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent; +HSPLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)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;]Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer; 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;->getInsetsSourceControls(Lcom/android/server/wm/WindowState;Landroid/view/InsetsSourceControl$Array;)V HSPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController; 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; @@ -12412,11 +13626,12 @@ HPLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeeded HPLcom/android/server/wm/WindowManagerService;->mapOrientationRequest(I)I HPLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V HPLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V +HPLcom/android/server/wm/WindowManagerService;->onPointerDownOutsideFocusLocked(Lcom/android/server/wm/InputTarget;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/InputTarget;Lcom/android/server/wm/WindowState;,Lcom/android/server/wm/EmbeddedWindowController$EmbeddedWindow; 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; +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;]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;->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; @@ -12424,6 +13639,7 @@ 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; HPLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V +HPLcom/android/server/wm/WindowManagerService;->setRecentsAppBehindSystemBars(Z)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 @@ -12440,48 +13656,60 @@ HSPLcom/android/server/wm/WindowOrganizerController;->applyHierarchyOp(Landroid/ 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/WindowOrganizerController;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z 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 +HPLcom/android/server/wm/WindowOrientationListener;->enable(Z)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/WindowOrientationListener;->onTouchEnd()V +HPLcom/android/server/wm/WindowOrientationListener;->onTouchStart()V 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 +HPLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V +HPLcom/android/server/wm/WindowProcessController;->addAnimatingReason(I)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;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLcom/android/server/wm/WindowProcessController;->dispatchConfiguration(Landroid/content/res/Configuration;)V +HPLcom/android/server/wm/WindowProcessController;->computeProcessActivityState()V+]Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/ActivityRecord;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]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; +HSPLcom/android/server/wm/WindowProcessController;->dispatchConfiguration(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService; HPLcom/android/server/wm/WindowProcessController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V +HPLcom/android/server/wm/WindowProcessController;->getInputDispatchingTimeoutMillis()J HSPLcom/android/server/wm/WindowProcessController;->getParent()Lcom/android/server/wm/ConfigurationContainer; +HPLcom/android/server/wm/WindowProcessController;->getPid()I 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;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLcom/android/server/wm/WindowProcessController;->handleAppDied()Z 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;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z HPLcom/android/server/wm/WindowProcessController;->hasThread()Z HSPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z +HSPLcom/android/server/wm/WindowProcessController;->isFactoryTestProcess()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;->onConfigurationChanged(Landroid/content/res/Configuration;)V +HSPLcom/android/server/wm/WindowProcessController;->isRemoved()Z +HPLcom/android/server/wm/WindowProcessController;->lambda$setAnimating$3(Z)V +HSPLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/WindowProcessController;]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowProcessController;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; 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;->postPendingUiCleanMsg(Z)V HPLcom/android/server/wm/WindowProcessController;->prepareOomAdjustment()V +HPLcom/android/server/wm/WindowProcessController;->registerActivityConfigurationListener(Lcom/android/server/wm/ActivityRecord;)V HSPLcom/android/server/wm/WindowProcessController;->registeredForDisplayAreaConfigChanges()Z HPLcom/android/server/wm/WindowProcessController;->removeActivity(Lcom/android/server/wm/ActivityRecord;Z)V +HPLcom/android/server/wm/WindowProcessController;->removeAnimatingReason(I)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;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V+]Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowProcessController;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; 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 @@ -12489,7 +13717,7 @@ 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 +HSPLcom/android/server/wm/WindowProcessController;->setLastReportedConfiguration(Landroid/content/res/Configuration;)V+]Landroid/content/res/Configuration;Landroid/content/res/Configuration; HPLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V HPLcom/android/server/wm/WindowProcessController;->setPendingUiCleanAndForceProcessStateUpTo(I)V HSPLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V @@ -12498,9 +13726,11 @@ HSPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V+]Lc HSPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V HSPLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V HPLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V +HSPLcom/android/server/wm/WindowProcessController;->unregisterActivityConfigurationListener()V HSPLcom/android/server/wm/WindowProcessController;->unregisterConfigurationListeners()V HSPLcom/android/server/wm/WindowProcessController;->updateActivityConfigurationListener()V HPLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZZ)V +HPLcom/android/server/wm/WindowProcessController;->updateServiceConnectionActivities()V HPLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z HSPLcom/android/server/wm/WindowProcessControllerMap;-><init>()V HSPLcom/android/server/wm/WindowProcessControllerMap;->getProcess(I)Lcom/android/server/wm/WindowProcessController;+]Landroid/util/SparseArray;Landroid/util/SparseArray; @@ -12508,6 +13738,8 @@ HSPLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/ 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 +HSPLcom/android/server/wm/WindowState$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V +HSPLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;)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 @@ -12521,24 +13753,29 @@ HPLcom/android/server/wm/WindowState;->areAppWindowBoundsLetterboxed()Z HSPLcom/android/server/wm/WindowState;->asWindowState()Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Ljava/util/ArrayList;Lcom/android/server/wm/WindowList; HSPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; +HSPLcom/android/server/wm/WindowState;->attach()V HSPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z HSPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()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/ActivityRecord;Lcom/android/server/wm/ActivityRecord; 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; +HPLcom/android/server/wm/WindowState;->canPlayMoveAnimation()Z 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/DisplayContent;Lcom/android/server/wm/DisplayContent;]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/ActivityRecord;Lcom/android/server/wm/ActivityRecord;]Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayContent; 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;->commitFinishDrawing(Landroid/view/SurfaceControl$Transaction;)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;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)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;->finishSync(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/BLASTSyncEngine$SyncGroup;Z)V 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 @@ -12566,12 +13803,12 @@ HPLcom/android/server/wm/WindowState;->getKeepClearAreas(Ljava/util/Collection;L 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; HSPLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; -HPLcom/android/server/wm/WindowState;->getOrientationChanging()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController; +HPLcom/android/server/wm/WindowState;->getOrientationChanging()Z+]Lcom/android/server/wm/TransitionController;Lcom/android/server/wm/TransitionController;]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; HSPLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String; HPLcom/android/server/wm/WindowState;->getParentFrame()Landroid/graphics/Rect; HSPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState; HPLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/content/res/Configuration; -HPLcom/android/server/wm/WindowState;->getRectsInScreenSpace(Ljava/util/List;Landroid/graphics/Matrix;[F)Ljava/util/List;+]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; +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; 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; @@ -12587,7 +13824,7 @@ HSPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate; 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;->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; 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; @@ -12595,33 +13832,36 @@ HSPLcom/android/server/wm/WindowState;->hasWallpaper()Z+]Lcom/android/server/wm/ HSPLcom/android/server/wm/WindowState;->hasWallpaperForLetterboxBackground()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;->inRelaunchingActivity()Z +HPLcom/android/server/wm/WindowState;->initExclusionRestrictions()V 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 HSPLcom/android/server/wm/WindowState;->isDisplayed()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;->isDragResizeChanged()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WindowState;->isDragResizing()Z HSPLcom/android/server/wm/WindowState;->isDrawn()Z HPLcom/android/server/wm/WindowState;->isDreamWindow()Z -HSPLcom/android/server/wm/WindowState;->isFocused()Z+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HSPLcom/android/server/wm/WindowState;->isFocused()Z 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;->isInputMethodClientFocus(II)Z HPLcom/android/server/wm/WindowState;->isInteresting()Z HSPLcom/android/server/wm/WindowState;->isLaidOut()Z 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/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; +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/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;->isReadyToDispatchInsetsState()Z 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 @@ -12637,6 +13877,7 @@ HSPLcom/android/server/wm/WindowState;->isVisibleRequestedOrAdding()Z+]Lcom/andr 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;->markRedrawForSyncReported()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; @@ -12652,15 +13893,17 @@ HSPLcom/android/server/wm/WindowState;->onParentChanged(Lcom/android/server/wm/C 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+]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; +HPLcom/android/server/wm/WindowState;->performShowLocked()Z 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;->providesDisplayDecorInsets()Z 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;->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/IWindow$Stub$Proxy;,Landroid/view/ViewRootImpl$W;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HPLcom/android/server/wm/WindowState;->requestDrawIfNeeded(Ljava/util/List;)V 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 @@ -12674,17 +13917,21 @@ HPLcom/android/server/wm/WindowState;->setLastExclusionHeights(III)V+]Lcom/andro 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 +HSPLcom/android/server/wm/WindowState;->setRequestedVisibleTypes(I)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 +HPLcom/android/server/wm/WindowState;->setupWindowForRemoveOnExit()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+]Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState; +HPLcom/android/server/wm/WindowState;->shouldSyncWithBuffers()Z 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+]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;->showInsets(IZLandroid/view/inputmethod/ImeTracker$Token;)V +HPLcom/android/server/wm/WindowState;->showToCurrentUser()Z 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 @@ -12726,6 +13973,7 @@ HPLcom/android/server/wm/WindowSurfaceController;->destroy(Landroid/view/Surface 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;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V 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 @@ -12741,30 +13989,34 @@ HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V+] 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$Builder;->build()Lcom/android/server/wm/WindowToken; 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;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord; +HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayBounds()Landroid/graphics/Rect;+]Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/ActivityRecord;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; 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 +HSPLcom/android/server/wm/WindowToken;->hasSizeCompatBounds()Z HPLcom/android/server/wm/WindowToken;->isClientVisible()Z HPLcom/android/server/wm/WindowToken;->isFinishingFixedRotationTransform()Z HSPLcom/android/server/wm/WindowToken;->isFixedRotationTransforming()Z HPLcom/android/server/wm/WindowToken;->lambda$setInsetsFrozen$1(ZLcom/android/server/wm/WindowState;)V +HSPLcom/android/server/wm/WindowToken;->makeSurface()Landroid/view/SurfaceControl$Builder; 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 +HPLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z HSPLcom/android/server/wm/WindowTracing;->isEnabled()Z HSPLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)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;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object; +HSPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;Lcom/android/server/wm/DisplayContent$$ExternalSyntheticLambda8; Landroid/app/ActivityThread$ApplicationThread; Landroid/app/ApplicationPackageManager; Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy; @@ -13165,6 +14417,8 @@ 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; @@ -13220,6 +14474,9 @@ 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; @@ -13343,7 +14600,10 @@ Lcom/android/server/input/NativeInputManagerService; Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl; Lcom/android/server/job/JobSchedulerService$$ExternalSyntheticLambda3; 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; @@ -13527,7 +14787,6 @@ Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda58; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda62; Lcom/android/server/pm/PackageManagerService$$ExternalSyntheticLambda63; 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; @@ -13660,7 +14919,6 @@ Lcom/android/server/pm/dex/DexManager; Lcom/android/server/pm/dex/DynamicCodeLogger; Lcom/android/server/pm/dex/PackageDexUsage; Lcom/android/server/pm/dex/PackageDynamicCodeLoading; -Lcom/android/server/pm/dex/ViewCompiler; Lcom/android/server/pm/local/PackageManagerLocalImpl$UnfilteredSnapshotImpl; Lcom/android/server/pm/local/PackageManagerLocalImpl; Lcom/android/server/pm/parsing/PackageCacher; @@ -13840,6 +15098,7 @@ Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxy; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyUnavailable; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1$Connection; Lcom/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2$Connection; +Lcom/android/server/policy/PermissionPolicyService$Internal; Lcom/android/server/policy/PhoneWindowManager; Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo; Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs; @@ -14231,6 +15490,7 @@ Lcom/android/server/wm/WindowToken; [Lcom/android/server/am/CachedAppOptimizer$CompactSource; [Lcom/android/server/am/OomAdjProfiler$CpuTimes; [Lcom/android/server/am/UidObserverController$ChangeRecord; +[Lcom/android/server/display/config/PredefinedBrightnessLimitNames; [Lcom/android/server/display/config/ThermalStatus; [Lcom/android/server/firewall/FilterFactory; [Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver; diff --git a/services/core/Android.bp b/services/core/Android.bp index 7dbf61bab3a9..a14f3fee5303 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -183,6 +183,7 @@ java_library_static { "android.hardware.power.stats-V2-java", "android.hidl.manager-V1.2-java", "cbor-java", + "com.android.media.audio-aconfig-java", "dropbox_flags_lib", "icu4j_calendar_astronomer", "android.security.aaid_aidl-java", diff --git a/services/core/java/android/content/pm/PackageManagerInternal.java b/services/core/java/android/content/pm/PackageManagerInternal.java index 638abdba36ec..4f322203192f 100644 --- a/services/core/java/android/content/pm/PackageManagerInternal.java +++ b/services/core/java/android/content/pm/PackageManagerInternal.java @@ -300,14 +300,6 @@ public abstract class PackageManagerInternal { @UserIdInt int userId, @NonNull String[] packageNames, boolean suspended); /** - * Suspend or unsuspend packages in a profile when quiet mode is toggled. - * - * @param userId The target user. - * @param suspended Whether the packages should be suspended or unsuspended. - */ - public abstract void setPackagesSuspendedForQuietMode(@UserIdInt int userId, boolean suspended); - - /** * Get the information describing the dialog to be shown to the user when they try to launch a * suspended application. * diff --git a/services/core/java/com/android/server/EventLogTags.logtags b/services/core/java/com/android/server/EventLogTags.logtags index db89cac2a943..c4cb81645e0f 100644 --- a/services/core/java/com/android/server/EventLogTags.logtags +++ b/services/core/java/com/android/server/EventLogTags.logtags @@ -179,6 +179,15 @@ option java_package com.android.server 3130 pm_snapshot_stats (build_count|1|1),(reuse_count|1|1),(big_builds|1|1),(short_lived|1|1),(max_build_time|1|3),(cumm_build_time|2|3) # Snapshot rebuild instance 3131 pm_snapshot_rebuild (build_time|1|3),(lifetime|1|3) +# Caller information to clear application data +1003160 pm_clear_app_data_caller (pid|1),(uid|1),(package|3) +# --------------------------- +# Installer.java +# --------------------------- +# Caller Information to clear application data +1003200 installer_clear_app_data_caller (pid|1),(uid|1),(package|3),(flags|1) +# Call stack to clear application data +1003201 installer_clear_app_data_call_stack (method|3),(class|3),(file|3),(line|1) # --------------------------- # InputMethodManagerService.java diff --git a/services/core/java/com/android/server/MasterClearReceiver.java b/services/core/java/com/android/server/MasterClearReceiver.java index 5a15f17a0922..2b30c013235c 100644 --- a/services/core/java/com/android/server/MasterClearReceiver.java +++ b/services/core/java/com/android/server/MasterClearReceiver.java @@ -88,6 +88,9 @@ public class MasterClearReceiver extends BroadcastReceiver { mWipeEsims = intent.getBooleanExtra(Intent.EXTRA_WIPE_ESIMS, false); final boolean forceWipe = intent.getBooleanExtra(Intent.EXTRA_FORCE_MASTER_CLEAR, false) || intent.getBooleanExtra(Intent.EXTRA_FORCE_FACTORY_RESET, false); + // This is ONLY used by TestHarnessService within System Server, so we don't add a proper + // API constant in Intent for this. + final boolean keepMemtagMode = intent.getBooleanExtra("keep_memtag_mode", false); // TODO(b/189938391): properly handle factory reset on headless system user mode. final int sendingUserId = getSendingUserId(); @@ -110,9 +113,11 @@ public class MasterClearReceiver extends BroadcastReceiver { try { Slog.i(TAG, "Calling RecoverySystem.rebootWipeUserData(context, " + "shutdown=" + shutdown + ", reason=" + reason - + ", forceWipe=" + forceWipe + ", wipeEsims=" + mWipeEsims + ")"); + + ", forceWipe=" + forceWipe + ", wipeEsims=" + mWipeEsims + + ", keepMemtagMode=" + keepMemtagMode + ")"); RecoverySystem - .rebootWipeUserData(context, shutdown, reason, forceWipe, mWipeEsims); + .rebootWipeUserData( + context, shutdown, reason, forceWipe, mWipeEsims, keepMemtagMode); Slog.wtf(TAG, "Still running after master clear?!"); } catch (IOException e) { Slog.e(TAG, "Can't perform master clear/factory reset", e); diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 88bb66f8ef22..1566113b7f47 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1886,7 +1886,7 @@ public class ActivityManagerService extends IActivityManager.Stub int exitInfoReason = (int) args.arg3; args.recycle(); forceStopPackageLocked(pkg, appId, false, false, true, false, - false, userId, reason, exitInfoReason); + false, false, userId, reason, exitInfoReason); } } break; @@ -3548,6 +3548,7 @@ public class ActivityManagerService extends IActivityManager.Stub enforceNotIsolatedCaller("clearApplicationUserData"); int uid = Binder.getCallingUid(); int pid = Binder.getCallingPid(); + EventLog.writeEvent(EventLogTags.AM_CLEAR_APP_DATA_CALLER, pid, uid, packageName); final int resolvedUserId = mUserController.handleIncomingUser(pid, uid, userId, false, ALLOW_FULL_ONLY, "clearApplicationUserData", null); @@ -3914,7 +3915,10 @@ public class ActivityManagerService extends IActivityManager.Stub + packageName + ": " + e); } if (mUserController.isUserRunning(user, userRunningFlags)) { - forceStopPackageLocked(packageName, pkgUid, + forceStopPackageLocked(packageName, UserHandle.getAppId(pkgUid), + false /* callerWillRestart */, false /* purgeCache */, + true /* doIt */, false /* evenPersistent */, + false /* uninstalling */, true /* packageStateStopped */, user, reason == null ? ("from pid " + callingPid) : reason); finishForceStopPackageLocked(packageName, pkgUid); } @@ -4163,7 +4167,7 @@ public class ActivityManagerService extends IActivityManager.Stub @GuardedBy("this") private void forceStopPackageLocked(final String packageName, int uid, String reason) { forceStopPackageLocked(packageName, UserHandle.getAppId(uid), false, - false, true, false, false, UserHandle.getUserId(uid), reason); + false, true, false, false, false, UserHandle.getUserId(uid), reason); } @GuardedBy("this") @@ -4349,20 +4353,20 @@ public class ActivityManagerService extends IActivityManager.Stub @GuardedBy("this") final boolean forceStopPackageLocked(String packageName, int appId, boolean callerWillRestart, boolean purgeCache, boolean doit, - boolean evenPersistent, boolean uninstalling, int userId, String reasonString) { - + boolean evenPersistent, boolean uninstalling, boolean packageStateStopped, + int userId, String reasonString) { int reason = packageName == null ? ApplicationExitInfo.REASON_USER_STOPPED : ApplicationExitInfo.REASON_USER_REQUESTED; return forceStopPackageLocked(packageName, appId, callerWillRestart, purgeCache, doit, - evenPersistent, uninstalling, userId, reasonString, reason); + evenPersistent, uninstalling, packageStateStopped, userId, reasonString, reason); } @GuardedBy("this") final boolean forceStopPackageLocked(String packageName, int appId, boolean callerWillRestart, boolean purgeCache, boolean doit, - boolean evenPersistent, boolean uninstalling, int userId, String reasonString, - int reason) { + boolean evenPersistent, boolean uninstalling, boolean packageStateStopped, + int userId, String reasonString, int reason) { int i; if (userId == UserHandle.USER_ALL && packageName == null) { @@ -4443,7 +4447,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } - if (packageName == null || uninstalling) { + if (packageName == null || uninstalling || packageStateStopped) { didSomething |= mPendingIntentController.removePendingIntentsForPackage( packageName, userId, appId, doit); } @@ -5148,7 +5152,7 @@ public class ActivityManagerService extends IActivityManager.Stub for (String pkg : pkgs) { synchronized (ActivityManagerService.this) { if (forceStopPackageLocked(pkg, -1, false, false, false, false, false, - 0, "query restart")) { + false, 0, "query restart")) { setResultCode(Activity.RESULT_OK); return; } @@ -7342,7 +7346,7 @@ public class ActivityManagerService extends IActivityManager.Stub mDebugTransient = !persistent; if (packageName != null) { forceStopPackageLocked(packageName, -1, false, false, true, true, - false, UserHandle.USER_ALL, "set debug app"); + false, false, UserHandle.USER_ALL, "set debug app"); } } } finally { @@ -14918,7 +14922,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (list != null && list.length > 0) { for (int i = 0; i < list.length; i++) { forceStopPackageLocked(list[i], -1, false, true, true, - false, false, userId, "storage unmount"); + false, false, false, userId, "storage unmount"); } mAtmInternal.cleanupRecentTasksForUser(UserHandle.USER_ALL); sendPackageBroadcastLocked( @@ -14945,8 +14949,8 @@ public class ActivityManagerService extends IActivityManager.Stub if (killProcess) { forceStopPackageLocked(ssp, UserHandle.getAppId( intent.getIntExtra(Intent.EXTRA_UID, -1)), - false, true, true, false, fullUninstall, userId, - "pkg removed"); + false, true, true, false, fullUninstall, false, + userId, "pkg removed"); getPackageManagerInternal() .onPackageProcessKilledForUninstall(ssp); } else { @@ -15864,7 +15868,7 @@ public class ActivityManagerService extends IActivityManager.Stub } else { // Instrumentation can kill and relaunch even persistent processes forceStopPackageLocked(ii.targetPackage, -1, true, false, true, true, false, - userId, "start instr"); + false, userId, "start instr"); // Inform usage stats to make the target package active if (mUsageStatsService != null) { mUsageStatsService.reportEvent(ii.targetPackage, userId, @@ -15993,6 +15997,7 @@ public class ActivityManagerService extends IActivityManager.Stub /* doIt= */ true, /* evenPersistent= */ true, /* uninstalling= */ false, + /* packageStateStopped= */ false, userId, "start instr"); @@ -16163,8 +16168,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } else if (!instr.mNoRestart) { forceStopPackageLocked(app.info.packageName, -1, false, false, true, true, false, - app.userId, - "finished inst"); + false, app.userId, "finished inst"); } } finally { Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); diff --git a/services/core/java/com/android/server/am/EventLogTags.logtags b/services/core/java/com/android/server/am/EventLogTags.logtags index 9e9db6aff699..931914f17729 100644 --- a/services/core/java/com/android/server/am/EventLogTags.logtags +++ b/services/core/java/com/android/server/am/EventLogTags.logtags @@ -129,3 +129,6 @@ option java_package com.android.server.am # Intent Sender redirect for UserHandle.USER_CURRENT 30110 am_intent_sender_redirect_user (userId|1|5) + +# Caller information to clear application data +1030002 am_clear_app_data_caller (pid|1),(uid|1),(package|3) diff --git a/services/core/java/com/android/server/am/LmkdStatsReporter.java b/services/core/java/com/android/server/am/LmkdStatsReporter.java index 4380b42ee54c..507fd9efaffd 100644 --- a/services/core/java/com/android/server/am/LmkdStatsReporter.java +++ b/services/core/java/com/android/server/am/LmkdStatsReporter.java @@ -44,6 +44,7 @@ public final class LmkdStatsReporter { private static final int DIRECT_RECL_AND_THRASHING = 5; private static final int LOW_MEM_AND_SWAP_UTIL = 6; private static final int LOW_FILECACHE_AFTER_THRASHING = 7; + private static final int LOW_MEM = 8; /** * Processes the LMK_KILL_OCCURRED packet data @@ -106,6 +107,8 @@ public final class LmkdStatsReporter { return FrameworkStatsLog.LMK_KILL_OCCURRED__REASON__LOW_MEM_AND_SWAP_UTIL; case LOW_FILECACHE_AFTER_THRASHING: return FrameworkStatsLog.LMK_KILL_OCCURRED__REASON__LOW_FILECACHE_AFTER_THRASHING; + case LOW_MEM: + return FrameworkStatsLog.LMK_KILL_OCCURRED__REASON__LOW_MEM; default: return FrameworkStatsLog.LMK_KILL_OCCURRED__REASON__UNKNOWN; } diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index 7c0797020f03..2efac12a53a2 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -2040,7 +2040,7 @@ public final class ProcessList { // the package was initially frozen through KILL_APPLICATION_MSG, so // it doesn't hurt to use it again.) mService.forceStopPackageLocked(app.info.packageName, UserHandle.getAppId(app.uid), - false, false, true, false, false, app.userId, "start failure"); + false, false, true, false, false, false, app.userId, "start failure"); return false; } } @@ -2115,7 +2115,7 @@ public final class ProcessList { + app.processName, e); app.setPendingStart(false); mService.forceStopPackageLocked(app.info.packageName, UserHandle.getAppId(app.uid), - false, false, true, false, false, app.userId, "start failure"); + false, false, true, false, false, false, app.userId, "start failure"); } return app.getPid() > 0; } @@ -2148,7 +2148,7 @@ public final class ProcessList { app.setPendingStart(false); mService.forceStopPackageLocked(app.info.packageName, UserHandle.getAppId(app.uid), - false, false, true, false, false, app.userId, "start failure"); + false, false, true, false, false, false, app.userId, "start failure"); } } }; diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java index c1a2482249ef..e6cdbb58a9fd 100644 --- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java @@ -128,6 +128,7 @@ public class SettingsToPropertiesMapper { "biometrics", "biometrics_framework", "biometrics_integration", + "camera_hal", "camera_platform", "car_framework", "car_perception", diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index c5dd01fb8791..87633e9e255d 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -76,7 +76,6 @@ import android.app.BroadcastOptions; import android.app.IStopUserCallback; import android.app.IUserSwitchObserver; import android.app.KeyguardManager; -import android.app.admin.DevicePolicyManagerInternal; import android.app.usage.UsageEvents; import android.appwidget.AppWidgetManagerInternal; import android.content.Context; @@ -1497,10 +1496,8 @@ class UserController implements Handler.Callback { private boolean shouldStartWithParent(UserInfo user) { final UserProperties properties = getUserProperties(user.id); - DevicePolicyManagerInternal dpmi = - LocalServices.getService(DevicePolicyManagerInternal.class); return (properties != null && properties.getStartWithParent()) - && (!user.isQuietModeEnabled() || dpmi.isKeepProfilesRunningEnabled()); + && !user.isQuietModeEnabled(); } /** @@ -3629,7 +3626,7 @@ class UserController implements Handler.Callback { void activityManagerForceStopPackage(@UserIdInt int userId, String reason) { synchronized (mService) { - mService.forceStopPackageLocked(null, -1, false, false, true, false, false, + mService.forceStopPackageLocked(null, -1, false, false, true, false, false, false, userId, reason); } }; diff --git a/services/core/java/com/android/server/am/flags.aconfig b/services/core/java/com/android/server/am/flags.aconfig index cbaf05bb4e23..a770b66b2506 100644 --- a/services/core/java/com/android/server/am/flags.aconfig +++ b/services/core/java/com/android/server/am/flags.aconfig @@ -22,3 +22,10 @@ flag { description: "Detect abusive FGS behavior for certain types (camera, mic, media, location)." bug: "295545575" } + +flag { + name: "fgs_boot_completed" + namespace: "backstage_power" + description: "Disable BOOT_COMPLETED broadcast FGS start for certain types" + bug: "296558535" +} diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java index 2336753c88f9..28970750a5ac 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java +++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java @@ -1765,6 +1765,14 @@ public class AudioDeviceBroker { synchronized (mSetModeLock) { synchronized (mDeviceStateLock) { final BtDeviceInfo btInfo = (BtDeviceInfo) msg.obj; + if (btInfo.mState == BluetoothProfile.STATE_CONNECTED + && !mBtHelper.isProfilePoxyConnected(btInfo.mProfile)) { + AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( + "msg: MSG_L_SET_BT_ACTIVE_DEVICE " + + "received with null profile proxy: " + + btInfo)).printLog(TAG)); + return; + } @AudioSystem.AudioFormatNativeEnumForBtCodec final int codec = mBtHelper.getA2dpCodecWithFallbackToSBC( btInfo.mDevice, "MSG_L_SET_BT_ACTIVE_DEVICE"); @@ -1909,7 +1917,7 @@ public class AudioDeviceBroker { final BtDeviceInfo btInfo = (BtDeviceInfo) msg.obj; if (btInfo.mDevice == null) break; AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( - "msg: onBluetoothActiveDeviceChange " + btInfo)).printLog(TAG)); + "msg: MSG_L_BT_ACTIVE_DEVICE_CHANGE_EXT " + btInfo)).printLog(TAG)); synchronized (mDeviceStateLock) { mDeviceInventory.setBluetoothActiveDevice(btInfo); } diff --git a/services/core/java/com/android/server/audio/AudioDeviceInventory.java b/services/core/java/com/android/server/audio/AudioDeviceInventory.java index d7076899fcb6..e59fd77919c5 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceInventory.java +++ b/services/core/java/com/android/server/audio/AudioDeviceInventory.java @@ -1628,11 +1628,6 @@ public class AudioDeviceInventory { Log.i(TAG, "setBluetoothActiveDevice " + info.toString() + " delay(ms): " + delay); } mDeviceBroker.postBluetoothActiveDevice(info, delay); - if (info.mProfile == BluetoothProfile.HEARING_AID - && info.mState == BluetoothProfile.STATE_CONNECTED) { - mDeviceBroker.setForceUse_Async(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE, - "HEARING_AID set to CONNECTED"); - } } return delay; } @@ -2013,6 +2008,9 @@ public class AudioDeviceInventory { final int hearingAidVolIndex = mDeviceBroker.getVssVolumeForDevice(streamType, AudioSystem.DEVICE_OUT_HEARING_AID); mDeviceBroker.postSetHearingAidVolumeIndex(hearingAidVolIndex, streamType); + + mDeviceBroker.setBluetoothA2dpOnInt(true, false /*fromA2dp*/, eventSource); + AudioDeviceAttributes ada = new AudioDeviceAttributes( AudioSystem.DEVICE_OUT_HEARING_AID, address, name); mAudioSystem.setDeviceConnectionState(ada, diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index a8fa313abc7a..b209fb006268 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -37,6 +37,7 @@ import static android.provider.Settings.Secure.VOLUME_HUSH_MUTE; import static android.provider.Settings.Secure.VOLUME_HUSH_OFF; import static android.provider.Settings.Secure.VOLUME_HUSH_VIBRATE; +import static com.android.media.audio.Flags.bluetoothMacAddressAnonymization; import static com.android.server.audio.SoundDoseHelper.ACTION_CHECK_MUSIC_ACTIVE; import static com.android.server.utils.EventLogger.Event.ALOGE; import static com.android.server.utils.EventLogger.Event.ALOGI; @@ -203,7 +204,6 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.SomeArgs; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; -import com.android.media.audio.flags.Flags; import com.android.server.EventLogTags; import com.android.server.LocalServices; import com.android.server.SystemService; @@ -10509,7 +10509,7 @@ public class AudioService extends IAudioService.Stub } private boolean isBluetoothPrividged() { - if (!Flags.bluetoothMacAddressAnonymization()) { + if (!bluetoothMacAddressAnonymization()) { return true; } return PackageManager.PERMISSION_GRANTED == mContext.checkCallingOrSelfPermission( diff --git a/services/core/java/com/android/server/audio/BtHelper.java b/services/core/java/com/android/server/audio/BtHelper.java index 7d7e6d000f62..cce6bd2938d1 100644 --- a/services/core/java/com/android/server/audio/BtHelper.java +++ b/services/core/java/com/android/server/audio/BtHelper.java @@ -43,7 +43,6 @@ import com.android.internal.annotations.GuardedBy; 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; @@ -288,6 +287,13 @@ public class BtHelper { if (action.equals(BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED)) { BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class); + if (btDevice != null && !isProfilePoxyConnected(BluetoothProfile.HEADSET)) { + AudioService.sDeviceLogger.enqueue((new EventLogger.StringEvent( + "onReceiveBtEvent ACTION_ACTIVE_DEVICE_CHANGED " + + "received with null profile proxy for device: " + + btDevice)).printLog(TAG)); + return; + } onSetBtScoActiveDevice(btDevice); } else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) { int btState = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1); @@ -465,7 +471,8 @@ public class BtHelper { @GuardedBy("AudioDeviceBroker.this.mDeviceStateLock") /*package*/ synchronized void onBtProfileDisconnected(int profile) { AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent( - "BT profile " + BluetoothProfile.getProfileName(profile) + " disconnected")); + "BT profile " + BluetoothProfile.getProfileName(profile) + + " disconnected").printLog(TAG)); switch (profile) { case BluetoothProfile.HEADSET: mBluetoothHeadset = null; @@ -496,7 +503,11 @@ public class BtHelper { /*package*/ synchronized void onBtProfileConnected(int profile, BluetoothProfile proxy) { AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent( "BT profile " + BluetoothProfile.getProfileName(profile) + " connected to proxy " - + proxy)); + + proxy).printLog(TAG)); + if (proxy == null) { + Log.e(TAG, "onBtProfileConnected: null proxy for profile: " + profile); + return; + } switch (profile) { case BluetoothProfile.HEADSET: onHeadsetProfileConnected((BluetoothHeadset) proxy); @@ -522,36 +533,64 @@ public class BtHelper { } // this part is only for A2DP, LE Audio unicast and Hearing aid - final List<BluetoothDevice> deviceList = proxy.getConnectedDevices(); - if (deviceList.isEmpty()) { + BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); + if (adapter == null) { + Log.e(TAG, "onBtProfileConnected: Null BluetoothAdapter when connecting profile: " + + BluetoothProfile.getProfileName(profile)); return; } - final BluetoothDevice btDevice = deviceList.get(0); - if (proxy.getConnectionState(btDevice) == BluetoothProfile.STATE_CONNECTED) { - mDeviceBroker.queueOnBluetoothActiveDeviceChanged( - new AudioDeviceBroker.BtDeviceChangedData(btDevice, null, - new BluetoothProfileConnectionInfo(profile), - "mBluetoothProfileServiceListener")); - } else { - mDeviceBroker.queueOnBluetoothActiveDeviceChanged( - new AudioDeviceBroker.BtDeviceChangedData(null, btDevice, - new BluetoothProfileConnectionInfo(profile), - "mBluetoothProfileServiceListener")); + List<BluetoothDevice> activeDevices = adapter.getActiveDevices(profile); + if (activeDevices.isEmpty() || activeDevices.get(0) == null) { + return; + } + AudioDeviceBroker.BtDeviceChangedData data = new AudioDeviceBroker.BtDeviceChangedData( + activeDevices.get(0), null, new BluetoothProfileConnectionInfo(profile), + "mBluetoothProfileServiceListener"); + AudioDeviceBroker.BtDeviceInfo info = + mDeviceBroker.createBtDeviceInfo(data, activeDevices.get(0), + BluetoothProfile.STATE_CONNECTED); + mDeviceBroker.postBluetoothActiveDevice(info, 0 /* delay */); + } + + // @GuardedBy("mDeviceBroker.mSetModeLock") + @GuardedBy("AudioDeviceBroker.this.mDeviceStateLock") + /*package*/ synchronized boolean isProfilePoxyConnected(int profile) { + switch (profile) { + case BluetoothProfile.HEADSET: + return mBluetoothHeadset != null; + case BluetoothProfile.A2DP: + return mA2dp != null; + case BluetoothProfile.HEARING_AID: + return mHearingAid != null; + case BluetoothProfile.LE_AUDIO: + return mLeAudio != null; + case BluetoothProfile.A2DP_SINK: + case BluetoothProfile.LE_AUDIO_BROADCAST: + default: + // return true for profiles that are not managed by the BtHelper because + // the fact that the profile proxy is not connected does not affect + // the device connection handling. + return true; } } // @GuardedBy("mDeviceBroker.mSetModeLock") @GuardedBy("AudioDeviceBroker.this.mDeviceStateLock") - private void onHeadsetProfileConnected(BluetoothHeadset headset) { + private void onHeadsetProfileConnected(@NonNull BluetoothHeadset headset) { // Discard timeout message mDeviceBroker.handleCancelFailureToConnectToBtHeadsetService(); mBluetoothHeadset = headset; BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); - List<BluetoothDevice> activeDevices = Collections.emptyList(); if (adapter != null) { - activeDevices = adapter.getActiveDevices(BluetoothProfile.HEADSET); + List<BluetoothDevice> activeDevices = + adapter.getActiveDevices(BluetoothProfile.HEADSET); + if (activeDevices.size() > 0 && activeDevices.get(0) != null) { + onSetBtScoActiveDevice(activeDevices.get(0)); + } + } else { + Log.e(TAG, "onHeadsetProfileConnected: Null BluetoothAdapter"); } - onSetBtScoActiveDevice((activeDevices.size() > 0) ? activeDevices.get(0) : null); + // Refresh SCO audio state checkScoAudioState(); if (mScoAudioState != SCO_STATE_ACTIVATE_REQ @@ -559,7 +598,7 @@ public class BtHelper { return; } boolean status = false; - if (mBluetoothHeadset != null && mBluetoothHeadsetDevice != null) { + if (mBluetoothHeadsetDevice != null) { switch (mScoAudioState) { case SCO_STATE_ACTIVATE_REQ: status = connectBluetoothScoAudioHelper( @@ -715,7 +754,8 @@ public class BtHelper { case BluetoothProfile.LE_AUDIO_BROADCAST: AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent( "BT profile service: connecting " - + BluetoothProfile.getProfileName(profile) + " profile")); + + BluetoothProfile.getProfileName(profile) + + " profile").printLog(TAG)); mDeviceBroker.postBtProfileConnected(profile, proxy); break; @@ -734,7 +774,8 @@ public class BtHelper { case BluetoothProfile.LE_AUDIO_BROADCAST: AudioService.sDeviceLogger.enqueue(new EventLogger.StringEvent( "BT profile service: disconnecting " - + BluetoothProfile.getProfileName(profile) + " profile")); + + BluetoothProfile.getProfileName(profile) + + " profile").printLog(TAG)); mDeviceBroker.postBtProfileDisconnected(profile); break; diff --git a/services/core/java/com/android/server/audio/HardeningEnforcer.java b/services/core/java/com/android/server/audio/HardeningEnforcer.java index c7556dacb783..4ceb83b2e1c9 100644 --- a/services/core/java/com/android/server/audio/HardeningEnforcer.java +++ b/services/core/java/com/android/server/audio/HardeningEnforcer.java @@ -15,7 +15,7 @@ */ package com.android.server.audio; -import static com.android.media.audio.flags.Flags.autoPublicVolumeApiHardening; +import static android.media.audio.Flags.autoPublicVolumeApiHardening; import android.Manifest; import android.content.Context; diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java index 4538cad513d6..0629e6373b6e 100644 --- a/services/core/java/com/android/server/biometrics/AuthService.java +++ b/services/core/java/com/android/server/biometrics/AuthService.java @@ -39,6 +39,7 @@ import android.content.pm.PackageManager; import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.ComponentInfoInternal; +import android.hardware.biometrics.Flags; import android.hardware.biometrics.IAuthService; import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricService; @@ -333,6 +334,33 @@ public class AuthService extends SystemService { } @Override + public long getLastAuthenticationTime(int userId, + @Authenticators.Types int authenticators) throws RemoteException { + // Only allow internal clients to call getLastAuthenticationTime with a different + // userId. + final int callingUserId = UserHandle.getCallingUserId(); + + if (userId != callingUserId) { + checkInternalPermission(); + } else { + checkPermission(); + } + + final long identity = Binder.clearCallingIdentity(); + try { + // We can't do this above because we need the READ_DEVICE_CONFIG permission, which + // the calling user may not possess. + if (!Flags.lastAuthenticationTime()) { + throw new UnsupportedOperationException(); + } + + return mBiometricService.getLastAuthenticationTime(userId, authenticators); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + + @Override public boolean hasEnrolledBiometrics(int userId, String opPackageName) throws RemoteException { checkInternalPermission(); diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java index 1898b8015462..91a68ea67b3b 100644 --- a/services/core/java/com/android/server/biometrics/BiometricService.java +++ b/services/core/java/com/android/server/biometrics/BiometricService.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.USE_BIOMETRIC_INTERNAL; import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE; import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT; import static android.hardware.biometrics.BiometricManager.Authenticators; +import static android.hardware.biometrics.BiometricManager.BIOMETRIC_NO_AUTHENTICATION; import static com.android.server.biometrics.BiometricServiceStateProto.STATE_AUTH_IDLE; @@ -39,6 +40,7 @@ import android.hardware.SensorPrivacyManager; import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricPrompt; +import android.hardware.biometrics.Flags; import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricSensorReceiver; @@ -53,6 +55,7 @@ import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.camera2.CameraManager; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; +import android.hardware.security.keymint.HardwareAuthenticatorType; import android.net.Uri; import android.os.Binder; import android.os.Build; @@ -62,10 +65,16 @@ import android.os.IBinder; import android.os.Looper; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.ServiceSpecificException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; +import android.security.Authorization; +import android.security.GateKeeper; import android.security.KeyStore; +import android.security.authorization.IKeystoreAuthorization; +import android.security.authorization.ResponseCode; +import android.service.gatekeeper.IGateKeeperService; import android.text.TextUtils; import android.util.ArraySet; import android.util.Pair; @@ -79,6 +88,7 @@ import com.android.internal.statusbar.IStatusBarService; import com.android.internal.util.DumpUtils; import com.android.server.SystemService; import com.android.server.biometrics.log.BiometricContext; +import com.android.server.utils.Slogf; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -116,6 +126,10 @@ public class BiometricService extends SystemService { KeyStore mKeyStore; @VisibleForTesting ITrustManager mTrustManager; + @VisibleForTesting + IKeystoreAuthorization mKeystoreAuthorization; + @VisibleForTesting + IGateKeeperService mGateKeeper; // Get and cache the available biometric authenticators and their associated info. final ArrayList<BiometricSensor> mSensors = new ArrayList<>(); @@ -616,6 +630,64 @@ public class BiometricService extends SystemService { } @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL) + @Override // Binder call + public long getLastAuthenticationTime( + int userId, @Authenticators.Types int authenticators) { + super.getLastAuthenticationTime_enforcePermission(); + + if (!Flags.lastAuthenticationTime()) { + throw new UnsupportedOperationException(); + } + + Slogf.d(TAG, "getLastAuthenticationTime(userId=%d, authenticators=0x%x)", + userId, authenticators); + + final long secureUserId; + try { + secureUserId = mGateKeeper.getSecureUserId(userId); + } catch (RemoteException e) { + Slogf.w(TAG, "Failed to get secure user id for " + userId, e); + return BIOMETRIC_NO_AUTHENTICATION; + } + + if (secureUserId == GateKeeper.INVALID_SECURE_USER_ID) { + Slogf.w(TAG, "No secure user id for " + userId); + return BIOMETRIC_NO_AUTHENTICATION; + } + + ArrayList<Integer> hardwareAuthenticators = new ArrayList<>(2); + + if ((authenticators & Authenticators.DEVICE_CREDENTIAL) != 0) { + hardwareAuthenticators.add(HardwareAuthenticatorType.PASSWORD); + } + + if ((authenticators & Authenticators.BIOMETRIC_STRONG) != 0) { + hardwareAuthenticators.add(HardwareAuthenticatorType.FINGERPRINT); + } + + if (hardwareAuthenticators.isEmpty()) { + throw new IllegalArgumentException("authenticators must not be empty"); + } + + int[] authTypesArray = hardwareAuthenticators.stream() + .mapToInt(Integer::intValue) + .toArray(); + try { + return mKeystoreAuthorization.getLastAuthTime(secureUserId, authTypesArray); + } catch (RemoteException e) { + Slog.w(TAG, "Error getting last auth time: " + e); + return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; + } catch (ServiceSpecificException e) { + // This is returned when the feature flag test fails in keystore2 + if (e.errorCode == ResponseCode.PERMISSION_DENIED) { + throw new UnsupportedOperationException(); + } + + return BiometricConstants.BIOMETRIC_NO_AUTHENTICATION; + } + } + + @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL) @Override public boolean hasEnrolledBiometrics(int userId, String opPackageName) { @@ -937,6 +1009,14 @@ public class BiometricService extends SystemService { return ActivityManager.getService(); } + public IKeystoreAuthorization getKeystoreAuthorizationService() { + return Authorization.getService(); + } + + public IGateKeeperService getGateKeeperService() { + return GateKeeper.getService(); + } + public ITrustManager getTrustManager() { return ITrustManager.Stub.asInterface(ServiceManager.getService(Context.TRUST_SERVICE)); } @@ -1050,6 +1130,8 @@ public class BiometricService extends SystemService { mBiometricContext = injector.getBiometricContext(context); mUserManager = injector.getUserManager(context); mBiometricCameraManager = injector.getBiometricCameraManager(context); + mKeystoreAuthorization = injector.getKeystoreAuthorizationService(); + mGateKeeper = injector.getGateKeeperService(); try { injector.getActivityManagerService().registerUserSwitchObserver( diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index e475fe63746d..ff12ca2de766 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -102,6 +102,7 @@ import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionManager; import android.net.Uri; import android.os.Binder; +import android.os.Build; import android.os.Handler; import android.os.HandlerExecutor; import android.os.IBinder; @@ -239,6 +240,10 @@ public final class DisplayManagerService extends SystemService { private static final String FORCE_WIFI_DISPLAY_ENABLE = "persist.debug.wfd.enable"; private static final String PROP_DEFAULT_DISPLAY_TOP_INSET = "persist.sys.displayinset.top"; + + @VisibleForTesting + static final String ENABLE_ON_CONNECT = + "persist.sys.display.enable_on_connect.external"; private static final long WAIT_FOR_DEFAULT_DISPLAY_TIMEOUT = 10000; // This value needs to be in sync with the threshold // in RefreshRateConfigs::getFrameRateDivisor. @@ -1530,8 +1535,8 @@ public final class DisplayManagerService extends SystemService { 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. In order to create a virtual display that does not perform" - + "screen sharing (mirroring), please use the flag" + + "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."); } } @@ -1942,10 +1947,14 @@ public final class DisplayManagerService extends SystemService { } setupLogicalDisplay(display); - // TODO(b/292196201) Remove when the display can be disabled before DPC is created. if (display.getDisplayInfoLocked().type == Display.TYPE_EXTERNAL) { - display.setEnabledLocked(false); + if ((Build.IS_ENG || Build.IS_USERDEBUG) + && SystemProperties.getBoolean(ENABLE_ON_CONNECT, false)) { + Slog.w(TAG, "External display is enabled by default, bypassing user consent."); + } else { + display.setEnabledLocked(false); + } } sendDisplayEventLocked(display, DisplayManagerGlobal.EVENT_DISPLAY_CONNECTED); diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java index 3cf0786b7e28..330818ed17ca 100644 --- a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java +++ b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java @@ -27,6 +27,7 @@ import android.content.Intent; import android.content.ServiceConnection; import android.media.IMediaRoute2ProviderService; import android.media.IMediaRoute2ProviderServiceCallback; +import android.media.MediaRoute2Info; import android.media.MediaRoute2ProviderInfo; import android.media.MediaRoute2ProviderService; import android.media.RouteDiscoveryPreference; @@ -641,6 +642,15 @@ final class MediaRoute2ProviderServiceProxy extends MediaRoute2Provider @Override public void notifyProviderUpdated(MediaRoute2ProviderInfo providerInfo) { + for (MediaRoute2Info route : providerInfo.getRoutes()) { + if (route.isSystemRoute()) { + throw new SecurityException( + "Only the system is allowed to publish system routes. " + + "Disallowed route: " + + route); + } + } + Connection connection = mConnectionRef.get(); if (connection != null) { connection.postProviderUpdated(providerInfo); diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index b2f00a246c23..1bdd402cf0b5 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -128,12 +128,12 @@ import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.server.am.PendingIntentRecord.FLAG_ACTIVITY_SENDER; import static com.android.server.am.PendingIntentRecord.FLAG_BROADCAST_SENDER; import static com.android.server.am.PendingIntentRecord.FLAG_SERVICE_SENDER; +import static com.android.server.notification.Flags.expireBitmaps; import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_ANIM_BUFFER; import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_TIMEOUT; import static com.android.server.utils.PriorityDump.PRIORITY_ARG; import static com.android.server.utils.PriorityDump.PRIORITY_ARG_CRITICAL; import static com.android.server.utils.PriorityDump.PRIORITY_ARG_NORMAL; -import static com.android.server.notification.Flags.expireBitmaps; import android.Manifest; import android.Manifest.permission; @@ -178,7 +178,6 @@ import android.app.compat.CompatChanges; import android.app.role.OnRoleHoldersChangedListener; import android.app.role.RoleManager; import android.app.usage.UsageEvents; -import android.app.usage.UsageStatsManager; import android.app.usage.UsageStatsManagerInternal; import android.companion.ICompanionDeviceManager; import android.compat.annotation.ChangeId; @@ -206,8 +205,6 @@ import android.content.pm.UserInfo; import android.content.pm.VersionedPackage; import android.content.res.Resources; import android.database.ContentObserver; -import android.graphics.Bitmap; -import android.graphics.drawable.Icon; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioManagerInternal; @@ -320,7 +317,6 @@ import com.android.server.SystemService; import com.android.server.job.JobSchedulerInternal; import com.android.server.lights.LightsManager; import com.android.server.lights.LogicalLight; -import com.android.server.notification.Flags; import com.android.server.notification.ManagedServices.ManagedServiceInfo; import com.android.server.notification.ManagedServices.UserProfiles; import com.android.server.notification.toast.CustomToastRecord; @@ -1935,7 +1931,7 @@ public class NotificationManagerService extends SystemService { } else if ( isProfileUnavailable(action)) { int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1); - if (userHandle >= 0 && !mDpm.isKeepProfilesRunningEnabled()) { + if (userHandle >= 0) { cancelAllNotificationsInt(MY_UID, MY_PID, null, null, 0, 0, userHandle, REASON_PROFILE_TURNED_OFF); mSnoozeHelper.clearData(userHandle); diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index 2951ef630eb3..a52870e17b16 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -112,6 +112,7 @@ import android.content.IntentSender; import android.content.pm.ApplicationInfo; import android.content.pm.ArchivedPackageParcel; import android.content.pm.DataLoaderType; +import android.content.pm.Flags; import android.content.pm.PackageInfo; import android.content.pm.PackageInfoLite; import android.content.pm.PackageInstaller; @@ -159,6 +160,7 @@ import com.android.internal.util.CollectionUtils; import com.android.server.EventLogTags; import com.android.server.LocalManagerRegistry; import com.android.server.SystemConfig; +import com.android.server.art.model.ArtFlags; import com.android.server.art.model.DexoptParams; import com.android.server.art.model.DexoptResult; import com.android.server.pm.Installer.LegacyDexoptDisabledException; @@ -2524,8 +2526,15 @@ final class InstallPackageHelper { LocalManagerRegistry.getManager(PackageManagerLocal.class); try (PackageManagerLocal.FilteredSnapshot snapshot = packageManagerLocal.withFilteredSnapshot()) { - DexoptParams params = - dexoptOptions.convertToDexoptParams(0 /* extraFlags */); + boolean ignoreDexoptProfile = + (installRequest.getInstallFlags() + & PackageManager.INSTALL_IGNORE_DEXOPT_PROFILE) + != 0; + /*@DexoptFlags*/ int extraFlags = + ignoreDexoptProfile && Flags.useArtServiceV2() + ? ArtFlags.FLAG_IGNORE_PROFILE + : 0; + DexoptParams params = dexoptOptions.convertToDexoptParams(extraFlags); DexoptResult dexOptResult = DexOptHelper.getArtManagerLocal().dexoptPackage( snapshot, packageName, params); installRequest.onDexoptFinished(dexOptResult); diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index 4ed31636ad56..d5471cb01527 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -24,6 +24,7 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.content.Context; import android.content.pm.PackageStats; +import android.os.Binder; import android.os.Build; import android.os.CreateAppDataArgs; import android.os.CreateAppDataResult; @@ -35,9 +36,11 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.storage.CrateMetadata; import android.text.format.DateUtils; +import android.util.EventLog; import android.util.Slog; import com.android.internal.os.BackgroundThread; +import com.android.server.EventLogTags; import com.android.server.SystemService; import dalvik.system.BlockGuard; @@ -441,6 +444,26 @@ public class Installer extends SystemService { if (!checkBeforeRemote()) return; try { mInstalld.clearAppData(uuid, packageName, userId, flags, ceDataInode); + + final StackTraceElement[] elements = Thread.currentThread().getStackTrace(); + String className; + String methodName; + String fileName; + int lineNumber; + final int pid = Binder.getCallingPid(); + final int uid = Binder.getCallingUid(); + EventLog.writeEvent(EventLogTags.INSTALLER_CLEAR_APP_DATA_CALLER, pid, uid, packageName, + flags); + // Skip the first two elements since they are always the same, ie + // Thread#getStackTrace() and VMStack#getThreadStackTrace() + for (int i = 2; i < elements.length; i++) { + className = elements[i].getClassName(); + methodName = elements[i].getMethodName(); + fileName = elements[i].getFileName(); + lineNumber = elements[i].getLineNumber(); + EventLog.writeEvent(EventLogTags.INSTALLER_CLEAR_APP_DATA_CALL_STACK, methodName, + className, fileName, lineNumber); + } } catch (Exception e) { throw InstallerException.from(e); } diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 305e3536ad25..a4d8632ac077 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -58,6 +58,7 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.ParceledListSlice; import android.content.pm.VersionedPackage; +import android.content.pm.parsing.FrameworkParsingPackageUtils; import android.graphics.Bitmap; import android.net.Uri; import android.os.Binder; @@ -666,17 +667,22 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements // App package name and label length is restricted so that really long strings aren't // written to disk. - if (params.appPackageName != null - && params.appPackageName.length() > SessionParams.MAX_PACKAGE_NAME_LENGTH) { + if (params.appPackageName != null && !isValidPackageName(params.appPackageName)) { params.appPackageName = null; } params.appLabel = TextUtils.trimToSize(params.appLabel, PackageItemInfo.MAX_SAFE_LABEL_LENGTH); - String requestedInstallerPackageName = (params.installerPackageName != null - && params.installerPackageName.length() < SessionParams.MAX_PACKAGE_NAME_LENGTH) - ? params.installerPackageName : installerPackageName; + // Validate installer package name. + if (params.installerPackageName != null && !isValidPackageName( + params.installerPackageName)) { + params.installerPackageName = null; + } + + var requestedInstallerPackageName = + params.installerPackageName != null ? params.installerPackageName + : installerPackageName; if (PackageManagerServiceUtils.isRootOrShell(callingUid) || PackageInstallerSession.isSystemDataLoaderInstallation(params) @@ -1105,6 +1111,19 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements return Integer.parseInt(sessionId); } + private static boolean isValidPackageName(@NonNull String packageName) { + if (packageName.length() > SessionParams.MAX_PACKAGE_NAME_LENGTH) { + return false; + } + // "android" is a valid package name + var errorMessage = FrameworkParsingPackageUtils.validateName( + packageName, /* requireSeparator= */ false, /* requireFilename */ true); + if (errorMessage != null) { + return false; + } + return true; + } + private File getTmpSessionDir(String volumeUuid) { return Environment.getDataAppDirectory(volumeUuid); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 638bcbe5822c..e5f7962e254c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2085,8 +2085,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mUserNeedsBadging, () -> mResolveInfo, () -> mInstantAppInstallerActivity, injector.getBackgroundHandler()); mDexOptHelper = new DexOptHelper(this); - mSuspendPackageHelper = new SuspendPackageHelper(this, mInjector, mUserManager, - mBroadcastHelper, mProtectedPackages); + mSuspendPackageHelper = new SuspendPackageHelper(this, mInjector, mBroadcastHelper, + mProtectedPackages); mDistractingPackageHelper = new DistractingPackageHelper(this, mBroadcastHelper, mSuspendPackageHelper); mStorageEventHelper = new StorageEventHelper(this, mDeletePackageHelper, @@ -4658,6 +4658,9 @@ public class PackageManagerService implements PackageSender, TestUtilityService throw new SecurityException("Cannot clear data for a protected package: " + packageName); } + final int callingPid = Binder.getCallingPid(); + EventLog.writeEvent(EventLogTags.PM_CLEAR_APP_DATA_CALLER, callingPid, callingUid, + packageName); // Queue up an async operation since the package deletion may take a little while. mHandler.post(new Runnable() { @@ -4791,6 +4794,9 @@ public class PackageManagerService implements PackageSender, TestUtilityService /* checkShell= */ false, "delete application cache files"); final int hasAccessInstantApps = mContext.checkCallingOrSelfPermission( android.Manifest.permission.ACCESS_INSTANT_APPS); + final int callingPid = Binder.getCallingPid(); + EventLog.writeEvent(EventLogTags.PM_CLEAR_APP_DATA_CALLER, callingPid, callingUid, + packageName); // Queue up an async operation since the package deletion may take a little while. mHandler.post(() -> { @@ -6145,7 +6151,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } return mSuspendPackageHelper.setPackagesSuspended(snapshot, packageNames, suspended, appExtras, launcherExtras, dialogInfo, callingPackage, userId, callingUid, - false /* forQuietMode */, quarantined); + quarantined); } @Override @@ -6602,12 +6608,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override - public void setPackagesSuspendedForQuietMode(int userId, boolean suspended) { - mSuspendPackageHelper.setPackagesSuspendedForQuietMode( - snapshotComputer(), userId, suspended); - } - - @Override public void setDeviceAndProfileOwnerPackages( int deviceOwnerUserId, String deviceOwnerPackage, SparseArray<String> profileOwnerPackages) { diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java index 7264e2eff4aa..d4abad8499f2 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java @@ -3703,6 +3703,9 @@ class PackageManagerShellCommand extends ShellCommand { sessionParams.installFlags |= PackageManager.INSTALL_BYPASS_LOW_TARGET_SDK_BLOCK; break; + case "--ignore-dexopt-profile": + sessionParams.installFlags |= PackageManager.INSTALL_IGNORE_DEXOPT_PROFILE; + break; default: throw new IllegalArgumentException("Unknown option " + opt); } @@ -4799,7 +4802,7 @@ class PackageManagerShellCommand extends ShellCommand { pw.println(" [--enable-rollback]"); pw.println(" [--force-uuid internal|UUID] [--pkg PACKAGE] [-S BYTES]"); pw.println(" [--apex] [--non-staged] [--force-non-staged]"); - pw.println(" [--staged-ready-timeout TIMEOUT]"); + pw.println(" [--staged-ready-timeout TIMEOUT] [--ignore-dexopt-profile]"); pw.println(" [PATH [SPLIT...]|-]"); pw.println(" Install an application. Must provide the apk data to install, either as"); pw.println(" file path(s) or '-' to read from stdin. Options are:"); @@ -4839,6 +4842,13 @@ class PackageManagerShellCommand extends ShellCommand { pw.println(" milliseconds for pre-reboot verification to complete when"); pw.println(" performing staged install. This flag is used to alter the waiting"); pw.println(" time. You can skip the waiting time by specifying a TIMEOUT of '0'"); + pw.println(" --ignore-dexopt-profile: If set, all profiles are ignored by dexopt"); + pw.println(" during the installation, including the profile in the DM file and"); + pw.println(" the profile embedded in the APK file. If an invalid profile is"); + pw.println(" provided during installation, no warning will be reported by `adb"); + pw.println(" install`."); + pw.println(" This option does not affect later dexopt operations (e.g.,"); + pw.println(" background dexopt and manual `pm compile` invocations)."); pw.println(""); pw.println(" install-existing [--user USER_ID|all|current]"); pw.println(" [--instant] [--full] [--wait] [--restrict-permissions] PACKAGE"); diff --git a/services/core/java/com/android/server/pm/SuspendPackageHelper.java b/services/core/java/com/android/server/pm/SuspendPackageHelper.java index e8cebefb8631..71f6c0d507d4 100644 --- a/services/core/java/com/android/server/pm/SuspendPackageHelper.java +++ b/services/core/java/com/android/server/pm/SuspendPackageHelper.java @@ -16,8 +16,6 @@ package com.android.server.pm; -import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; -import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.os.Process.SYSTEM_UID; import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME; @@ -27,9 +25,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.AppOpsManager; -import android.app.admin.DevicePolicyManagerInternal; import android.content.Intent; -import android.content.pm.PackageInfo; import android.content.pm.SuspendDialogInfo; import android.os.Binder; import android.os.Bundle; @@ -45,7 +41,6 @@ import android.util.Slog; import com.android.internal.util.ArrayUtils; import com.android.internal.util.CollectionUtils; -import com.android.server.LocalServices; import com.android.server.pm.pkg.AndroidPackage; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.pkg.PackageUserStateInternal; @@ -54,10 +49,8 @@ import com.android.server.pm.pkg.mutate.PackageUserStateWrite; import com.android.server.utils.WatchedArrayMap; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.Set; import java.util.function.Predicate; public final class SuspendPackageHelper { @@ -68,7 +61,6 @@ public final class SuspendPackageHelper { private final PackageManagerService mPm; private final PackageManagerServiceInjector mInjector; - private final UserManagerService mUserManager; private final BroadcastHelper mBroadcastHelper; private final ProtectedPackages mProtectedPackages; @@ -76,10 +68,8 @@ public final class SuspendPackageHelper { * Constructor for {@link PackageManagerService}. */ SuspendPackageHelper(PackageManagerService pm, PackageManagerServiceInjector injector, - UserManagerService userManager, BroadcastHelper broadcastHelper, - ProtectedPackages protectedPackages) { + BroadcastHelper broadcastHelper, ProtectedPackages protectedPackages) { mPm = pm; - mUserManager = userManager; mInjector = injector; mBroadcastHelper = broadcastHelper; mProtectedPackages = protectedPackages; @@ -102,7 +92,6 @@ public final class SuspendPackageHelper { * @param callingPackage The caller's package name. * @param userId The user where packages reside. * @param callingUid The caller's uid. - * @param forQuietMode Whether suspension is for quiet mode, in which case no apps are exempt. * @return The names of failed packages. */ @Nullable @@ -110,11 +99,11 @@ public final class SuspendPackageHelper { boolean suspended, @Nullable PersistableBundle appExtras, @Nullable PersistableBundle launcherExtras, @Nullable SuspendDialogInfo dialogInfo, @NonNull String callingPackage, @UserIdInt int userId, int callingUid, - boolean forQuietMode, boolean quarantined) { + boolean quarantined) { if (ArrayUtils.isEmpty(packageNames)) { return packageNames; } - if (suspended && !quarantined && !forQuietMode && !isSuspendAllowedForUser(snapshot, userId, + if (suspended && !quarantined && !isSuspendAllowedForUser(snapshot, userId, callingUid)) { Slog.w(TAG, "Cannot suspend due to restrictions on user " + userId); return packageNames; @@ -130,7 +119,7 @@ public final class SuspendPackageHelper { final ArraySet<String> changedPackagesList = new ArraySet<>(packageNames.length); final IntArray changedUids = new IntArray(packageNames.length); - final boolean[] canSuspend = suspended && !forQuietMode + final boolean[] canSuspend = suspended ? canSuspendPackageForUser(snapshot, packageNames, userId, callingUid) : null; for (int i = 0; i < packageNames.length; i++) { @@ -620,92 +609,10 @@ public final class SuspendPackageHelper { */ public String[] setPackagesSuspendedByAdmin( Computer snapshot, int userId, String[] packageNames, boolean suspend) { - final Set<String> toSuspend = new ArraySet<>(packageNames); - List<String> unsuspendable = new ArrayList<>(); - - if (mUserManager.isQuietModeEnabled(userId)) { - // If the user is in quiet mode, most apps will already be suspended, we shouldn't - // re-suspend or unsuspend them. - final Set<String> quiet = packagesToSuspendInQuietMode(snapshot, userId); - quiet.retainAll(toSuspend); - if (!quiet.isEmpty()) { - Slog.i(TAG, "Ignoring quiet packages: " + String.join(", ", quiet)); - toSuspend.removeAll(quiet); - } - - // Some of the already suspended packages might not be suspendable by the admin - // (e.g. current dialer package), we need to report it back as unsuspendable the same - // way as if quiet mode wasn't enabled. In that latter case they'd be returned by - // setPackagesSuspended below after unsuccessful attempt to suspend them. - if (suspend) { - unsuspendable = getUnsuspendablePackages(snapshot, userId, quiet); - } - } - if (!toSuspend.isEmpty()) { - unsuspendable.addAll(Arrays.asList( - setPackagesSuspended( - snapshot, toSuspend.toArray(new String[0]), suspend, - null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, - PackageManagerService.PLATFORM_PACKAGE_NAME, userId, Process.SYSTEM_UID, - false /* forQuietMode */, false /* quarantined */))); - } - return unsuspendable.toArray(String[]::new); - } - - private List<String> getUnsuspendablePackages( - Computer snapshot, int userId, Set<String> packages) { - final String[] toSuspendArray = packages.toArray(String[]::new); - final boolean[] mask = - canSuspendPackageForUser(snapshot, toSuspendArray, userId, Process.SYSTEM_UID); - final List<String> result = new ArrayList<>(); - for (int i = 0; i < mask.length; i++) { - if (!mask[i]) { - result.add(toSuspendArray[i]); - } - } - return result; - } - - /** - * Suspends or unsuspends all packages in the given user when quiet mode is toggled to prevent - * usage while quiet mode is enabled. - */ - public void setPackagesSuspendedForQuietMode( - Computer snapshot, int userId, boolean suspend) { - final Set<String> toSuspend = packagesToSuspendInQuietMode(snapshot, userId); - if (!suspend) { - final DevicePolicyManagerInternal dpm = - LocalServices.getService(DevicePolicyManagerInternal.class); - if (dpm != null) { - toSuspend.removeAll(dpm.getPackagesSuspendedByAdmin(userId)); - } else { - Slog.wtf(TAG, - "DevicePolicyManager unavailable while suspending apps for quiet mode"); - } - } - - if (toSuspend.isEmpty()) { - return; - } - - setPackagesSuspended(snapshot, toSuspend.toArray(new String[0]), - suspend, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, + return setPackagesSuspended(snapshot, packageNames, suspend, + null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, PackageManagerService.PLATFORM_PACKAGE_NAME, userId, Process.SYSTEM_UID, - true /* forQuietMode */, false /* quarantined */); - } - - private Set<String> packagesToSuspendInQuietMode(Computer snapshot, int userId) { - final List<PackageInfo> pkgInfos = snapshot.getInstalledPackages( - MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, userId).getList(); - final Set<String> result = new ArraySet<>(); - for (PackageInfo info : pkgInfos) { - result.add(info.packageName); - } - - // Role holder may be null, but ArraySet handles it correctly. - result.remove(mPm.getDevicePolicyManagementRoleHolderPackageName(userId)); - - return result; + false /* quarantined */); } private String getKnownPackageName(@NonNull Computer snapshot, diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index c97fbdad9bf4..81a570f0e7a5 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -46,7 +46,6 @@ import android.annotation.UserIdInt; import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.ActivityManagerNative; -import android.app.AppOpsManager; import android.app.BroadcastOptions; import android.app.IActivityManager; import android.app.IStopUserCallback; @@ -55,7 +54,6 @@ import android.app.PendingIntent; import android.app.StatsManager; import android.app.admin.DevicePolicyEventLogger; import android.app.admin.DevicePolicyManagerInternal; -import android.app.trust.TrustManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.IIntentReceiver; @@ -302,19 +300,6 @@ public class UserManagerService extends IUserManager.Stub { private static final String TRON_USER_CREATED = "users_user_created"; private static final String TRON_DEMO_CREATED = "users_demo_created"; - // App ops that should be restricted in quiet mode - private static final int[] QUIET_MODE_RESTRICTED_APP_OPS = { - AppOpsManager.OP_COARSE_LOCATION, - AppOpsManager.OP_FINE_LOCATION, - AppOpsManager.OP_GPS, - AppOpsManager.OP_BODY_SENSORS, - AppOpsManager.OP_ACTIVITY_RECOGNITION, - AppOpsManager.OP_BLUETOOTH_SCAN, - AppOpsManager.OP_NEARBY_WIFI_DEVICES, - AppOpsManager.OP_RECORD_AUDIO, - AppOpsManager.OP_CAMERA, - }; - private final Context mContext; private final PackageManagerService mPm; @@ -339,7 +324,6 @@ public class UserManagerService extends IUserManager.Stub { private final File mUserListFile; private final IBinder mUserRestrictionToken = new Binder(); - private final IBinder mQuietModeToken = new Binder(); /** Installs system packages based on user-type. */ private final UserSystemPackageInstaller mSystemPackageInstaller; @@ -702,7 +686,6 @@ public class UserManagerService extends IUserManager.Stub { @Override public void onUserStarting(@NonNull TargetUser targetUser) { - boolean isProfileInQuietMode = false; synchronized (mUms.mUsersLock) { final UserData user = mUms.getUserDataLU(targetUser.getUserIdentifier()); if (user != null) { @@ -710,14 +693,9 @@ public class UserManagerService extends IUserManager.Stub { if (targetUser.getUserIdentifier() == UserHandle.USER_SYSTEM && targetUser.isFull()) { mUms.setLastEnteredForegroundTimeToNow(user); - } else if (user.info.isManagedProfile() && user.info.isQuietModeEnabled()) { - isProfileInQuietMode = true; } } } - if (isProfileInQuietMode) { - mUms.setAppOpsRestrictedForQuietMode(targetUser.getUserIdentifier(), true); - } } @Override @@ -1516,43 +1494,21 @@ public class UserManagerService extends IUserManager.Stub { synchronized (mPackagesLock) { writeUserLP(profileUserData); } - if (getDevicePolicyManagerInternal().isKeepProfilesRunningEnabled()) { - // New behavior: when quiet mode is enabled, profile user is running, but apps are - // suspended. - getPackageManagerInternal().setPackagesSuspendedForQuietMode(userId, enableQuietMode); - setAppOpsRestrictedForQuietMode(userId, enableQuietMode); - if (enableQuietMode - && !mLockPatternUtils.isManagedProfileWithUnifiedChallenge(userId)) { - mContext.getSystemService(TrustManager.class).setDeviceLockedForUser(userId, true); - } - - if (!enableQuietMode && target != null) { - try { - mContext.startIntentSender(target, null, 0, 0, 0); - } catch (IntentSender.SendIntentException e) { - Slog.e(LOG_TAG, "Failed to start intent after disabling quiet mode", e); - } - } - } else { - // Old behavior: when quiet is enabled, profile user is stopped. - // Old quiet mode behavior: profile user is stopped. - // TODO(b/265683382) Remove once rollout complete. - try { - if (enableQuietMode) { - ActivityManager.getService().stopUser(userId, /* force= */ true, null); - LocalServices.getService(ActivityManagerInternal.class) - .killForegroundAppsForUser(userId); - } else { - IProgressListener callback = target != null - ? new DisableQuietModeUserUnlockedCallback(target) - : null; - ActivityManager.getService().startProfileWithListener(userId, callback); - } - } catch (RemoteException e) { - // Should not happen, same process. - e.rethrowAsRuntimeException(); + try { + if (enableQuietMode) { + ActivityManager.getService().stopUser(userId, /* force= */ true, null); + LocalServices.getService(ActivityManagerInternal.class) + .killForegroundAppsForUser(userId); + } else { + IProgressListener callback = target != null + ? new DisableQuietModeUserUnlockedCallback(target) + : null; + ActivityManager.getService().startProfileWithListener(userId, callback); } + } catch (RemoteException e) { + // Should not happen, same process. + e.rethrowAsRuntimeException(); } logQuietModeEnabled(userId, enableQuietMode, callingPackage); @@ -1569,17 +1525,6 @@ public class UserManagerService extends IUserManager.Stub { } } - private void setAppOpsRestrictedForQuietMode(@UserIdInt int userId, boolean restrict) { - for (int opCode : QUIET_MODE_RESTRICTED_APP_OPS) { - try { - mAppOpsService.setUserRestriction( - opCode, restrict, mQuietModeToken, userId, /* excludedPackageTags= */ null); - } catch (RemoteException e) { - Slog.w(LOG_TAG, "Unable to limit app ops", e); - } - } - } - private void logQuietModeEnabled(@UserIdInt int userId, boolean enableQuietMode, @Nullable String callingPackage) { Slogf.i(LOG_TAG, diff --git a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java index 2ad8bcf4739e..9e20805c2874 100644 --- a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java +++ b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java @@ -379,10 +379,7 @@ public class PackageInfoUtils { ai.privateFlags |= flag(state.isInstantApp(), ApplicationInfo.PRIVATE_FLAG_INSTANT) | flag(state.isVirtualPreload(), ApplicationInfo.PRIVATE_FLAG_VIRTUAL_PRELOAD) | flag(state.isHidden(), ApplicationInfo.PRIVATE_FLAG_HIDDEN); - if ((flags & PackageManager.MATCH_QUARANTINED_COMPONENTS) == 0 - && state.isQuarantined()) { - ai.enabled = false; - } else if (state.getEnabledState() == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { + if (state.getEnabledState() == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { ai.enabled = true; } else if (state.getEnabledState() == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) { 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 a6558e07b2aa..eea13f179b9e 100644 --- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java @@ -14575,9 +14575,10 @@ public class BatteryStatsImpl extends BatteryStats { mModStepMode = 0; } } else { - if (level >= 90) { - // If the battery level is at least 90%, always consider the device to be - // charging even if it happens to go down a level. + if (level >= mConstants.BATTERY_CHARGING_ENFORCE_LEVEL) { + // If the battery level is at least Constants.BATTERY_CHARGING_ENFORCE_LEVEL, + // always consider the device to be charging even if it happens to go down a + // level. changed |= setChargingLocked(true); } else if (!mCharging) { if (mLastChargeStepLevel < level) { @@ -15313,6 +15314,8 @@ public class BatteryStatsImpl extends BatteryStats { public static final String KEY_MAX_HISTORY_BUFFER_KB = "max_history_buffer_kb"; public static final String KEY_BATTERY_CHARGED_DELAY_MS = "battery_charged_delay_ms"; + public static final String KEY_BATTERY_CHARGING_ENFORCE_LEVEL = + "battery_charging_enforce_level"; public static final String KEY_PER_UID_MODEM_POWER_MODEL = "per_uid_modem_power_model"; public static final String KEY_PHONE_ON_EXTERNAL_STATS_COLLECTION = @@ -15363,6 +15366,7 @@ public class BatteryStatsImpl extends BatteryStats { private static final int DEFAULT_MAX_HISTORY_FILES_LOW_RAM_DEVICE = 64; private static final int DEFAULT_MAX_HISTORY_BUFFER_LOW_RAM_DEVICE_KB = 64; /*Kilo Bytes*/ private static final int DEFAULT_BATTERY_CHARGED_DELAY_MS = 900000; /* 15 min */ + private static final int DEFAULT_BATTERY_CHARGING_ENFORCE_LEVEL = 90; @PerUidModemPowerModel private static final int DEFAULT_PER_UID_MODEM_MODEL = PER_UID_MODEM_POWER_MODEL_MODEM_ACTIVITY_INFO_RX_TX; @@ -15384,6 +15388,7 @@ public class BatteryStatsImpl extends BatteryStats { public int MAX_HISTORY_FILES; public int MAX_HISTORY_BUFFER; /*Bytes*/ public int BATTERY_CHARGED_DELAY_MS = DEFAULT_BATTERY_CHARGED_DELAY_MS; + public int BATTERY_CHARGING_ENFORCE_LEVEL = DEFAULT_BATTERY_CHARGING_ENFORCE_LEVEL; public int PER_UID_MODEM_MODEL = DEFAULT_PER_UID_MODEM_MODEL; public boolean PHONE_ON_EXTERNAL_STATS_COLLECTION = DEFAULT_PHONE_ON_EXTERNAL_STATS_COLLECTION; @@ -15412,6 +15417,9 @@ public class BatteryStatsImpl extends BatteryStats { mResolver.registerContentObserver( Settings.Global.getUriFor(Settings.Global.BATTERY_CHARGING_STATE_UPDATE_DELAY), false /* notifyForDescendants */, this); + mResolver.registerContentObserver(Settings.Global.getUriFor( + Settings.Global.BATTERY_CHARGING_STATE_ENFORCE_LEVEL), + false /* notifyForDescendants */, this); updateConstants(); } @@ -15424,6 +15432,12 @@ public class BatteryStatsImpl extends BatteryStats { updateBatteryChargedDelayMsLocked(); } return; + } else if (uri.equals(Settings.Global.getUriFor( + Settings.Global.BATTERY_CHARGING_STATE_ENFORCE_LEVEL))) { + synchronized (BatteryStatsImpl.this) { + updateBatteryChargingEnforceLevelLocked(); + } + return; } updateConstants(); } @@ -15477,6 +15491,7 @@ public class BatteryStatsImpl extends BatteryStats { DEFAULT_RESET_WHILE_PLUGGED_IN_MINIMUM_DURATION_HOURS); updateBatteryChargedDelayMsLocked(); + updateBatteryChargingEnforceLevelLocked(); onChange(); } @@ -15507,6 +15522,21 @@ public class BatteryStatsImpl extends BatteryStats { } } + private void updateBatteryChargingEnforceLevelLocked() { + int lastChargingEnforceLevel = BATTERY_CHARGING_ENFORCE_LEVEL; + final int level = Settings.Global.getInt(mResolver, + Settings.Global.BATTERY_CHARGING_STATE_ENFORCE_LEVEL, + -1); + + BATTERY_CHARGING_ENFORCE_LEVEL = level >= 0 ? level : mParser.getInt( + KEY_BATTERY_CHARGING_ENFORCE_LEVEL, DEFAULT_BATTERY_CHARGING_ENFORCE_LEVEL); + + if (BATTERY_CHARGING_ENFORCE_LEVEL <= mLastChargeStepLevel + && mLastChargeStepLevel < lastChargingEnforceLevel) { + setChargingLocked(true); + } + } + private void updateKernelUidReadersThrottleTime(long oldTimeMs, long newTimeMs) { KERNEL_UID_READERS_THROTTLE_TIME = newTimeMs; if (oldTimeMs != newTimeMs) { @@ -15541,6 +15571,8 @@ public class BatteryStatsImpl extends BatteryStats { pw.println(MAX_HISTORY_BUFFER/1024); pw.print(KEY_BATTERY_CHARGED_DELAY_MS); pw.print("="); pw.println(BATTERY_CHARGED_DELAY_MS); + pw.print(KEY_BATTERY_CHARGING_ENFORCE_LEVEL); pw.print("="); + pw.println(BATTERY_CHARGING_ENFORCE_LEVEL); pw.print(KEY_PER_UID_MODEM_POWER_MODEL); pw.print("="); pw.println(getPerUidModemModelName(PER_UID_MODEM_MODEL)); pw.print(KEY_PHONE_ON_EXTERNAL_STATS_COLLECTION); pw.print("="); diff --git a/services/core/java/com/android/server/storage/StorageSessionController.java b/services/core/java/com/android/server/storage/StorageSessionController.java index 4ebd402863c5..5fd787a1f88c 100644 --- a/services/core/java/com/android/server/storage/StorageSessionController.java +++ b/services/core/java/com/android/server/storage/StorageSessionController.java @@ -126,10 +126,10 @@ public final class StorageSessionController { connection = new StorageUserConnection(mContext, userId, this); mConnections.put(userId, connection); } - Slog.i(TAG, "Creating and starting session with id: " + sessionId); - connection.startSession(sessionId, deviceFd, vol.getPath().getPath(), - vol.getInternalPath().getPath()); } + Slog.i(TAG, "Creating and starting session with id: " + sessionId); + connection.startSession(sessionId, deviceFd, vol.getPath().getPath(), + vol.getInternalPath().getPath()); } /** diff --git a/services/core/java/com/android/server/testharness/TestHarnessModeService.java b/services/core/java/com/android/server/testharness/TestHarnessModeService.java index 9a9b83602832..1f884baf13a1 100644 --- a/services/core/java/com/android/server/testharness/TestHarnessModeService.java +++ b/services/core/java/com/android/server/testharness/TestHarnessModeService.java @@ -71,6 +71,7 @@ import java.util.Set; public class TestHarnessModeService extends SystemService { public static final String TEST_HARNESS_MODE_PROPERTY = "persist.sys.test_harness"; private static final String TAG = TestHarnessModeService.class.getSimpleName(); + private boolean mEnableKeepMemtagMode = false; private PersistentDataBlockManagerInternal mPersistentDataBlockManagerInternal; @@ -298,6 +299,18 @@ public class TestHarnessModeService extends SystemService { switch (cmd) { case "enable": case "restore": + String opt; + while ((opt = getNextOption()) != null) { + switch (opt) { + case "--keep-memtag": + mEnableKeepMemtagMode = true; + break; + default: + getErrPrintWriter().println("Invalid option: " + opt); + return 1; + } + } + checkPermissions(); final long originalId = Binder.clearCallingIdentity(); try { @@ -357,6 +370,7 @@ public class TestHarnessModeService extends SystemService { i.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); i.putExtra(Intent.EXTRA_REASON, TAG); i.putExtra(Intent.EXTRA_WIPE_EXTERNAL_STORAGE, true); + i.putExtra("keep_memtag_mode", mEnableKeepMemtagMode); getContext().sendBroadcastAsUser(i, UserHandle.SYSTEM); return 0; } diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index b428ed22f94e..d6637e18afd3 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2448,7 +2448,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final int typeParameter = StartingSurfaceController .makeStartingWindowTypeParameter(newTask, taskSwitch, processRunning, allowTaskSnapshot, activityCreated, isSimple, useLegacy, activityAllDrawn, - type, packageName, mUserId); + type, isIconStylePreferred(resolvedTheme), packageName, mUserId); if (type == STARTING_WINDOW_TYPE_SNAPSHOT) { if (isActivityTypeHome()) { diff --git a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java index 25c42b4858a4..f9d344bd7e31 100644 --- a/services/core/java/com/android/server/wm/ActivityStartInterceptor.java +++ b/services/core/java/com/android/server/wm/ActivityStartInterceptor.java @@ -285,10 +285,6 @@ class ActivityStartInterceptor { return false; } - if (isKeepProfilesRunningEnabled() && !isPackageSuspended()) { - return false; - } - IntentSender target = createIntentSenderForOriginalIntent(mCallingUid, FLAG_CANCEL_CURRENT | FLAG_ONE_SHOT); @@ -521,12 +517,6 @@ class ActivityStartInterceptor { && (mAInfo.applicationInfo.flags & FLAG_SUSPENDED) != 0; } - private static boolean isKeepProfilesRunningEnabled() { - DevicePolicyManagerInternal dpmi = - LocalServices.getService(DevicePolicyManagerInternal.class); - return dpmi == null || dpmi.isKeepProfilesRunningEnabled(); - } - /** * Called when an activity is successfully launched. */ diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index c02178506052..f0698be4d834 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -69,6 +69,7 @@ import static android.view.WindowManager.TRANSIT_PIP; import static android.view.WindowManager.TRANSIT_TO_FRONT; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_LAUNCHER_CLEAR_SNAPSHOT; import static android.window.TransitionInfo.FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY; + import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_CONFIGURATION; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_DREAM; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_FOCUS; @@ -124,6 +125,7 @@ import static com.android.server.wm.RootWindowContainer.MATCH_ATTACHED_TASK_OR_R import static com.android.server.wm.Task.REPARENT_KEEP_ROOT_TASK_AT_FRONT; import static com.android.server.wm.WindowManagerService.MY_PID; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; +import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext; import android.Manifest; import android.annotation.IntDef; @@ -164,6 +166,7 @@ import android.app.assist.ActivityId; import android.app.assist.AssistContent; import android.app.assist.AssistStructure; import android.app.compat.CompatChanges; +import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.usage.UsageStatsManagerInternal; import android.content.ActivityNotFoundException; import android.content.ComponentName; @@ -1257,6 +1260,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { true /*validateIncomingUser*/); } + static boolean isSdkSandboxActivity(Context context, Intent intent) { + return intent != null + && (sandboxActivitySdkBasedContext() + ? SdkSandboxActivityAuthority.isSdkSandboxActivity(context, intent) + : intent.isSandboxActivity(context)); + } + private int startActivityAsUser(IApplicationThread caller, String callingPackage, @Nullable String callingFeatureId, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int startFlags, @@ -1267,7 +1277,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { assertPackageMatchesCallingUid(callingPackage); enforceNotIsolatedCaller("startActivityAsUser"); - if (intent != null && intent.isSandboxActivity(mContext)) { + if (isSdkSandboxActivity(mContext, intent)) { SdkSandboxManagerLocal sdkSandboxManagerLocal = LocalManagerRegistry.getManager( SdkSandboxManagerLocal.class); sdkSandboxManagerLocal.enforceAllowedToHostSandboxedActivity( @@ -3825,8 +3835,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } @Override - public TaskSnapshot getTaskSnapshot(int taskId, boolean isLowResolution, - boolean takeSnapshotIfNeeded) { + public TaskSnapshot getTaskSnapshot(int taskId, boolean isLowResolution) { mAmInternal.enforceCallingPermission(READ_FRAME_BUFFER, "getTaskSnapshot()"); final long ident = Binder.clearCallingIdentity(); try { @@ -3840,12 +3849,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } } // Don't call this while holding the lock as this operation might hit the disk. - TaskSnapshot taskSnapshot = mWindowManager.mTaskSnapshotController.getSnapshot(taskId, + return mWindowManager.mTaskSnapshotController.getSnapshot(taskId, task.mUserId, true /* restoreFromDisk */, isLowResolution); - if (taskSnapshot == null && takeSnapshotIfNeeded) { - taskSnapshot = takeTaskSnapshot(taskId, false /* updateCache */); - } - return taskSnapshot; } finally { Binder.restoreCallingIdentity(ident); } @@ -7064,8 +7069,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { @Override public TaskSnapshot getTaskSnapshotBlocking( int taskId, boolean isLowResolution) { - return ActivityTaskManagerService.this.getTaskSnapshot(taskId, isLowResolution, - false /* takeSnapshotIfNeeded */); + return ActivityTaskManagerService.this.getTaskSnapshot(taskId, isLowResolution); } @Override diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index 777b5cd4337b..e5eb3033f86a 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -1089,7 +1089,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // Remove the process record so it won't be considered as alive. mService.mProcessNames.remove(wpc.mName, wpc.mUid); mService.mProcessMap.remove(wpc.getPid()); - } else if (r.intent.isSandboxActivity(mService.mContext)) { + } else if (ActivityTaskManagerService.isSdkSandboxActivity(mService.mContext, r.intent)) { Slog.e(TAG, "Abort sandbox activity launching as no sandbox process to host it."); r.finishIfPossible("No sandbox process for the activity", false /* oomAdj */); r.launchFailed = true; diff --git a/services/core/java/com/android/server/wm/AsyncRotationController.java b/services/core/java/com/android/server/wm/AsyncRotationController.java index b87e761e5795..68d13cd6789e 100644 --- a/services/core/java/com/android/server/wm/AsyncRotationController.java +++ b/services/core/java/com/android/server/wm/AsyncRotationController.java @@ -465,6 +465,12 @@ class AsyncRotationController extends FadeAnimationController implements Consume return op != null && op.mAction == Operation.ACTION_FADE; } + /** Returns {@code true} if the window is un-rotated to original rotation. */ + boolean hasSeamlessOperation(WindowToken token) { + final Operation op = mTargetWindowTokens.get(token); + return op != null && op.mAction == Operation.ACTION_SEAMLESS; + } + /** * Whether the insets animation leash should use previous position when running fade animation * or seamless transformation in a rotated display. diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java index 4579cc1412b3..68082df493e9 100644 --- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java +++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java @@ -28,6 +28,7 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLAS import static com.android.server.wm.ActivityTaskManagerService.APP_SWITCH_ALLOW; import static com.android.server.wm.ActivityTaskManagerService.APP_SWITCH_FG_ONLY; import static com.android.server.wm.ActivityTaskSupervisor.getApplicationLabel; +import static com.android.window.flags.Flags.balShowToasts; import static com.android.server.wm.PendingRemoteAnimationRegistry.TIMEOUT_MS; import static java.lang.annotation.RetentionPolicy.SOURCE; @@ -74,6 +75,7 @@ public class BackgroundActivityStartController { private static final long ASM_GRACEPERIOD_TIMEOUT_MS = TIMEOUT_MS; private static final int ASM_GRACEPERIOD_MAX_REPEATS = 5; + private static final int NO_PROCESS_UID = -1; public static final ActivityOptions ACTIVITY_OPTIONS_SYSTEM_DEFINED = ActivityOptions.makeBasic() .setPendingIntentBackgroundActivityStartMode( @@ -291,6 +293,10 @@ public class BackgroundActivityStartController { return name + "[debugOnly]"; } + private boolean callerIsRealCaller() { + return mCallingUid == mRealCallingUid; + } + private String dump(BalVerdict resultIfPiCreatorAllowsBal, BalVerdict resultIfPiSenderAllowsBal) { return " [callingPackage: " + getDebugPackageName(mCallingPackage, mCallingUid) @@ -422,7 +428,7 @@ public class BackgroundActivityStartController { } BalVerdict resultForCaller = checkBackgroundActivityStartAllowedByCaller(state); - BalVerdict resultForRealCaller = callingUid == realCallingUid && resultForCaller.allows() + BalVerdict resultForRealCaller = state.callerIsRealCaller() && resultForCaller.allows() ? resultForCaller // no need to calculate again // otherwise we might need to recalculate because the logic is not the same : checkBackgroundActivityStartAllowedBySender(state, checkedOptions); @@ -455,6 +461,7 @@ public class BackgroundActivityStartController { "With Android 15 BAL hardening this activity start would be blocked" + " (missing opt in by PI creator)! " + state.dump(resultForCaller, resultForRealCaller)); + showBalToast("BAL would be blocked", state); // return the realCaller result for backwards compatibility return statsLog(resultForRealCaller, state); } @@ -466,6 +473,7 @@ public class BackgroundActivityStartController { "With Android 15 BAL hardening this activity start would be blocked" + " (missing opt in by PI creator)! " + state.dump(resultForCaller, resultForRealCaller)); + showBalToast("BAL would be blocked", state); return statsLog(resultForCaller, state); } if (resultForRealCaller.allows() @@ -477,6 +485,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)); + showBalToast("BAL would be blocked", state); return statsLog(resultForRealCaller, state); } Slog.wtf(TAG, "Without Android 14 BAL hardening this activity start would be allowed" @@ -484,6 +493,7 @@ public class BackgroundActivityStartController { + state.dump(resultForCaller, resultForRealCaller)); // fall through } + showBalToast("BAL blocked", state); // anything that has fallen through would currently be aborted Slog.w(TAG, "Background activity launch blocked" + state.dump(resultForCaller, resultForRealCaller)); @@ -636,16 +646,14 @@ public class BackgroundActivityStartController { 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) { + state.mRealCallingUid, NO_PROCESS_UID, true) == PackageManager.PERMISSION_GRANTED) { return new BalVerdict(BAL_ALLOW_PENDING_INTENT, /*background*/ false, - "realCallingUid has BAL permission. realCallingUid: " + realCallingUid); + "realCallingUid has BAL permission."); } // don't abort if the realCallingUid has a visible window @@ -653,26 +661,23 @@ public class BackgroundActivityStartController { if (state.mRealCallingUidHasAnyVisibleWindow) { return new BalVerdict(BAL_ALLOW_PENDING_INTENT, /*background*/ false, - "realCallingUid has visible (non-toast) window. realCallingUid: " - + realCallingUid); + "realCallingUid has visible (non-toast) window."); } // if the realCallingUid is a persistent system process, abort if the IntentSender // wasn't allowed to start an activity if (state.mIsRealCallingUidPersistentSystemProcess - && backgroundStartPrivileges.allowsBackgroundActivityStarts()) { + && state.mBackgroundStartPrivileges.allowsBackgroundActivityStarts()) { return new BalVerdict(BAL_ALLOW_PENDING_INTENT, /*background*/ false, "realCallingUid is persistent system process AND intent " - + "sender allowed (allowBackgroundActivityStart = true). " - + "realCallingUid: " + realCallingUid); + + "sender allowed (allowBackgroundActivityStart = true)."); } // don't abort if the realCallingUid is an associated companion app if (mService.isAssociatedCompanionApp( - UserHandle.getUserId(realCallingUid), realCallingUid)) { + UserHandle.getUserId(state.mRealCallingUid), state.mRealCallingUid)) { return new BalVerdict(BAL_ALLOW_PENDING_INTENT, /*background*/ false, - "realCallingUid is a companion app. " - + "realCallingUid: " + realCallingUid); + "realCallingUid is a companion app."); } // don't abort if the callerApp or other processes of that uid are allowed in any way @@ -830,7 +835,7 @@ public class BackgroundActivityStartController { /* caller_activity_class_name */ sourceRecord != null ? sourceRecord.info.name : null, /* target_task_top_activity_uid */ - targetTopActivity != null ? targetTopActivity.getUid() : -1, + targetTopActivity != null ? targetTopActivity.getUid() : NO_PROCESS_UID, /* target_task_top_activity_class_name */ targetTopActivity != null ? targetTopActivity.info.name : null, /* target_task_is_different */ @@ -863,8 +868,7 @@ public class BackgroundActivityStartController { + (blockActivityStartAndFeatureEnabled ? " blocked " : " would block ") + getApplicationLabel(mService.mContext.getPackageManager(), launchedFromPackageName); - UiThread.getHandler().post(() -> Toast.makeText(mService.mContext, - toastText, Toast.LENGTH_LONG).show()); + showToast(toastText); Slog.i(TAG, asmDebugInfo); } @@ -883,6 +887,19 @@ public class BackgroundActivityStartController { return true; } + private void showBalToast(String toastText, BalState state) { + if (balShowToasts()) { + showToast(toastText + + " caller:" + state.mCallingPackage + + " realCaller:" + state.mRealCallingPackage); + } + } + + private void showToast(String toastText) { + UiThread.getHandler().post(() -> Toast.makeText(mService.mContext, + toastText, Toast.LENGTH_LONG).show()); + } + /** * If the top activity uid does not match the launching or launched activity, and the launch was * not requested from the top uid, we want to clear out all non matching activities to prevent @@ -931,12 +948,10 @@ public class BackgroundActivityStartController { if (ActivitySecurityModelFeatureFlags.shouldShowToast(callingUid) && (!shouldBlockActivityStart || finishCount[0] > 0)) { - UiThread.getHandler().post(() -> Toast.makeText(mService.mContext, - (shouldBlockActivityStart - ? "Top activities cleared by " - : "Top activities would be cleared by ") - + ActivitySecurityModelFeatureFlags.DOC_LINK, - Toast.LENGTH_LONG).show()); + showToast((shouldBlockActivityStart + ? "Top activities cleared by " + : "Top activities would be cleared by ") + + ActivitySecurityModelFeatureFlags.DOC_LINK); Slog.i(TAG, getDebugInfoForActivitySecurity("Clear Top", sourceRecord, targetRecord, targetTask, targetTaskTop, realCallingUid, balCode, shouldBlockActivityStart, @@ -974,13 +989,13 @@ public class BackgroundActivityStartController { /* caller_activity_class_name */ callerActivityClassName, /* target_task_top_activity_uid */ - topActivity == null ? -1 : topActivity.getUid(), + topActivity == null ? NO_PROCESS_UID : topActivity.getUid(), /* target_task_top_activity_class_name */ topActivity == null ? null : topActivity.info.name, /* target_task_is_different */ false, /* target_activity_uid */ - -1, + NO_PROCESS_UID, /* target_activity_class_name */ null, /* target_intent_action */ @@ -1014,11 +1029,10 @@ public class BackgroundActivityStartController { } if (ActivitySecurityModelFeatureFlags.shouldShowToast(callingUid)) { - UiThread.getHandler().post(() -> Toast.makeText(mService.mContext, - (ActivitySecurityModelFeatureFlags.DOC_LINK - + (restrictActivitySwitch ? " returned home due to " - : " would return home due to ") - + callingLabel), Toast.LENGTH_LONG).show()); + showToast((ActivitySecurityModelFeatureFlags.DOC_LINK + + (restrictActivitySwitch ? " returned home due to " + : " would return home due to ") + + callingLabel)); } // If the activity switch should be restricted, return home rather than the diff --git a/services/core/java/com/android/server/wm/EmbeddedWindowController.java b/services/core/java/com/android/server/wm/EmbeddedWindowController.java index 275396f459bd..14628782eac7 100644 --- a/services/core/java/com/android/server/wm/EmbeddedWindowController.java +++ b/services/core/java/com/android/server/wm/EmbeddedWindowController.java @@ -150,8 +150,8 @@ class EmbeddedWindowController { /** * A unique token associated with the embedded window that can be used by the host window - * to request focus transfer to the embedded. This is not the input token since we don't - * want to give clients access to each others input token. + * to request focus transfer and gesture transfer to the embedded. This is not the input + * token since we don't want to give clients access to each others input token. */ private final IBinder mInputTransferToken; diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index a756847d59ea..0c55d8a85df1 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -964,6 +964,23 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { } @Override + public boolean transferHostTouchGestureToEmbedded(IWindow hostWindow, + IBinder inputTransferToken) { + if (hostWindow == null) { + return false; + } + + final long identity = Binder.clearCallingIdentity(); + boolean didTransfer; + try { + didTransfer = mService.transferHostTouchGestureToEmbedded(this, hostWindow, + inputTransferToken); + } finally { + Binder.restoreCallingIdentity(identity); + } + return didTransfer; + } + @Override public void generateDisplayHash(IWindow window, Rect boundsInWindow, String hashAlgorithm, RemoteCallback callback) { final long origId = Binder.clearCallingIdentity(); diff --git a/services/core/java/com/android/server/wm/StartingSurfaceController.java b/services/core/java/com/android/server/wm/StartingSurfaceController.java index a55c232990cf..28a35b9ceefe 100644 --- a/services/core/java/com/android/server/wm/StartingSurfaceController.java +++ b/services/core/java/com/android/server/wm/StartingSurfaceController.java @@ -20,6 +20,7 @@ import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_CREATED; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ACTIVITY_DRAWN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_HANDLE_SOLID_COLOR_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_ALLOW_TASK_SNAPSHOT; +import static android.window.StartingWindowInfo.TYPE_PARAMETER_APP_PREFERS_ICON; import static android.window.StartingWindowInfo.TYPE_PARAMETER_LEGACY_SPLASH_SCREEN; import static android.window.StartingWindowInfo.TYPE_PARAMETER_NEW_TASK; import static android.window.StartingWindowInfo.TYPE_PARAMETER_PROCESS_RUNNING; @@ -103,7 +104,7 @@ public class StartingSurfaceController { static int makeStartingWindowTypeParameter(boolean newTask, boolean taskSwitch, boolean processRunning, boolean allowTaskSnapshot, boolean activityCreated, boolean isSolidColor, boolean useLegacy, boolean activityDrawn, int startingWindowType, - String packageName, int userId) { + boolean appPrefersIcon, String packageName, int userId) { int parameter = 0; if (newTask) { parameter |= TYPE_PARAMETER_NEW_TASK; @@ -134,6 +135,9 @@ public class StartingSurfaceController { UserHandle.of(userId))) { parameter |= TYPE_PARAMETER_ALLOW_HANDLE_SOLID_COLOR_SCREEN; } + if (appPrefersIcon) { + parameter |= TYPE_PARAMETER_APP_PREFERS_ICON; + } return parameter; } diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 8f884d2fe29e..f6c431fe6234 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -1106,7 +1106,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< return mInsetsSourceProviders; } - public DisplayContent getDisplayContent() { + public final DisplayContent getDisplayContent() { return mDisplayContent; } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 9eb3389ff43c..6e3d24b9f711 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8960,6 +8960,43 @@ public class WindowManagerService extends IWindowManager.Stub } } + boolean transferHostTouchGestureToEmbedded(Session session, IWindow hostWindow, + IBinder inputTransferToken) { + final IBinder hostInputChannel, embeddedInputChannel; + synchronized (mGlobalLock) { + final WindowState hostWindowState = windowForClientLocked(session, hostWindow, false); + if (hostWindowState == null) { + Slog.w(TAG, "Attempt to transfer touch gesture with invalid host window"); + return false; + } + + final EmbeddedWindowController.EmbeddedWindow ew = + mEmbeddedWindowController.getByInputTransferToken(inputTransferToken); + if (ew == null || ew.mHostWindowState == null) { + Slog.w(TAG, "Attempt to transfer touch gesture to non-existent embedded window"); + return false; + } + if (ew.mHostWindowState.mClient.asBinder() != hostWindow.asBinder()) { + Slog.w(TAG, "Attempt to transfer touch gesture to embedded window not associated" + + " with host window"); + return false; + } + embeddedInputChannel = ew.getInputChannelToken(); + if (embeddedInputChannel == null) { + Slog.w(TAG, "Attempt to transfer touch focus from embedded window with no input" + + " channel"); + return false; + } + hostInputChannel = hostWindowState.mInputChannelToken; + if (hostInputChannel == null) { + Slog.w(TAG, + "Attempt to transfer touch focus to a host window with no input channel"); + return false; + } + return mInputManager.transferTouchFocus(hostInputChannel, embeddedInputChannel); + } + } + private void updateInputChannel(IBinder channelToken, int callingUid, int callingPid, int displayId, SurfaceControl surface, String name, InputApplicationHandle applicationHandle, int flags, diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 3497353a9849..95e25151e8cc 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -1144,16 +1144,12 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub if (pipTask == null) { break; } - ActivityRecord[] pipActivity = new ActivityRecord[1]; - pipTask.forAllActivities((activity) -> { - if (activity.pictureInPictureArgs != null) { - pipActivity[0] = activity; - } - }); + ActivityRecord pipActivity = pipTask.getActivity( + (activity) -> activity.pictureInPictureArgs != null); Rect entryBounds = hop.getBounds(); mService.mRootWindowContainer.moveActivityToPinnedRootTask( - pipActivity[0], null /* launchIntoPipHostActivity */, + pipActivity, null /* launchIntoPipHostActivity */, "moveActivityToPinnedRootTask", null /* transition */, entryBounds); effects |= TRANSACT_EFFECTS_LIFECYCLE; break; diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index f14a6f912af1..ae2df00007f4 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1089,6 +1089,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mClient = c; mAppOp = appOp; mToken = token; + mDisplayContent = token.mDisplayContent; mActivityRecord = mToken.asActivityRecord(); mOwnerUid = ownerId; mShowUserId = showUserId; @@ -1565,11 +1566,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } @Override - public DisplayContent getDisplayContent() { - return mToken.getDisplayContent(); - } - - @Override void onDisplayChanged(DisplayContent dc) { if (dc != null && mDisplayContent != null && dc != mDisplayContent && mDisplayContent.getImeInputTarget() == this) { @@ -5262,10 +5258,17 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mSurfacePosition.offset(mXOffset, mYOffset); } - // Freeze position while we're unrotated, so the surface remains at the position it was - // prior to the rotation. - if (!mSurfaceAnimator.hasLeash() && mPendingSeamlessRotate == null - && !mLastSurfacePosition.equals(mSurfacePosition)) { + final AsyncRotationController asyncRotationController = + mDisplayContent.getAsyncRotationController(); + if ((asyncRotationController != null + && asyncRotationController.hasSeamlessOperation(mToken)) + || mPendingSeamlessRotate != null) { + // Freeze position while un-rotating the window, so its surface remains at the position + // corresponding to the original rotation. + return; + } + + if (!mSurfaceAnimator.hasLeash() && !mLastSurfacePosition.equals(mSurfacePosition)) { final boolean frameSizeChanged = mWindowFrames.isFrameSizeChangeReported(); final boolean surfaceInsetsChanged = surfaceInsetsChanging(); final boolean surfaceSizeChanged = frameSizeChanged || surfaceInsetsChanged; diff --git a/services/core/jni/com_android_server_input_InputManagerService.cpp b/services/core/jni/com_android_server_input_InputManagerService.cpp index 176bc28389e5..a7d77304d046 100644 --- a/services/core/jni/com_android_server_input_InputManagerService.cpp +++ b/services/core/jni/com_android_server_input_InputManagerService.cpp @@ -86,6 +86,8 @@ namespace input_flags = com::android::input::flags; namespace android { +static const bool ENABLE_POINTER_CHOREOGRAPHER = input_flags::enable_pointer_choreographer(); + // The exponent used to calculate the pointer speed scaling factor. // The scaling factor is calculated as 2 ^ (speed * exponent), // where the speed ranges from -7 to + 7 and is supplied by the user. @@ -327,6 +329,8 @@ public: TouchAffineTransformation getTouchAffineTransformation(JNIEnv* env, jfloatArray matrixArr); void notifyStylusGestureStarted(int32_t deviceId, nsecs_t eventTime) override; bool isInputMethodConnectionActive() override; + std::optional<DisplayViewport> getPointerViewportForAssociatedDisplay( + int32_t associatedDisplayId) override; /* --- InputDispatcherPolicyInterface implementation --- */ @@ -374,8 +378,10 @@ public: virtual PointerIconStyle getCustomPointerIconId(); virtual void onPointerDisplayIdChanged(int32_t displayId, const FloatPoint& position); - /* --- PointerControllerPolicyInterface implementation --- */ - std::shared_ptr<PointerControllerInterface> createPointerController() override; + /* --- PointerChoreographerPolicyInterface implementation --- */ + std::shared_ptr<PointerControllerInterface> createPointerController( + PointerControllerInterface::ControllerType type) override; + void notifyPointerDisplayIdChanged(int32_t displayId, const FloatPoint& position) override; private: sp<InputManagerInterface> mInputManager; @@ -492,7 +498,9 @@ void NativeInputManager::dump(std::string& dump) { dump += StringPrintf(INDENT "Pointer Capture: %s, seq=%" PRIu32 "\n", mLocked.pointerCaptureRequest.enable ? "Enabled" : "Disabled", mLocked.pointerCaptureRequest.seq); - forEachPointerControllerLocked([&dump](PointerController& pc) { dump += pc.dump(); }); + if (auto pc = mLocked.legacyPointerController.lock(); pc) { + dump += pc->dump(); + } } // release lock dump += "\n"; @@ -537,6 +545,9 @@ void NativeInputManager::setDisplayViewports(JNIEnv* env, jobjectArray viewportO [&viewports](PointerController& pc) { pc.onDisplayViewportsUpdated(viewports); }); } // release lock + if (ENABLE_POINTER_CHOREOGRAPHER) { + mInputManager->getChoreographer().setDisplayViewports(viewports); + } mInputManager->getReader().requestRefreshConfiguration( InputReaderConfiguration::Change::DISPLAY_INFO); } @@ -721,6 +732,7 @@ void NativeInputManager::forEachPointerControllerLocked( continue; } apply(*pc); + it++; } } @@ -735,9 +747,6 @@ std::shared_ptr<PointerControllerInterface> NativeInputManager::obtainPointerCon if (controller == nullptr) { ensureSpriteControllerLocked(); - static const bool ENABLE_POINTER_CHOREOGRAPHER = - input_flags::enable_pointer_choreographer(); - // Disable the functionality of the legacy PointerController if PointerChoreographer is // enabled. controller = PointerController::create(this, mLooper, *mLocked.spriteController, @@ -749,17 +758,43 @@ std::shared_ptr<PointerControllerInterface> NativeInputManager::obtainPointerCon return controller; } -std::shared_ptr<PointerControllerInterface> NativeInputManager::createPointerController() { +std::shared_ptr<PointerControllerInterface> NativeInputManager::createPointerController( + PointerControllerInterface::ControllerType type) { std::scoped_lock _l(mLock); ensureSpriteControllerLocked(); std::shared_ptr<PointerController> pc = - PointerController::create(this, mLooper, *mLocked.spriteController, /*enabled=*/true); + PointerController::create(this, mLooper, *mLocked.spriteController, /*enabled=*/true, + type); mLocked.pointerControllers.emplace_back(pc); return pc; } void NativeInputManager::onPointerDisplayIdChanged(int32_t pointerDisplayId, const FloatPoint& position) { + if (ENABLE_POINTER_CHOREOGRAPHER) { + return; + } + JNIEnv* env = jniEnv(); + env->CallVoidMethod(mServiceObj, gServiceClassInfo.onPointerDisplayIdChanged, pointerDisplayId, + position.x, position.y); + checkAndClearExceptionFromCallback(env, "onPointerDisplayIdChanged"); +} + +void NativeInputManager::notifyPointerDisplayIdChanged(int32_t pointerDisplayId, + const FloatPoint& position) { + // Notify the Reader so that devices can be reconfigured. + { // acquire lock + std::scoped_lock _l(mLock); + if (mLocked.pointerDisplayId == pointerDisplayId) { + return; + } + mLocked.pointerDisplayId = pointerDisplayId; + ALOGI("%s: pointer displayId set to: %d", __func__, pointerDisplayId); + } // release lock + mInputManager->getReader().requestRefreshConfiguration( + InputReaderConfiguration::Change::DISPLAY_INFO); + + // Notify the system. JNIEnv* env = jniEnv(); env->CallVoidMethod(mServiceObj, gServiceClassInfo.onPointerDisplayIdChanged, pointerDisplayId, position.x, position.y); @@ -1118,19 +1153,23 @@ void NativeInputManager::updateInactivityTimeoutLocked() REQUIRES(mLock) { } void NativeInputManager::setPointerDisplayId(int32_t displayId) { - { // acquire lock - std::scoped_lock _l(mLock); + if (ENABLE_POINTER_CHOREOGRAPHER) { + mInputManager->getChoreographer().setDefaultMouseDisplayId(displayId); + } else { + { // acquire lock + std::scoped_lock _l(mLock); - if (mLocked.pointerDisplayId == displayId) { - return; - } + if (mLocked.pointerDisplayId == displayId) { + return; + } - ALOGI("Setting pointer display id to %d.", displayId); - mLocked.pointerDisplayId = displayId; - } // release lock + ALOGI("Setting pointer display id to %d.", displayId); + mLocked.pointerDisplayId = displayId; + } // release lock - mInputManager->getReader().requestRefreshConfiguration( - InputReaderConfiguration::Change::DISPLAY_INFO); + mInputManager->getReader().requestRefreshConfiguration( + InputReaderConfiguration::Change::DISPLAY_INFO); + } } void NativeInputManager::setPointerSpeed(int32_t speed) { @@ -1356,6 +1395,11 @@ bool NativeInputManager::isInputMethodConnectionActive() { return result; } +std::optional<DisplayViewport> NativeInputManager::getPointerViewportForAssociatedDisplay( + int32_t associatedDisplayId) { + return mInputManager->getChoreographer().getViewportForPointerDevice(associatedDisplayId); +} + bool NativeInputManager::filterInputEvent(const InputEvent& inputEvent, uint32_t policyFlags) { ATRACE_CALL(); JNIEnv* env = jniEnv(); @@ -1689,6 +1733,9 @@ void NativeInputManager::setStylusButtonMotionEventsEnabled(bool enabled) { } FloatPoint NativeInputManager::getMouseCursorPosition() { + if (ENABLE_POINTER_CHOREOGRAPHER) { + return mInputManager->getChoreographer().getMouseCursorPosition(ADISPLAY_ID_NONE); + } std::scoped_lock _l(mLock); const auto pc = mLocked.legacyPointerController.lock(); if (!pc) return {AMOTION_EVENT_INVALID_CURSOR_POSITION, AMOTION_EVENT_INVALID_CURSOR_POSITION}; diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyData.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyData.java index d9604395dd98..395ea9176877 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyData.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyData.java @@ -16,8 +16,6 @@ package com.android.server.devicepolicy; -import static com.android.server.devicepolicy.DevicePolicyManagerService.DEFAULT_KEEP_PROFILES_RUNNING_FLAG; - import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; @@ -200,7 +198,7 @@ class DevicePolicyData { * Effective state of the feature flag. It is updated to the current configuration value * during boot and doesn't change value after than unless overridden by test code. */ - boolean mEffectiveKeepProfilesRunning = DEFAULT_KEEP_PROFILES_RUNNING_FLAG; + boolean mEffectiveKeepProfilesRunning = false; DevicePolicyData(@UserIdInt int userId) { mUserId = userId; @@ -401,7 +399,7 @@ class DevicePolicyData { out.endTag(null, TAG_BYPASS_ROLE_QUALIFICATIONS); } - if (policyData.mEffectiveKeepProfilesRunning != DEFAULT_KEEP_PROFILES_RUNNING_FLAG) { + if (policyData.mEffectiveKeepProfilesRunning) { out.startTag(null, TAG_KEEP_PROFILES_RUNNING); out.attributeBoolean(null, ATTR_VALUE, policyData.mEffectiveKeepProfilesRunning); out.endTag(null, TAG_KEEP_PROFILES_RUNNING); @@ -592,7 +590,7 @@ class DevicePolicyData { policy.mCurrentRoleHolder = parser.getAttributeValue(null, ATTR_VALUE); } else if (TAG_KEEP_PROFILES_RUNNING.equals(tag)) { policy.mEffectiveKeepProfilesRunning = parser.getAttributeBoolean( - null, ATTR_VALUE, DEFAULT_KEEP_PROFILES_RUNNING_FLAG); + null, ATTR_VALUE, false); // Deprecated tags below } else if (TAG_PROTECTED_PACKAGES.equals(tag)) { if (policy.mUserControlDisabledPackages == null) { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 1ff117e2c60b..93dc2190c8a3 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -873,9 +873,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { "enable_permission_based_access"; private static final boolean DEFAULT_VALUE_PERMISSION_BASED_ACCESS_FLAG = false; - // TODO(b/265683382) remove the flag after rollout. - public static final boolean DEFAULT_KEEP_PROFILES_RUNNING_FLAG = false; - // TODO(b/266831522) remove the flag after rollout. private static final String APPLICATION_EXEMPTIONS_FLAG = "application_exemptions"; private static final boolean DEFAULT_APPLICATION_EXEMPTIONS_FLAG = true; @@ -2178,13 +2175,29 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return packageNameAndSignature; } - private void suspendAppsForQuietProfiles(boolean toSuspend) { + private void unsuspendAppsForQuietProfiles() { PackageManagerInternal pmi = mInjector.getPackageManagerInternal(); List<UserInfo> users = mUserManagerInternal.getUsers(true /* excludeDying */); + for (UserInfo user : users) { - if (user.isManagedProfile() && user.isQuietModeEnabled()) { - pmi.setPackagesSuspendedForQuietMode(user.id, toSuspend); + if (!user.isManagedProfile() || !user.isQuietModeEnabled()) { + continue; } + int userId = user.id; + var suspendedByAdmin = getPackagesSuspendedByAdmin(userId); + var packagesToUnsuspend = mInjector.getPackageManager(userId) + .getInstalledPackages(PackageManager.PackageInfoFlags.of( + MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE)) + .stream() + .map(packageInfo -> packageInfo.packageName) + .filter(pkg -> !suspendedByAdmin.contains(pkg)) + .toArray(String[]::new); + + Slogf.i(LOG_TAG, "Unsuspending work apps for user %d", userId); + // When app suspension was used for quiet mode, the apps were suspended by platform + // package, just like when admin suspends them. So although it wasn't admin who + // suspended, this method will remove the right suspension record. + pmi.setPackagesSuspendedByAdmin(userId, packagesToUnsuspend, false /* suspended */); } } @@ -3436,9 +3449,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } - // In case flag value has changed, we apply it during boot to avoid doing it concurrently - // with user toggling quiet mode. - setKeepProfileRunningEnabledUnchecked(isKeepProfilesRunningFlagEnabled()); + // Check whether work apps were paused via suspension and unsuspend if necessary. + // TODO: move it into PolicyVersionUpgrader so that it is executed only once. + unsuspendWorkAppsIfNecessary(); } // TODO(b/230841522) Make it static. @@ -11039,9 +11052,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { (size == 1 ? "" : "s")); } pw.println(); - pw.println("Keep profiles running: " - + getUserData(UserHandle.USER_SYSTEM).mEffectiveKeepProfilesRunning); - pw.println(); mPolicyCache.dump(pw); pw.println(); @@ -15539,11 +15549,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } @Override - public Set<String> getPackagesSuspendedByAdmin(@UserIdInt int userId) { - return DevicePolicyManagerService.this.getPackagesSuspendedByAdmin(userId); - } - - @Override public void notifyUnsafeOperationStateChanged(DevicePolicySafetyChecker checker, int reason, boolean isSafe) { // TODO(b/178494483): use EventLog instead @@ -15571,11 +15576,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } - @Override - public boolean isKeepProfilesRunningEnabled() { - return getUserDataUnchecked(UserHandle.USER_SYSTEM).mEffectiveKeepProfilesRunning; - } - private @Mode int findInteractAcrossProfilesResetMode(String packageName) { return getDefaultCrossProfilePackages().contains(packageName) ? AppOpsManager.MODE_ALLOWED @@ -23028,32 +23028,22 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { DEFAULT_VALUE_PERMISSION_BASED_ACCESS_FLAG); } - private static boolean isKeepProfilesRunningFlagEnabled() { - return DEFAULT_KEEP_PROFILES_RUNNING_FLAG; - } - private boolean isUnicornFlagEnabled() { return false; } - private void setKeepProfileRunningEnabledUnchecked(boolean keepProfileRunning) { + private void unsuspendWorkAppsIfNecessary() { synchronized (getLockObject()) { DevicePolicyData policyData = getUserDataUnchecked(UserHandle.USER_SYSTEM); - if (policyData.mEffectiveKeepProfilesRunning == keepProfileRunning) { + if (!policyData.mEffectiveKeepProfilesRunning) { return; } - policyData.mEffectiveKeepProfilesRunning = keepProfileRunning; + policyData.mEffectiveKeepProfilesRunning = false; saveSettingsLocked(UserHandle.USER_SYSTEM); } - suspendAppsForQuietProfiles(keepProfileRunning); - } - @Override - public void setOverrideKeepProfilesRunning(boolean enabled) { - Preconditions.checkCallAuthorization( - hasCallingOrSelfPermission(MANAGE_PROFILE_AND_DEVICE_OWNERS)); - setKeepProfileRunningEnabledUnchecked(enabled); - Slog.i(LOG_TAG, "Keep profiles running overridden to: " + enabled); + Slog.w(LOG_TAG, "Work apps may have been paused via suspension previously."); + unsuspendAppsForQuietProfiles(); } public void setMtePolicy(int flags, String callerPackageName) { diff --git a/services/midi/Android.bp b/services/midi/Android.bp index a385fe38495b..2ea28a313706 100644 --- a/services/midi/Android.bp +++ b/services/midi/Android.bp @@ -20,6 +20,5 @@ java_library_static { srcs: [":services.midi-sources"], libs: [ "services.core", - "aconfig_midi_flags_java_lib", ], } diff --git a/services/midi/OWNERS b/services/midi/OWNERS index f4d51f91b51b..683cae1b0f3a 100644 --- a/services/midi/OWNERS +++ b/services/midi/OWNERS @@ -1 +1,3 @@ philburk@google.com +robertwu@google.com +elaurent@google.com #{LAST_RESORT_SUGGESTION} diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index 2f47cc7160b7..39aaab25d7be 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -16,7 +16,7 @@ package com.android.server.midi; -import static com.android.media.midi.flags.Flags.virtualUmp; +import static android.media.midi.Flags.virtualUmp; import android.Manifest; import android.annotation.NonNull; diff --git a/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt b/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt index 93530cf5b0a9..acaec211440d 100644 --- a/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt +++ b/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt @@ -16,7 +16,6 @@ package com.android.server.permission.access -import android.app.admin.DevicePolicyManagerInternal import android.content.Context import android.content.pm.PackageManager import android.content.pm.PackageManagerInternal @@ -75,7 +74,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { val userIds = MutableIntSet(userManagerService.userIdsIncludingPreCreated) val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages val isLeanback = systemConfig.isLeanback val configPermissions = systemConfig.permissions val privilegedPermissionAllowlistPackages = @@ -152,7 +151,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { isSystemUpdated: Boolean ) { val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages mutateState { with(policy) { onStorageVolumeMounted( @@ -169,7 +168,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { internal fun onPackageAdded(packageName: String) { val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages mutateState { with(policy) { onPackageAdded( @@ -184,7 +183,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { internal fun onPackageRemoved(packageName: String, appId: Int) { val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages mutateState { with(policy) { onPackageRemoved( @@ -200,7 +199,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { internal fun onPackageInstalled(packageName: String, userId: Int) { val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages mutateState { with(policy) { onPackageInstalled( @@ -216,7 +215,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { internal fun onPackageUninstalled(packageName: String, appId: Int, userId: Int) { val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) + val knownPackages = packageManagerInternal.knownPackages mutateState { with(policy) { onPackageUninstalled( @@ -232,69 +231,50 @@ class AccessCheckingService(context: Context) : SystemService(context) { } internal fun onSystemReady() { - val (packageStates, disabledSystemPackageStates) = packageManagerLocal.allPackageStates - val knownPackages = packageManagerInternal.getKnownPackages(packageStates) - mutateState { - with(policy) { - onSystemReady(packageStates, disabledSystemPackageStates, knownPackages) - } - } + mutateState { with(policy) { onSystemReady() } } } private val PackageManagerLocal.allPackageStates: Pair<Map<String, PackageState>, Map<String, PackageState>> get() = withUnfilteredSnapshot().use { it.packageStates to it.disabledSystemPackageStates } - private fun PackageManagerInternal.getKnownPackages( - packageStates: Map<String, PackageState> - ): IntMap<Array<String>> = - MutableIntMap<Array<String>>().apply { - this[KnownPackages.PACKAGE_INSTALLER] = - getKnownPackageNames(KnownPackages.PACKAGE_INSTALLER, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_PERMISSION_CONTROLLER] = - getKnownPackageNames( - KnownPackages.PACKAGE_PERMISSION_CONTROLLER, - UserHandle.USER_SYSTEM + private val PackageManagerInternal.knownPackages: IntMap<Array<String>> + get() = + MutableIntMap<Array<String>>().apply { + this[KnownPackages.PACKAGE_INSTALLER] = getKnownPackageNames( + KnownPackages.PACKAGE_INSTALLER, UserHandle.USER_SYSTEM ) - this[KnownPackages.PACKAGE_VERIFIER] = - getKnownPackageNames(KnownPackages.PACKAGE_VERIFIER, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_SETUP_WIZARD] = - getKnownPackageNames(KnownPackages.PACKAGE_SETUP_WIZARD, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_SYSTEM_TEXT_CLASSIFIER] = - getKnownPackageNames( - KnownPackages.PACKAGE_SYSTEM_TEXT_CLASSIFIER, - UserHandle.USER_SYSTEM + this[KnownPackages.PACKAGE_PERMISSION_CONTROLLER] = getKnownPackageNames( + KnownPackages.PACKAGE_PERMISSION_CONTROLLER, UserHandle.USER_SYSTEM ) - this[KnownPackages.PACKAGE_CONFIGURATOR] = - getKnownPackageNames(KnownPackages.PACKAGE_CONFIGURATOR, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_INCIDENT_REPORT_APPROVER] = - getKnownPackageNames( - KnownPackages.PACKAGE_INCIDENT_REPORT_APPROVER, - UserHandle.USER_SYSTEM + this[KnownPackages.PACKAGE_VERIFIER] = getKnownPackageNames( + KnownPackages.PACKAGE_VERIFIER, UserHandle.USER_SYSTEM ) - this[KnownPackages.PACKAGE_APP_PREDICTOR] = - getKnownPackageNames(KnownPackages.PACKAGE_APP_PREDICTOR, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_COMPANION] = - getKnownPackageNames(KnownPackages.PACKAGE_COMPANION, UserHandle.USER_SYSTEM) - this[KnownPackages.PACKAGE_RETAIL_DEMO] = - getKnownPackageNames(KnownPackages.PACKAGE_RETAIL_DEMO, UserHandle.USER_SYSTEM) - .filter { isProfileOwner(it, packageStates) } - .toTypedArray() - this[KnownPackages.PACKAGE_RECENTS] = - getKnownPackageNames(KnownPackages.PACKAGE_RECENTS, UserHandle.USER_SYSTEM) - } - - private fun isProfileOwner( - packageName: String, - packageStates: Map<String, PackageState> - ): Boolean { - val appId = packageStates[packageName]?.appId ?: return false - val devicePolicyManagerInternal = - LocalServices.getService(DevicePolicyManagerInternal::class.java) ?: return false - // TODO(b/169395065): Figure out if this flow makes sense in Device Owner mode. - return devicePolicyManagerInternal.isActiveProfileOwner(appId) || - devicePolicyManagerInternal.isActiveDeviceOwner(appId) - } + this[KnownPackages.PACKAGE_SETUP_WIZARD] = getKnownPackageNames( + KnownPackages.PACKAGE_SETUP_WIZARD, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_SYSTEM_TEXT_CLASSIFIER] = getKnownPackageNames( + KnownPackages.PACKAGE_SYSTEM_TEXT_CLASSIFIER, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_CONFIGURATOR] = getKnownPackageNames( + KnownPackages.PACKAGE_CONFIGURATOR, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_INCIDENT_REPORT_APPROVER] = getKnownPackageNames( + KnownPackages.PACKAGE_INCIDENT_REPORT_APPROVER, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_APP_PREDICTOR] = getKnownPackageNames( + KnownPackages.PACKAGE_APP_PREDICTOR, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_COMPANION] = getKnownPackageNames( + KnownPackages.PACKAGE_COMPANION, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_RETAIL_DEMO] = getKnownPackageNames( + KnownPackages.PACKAGE_RETAIL_DEMO, UserHandle.USER_SYSTEM + ) + this[KnownPackages.PACKAGE_RECENTS] = getKnownPackageNames( + KnownPackages.PACKAGE_RECENTS, UserHandle.USER_SYSTEM + ) + } @OptIn(ExperimentalContracts::class) internal inline fun <T> getState(action: GetStateScope.() -> T): T { diff --git a/services/permission/java/com/android/server/permission/access/AccessPolicy.kt b/services/permission/java/com/android/server/permission/access/AccessPolicy.kt index 754f77ec38f9..29fe95c1e252 100644 --- a/services/permission/java/com/android/server/permission/access/AccessPolicy.kt +++ b/services/permission/java/com/android/server/permission/access/AccessPolicy.kt @@ -262,17 +262,8 @@ private constructor( forEachSchemePolicy { with(it) { onPackageUninstalled(packageName, appId, userId) } } } - fun MutateStateScope.onSystemReady( - packageStates: Map<String, PackageState>, - disabledSystemPackageStates: Map<String, PackageState>, - knownPackages: IntMap<Array<String>> - ) { - newState.mutateExternalState().apply { - setPackageStates(packageStates) - setDisabledSystemPackageStates(disabledSystemPackageStates) - setKnownPackages(knownPackages) - setSystemReady(true) - } + fun MutateStateScope.onSystemReady() { + newState.mutateExternalState().setSystemReady(true) forEachSchemePolicy { with(it) { onSystemReady() } } } diff --git a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt index 08ba75397a09..010604f9aaaa 100644 --- a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +++ b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt @@ -1448,15 +1448,6 @@ class AppIdPermissionPolicy : SchemePolicy() { // Special permissions for the system companion device manager. return true } - if ( - permission.isRetailDemo && - packageName in knownPackages[KnownPackages.PACKAGE_RETAIL_DEMO]!! - ) { - // Special permission granted only to the OEM specified retail demo app. - // Note that the original code was passing app ID as UID, so this behavior is kept - // unchanged. - return true - } if (permission.isRecents && packageName in knownPackages[KnownPackages.PACKAGE_RECENTS]!!) { // Special permission for the recents app. return true @@ -1511,27 +1502,6 @@ class AppIdPermissionPolicy : SchemePolicy() { } override fun MutateStateScope.onSystemReady() { - // HACK: PACKAGE_USAGE_STATS is the only permission with the retailDemo protection flag, - // and we have to wait until DevicePolicyManagerService is started to know whether the - // retail demo package is a profile owner so that it can have the permission. - // Since there's no simple callback for profile owner change, and we are deprecating and - // removing the retailDemo protection flag in favor of a proper role soon, we can just - // re-evaluate the permission here, which is also how the old implementation has been - // working. - // TODO: Partially revert ag/22690114 once we can remove support for the retailDemo - // protection flag. - val externalState = newState.externalState - for (packageName in externalState.knownPackages[KnownPackages.PACKAGE_RETAIL_DEMO]!!) { - val appId = externalState.packageStates[packageName]?.appId ?: continue - newState.userStates.forEachIndexed { _, userId, _ -> - evaluatePermissionState( - appId, - userId, - Manifest.permission.PACKAGE_USAGE_STATS, - null - ) - } - } if (!privilegedPermissionAllowlistViolations.isEmpty()) { throw IllegalStateException( "Signature|privileged permissions not in privileged" + 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 163d248fa317..c7b1abf646f0 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java @@ -28,6 +28,8 @@ import static android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESE import static android.view.ContentRecordingSession.RECORD_CONTENT_DISPLAY; import static android.view.ContentRecordingSession.RECORD_CONTENT_TASK; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer; +import static com.android.server.display.DisplayManagerService.ENABLE_ON_CONNECT; import static com.android.server.display.VirtualDisplayAdapter.UNIQUE_ID_PREFIX; import static com.google.common.truth.Truth.assertThat; @@ -90,12 +92,14 @@ import android.hardware.display.VirtualDisplayConfig; import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionManager; import android.os.Binder; +import android.os.Build; import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.MessageQueue; import android.os.Process; import android.os.RemoteException; +import android.os.SystemProperties; import android.platform.test.flag.junit.SetFlagsRule; import android.view.ContentRecordingSession; import android.view.Display; @@ -113,6 +117,7 @@ import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.internal.R; +import com.android.modules.utils.testing.ExtendedMockitoRule; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.companion.virtual.VirtualDeviceManagerInternal; @@ -130,6 +135,7 @@ import com.google.common.truth.Expect; import libcore.junit.util.compat.CoreCompatChangeRule.DisableCompatChanges; import libcore.junit.util.compat.CoreCompatChangeRule.EnableCompatChanges; +import org.junit.Assume; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -141,6 +147,8 @@ import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.mockito.quality.Strictness; +import org.mockito.stubbing.Answer; import java.time.Duration; import java.util.ArrayList; @@ -322,6 +330,12 @@ public class DisplayManagerServiceTest { @Captor ArgumentCaptor<ContentRecordingSession> mContentRecordingSessionCaptor; @Mock DisplayManagerFlags mMockFlags; + @Rule + public final ExtendedMockitoRule mExtendedMockitoRule = + new ExtendedMockitoRule.Builder(this) + .setStrictness(Strictness.LENIENT) + .spyStatic(SystemProperties.class) + .build(); @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); @@ -2406,6 +2420,39 @@ public class DisplayManagerServiceTest { } @Test + public void testConnectExternalDisplay_withDisplayManagementAndSysprop_shouldEnableDisplay() { + Assume.assumeTrue(Build.IS_ENG || Build.IS_USERDEBUG); + when(mMockFlags.isConnectedDisplayManagementEnabled()).thenReturn(true); + doAnswer((Answer<Boolean>) invocationOnMock -> true) + .when(() -> SystemProperties.getBoolean(ENABLE_ON_CONNECT, false)); + manageDisplaysPermission(/* granted= */ true); + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + DisplayManagerInternal localService = displayManager.new LocalService(); + DisplayManagerService.BinderService bs = displayManager.new BinderService(); + LogicalDisplayMapper logicalDisplayMapper = displayManager.getLogicalDisplayMapper(); + FakeDisplayManagerCallback callback = new FakeDisplayManagerCallback(); + bs.registerCallbackWithEventMask(callback, STANDARD_AND_CONNECTION_DISPLAY_EVENTS); + localService.registerDisplayGroupListener(callback); + callback.expectsEvent(EVENT_DISPLAY_ADDED); + + // Create default display device + createFakeDisplayDevice(displayManager, new float[]{60f}, Display.TYPE_INTERNAL); + callback.waitForExpectedEvent(); + callback.clear(); + + callback.expectsEvent(EVENT_DISPLAY_CONNECTED); + FakeDisplayDevice displayDevice = + createFakeDisplayDevice(displayManager, new float[]{60f}, Display.TYPE_EXTERNAL); + callback.waitForExpectedEvent(); + + LogicalDisplay display = + logicalDisplayMapper.getDisplayLocked(displayDevice, /* includeDisabled= */ false); + assertThat(display.isEnabledLocked()).isTrue(); + assertThat(callback.receivedEvents()).containsExactly(DISPLAY_GROUP_EVENT_ADDED, + EVENT_DISPLAY_CONNECTED, EVENT_DISPLAY_ADDED).inOrder(); + } + + @Test public void testConnectInternalDisplay_withDisplayManagement_shouldConnectAndAddDisplay() { when(mMockFlags.isConnectedDisplayManagementEnabled()).thenReturn(true); manageDisplaysPermission(/* granted= */ true); diff --git a/services/tests/mockingservicestests/src/com/android/server/MasterClearReceiverTest.java b/services/tests/mockingservicestests/src/com/android/server/MasterClearReceiverTest.java index cc97b8f792f9..76a1c3cae8dd 100644 --- a/services/tests/mockingservicestests/src/com/android/server/MasterClearReceiverTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/MasterClearReceiverTest.java @@ -154,10 +154,11 @@ public final class MasterClearReceiverTest { intent.putExtra(Intent.EXTRA_REASON, "Self destruct"); intent.putExtra(Intent.EXTRA_FORCE_FACTORY_RESET, true); intent.putExtra(Intent.EXTRA_WIPE_ESIMS, true); + intent.putExtra("keep_memtag_mode", true); mReceiver.onReceive(mContext, intent); verifyRebootWipeUserData(/* shutdown= */ true, /* reason= */ "Self destruct", - /* force= */ true, /* wipeEuicc= */ true); + /* force= */ true, /* wipeEuicc= */ true, /* keepMemtagMode= */ true); verifyWipeExternalData(); } @@ -211,7 +212,7 @@ public final class MasterClearReceiverTest { mRebootWipeUserDataLatch.countDown(); return null; }).when(() -> RecoverySystem - .rebootWipeUserData(any(), anyBoolean(), any(), anyBoolean(), anyBoolean())); + .rebootWipeUserData(any(), anyBoolean(), any(), anyBoolean(), anyBoolean(), anyBoolean())); } private void expectWipeExternalData() { @@ -244,11 +245,16 @@ public final class MasterClearReceiverTest { private void verifyRebootWipeUserData(boolean shutdown, String reason, boolean force, boolean wipeEuicc) throws Exception { + verifyRebootWipeUserData(shutdown, reason, force, wipeEuicc, /* keepMemtagMode= */ false); + } + + private void verifyRebootWipeUserData(boolean shutdown, String reason, boolean force, + boolean wipeEuicc, boolean keepMemtagMode) throws Exception { boolean called = mRebootWipeUserDataLatch.await(5, TimeUnit.SECONDS); assertWithMessage("rebootWipeUserData not called in 5s").that(called).isTrue(); verify(()-> RecoverySystem.rebootWipeUserData(same(mContext), eq(shutdown), eq(reason), - eq(force), eq(wipeEuicc))); + eq(force), eq(wipeEuicc), eq(keepMemtagMode))); } private void verifyNoRebootWipeUserData() { diff --git a/services/tests/mockingservicestests/src/com/android/server/devicepolicy/FactoryResetterTest.java b/services/tests/mockingservicestests/src/com/android/server/devicepolicy/FactoryResetterTest.java index 4ffa0fbec758..5f9a17c7ae98 100644 --- a/services/tests/mockingservicestests/src/com/android/server/devicepolicy/FactoryResetterTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/devicepolicy/FactoryResetterTest.java @@ -88,7 +88,7 @@ public final class FactoryResetterTest { Log.d(TAG, "Mocking " + inv); return null; }).when(() -> RecoverySystem.rebootWipeUserData(any(), anyBoolean(), any(), - anyBoolean(), anyBoolean())); + anyBoolean(), anyBoolean(), anyBoolean())); } @After @@ -270,17 +270,20 @@ public final class FactoryResetterTest { private void verifyRebootWipeUserDataMinimumArgsCalled() { verify(() -> RecoverySystem.rebootWipeUserData(mContext, /* shutdown= */ false, - /* reason= */ null, /* force= */ false, /* wipeEuicc= */ false)); + /* reason= */ null, /* force= */ false, /* wipeEuicc= */ false, + /* keepMemtagMode= */ false)); } private void verifyRebootWipeUserDataMinimumArgsButForceCalled() { verify(() -> RecoverySystem.rebootWipeUserData(mContext, /* shutdown= */ false, - /* reason= */ null, /* force= */ true, /* wipeEuicc= */ false)); + /* reason= */ null, /* force= */ true, /* wipeEuicc= */ false, + /* keepMemtagMode= */ false)); } private void verifyRebootWipeUserDataAllArgsCalled() { verify(() -> RecoverySystem.rebootWipeUserData(mContext, /* shutdown= */ true, - /* reason= */ REASON, /* force= */ true, /* wipeEuicc= */ true)); + /* reason= */ REASON, /* force= */ true, /* wipeEuicc= */ true, + /* keepMemtagMode= */ false)); } private void verifyWipeAdoptableStorageNotCalled() { diff --git a/services/tests/mockingservicestests/src/com/android/server/job/JobSchedulerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/job/JobSchedulerServiceTest.java index dd23d9f006e3..e5291d31d524 100644 --- a/services/tests/mockingservicestests/src/com/android/server/job/JobSchedulerServiceTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/job/JobSchedulerServiceTest.java @@ -577,8 +577,14 @@ public class JobSchedulerServiceTest { JobStatus jobUIDT = createJobStatus("testGetMaxJobExecutionTimeMs", createJobInfo(10) .setUserInitiated(true).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)); + JobStatus jobEj = createJobStatus("testGetMaxJobExecutionTimeMs", + createJobInfo(2).setExpedited(true)); + JobStatus jobReg = createJobStatus("testGetMaxJobExecutionTimeMs", + createJobInfo(3)); spyOn(jobUIDT); when(jobUIDT.shouldTreatAsUserInitiatedJob()).thenReturn(true); + spyOn(jobEj); + when(jobEj.shouldTreatAsExpeditedJob()).thenReturn(true); QuotaController quotaController = mService.getQuotaController(); spyOn(quotaController); @@ -595,6 +601,11 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUIDT)); + + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, + mService.getMaxJobExecutionTimeMs(jobEj)); + assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + mService.getMaxJobExecutionTimeMs(jobReg)); } @Test @@ -636,7 +647,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -649,7 +660,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -664,7 +675,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -677,7 +688,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -692,7 +703,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -705,7 +716,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -720,7 +731,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -765,7 +776,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -778,7 +789,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -792,7 +803,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -807,7 +818,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -820,7 +831,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); @@ -834,7 +845,7 @@ public class JobSchedulerServiceTest { grantRunUserInitiatedJobsPermission(false); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobUij)); - assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, + assertEquals(mService.mConstants.RUNTIME_MIN_GUARANTEE_MS, mService.getMaxJobExecutionTimeMs(jobEj)); assertEquals(mService.mConstants.RUNTIME_FREE_QUOTA_MAX_LIMIT_MS, mService.getMaxJobExecutionTimeMs(jobReg)); diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/ConnectivityControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/ConnectivityControllerTest.java index 809a0e80dd63..64e86f9ab1fd 100644 --- a/services/tests/mockingservicestests/src/com/android/server/job/controllers/ConnectivityControllerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/ConnectivityControllerTest.java @@ -983,9 +983,8 @@ public class ConnectivityControllerTest { final JobStatus blue = createJobStatus(createJob() .setEstimatedNetworkBytes(DataUnit.MEBIBYTES.toBytes(1), 0) .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY), UID_BLUE); - // Unmetered preference is disabled for now. assertFalse(red.getPreferUnmetered()); - assertFalse(blue.getPreferUnmetered()); + assertTrue(blue.getPreferUnmetered()); controller.maybeStartTrackingJobLocked(red, null); controller.maybeStartTrackingJobLocked(blue, null); @@ -1039,7 +1038,7 @@ public class ConnectivityControllerTest { generalCallback.onLost(meteredNet); assertTrue(red.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY)); - assertTrue(red.getHasAccessToUnmetered()); + assertFalse(red.getHasAccessToUnmetered()); assertTrue(blue.isConstraintSatisfied(JobStatus.CONSTRAINT_CONNECTIVITY)); assertTrue(blue.getHasAccessToUnmetered()); diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/FlexibilityControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/FlexibilityControllerTest.java index 7ae6a2d5996d..bb9dcf1c85cc 100644 --- a/services/tests/mockingservicestests/src/com/android/server/job/controllers/FlexibilityControllerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/FlexibilityControllerTest.java @@ -189,10 +189,7 @@ public class FlexibilityControllerTest { } private static JobInfo.Builder createJob(int id) { - return new JobInfo.Builder(id, new ComponentName("foo", "bar")) - .setPrefersBatteryNotLow(true) - .setPrefersCharging(true) - .setPrefersDeviceIdle(true); + return new JobInfo.Builder(id, new ComponentName("foo", "bar")); } private JobStatus createJobStatus(String testTag, JobInfo.Builder job) { @@ -536,15 +533,12 @@ public class FlexibilityControllerTest { jb = createJob(i); if (i > 0) { jb.setRequiresDeviceIdle(true); - jb.setPrefersDeviceIdle(false); } if (i > 1) { jb.setRequiresBatteryNotLow(true); - jb.setPrefersBatteryNotLow(false); } if (i > 2) { jb.setRequiresCharging(true); - jb.setPrefersCharging(false); } jobs[i] = createJobStatus("", jb); flexTracker.add(jobs[i]); @@ -553,55 +547,53 @@ public class FlexibilityControllerTest { synchronized (mFlexibilityController.mLock) { ArrayList<ArraySet<JobStatus>> trackedJobs = flexTracker.getArrayList(); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); - assertEquals(1, trackedJobs.get(2).size()); - assertEquals(1, trackedJobs.get(3).size()); + assertEquals(0, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(2).size()); + assertEquals(3, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.adjustJobsRequiredConstraints(jobs[0], -1, FROZEN_TIME); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); - assertEquals(2, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(0, trackedJobs.get(1).size()); + assertEquals(1, trackedJobs.get(2).size()); + assertEquals(2, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.adjustJobsRequiredConstraints(jobs[0], -1, FROZEN_TIME); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(2, trackedJobs.get(1).size()); - assertEquals(1, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(1, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(2).size()); + assertEquals(2, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.adjustJobsRequiredConstraints(jobs[0], -1, FROZEN_TIME); assertEquals(2, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); - assertEquals(1, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(0, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(2).size()); + assertEquals(2, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.remove(jobs[1]); assertEquals(2, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(1).size()); assertEquals(0, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(1, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.resetJobNumDroppedConstraints(jobs[0], FROZEN_TIME); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(1).size()); assertEquals(0, trackedJobs.get(2).size()); - assertEquals(1, trackedJobs.get(3).size()); + assertEquals(2, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); flexTracker.adjustJobsRequiredConstraints(jobs[0], -2, FROZEN_TIME); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(2, trackedJobs.get(1).size()); + assertEquals(1, trackedJobs.get(1).size()); assertEquals(0, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(1, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); - // Over halfway through the flex window. The job that prefers all flex constraints - // should have its first flex constraint dropped. final long nowElapsed = ((DEFAULT_FALLBACK_FLEXIBILITY_DEADLINE_MS / 2) + HOUR_IN_MILLIS); JobSchedulerService.sElapsedRealtimeClock = @@ -609,9 +601,9 @@ public class FlexibilityControllerTest { flexTracker.resetJobNumDroppedConstraints(jobs[0], nowElapsed); assertEquals(1, trackedJobs.get(0).size()); - assertEquals(1, trackedJobs.get(1).size()); + assertEquals(0, trackedJobs.get(1).size()); assertEquals(1, trackedJobs.get(2).size()); - assertEquals(0, trackedJobs.get(3).size()); + assertEquals(1, trackedJobs.get(3).size()); assertEquals(0, trackedJobs.get(4).size()); } } @@ -626,13 +618,8 @@ public class FlexibilityControllerTest { @Test public void testExceptions_UserInitiated() { - JobInfo.Builder jb = createJob(0) - .setUserInitiated(true) - .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) - // Attempt to add flex constraints to the job. For now, we will ignore them. - .setPrefersBatteryNotLow(true) - .setPrefersCharging(true) - .setPrefersDeviceIdle(false); + JobInfo.Builder jb = createJob(0); + jb.setUserInitiated(true).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); JobStatus js = createJobStatus("testExceptions_UserInitiated", jb); assertFalse(js.hasFlexibilityConstraint()); } @@ -648,10 +635,10 @@ public class FlexibilityControllerTest { @Test public void testExceptions_NoFlexibleConstraints() { - JobInfo.Builder jb = createJob(0) - .setPrefersBatteryNotLow(false) - .setPrefersCharging(false) - .setPrefersDeviceIdle(false); + JobInfo.Builder jb = createJob(0); + jb.setRequiresDeviceIdle(true); + jb.setRequiresCharging(true); + jb.setRequiresBatteryNotLow(true); JobStatus js = createJobStatus("testExceptions_NoFlexibleConstraints", jb); assertFalse(js.hasFlexibilityConstraint()); } @@ -710,50 +697,15 @@ public class FlexibilityControllerTest { JobStatus js = createJobStatus("testTopAppBypass", jb); synchronized (mFlexibilityController.mLock) { js.setHasAccessToUnmetered(false); - assertEquals(0, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); + assertEquals(0, mFlexibilityController.getNumSatisfiedRequiredConstraintsLocked(js)); js.setHasAccessToUnmetered(true); - assertEquals(1, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); + assertEquals(1, mFlexibilityController.getNumSatisfiedRequiredConstraintsLocked(js)); js.setHasAccessToUnmetered(false); - assertEquals(0, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); + assertEquals(0, mFlexibilityController.getNumSatisfiedRequiredConstraintsLocked(js)); } } @Test - public void testGetNumSatisfiedFlexibleConstraints() { - long nowElapsed = FROZEN_TIME; - mFlexibilityController.setConstraintSatisfied(CONSTRAINT_BATTERY_NOT_LOW, true, nowElapsed); - mFlexibilityController.setConstraintSatisfied(CONSTRAINT_CHARGING, true, nowElapsed); - mFlexibilityController.setConstraintSatisfied(CONSTRAINT_IDLE, true, nowElapsed); - JobInfo.Builder jb = createJob(0) - .setPrefersBatteryNotLow(false) - .setPrefersCharging(false) - .setPrefersDeviceIdle(false); - JobStatus js = createJobStatus("testGetNumSatisfiedFlexibleConstraints", jb); - assertEquals(0, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); - - jb = createJob(0) - .setPrefersBatteryNotLow(true) - .setPrefersCharging(false) - .setPrefersDeviceIdle(false); - js = createJobStatus("testGetNumSatisfiedFlexibleConstraints", jb); - assertEquals(1, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); - - jb = createJob(0) - .setPrefersBatteryNotLow(true) - .setPrefersCharging(false) - .setPrefersDeviceIdle(true); - js = createJobStatus("testGetNumSatisfiedFlexibleConstraints", jb); - assertEquals(2, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); - - jb = createJob(0) - .setPrefersBatteryNotLow(true) - .setPrefersCharging(true) - .setPrefersDeviceIdle(true); - js = createJobStatus("testGetNumSatisfiedFlexibleConstraints", jb); - assertEquals(3, mFlexibilityController.getNumSatisfiedFlexibleConstraintsLocked(js)); - } - - @Test public void testSetConstraintSatisfied_Constraints() { mFlexibilityController.setConstraintSatisfied(CONSTRAINT_IDLE, false, FROZEN_TIME); assertFalse(mFlexibilityController.isConstraintSatisfied(CONSTRAINT_IDLE)); @@ -784,11 +736,8 @@ public class FlexibilityControllerTest { jb = createJob(i); constraints = constraintCombinations[i]; jb.setRequiresDeviceIdle((constraints & CONSTRAINT_IDLE) != 0); - jb.setPrefersDeviceIdle((constraints & CONSTRAINT_IDLE) == 0); jb.setRequiresBatteryNotLow((constraints & CONSTRAINT_BATTERY_NOT_LOW) != 0); - jb.setPrefersBatteryNotLow((constraints & CONSTRAINT_BATTERY_NOT_LOW) == 0); jb.setRequiresCharging((constraints & CONSTRAINT_CHARGING) != 0); - jb.setPrefersCharging((constraints & CONSTRAINT_CHARGING) == 0); synchronized (mFlexibilityController.mLock) { mFlexibilityController.maybeStartTrackingJobLocked( createJobStatus(String.valueOf(i), jb), null); diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java index 1de7e3719112..92aa982c3dd1 100644 --- a/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java @@ -1240,9 +1240,7 @@ public class JobStatusTest { @Test public void testReadinessStatusWithConstraint_FlexibilityConstraint() { final JobStatus job = createJobStatus( - new JobInfo.Builder(101, new ComponentName("foo", "bar")) - .setPrefersCharging(true) - .build()); + new JobInfo.Builder(101, new ComponentName("foo", "bar")).build()); job.setConstraintSatisfied(CONSTRAINT_FLEXIBLE, sElapsedRealtimeClock.millis(), false); markImplicitConstraintsSatisfied(job, true); assertTrue(job.readinessStatusWithConstraint(CONSTRAINT_FLEXIBLE, true)); diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/idle/DeviceIdlenessTrackerTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/idle/DeviceIdlenessTrackerTest.java new file mode 100644 index 000000000000..09935f24cf93 --- /dev/null +++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/idle/DeviceIdlenessTrackerTest.java @@ -0,0 +1,210 @@ +/* + * 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.job.controllers.idle; + +import static android.text.format.DateUtils.HOUR_IN_MILLIS; +import static android.text.format.DateUtils.MINUTE_IN_MILLIS; + +import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.inOrder; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession; +import static com.android.dx.mockito.inline.extended.ExtendedMockito.when; +import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock; +import static com.android.server.job.controllers.idle.DeviceIdlenessTracker.KEY_INACTIVITY_IDLE_THRESHOLD_MS; +import static com.android.server.job.controllers.idle.DeviceIdlenessTracker.KEY_INACTIVITY_STABLE_POWER_IDLE_THRESHOLD_MS; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + +import android.app.AlarmManager; +import android.app.UiModeManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.PowerManager; +import android.os.SystemClock; +import android.provider.DeviceConfig; + +import androidx.test.runner.AndroidJUnit4; + +import com.android.server.AppSchedulingModuleThread; +import com.android.server.LocalServices; +import com.android.server.job.JobSchedulerService; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.InOrder; +import org.mockito.Mock; +import org.mockito.MockitoSession; +import org.mockito.quality.Strictness; + +import java.time.Clock; +import java.time.Duration; +import java.time.ZoneOffset; + +@RunWith(AndroidJUnit4.class) +public class DeviceIdlenessTrackerTest { + private DeviceIdlenessTracker mDeviceIdlenessTracker; + private JobSchedulerService.Constants mConstants = new JobSchedulerService.Constants(); + private BroadcastReceiver mBroadcastReceiver; + private DeviceConfig.Properties.Builder mDeviceConfigPropertiesBuilder = + new DeviceConfig.Properties.Builder(DeviceConfig.NAMESPACE_JOB_SCHEDULER);; + + private MockitoSession mMockingSession; + @Mock + private AlarmManager mAlarmManager; + @Mock + private Context mContext; + @Mock + private JobSchedulerService mJobSchedulerService; + @Mock + private PowerManager mPowerManager; + @Mock + private Resources mResources; + + @Before + public void setUp() { + mMockingSession = mockitoSession() + .initMocks(this) + .strictness(Strictness.LENIENT) + .spyStatic(DeviceConfig.class) + .mockStatic(LocalServices.class) + .startMocking(); + + // Called in StateController constructor. + when(mJobSchedulerService.getTestableContext()).thenReturn(mContext); + when(mJobSchedulerService.getLock()).thenReturn(mJobSchedulerService); + when(mJobSchedulerService.getConstants()).thenReturn(mConstants); + // Called in DeviceIdlenessTracker.startTracking. + when(mContext.getSystemService(Context.ALARM_SERVICE)).thenReturn(mAlarmManager); + when(mContext.getSystemService(UiModeManager.class)).thenReturn(mock(UiModeManager.class)); + when(mContext.getResources()).thenReturn(mResources); + doReturn((int) (31 * MINUTE_IN_MILLIS)).when(mResources).getInteger( + com.android.internal.R.integer.config_jobSchedulerInactivityIdleThreshold); + doReturn((int) (17 * MINUTE_IN_MILLIS)).when(mResources).getInteger( + com.android.internal.R.integer + .config_jobSchedulerInactivityIdleThresholdOnStablePower); + doReturn(mPowerManager).when(() -> LocalServices.getService(PowerManager.class)); + + // Freeze the clocks at 24 hours after this moment in time. Several tests create sessions + // in the past, and QuotaController sometimes floors values at 0, so if the test time + // causes sessions with negative timestamps, they will fail. + JobSchedulerService.sSystemClock = + getAdvancedClock(Clock.fixed(Clock.systemUTC().instant(), ZoneOffset.UTC), + 24 * HOUR_IN_MILLIS); + JobSchedulerService.sUptimeMillisClock = getAdvancedClock( + Clock.fixed(SystemClock.uptimeClock().instant(), ZoneOffset.UTC), + 24 * HOUR_IN_MILLIS); + JobSchedulerService.sElapsedRealtimeClock = getAdvancedClock( + Clock.fixed(SystemClock.elapsedRealtimeClock().instant(), ZoneOffset.UTC), + 24 * HOUR_IN_MILLIS); + + // Initialize real objects. + // Capture the listeners. + ArgumentCaptor<BroadcastReceiver> broadcastReceiverCaptor = + ArgumentCaptor.forClass(BroadcastReceiver.class); + mDeviceIdlenessTracker = new DeviceIdlenessTracker(); + mDeviceIdlenessTracker.startTracking(mContext, + mJobSchedulerService, mock(IdlenessListener.class)); + + verify(mContext).registerReceiver(broadcastReceiverCaptor.capture(), any(), any(), any()); + mBroadcastReceiver = broadcastReceiverCaptor.getValue(); + } + + @After + public void tearDown() { + if (mMockingSession != null) { + mMockingSession.finishMocking(); + } + } + + private Clock getAdvancedClock(Clock clock, long incrementMs) { + return Clock.offset(clock, Duration.ofMillis(incrementMs)); + } + + private void advanceElapsedClock(long incrementMs) { + JobSchedulerService.sElapsedRealtimeClock = getAdvancedClock( + JobSchedulerService.sElapsedRealtimeClock, incrementMs); + } + + private void setBatteryState(boolean isCharging, boolean isBatteryNotLow) { + doReturn(isCharging).when(mJobSchedulerService).isBatteryCharging(); + doReturn(isBatteryNotLow).when(mJobSchedulerService).isBatteryNotLow(); + mDeviceIdlenessTracker.onBatteryStateChanged(isCharging, isBatteryNotLow); + } + + private void setDeviceConfigLong(String key, long val) { + mDeviceConfigPropertiesBuilder.setLong(key, val); + mDeviceIdlenessTracker.processConstant(mDeviceConfigPropertiesBuilder.build(), key); + } + + @Test + public void testThresholdChangeWithStablePowerChange() { + setDeviceConfigLong(KEY_INACTIVITY_IDLE_THRESHOLD_MS, 10 * MINUTE_IN_MILLIS); + setDeviceConfigLong(KEY_INACTIVITY_STABLE_POWER_IDLE_THRESHOLD_MS, 5 * MINUTE_IN_MILLIS); + setBatteryState(false, false); + + Intent screenOffIntent = new Intent(Intent.ACTION_SCREEN_OFF); + mBroadcastReceiver.onReceive(mContext, screenOffIntent); + + final long nowElapsed = sElapsedRealtimeClock.millis(); + long expectedUnstableAlarmElapsed = nowElapsed + 10 * MINUTE_IN_MILLIS; + long expectedStableAlarmElapsed = nowElapsed + 5 * MINUTE_IN_MILLIS; + + InOrder inOrder = inOrder(mAlarmManager); + inOrder.verify(mAlarmManager) + .setWindow(anyInt(), eq(expectedUnstableAlarmElapsed), anyLong(), anyString(), + eq(AppSchedulingModuleThread.getExecutor()), any()); + + // Advanced the clock a little to make sure the tracker continues to use the original time. + advanceElapsedClock(MINUTE_IN_MILLIS); + + // Charging isn't enough for stable power. + setBatteryState(true, false); + inOrder.verify(mAlarmManager, never()) + .setWindow(anyInt(), anyLong(), anyLong(), anyString(), + eq(AppSchedulingModuleThread.getExecutor()), any()); + + // Now on stable power. + setBatteryState(true, true); + inOrder.verify(mAlarmManager) + .setWindow(anyInt(), eq(expectedStableAlarmElapsed), anyLong(), anyString(), + eq(AppSchedulingModuleThread.getExecutor()), any()); + + // Battery-not-low isn't enough for stable power. Go back to unstable timing. + setBatteryState(false, true); + inOrder.verify(mAlarmManager) + .setWindow(anyInt(), eq(expectedUnstableAlarmElapsed), anyLong(), anyString(), + eq(AppSchedulingModuleThread.getExecutor()), any()); + + // Still not on stable power. + setBatteryState(false, false); + inOrder.verify(mAlarmManager, never()) + .setWindow(anyInt(), anyLong(), anyLong(), anyString(), + eq(AppSchedulingModuleThread.getExecutor()), any()); + } +} diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/PackageHelperTestBase.kt b/services/tests/mockingservicestests/src/com/android/server/pm/PackageHelperTestBase.kt index eb001645863f..a6ba5d4c3032 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/PackageHelperTestBase.kt +++ b/services/tests/mockingservicestests/src/com/android/server/pm/PackageHelperTestBase.kt @@ -87,8 +87,8 @@ open class PackageHelperTestBase { TEST_PACKAGE_1, TEST_PACKAGE_2, DEVICE_OWNER_PACKAGE, DEVICE_ADMIN_PACKAGE, DEFAULT_HOME_PACKAGE, DIALER_PACKAGE, INSTALLER_PACKAGE, UNINSTALLER_PACKAGE, VERIFIER_PACKAGE, PERMISSION_CONTROLLER_PACKAGE)) - suspendPackageHelper = SuspendPackageHelper(pms, rule.mocks().injector, - rule.mocks().userManagerService, broadcastHelper, protectedPackages) + suspendPackageHelper = SuspendPackageHelper( + pms, rule.mocks().injector, broadcastHelper, protectedPackages) defaultAppProvider = rule.mocks().defaultAppProvider testHandler = rule.mocks().handler packageSetting1 = pms.snapshotComputer().getPackageStateInternal(TEST_PACKAGE_1)!! diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/SuspendPackageHelperTest.kt b/services/tests/mockingservicestests/src/com/android/server/pm/SuspendPackageHelperTest.kt index 4240373b7c1d..7b381ce443e1 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/SuspendPackageHelperTest.kt +++ b/services/tests/mockingservicestests/src/com/android/server/pm/SuspendPackageHelperTest.kt @@ -39,7 +39,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), targetPackages, true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) testHandler.flush() verify(pms).scheduleWritePackageRestrictions(eq(TEST_USER_ID)) @@ -56,14 +56,14 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), null /* packageNames */, true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) assertThat(failedNames).isNull() failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOfNulls(0), true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) assertThat(failedNames).isEmpty() } @@ -73,7 +73,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_2), true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, TEST_PACKAGE_1, TEST_USER_ID, - Binder.getCallingUid(), false /* forQuietMode */, false /* quarantined */) + Binder.getCallingUid(), false /* quarantined */) assertThat(failedNames).asList().hasSize(1) assertThat(failedNames).asList().contains(TEST_PACKAGE_2) @@ -84,7 +84,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(DEVICE_OWNER_PACKAGE), true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) assertThat(failedNames).asList().hasSize(1) assertThat(failedNames).asList().contains(DEVICE_OWNER_PACKAGE) @@ -95,7 +95,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(NONEXISTENT_PACKAGE), true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) assertThat(failedNames).asList().hasSize(1) assertThat(failedNames).asList().contains(NONEXISTENT_PACKAGE) @@ -108,7 +108,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), knownPackages, true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */)!! + TEST_USER_ID, deviceOwnerUid, false /* quarantined */)!! assertThat(failedNames.size).isEqualTo(knownPackages.size) for (pkg in knownPackages) { @@ -117,33 +117,19 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { } @Test - fun setPackagesSuspended_forQuietMode() { - val knownPackages = arrayOf(DEVICE_ADMIN_PACKAGE, DEFAULT_HOME_PACKAGE, DIALER_PACKAGE, - INSTALLER_PACKAGE, UNINSTALLER_PACKAGE, VERIFIER_PACKAGE, - PERMISSION_CONTROLLER_PACKAGE, MGMT_ROLE_HOLDER_PACKAGE) - val failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), - knownPackages, true /* suspended */, null /* appExtras */, - null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, true /* forQuietMode */, false /* quarantined */)!! - - assertThat(failedNames.size).isEqualTo(1) - assertThat(failedNames[0]).isEqualTo(MGMT_ROLE_HOLDER_PACKAGE) - } - - @Test fun setPackagesUnsuspended() { val targetPackages = arrayOf(TEST_PACKAGE_1, TEST_PACKAGE_2) var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), targetPackages, true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) testHandler.flush() Mockito.clearInvocations(broadcastHelper) assertThat(failedNames).isEmpty() failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), targetPackages, false /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) testHandler.flush() verify(pms, times(2)).scheduleWritePackageRestrictions(eq(TEST_USER_ID)) @@ -191,7 +177,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_1), true /* suspended */, appExtras, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, TEST_USER_ID, deviceOwnerUid, - false /* forQuietMode */, false /* quarantined */) + false /* quarantined */) testHandler.flush() assertThat(failedNames).isEmpty() @@ -209,7 +195,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), targetPackages, true /* suspended */, appExtras, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, TEST_USER_ID, deviceOwnerUid, - false /* forQuietMode */, false /* quarantined */) + false /* quarantined */) testHandler.flush() Mockito.clearInvocations(broadcastHelper) assertThat(failedNames).isEmpty() @@ -250,7 +236,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_2), true /* suspended */, null /* appExtras */, launcherExtras, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, TEST_USER_ID, deviceOwnerUid, - false /* forQuietMode */, false /* quarantined */) + false /* quarantined */) testHandler.flush() assertThat(failedNames).isEmpty() @@ -265,7 +251,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_1), true /* suspended */, null /* appExtras */, null /* launcherExtras */, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, - TEST_USER_ID, deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + TEST_USER_ID, deviceOwnerUid, false /* quarantined */) testHandler.flush() assertThat(failedNames).isEmpty() @@ -280,7 +266,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_2), true /* suspended */, null /* appExtras */, launcherExtras, null /* dialogInfo */, DEVICE_OWNER_PACKAGE, TEST_USER_ID, deviceOwnerUid, - false /* forQuietMode */, false /* quarantined */) + false /* quarantined */) testHandler.flush() assertThat(failedNames).isEmpty() @@ -295,7 +281,7 @@ class SuspendPackageHelperTest : PackageHelperTestBase() { var failedNames = suspendPackageHelper.setPackagesSuspended(pms.snapshotComputer(), arrayOf(TEST_PACKAGE_1), true /* suspended */, null /* appExtras */, null /* launcherExtras */, dialogInfo, DEVICE_OWNER_PACKAGE, TEST_USER_ID, - deviceOwnerUid, false /* forQuietMode */, false /* quarantined */) + deviceOwnerUid, false /* quarantined */) testHandler.flush() assertThat(failedNames).isEmpty() diff --git a/services/tests/servicestests/src/com/android/server/biometrics/AuthServiceTest.java b/services/tests/servicestests/src/com/android/server/biometrics/AuthServiceTest.java index f88afe7839c3..a78f2dcf2ab2 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/AuthServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/AuthServiceTest.java @@ -41,6 +41,8 @@ import android.app.AppOpsManager; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; +import android.hardware.biometrics.BiometricManager; +import android.hardware.biometrics.Flags; import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricService; import android.hardware.biometrics.IBiometricServiceReceiver; @@ -53,6 +55,7 @@ import android.hardware.iris.IIrisService; import android.os.Binder; import android.os.UserHandle; import android.platform.test.annotations.Presubmit; +import android.platform.test.flag.junit.SetFlagsRule; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; @@ -84,6 +87,8 @@ public class AuthServiceTest { @Rule public MockitoRule mockitorule = MockitoJUnit.rule(); + @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + @Mock private Context mContext; @Mock @@ -418,6 +423,37 @@ public class AuthServiceTest { eq(callback)); } + @Test(expected = UnsupportedOperationException.class) + public void testGetLastAuthenticationTime_flaggedOff_throwsUnsupportedOperationException() + throws Exception { + mSetFlagsRule.disableFlags(Flags.FLAG_LAST_AUTHENTICATION_TIME); + setInternalAndTestBiometricPermissions(mContext, true /* hasPermission */); + + mAuthService = new AuthService(mContext, mInjector); + mAuthService.onStart(); + + mAuthService.mImpl.getLastAuthenticationTime(0, + BiometricManager.Authenticators.BIOMETRIC_STRONG); + } + + @Test + public void testGetLastAuthenticationTime_flaggedOn_callsBiometricService() + throws Exception { + mSetFlagsRule.enableFlags(Flags.FLAG_LAST_AUTHENTICATION_TIME); + setInternalAndTestBiometricPermissions(mContext, true /* hasPermission */); + + mAuthService = new AuthService(mContext, mInjector); + mAuthService.onStart(); + + final int userId = 0; + final int authenticators = BiometricManager.Authenticators.BIOMETRIC_STRONG; + + mAuthService.mImpl.getLastAuthenticationTime(userId, authenticators); + + waitForIdle(); + verify(mBiometricService).getLastAuthenticationTime(eq(userId), eq(authenticators)); + } + private static void setInternalAndTestBiometricPermissions( Context context, boolean hasPermission) { for (String p : List.of(TEST_BIOMETRIC, MANAGE_BIOMETRIC, USE_BIOMETRIC_INTERNAL)) { diff --git a/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java b/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java index 0230d77e8e14..408442bcceed 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java @@ -62,6 +62,7 @@ import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricConstants; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricPrompt; +import android.hardware.biometrics.Flags; import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricSensorReceiver; @@ -71,12 +72,17 @@ import android.hardware.biometrics.IBiometricSysuiReceiver; import android.hardware.biometrics.PromptInfo; import android.hardware.display.DisplayManagerGlobal; import android.hardware.fingerprint.FingerprintManager; +import android.hardware.keymaster.HardwareAuthenticatorType; import android.os.Binder; import android.os.IBinder; import android.os.RemoteException; import android.os.UserManager; import android.platform.test.annotations.Presubmit; +import android.platform.test.flag.junit.SetFlagsRule; +import android.security.GateKeeper; import android.security.KeyStore; +import android.security.authorization.IKeystoreAuthorization; +import android.service.gatekeeper.IGateKeeperService; import android.view.Display; import android.view.DisplayInfo; import android.view.WindowManager; @@ -92,6 +98,7 @@ import com.android.server.biometrics.sensors.AuthSessionCoordinator; import com.android.server.biometrics.sensors.LockoutTracker; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.mockito.AdditionalMatchers; import org.mockito.ArgumentCaptor; @@ -105,6 +112,9 @@ import java.util.Random; @SmallTest public class BiometricServiceTest { + @Rule + public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); + private static final String TEST_PACKAGE_NAME = "test_package"; private static final long TEST_REQUEST_ID = 44; @@ -162,10 +172,16 @@ public class BiometricServiceTest { @Mock private BiometricCameraManager mBiometricCameraManager; + @Mock + private IKeystoreAuthorization mKeystoreAuthService; + + @Mock + private IGateKeeperService mGateKeeperService; + BiometricContextProvider mBiometricContextProvider; @Before - public void setUp() { + public void setUp() throws RemoteException { MockitoAnnotations.initMocks(this); resetReceivers(); @@ -215,6 +231,9 @@ public class BiometricServiceTest { mStatusBarService, null /* handler */, mAuthSessionCoordinator); when(mInjector.getBiometricContext(any())).thenReturn(mBiometricContextProvider); + when(mInjector.getKeystoreAuthorizationService()).thenReturn(mKeystoreAuthService); + when(mInjector.getGateKeeperService()).thenReturn(mGateKeeperService); + when(mGateKeeperService.getSecureUserId(anyInt())).thenReturn(42L); final String[] config = { "0:2:15", // ID0:Fingerprint:Strong @@ -1751,6 +1770,44 @@ public class BiometricServiceTest { verifyNoMoreInteractions(callback); } + @Test(expected = UnsupportedOperationException.class) + public void testGetLastAuthenticationTime_flagOff_throwsUnsupportedOperationException() + throws RemoteException { + mSetFlagsRule.disableFlags(Flags.FLAG_LAST_AUTHENTICATION_TIME); + + mBiometricService = new BiometricService(mContext, mInjector); + mBiometricService.mImpl.getLastAuthenticationTime(0, Authenticators.BIOMETRIC_STRONG); + } + + @Test + public void testGetLastAuthenticationTime_flagOn_callsKeystoreAuthorization() + throws RemoteException { + mSetFlagsRule.enableFlags(Flags.FLAG_LAST_AUTHENTICATION_TIME); + + final int[] hardwareAuthenticators = new int[] { + HardwareAuthenticatorType.PASSWORD, + HardwareAuthenticatorType.FINGERPRINT + }; + + final int userId = 0; + final long secureUserId = mGateKeeperService.getSecureUserId(userId); + + assertNotEquals(GateKeeper.INVALID_SECURE_USER_ID, secureUserId); + + final long expectedResult = 31337L; + + when(mKeystoreAuthService.getLastAuthTime(eq(secureUserId), eq(hardwareAuthenticators))) + .thenReturn(expectedResult); + + mBiometricService = new BiometricService(mContext, mInjector); + + final long result = mBiometricService.mImpl.getLastAuthenticationTime(userId, + Authenticators.BIOMETRIC_STRONG | Authenticators.DEVICE_CREDENTIAL); + + assertEquals(expectedResult, result); + verify(mKeystoreAuthService).getLastAuthTime(eq(secureUserId), eq(hardwareAuthenticators)); + } + // Helper methods private int invokeCanAuthenticate(BiometricService service, int authenticators) 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 461d63745c31..2598a6bea1c0 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 @@ -347,6 +347,8 @@ public class VirtualDeviceManagerServiceTest { final DisplayInfo displayInfo = new DisplayInfo(); displayInfo.uniqueId = UNIQUE_ID; doReturn(displayInfo).when(mDisplayManagerInternalMock).getDisplayInfo(anyInt()); + doReturn(Display.INVALID_DISPLAY).when(mDisplayManagerInternalMock) + .getDisplayIdToMirror(anyInt()); LocalServices.removeServiceForTest(DisplayManagerInternal.class); LocalServices.addService(DisplayManagerInternal.class, mDisplayManagerInternalMock); @@ -1627,6 +1629,7 @@ public class VirtualDeviceManagerServiceTest { @Test public void openNonBlockedAppOnMirrorDisplay_flagDisabled_launchesActivity() { + mSetFlagsRule.disableFlags(Flags.FLAG_INTERACTIVE_SCREEN_MIRROR); when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt())) .thenReturn(Display.DEFAULT_DISPLAY); addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1); diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceRule.java b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceRule.java index af633cc75b4d..dbd6c889622a 100644 --- a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceRule.java +++ b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceRule.java @@ -37,6 +37,7 @@ import android.net.MacAddress; import android.os.Binder; import android.testing.TestableContext; import android.util.ArraySet; +import android.view.Display; import android.view.DisplayInfo; import android.view.WindowManager; @@ -137,6 +138,8 @@ public class VirtualDeviceRule implements TestRule { final DisplayInfo displayInfo = new DisplayInfo(); displayInfo.uniqueId = "uniqueId"; doReturn(displayInfo).when(mDisplayManagerInternalMock).getDisplayInfo(anyInt()); + doReturn(Display.INVALID_DISPLAY).when(mDisplayManagerInternalMock) + .getDisplayIdToMirror(anyInt()); LocalServices.removeServiceForTest(DisplayManagerInternal.class); LocalServices.addService(DisplayManagerInternal.class, mDisplayManagerInternalMock); diff --git a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java index 4bb7d63995ac..2db46e60aea0 100644 --- a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java +++ b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java @@ -784,66 +784,6 @@ public class JobStoreTest { } @Test - public void testPersistedPreferredBatteryNotLowConstraint() throws Exception { - JobInfo.Builder b = new Builder(8, mComponent) - .setPrefersBatteryNotLow(true) - .setPersisted(true); - JobStatus taskStatus = - JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1, null, null); - - mTaskStoreUnderTest.add(taskStatus); - waitForPendingIo(); - - final JobSet jobStatusSet = new JobSet(); - mTaskStoreUnderTest.readJobMapFromDisk(jobStatusSet, true); - assertEquals("Incorrect # of persisted tasks.", 1, jobStatusSet.size()); - JobStatus loaded = jobStatusSet.getAllJobs().iterator().next(); - assertEquals("Battery-not-low constraint not persisted correctly.", - taskStatus.getJob().isPreferBatteryNotLow(), - loaded.getJob().isPreferBatteryNotLow()); - } - - @Test - public void testPersistedPreferredChargingConstraint() throws Exception { - JobInfo.Builder b = new Builder(8, mComponent) - .setPrefersCharging(true) - .setPersisted(true); - JobStatus taskStatus = - JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1, null, null); - - mTaskStoreUnderTest.add(taskStatus); - waitForPendingIo(); - - final JobSet jobStatusSet = new JobSet(); - mTaskStoreUnderTest.readJobMapFromDisk(jobStatusSet, true); - assertEquals("Incorrect # of persisted tasks.", 1, jobStatusSet.size()); - JobStatus loaded = jobStatusSet.getAllJobs().iterator().next(); - assertEquals("Charging constraint not persisted correctly.", - taskStatus.getJob().isPreferCharging(), - loaded.getJob().isPreferCharging()); - } - - @Test - public void testPersistedPreferredDeviceIdleConstraint() throws Exception { - JobInfo.Builder b = new Builder(8, mComponent) - .setPrefersDeviceIdle(true) - .setPersisted(true); - JobStatus taskStatus = - JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1, null, null); - - mTaskStoreUnderTest.add(taskStatus); - waitForPendingIo(); - - final JobSet jobStatusSet = new JobSet(); - mTaskStoreUnderTest.readJobMapFromDisk(jobStatusSet, true); - assertEquals("Incorrect # of persisted tasks.", 1, jobStatusSet.size()); - JobStatus loaded = jobStatusSet.getAllJobs().iterator().next(); - assertEquals("Idle constraint not persisted correctly.", - taskStatus.getJob().isPreferDeviceIdle(), - loaded.getJob().isPreferDeviceIdle()); - } - - @Test public void testJobWorkItems() throws Exception { JobWorkItem item1 = new JobWorkItem.Builder().build(); item1.bumpDeliveryCount(); diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java index 568471d67c31..526201f9c1c6 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStartInterceptorTest.java @@ -247,39 +247,9 @@ public class ActivityStartInterceptorTest { } @Test - public void testInterceptQuietProfile_keepProfilesRunningEnabled() { - // GIVEN that the user the activity is starting as is currently in quiet mode and - // profiles are kept running when in quiet mode. + public void testInterceptQuietProfile() { + // GIVEN that the user the activity is starting as is currently in quiet mode when(mUserManager.isQuietModeEnabled(eq(UserHandle.of(TEST_USER_ID)))).thenReturn(true); - when(mDevicePolicyManager.isKeepProfilesRunningEnabled()).thenReturn(true); - - // THEN calling intercept returns false because package also has to be suspended. - assertFalse( - mInterceptor.intercept(null, null, mAInfo, null, null, null, 0, 0, null, null)); - } - - @Test - public void testInterceptQuietProfile_keepProfilesRunningDisabled() { - // GIVEN that the user the activity is starting as is currently in quiet mode and - // profiles are stopped when in quiet mode (pre-U behavior, no profile app suspension). - when(mUserManager.isQuietModeEnabled(eq(UserHandle.of(TEST_USER_ID)))).thenReturn(true); - when(mDevicePolicyManager.isKeepProfilesRunningEnabled()).thenReturn(false); - - // THEN calling intercept returns true - assertTrue(mInterceptor.intercept(null, null, mAInfo, null, null, null, 0, 0, null, null)); - - // THEN the returned intent is the quiet mode intent - assertTrue(UnlaunchableAppActivity.createInQuietModeDialogIntent(TEST_USER_ID) - .filterEquals(mInterceptor.mIntent)); - } - - @Test - public void testInterceptQuietProfileWhenPackageSuspended_keepProfilesRunningEnabled() { - // GIVEN that the user the activity is starting as is currently in quiet mode, - // the package is suspended and profiles are kept running while in quiet mode. - suspendPackage("com.test.suspending.package"); - when(mUserManager.isQuietModeEnabled(eq(UserHandle.of(TEST_USER_ID)))).thenReturn(true); - when(mDevicePolicyManager.isKeepProfilesRunningEnabled()).thenReturn(true); // THEN calling intercept returns true assertTrue(mInterceptor.intercept(null, null, mAInfo, null, null, null, 0, 0, null, null)); @@ -290,12 +260,10 @@ public class ActivityStartInterceptorTest { } @Test - public void testInterceptQuietProfileWhenPackageSuspended_keepProfilesRunningDisabled() { - // GIVEN that the user the activity is starting as is currently in quiet mode, - // the package is suspended and profiles are stopped while in quiet mode. + public void testInterceptQuietProfileWhenPackageSuspended() { suspendPackage("com.test.suspending.package"); + // GIVEN that the user the activity is starting as is currently in quiet mode when(mUserManager.isQuietModeEnabled(eq(UserHandle.of(TEST_USER_ID)))).thenReturn(true); - when(mDevicePolicyManager.isKeepProfilesRunningEnabled()).thenReturn(false); // THEN calling intercept returns true assertTrue(mInterceptor.intercept(null, null, mAInfo, null, null, null, 0, 0, null, null)); diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java b/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java index ba31944f412a..7b2cd63b4afb 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java @@ -66,8 +66,6 @@ import android.os.Binder; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.view.SurfaceControl; -import android.view.View; -import android.view.WindowManager; import android.window.DisplayAreaInfo; import android.window.IDisplayAreaOrganizer; @@ -451,17 +449,11 @@ public class DisplayAreaTest extends WindowTestsBase { @Test public void testGetOrientation() { final DisplayArea.Tokens area = new DisplayArea.Tokens(mWm, ABOVE_TASKS, "test"); - final WindowToken token = createWindowToken(TYPE_APPLICATION_OVERLAY); - spyOn(token); - doReturn(mock(DisplayContent.class)).when(token).getDisplayContent(); - doNothing().when(token).setParent(any()); - final WindowState win = createWindowState(token); - spyOn(win); - doNothing().when(win).setParent(any()); + mDisplayContent.addChild(area, POSITION_TOP); + final WindowState win = createWindow(null, TYPE_APPLICATION_OVERLAY, "overlay"); win.mAttrs.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; - token.addChild(win, 0); - area.addChild(token); - + win.mToken.reparent(area, POSITION_TOP); + spyOn(win); doReturn(true).when(win).isVisible(); assertEquals("Visible window can request orientation", @@ -753,13 +745,6 @@ public class DisplayAreaTest extends WindowTestsBase { } } - private WindowState createWindowState(WindowToken token) { - return new WindowState(mWm, getTestSession(), new TestIWindow(), token, - null /* parentWindow */, 0 /* appOp */, new WindowManager.LayoutParams(), - View.VISIBLE, 0 /* ownerId */, 0 /* showUserId */, - false /* ownerCanAddInternalSystemWindow */); - } - private WindowToken createWindowToken(int type) { return new WindowToken.Builder(mWm, new Binder(), type).build(); } diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java index 4c25a4bf1455..3b4b220907f7 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java @@ -1444,7 +1444,7 @@ public class RecentTasksTest extends WindowTestsBase { }); assertSecurityException(expectCallable, () -> mAtm.startActivityFromRecents(0, new Bundle())); - assertSecurityException(expectCallable, () -> mAtm.getTaskSnapshot(0, true, false)); + assertSecurityException(expectCallable, () -> mAtm.getTaskSnapshot(0, true)); assertSecurityException(expectCallable, () -> mAtm.registerTaskStackListener(null)); assertSecurityException(expectCallable, () -> mAtm.unregisterTaskStackListener(null)); 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 1aa34eebbbb3..2689e9d14c00 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -1115,6 +1115,12 @@ public class TransitionTests extends WindowTestsBase { assertFalse(asyncRotationController.handleFinishDrawing(statusBar, mMockT)); assertTrue(asyncRotationController.isTargetToken(statusBar.mToken)); + // Window surface position is frozen while seamless rotation state is active. + final Point prevPos = new Point(screenDecor.mLastSurfacePosition); + screenDecor.getFrame().left += 1; + screenDecor.updateSurfacePosition(mMockT); + assertEquals(prevPos, screenDecor.mLastSurfacePosition); + final SurfaceControl.Transaction startTransaction = mock(SurfaceControl.Transaction.class); final SurfaceControl.TransactionCommittedListener transactionCommittedListener = onRotationTransactionReady(player, startTransaction); diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index e413663160b5..f64ab22628d9 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -57,6 +57,7 @@ import android.app.usage.Flags; import android.app.usage.IUsageStatsManager; import android.app.usage.UsageEvents; import android.app.usage.UsageEvents.Event; +import android.app.usage.UsageEventsQuery; import android.app.usage.UsageStats; import android.app.usage.UsageStatsManager; import android.app.usage.UsageStatsManager.StandbyBuckets; @@ -113,6 +114,8 @@ import com.android.server.SystemService; import com.android.server.usage.AppStandbyInternal.AppIdleStateChangeListener; import com.android.server.utils.AlarmQueue; +import libcore.util.EmptyArray; + import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -1478,6 +1481,14 @@ public class UsageStatsService extends SystemService implements * Called by the Binder stub. */ UsageEvents queryEvents(int userId, long beginTime, long endTime, int flags) { + return queryEventsWithTypes(userId, beginTime, endTime, flags, EmptyArray.INT); + } + + /** + * Called by the Binder stub. + */ + UsageEvents queryEventsWithTypes(int userId, long beginTime, long endTime, int flags, + int[] eventTypeFilter) { synchronized (mLock) { if (!mUserUnlockedStates.contains(userId)) { Slog.w(TAG, "Failed to query events for locked user " + userId); @@ -1488,7 +1499,7 @@ public class UsageStatsService extends SystemService implements if (service == null) { return null; // user was stopped or removed } - return service.queryEvents(beginTime, endTime, flags); + return service.queryEvents(beginTime, endTime, flags, eventTypeFilter); } } @@ -2123,7 +2134,7 @@ public class UsageStatsService extends SystemService implements private final class BinderService extends IUsageStatsManager.Stub { - private boolean hasPermission(String callingPackage) { + private boolean hasQueryPermission(String callingPackage) { final int callingUid = Binder.getCallingUid(); if (callingUid == Process.SYSTEM_UID) { return true; @@ -2203,10 +2214,37 @@ public class UsageStatsService extends SystemService implements return uid == Process.SYSTEM_UID; } + private UsageEvents queryEventsHelper(int userId, long beginTime, long endTime, + String callingPackage, int[] eventTypeFilter) { + final int callingUid = Binder.getCallingUid(); + final int callingPid = Binder.getCallingPid(); + final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller( + callingUid, userId); + + final long token = Binder.clearCallingIdentity(); + try { + final boolean hideShortcutInvocationEvents = shouldHideShortcutInvocationEvents( + userId, callingPackage, callingPid, callingUid); + final boolean hideLocusIdEvents = shouldHideLocusIdEvents(callingPid, callingUid); + final boolean obfuscateNotificationEvents = shouldObfuscateNotificationEvents( + callingPid, callingUid); + int flags = UsageEvents.SHOW_ALL_EVENT_DATA; + if (obfuscateInstantApps) flags |= UsageEvents.OBFUSCATE_INSTANT_APPS; + if (hideShortcutInvocationEvents) flags |= UsageEvents.HIDE_SHORTCUT_EVENTS; + if (hideLocusIdEvents) flags |= UsageEvents.HIDE_LOCUS_EVENTS; + if (obfuscateNotificationEvents) flags |= UsageEvents.OBFUSCATE_NOTIFICATION_EVENTS; + + return UsageStatsService.this.queryEventsWithTypes(userId, beginTime, endTime, + flags, eventTypeFilter); + } finally { + Binder.restoreCallingIdentity(token); + } + } + @Override public ParceledListSlice<UsageStats> queryUsageStats(int bucketType, long beginTime, long endTime, String callingPackage, int userId) { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } @@ -2234,7 +2272,7 @@ public class UsageStatsService extends SystemService implements @Override public ParceledListSlice<ConfigurationStats> queryConfigurationStats(int bucketType, long beginTime, long endTime, String callingPackage) throws RemoteException { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } @@ -2256,7 +2294,7 @@ public class UsageStatsService extends SystemService implements @Override public ParceledListSlice<EventStats> queryEventStats(int bucketType, long beginTime, long endTime, String callingPackage) throws RemoteException { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } @@ -2277,32 +2315,25 @@ public class UsageStatsService extends SystemService implements @Override public UsageEvents queryEvents(long beginTime, long endTime, String callingPackage) { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } - final int userId = UserHandle.getCallingUserId(); - final int callingUid = Binder.getCallingUid(); - final int callingPid = Binder.getCallingPid(); - final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller( - callingUid, userId); + return queryEventsHelper(UserHandle.getCallingUserId(), beginTime, endTime, + callingPackage, /* eventTypeFilter= */ EmptyArray.INT); + } - final long token = Binder.clearCallingIdentity(); - try { - final boolean hideShortcutInvocationEvents = shouldHideShortcutInvocationEvents( - userId, callingPackage, callingPid, callingUid); - final boolean hideLocusIdEvents = shouldHideLocusIdEvents(callingPid, callingUid); - final boolean obfuscateNotificationEvents = shouldObfuscateNotificationEvents( - callingPid, callingUid); - int flags = UsageEvents.SHOW_ALL_EVENT_DATA; - if (obfuscateInstantApps) flags |= UsageEvents.OBFUSCATE_INSTANT_APPS; - if (hideShortcutInvocationEvents) flags |= UsageEvents.HIDE_SHORTCUT_EVENTS; - if (hideLocusIdEvents) flags |= UsageEvents.HIDE_LOCUS_EVENTS; - if (obfuscateNotificationEvents) flags |= UsageEvents.OBFUSCATE_NOTIFICATION_EVENTS; - return UsageStatsService.this.queryEvents(userId, beginTime, endTime, flags); - } finally { - Binder.restoreCallingIdentity(token); + @Override + public UsageEvents queryEventsWithFilter(@NonNull UsageEventsQuery query, + @NonNull String callingPackage) { + Objects.requireNonNull(query); + Objects.requireNonNull(callingPackage); + + if (!hasQueryPermission(callingPackage)) { + return null; } + return queryEventsHelper(UserHandle.getCallingUserId(), query.getBeginTimeMillis(), + query.getEndTimeMillis(), callingPackage, query.getEventTypeFilter()); } @Override @@ -2312,7 +2343,7 @@ public class UsageStatsService extends SystemService implements final int callingUserId = UserHandle.getUserId(callingUid); checkCallerIsSameApp(callingPackage); - final boolean includeTaskRoot = hasPermission(callingPackage); + final boolean includeTaskRoot = hasQueryPermission(callingPackage); final long token = Binder.clearCallingIdentity(); try { @@ -2326,7 +2357,7 @@ public class UsageStatsService extends SystemService implements @Override public UsageEvents queryEventsForUser(long beginTime, long endTime, int userId, String callingPackage) { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } @@ -2337,33 +2368,14 @@ public class UsageStatsService extends SystemService implements "No permission to query usage stats for this user"); } - final int callingUid = Binder.getCallingUid(); - final int callingPid = Binder.getCallingPid(); - final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller( - callingUid, callingUserId); - - final long token = Binder.clearCallingIdentity(); - try { - final boolean hideShortcutInvocationEvents = shouldHideShortcutInvocationEvents( - userId, callingPackage, callingPid, callingUid); - final boolean obfuscateNotificationEvents = shouldObfuscateNotificationEvents( - callingPid, callingUid); - boolean hideLocusIdEvents = shouldHideLocusIdEvents(callingPid, callingUid); - int flags = UsageEvents.SHOW_ALL_EVENT_DATA; - if (obfuscateInstantApps) flags |= UsageEvents.OBFUSCATE_INSTANT_APPS; - if (hideShortcutInvocationEvents) flags |= UsageEvents.HIDE_SHORTCUT_EVENTS; - if (hideLocusIdEvents) flags |= UsageEvents.HIDE_LOCUS_EVENTS; - if (obfuscateNotificationEvents) flags |= UsageEvents.OBFUSCATE_NOTIFICATION_EVENTS; - return UsageStatsService.this.queryEvents(userId, beginTime, endTime, flags); - } finally { - Binder.restoreCallingIdentity(token); - } + return queryEventsHelper(userId, beginTime, endTime, callingPackage, + /* eventTypeFilter= */ EmptyArray.INT); } @Override public UsageEvents queryEventsForPackageForUser(long beginTime, long endTime, int userId, String pkg, String callingPackage) { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { return null; } if (userId != UserHandle.getCallingUserId()) { @@ -2404,7 +2416,7 @@ public class UsageStatsService extends SystemService implements if (actualCallingUid != callingUid) { return false; } - } else if (!hasPermission(callingPackage)) { + } else if (!hasQueryPermission(callingPackage)) { return false; } final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller( @@ -2454,7 +2466,7 @@ public class UsageStatsService extends SystemService implements final int packageUid = mPackageManagerInternal.getPackageUid(packageName, 0, userId); // If the calling app is asking about itself, continue, else check for permission. final boolean sameApp = packageUid == callingUid; - if (!sameApp && !hasPermission(callingPackage)) { + if (!sameApp && !hasQueryPermission(callingPackage)) { throw new SecurityException("Don't have permission to query app standby bucket"); } @@ -2502,7 +2514,7 @@ public class UsageStatsService extends SystemService implements } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } - if (!hasPermission(callingPackageName)) { + if (!hasQueryPermission(callingPackageName)) { throw new SecurityException( "Don't have permission to query app standby bucket"); } @@ -2556,7 +2568,7 @@ public class UsageStatsService extends SystemService implements final int packageUid = mPackageManagerInternal.getPackageUid(packageName, 0, userId); // If the calling app is asking about itself, continue, else check for permission. if (packageUid != callingUid) { - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { throw new SecurityException( "Don't have permission to query min app standby bucket"); } @@ -2900,7 +2912,7 @@ public class UsageStatsService extends SystemService implements if (!hasPermissions(android.Manifest.permission.INTERACT_ACROSS_USERS)) { throw new SecurityException("Caller doesn't have INTERACT_ACROSS_USERS permission"); } - if (!hasPermission(callingPackage)) { + if (!hasQueryPermission(callingPackage)) { throw new SecurityException("Don't have permission to query usage stats"); } synchronized (mLock) { diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java index ddb27969dd0a..9b67ab6d99c1 100644 --- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java @@ -70,7 +70,7 @@ import java.util.Set; * in UsageStatsService. */ class UserUsageStatsService { - private static final String TAG = "UsageStatsService"; + private static final String TAG = UsageStatsService.TAG; private static final boolean DEBUG = UsageStatsService.DEBUG; private static final SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private static final int sDateFormatFlags = @@ -535,10 +535,23 @@ class UserUsageStatsService { return queryStats(bucketType, beginTime, endTime, sEventStatsCombiner, true); } - UsageEvents queryEvents(final long beginTime, final long endTime, int flags) { + UsageEvents queryEvents(final long beginTime, final long endTime, int flags, + int[] eventTypeFilter) { if (!validRange(checkAndGetTimeLocked(), beginTime, endTime)) { return null; } + + // Ensure valid event type filter. + final boolean isQueryForAllEvents = ArrayUtils.isEmpty(eventTypeFilter); + final boolean[] queryEventFilter = new boolean[Event.MAX_EVENT_TYPE + 1]; + if (!isQueryForAllEvents) { + for (int eventType : eventTypeFilter) { + if (eventType < Event.NONE || eventType > Event.MAX_EVENT_TYPE) { + throw new IllegalArgumentException("invalid event type: " + eventType); + } + queryEventFilter[eventType] = true; + } + } final ArraySet<String> names = new ArraySet<>(); List<Event> results = queryStats(INTERVAL_DAILY, beginTime, endTime, new StatCombiner<Event>() { @@ -547,6 +560,7 @@ class UserUsageStatsService { List<Event> accumulatedResult) { final int startIndex = stats.events.firstIndexOnOrAfter(beginTime); final int size = stats.events.size(); + for (int i = startIndex; i < size; i++) { Event event = stats.events.get(i); if (event.mTimeStamp >= endTime) { @@ -554,6 +568,10 @@ class UserUsageStatsService { } final int eventType = event.mEventType; + if (!isQueryForAllEvents && !queryEventFilter[eventType]) { + continue; + } + if (eventType == Event.SHORTCUT_INVOCATION && (flags & HIDE_SHORTCUT_EVENTS) == HIDE_SHORTCUT_EVENTS) { continue; diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java index a20f26c1807b..f56347fef450 100644 --- a/telephony/java/com/android/internal/telephony/RILConstants.java +++ b/telephony/java/com/android/internal/telephony/RILConstants.java @@ -618,4 +618,5 @@ public interface RILConstants { int RIL_UNSOL_TRIGGER_IMS_DEREGISTRATION = 1107; int RIL_UNSOL_CONNECTION_SETUP_FAILURE = 1108; int RIL_UNSOL_NOTIFY_ANBR = 1109; + int RIL_UNSOL_IMEI_MAPPING_CHANGED = 1110; } diff --git a/tests/FlickerTests/AndroidTestTemplate.xml b/tests/FlickerTests/AndroidTestTemplate.xml index 85709c943a18..ed71531d4eab 100644 --- a/tests/FlickerTests/AndroidTestTemplate.xml +++ b/tests/FlickerTests/AndroidTestTemplate.xml @@ -28,7 +28,13 @@ <option name="run-command" value="su root service call SurfaceFlinger 1029 i32 81920"/> <!-- b/307664397 - Ensure camera has the correct permissions and doesn't show a dialog --> <option name="run-command" + value="pm grant com.google.android.GoogleCamera android.permission.CAMERA"/> + <option name="run-command" + value="pm grant com.google.android.GoogleCamera android.permission.RECORD_AUDIO"/> + <option name="run-command" value="pm grant com.google.android.GoogleCamera android.permission.ACCESS_FINE_LOCATION"/> + <option name="run-command" + value="pm grant com.google.android.GoogleCamera android.permission.ACCESS_COARSE_LOCATION"/> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> <option name="test-user-token" value="%TEST_USER%"/> diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/common/OpenTransferSplashscreenAppFromLauncherTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/common/OpenTransferSplashscreenAppFromLauncherTransition.kt index 17f749079da6..97ba99e0f7ec 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/common/OpenTransferSplashscreenAppFromLauncherTransition.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/common/OpenTransferSplashscreenAppFromLauncherTransition.kt @@ -24,7 +24,6 @@ import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import androidx.test.filters.FlakyTest import androidx.test.filters.RequiresDevice import com.android.server.wm.flicker.helpers.TransferSplashscreenAppHelper -import com.android.server.wm.flicker.replacesLayer import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith @@ -119,18 +118,6 @@ class OpenTransferSplashscreenAppFromLauncherTransition(flicker: LegacyFlickerTe @FlakyTest(bugId = 240916028) @Test - override fun appLayerReplacesLauncher() { - flicker.replacesLayer( - ComponentNameMatcher.LAUNCHER, - testApp, - ignoreEntriesWithRotationLayer = true, - ignoreSnapshot = true, - ignoreSplashscreen = false - ) - } - - @FlakyTest(bugId = 240916028) - @Test override fun cujCompleted() { super.cujCompleted() } diff --git a/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java b/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java index cb3782173dc8..59dc68900100 100644 --- a/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java +++ b/tests/vcn/java/android/net/vcn/VcnGatewayConnectionConfigTest.java @@ -313,7 +313,8 @@ public class VcnGatewayConnectionConfigTest { @Test public void testBuilderAndGettersSafeModeDisabled() { - final VcnGatewayConnectionConfig config = newBuilderMinimal().enableSafeMode(false).build(); + final VcnGatewayConnectionConfig config = + newBuilderMinimal().setSafeModeEnabled(false).build(); assertFalse(config.isSafeModeEnabled()); } @@ -335,7 +336,8 @@ public class VcnGatewayConnectionConfigTest { @Test public void testPersistableBundleSafeModeDisabled() { - final VcnGatewayConnectionConfig config = newBuilderMinimal().enableSafeMode(false).build(); + final VcnGatewayConnectionConfig config = + newBuilderMinimal().setSafeModeEnabled(false).build(); assertEquals(config, new VcnGatewayConnectionConfig(config.toPersistableBundle())); } @@ -456,7 +458,7 @@ public class VcnGatewayConnectionConfigTest { assertEquals(config.isSafeModeEnabled(), configEqual.isSafeModeEnabled()); final VcnGatewayConnectionConfig configNotEqual = - newBuilderMinimal().enableSafeMode(false).build(); + newBuilderMinimal().setSafeModeEnabled(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 bf73198d1006..f84616426389 100644 --- a/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java +++ b/tests/vcn/java/com/android/server/vcn/VcnGatewayConnectionConnectedStateTest.java @@ -661,7 +661,7 @@ public class VcnGatewayConnectionConnectedStateTest extends VcnGatewayConnection throws Exception { final VcnGatewayConnectionConfig config = VcnGatewayConnectionConfigTest.newTestBuilderMinimal() - .enableSafeMode(safeModeEnabledByCaller) + .setSafeModeEnabled(safeModeEnabledByCaller) .build(); final VcnGatewayConnection.Dependencies deps = mock(VcnGatewayConnection.Dependencies.class); diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_landscape_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_landscape_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index 6bd8595bc097..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_landscape_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_portrait_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_portrait_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index d5d6fb6c6ea4..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/dark_portrait_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_landscape_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_landscape_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index fe8dc6906108..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_landscape_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_portrait_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_portrait_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index ccd8a33ab4fd..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/phone/light_portrait_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_landscape_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_landscape_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index de84c4aa9dae..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_landscape_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_portrait_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_portrait_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index af9d7cf74ace..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/dark_portrait_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_landscape_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_landscape_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index 33daab9c401d..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_landscape_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null diff --git a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_portrait_credential_view_pin_or_password_emergency_call_button.png b/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_portrait_credential_view_pin_or_password_emergency_call_button.png Binary files differdeleted file mode 100644 index 14a799c41757..000000000000 --- a/vendor/unbundled_google/packages/SystemUIGoogle/tests/screenshotBiometrics/assets/tablet/light_portrait_credential_view_pin_or_password_emergency_call_button.png +++ /dev/null |