Loading AconfigFlags.bp +8 −2 Original line number Diff line number Diff line Loading @@ -65,13 +65,13 @@ aconfig_declarations_group { "android.sdk.flags-aconfig-java", "android.security.flags-aconfig-java", "android.server.app.flags-aconfig-java", "android.service.appprediction.flags-aconfig-java", "android.service.autofill.flags-aconfig-java", "android.service.chooser.flags-aconfig-java", "android.service.compat.flags-aconfig-java", "android.service.controls.flags-aconfig-java", "android.service.dreams.flags-aconfig-java", "android.service.notification.flags-aconfig-java", "android.service.appprediction.flags-aconfig-java", "android.service.quickaccesswallet.flags-aconfig-java", "android.service.voice.flags-aconfig-java", "android.speech.flags-aconfig-java", Loading Loading @@ -827,8 +827,8 @@ java_aconfig_library { min_sdk_version: "30", apex_available: [ "//apex_available:platform", "com.android.permission", "com.android.nfcservices", "com.android.permission", ], } Loading Loading @@ -1824,6 +1824,12 @@ java_aconfig_library { min_sdk_version: "30", apex_available: [ "//apex_available:platform", "com.android.adservices", "com.android.cellbroadcast", "com.android.devicelock", "com.android.extservices", "com.android.healthfitness", "com.android.mediaprovider", "com.android.permission", ], } Loading Android.bp +0 −39 Original line number Diff line number Diff line Loading @@ -537,45 +537,6 @@ java_library { }), } // This is identical to "framework-minus-apex" but with "jarjar_shards" hardcodd. // (also "stem" is commented out to avoid a conflict with the "framework-minus-apex") // TODO(b/383559945) This module is just for local testing / verification. It's not used // by anything. Remove it once we roll out RELEASE_USE_SHARDED_JARJAR_ON_FRAMEWORK_MINUS_APEX. java_library { name: "framework-minus-apex_jarjar-sharded", defaults: [ "framework-minus-apex-with-libs-defaults", "framework-non-updatable-lint-defaults", ], installable: true, // For backwards compatibility. // stem: "framework", apex_available: ["//apex_available:platform"], visibility: [ "//frameworks/base", "//frameworks/base/location", // TODO(b/147128803) remove the below lines "//frameworks/base/apex/blobstore/framework", "//frameworks/base/apex/jobscheduler/framework", "//frameworks/base/packages/Tethering/tests/unit", "//packages/modules/Connectivity/Tethering/tests/unit", ], errorprone: { javacflags: [ "-Xep:AndroidFrameworkCompatChange:ERROR", "-Xep:AndroidFrameworkUid:ERROR", ], }, lint: { baseline_filename: "lint-baseline.xml", warning_checks: [ "FlaggedApi", ], }, jarjar_prefix: "com.android.internal.hidden_from_bootclasspath", jarjar_shards: "10", } java_library { name: "framework-minus-apex-intdefs", defaults: ["framework-minus-apex-with-libs-defaults"], Loading core/api/current.txt +26 −9 Original line number Diff line number Diff line Loading @@ -33657,16 +33657,23 @@ package android.os { } @FlaggedApi("android.os.cpu_gpu_headrooms") public final class CpuHeadroomParams { ctor public CpuHeadroomParams(); method public int getCalculationType(); method @IntRange(from=0x32, to=0x2710) public long getCalculationWindowMillis(); method public void setCalculationType(int); method public void setCalculationWindowMillis(@IntRange(from=0x32, to=0x2710) int); method public void setTids(@NonNull int...); method public long getCalculationWindowMillis(); method @NonNull public int[] getTids(); method @NonNull public android.os.CpuHeadroomParams.Builder toBuilder(); field public static final int CPU_HEADROOM_CALCULATION_TYPE_AVERAGE = 1; // 0x1 field public static final int CPU_HEADROOM_CALCULATION_TYPE_MIN = 0; // 0x0 } public static final class CpuHeadroomParams.Builder { ctor public CpuHeadroomParams.Builder(); ctor public CpuHeadroomParams.Builder(@NonNull android.os.CpuHeadroomParams); method @NonNull public android.os.CpuHeadroomParams build(); method @NonNull public android.os.CpuHeadroomParams.Builder setCalculationType(int); method @NonNull public android.os.CpuHeadroomParams.Builder setCalculationWindowMillis(@IntRange(from=1) int); method @NonNull public android.os.CpuHeadroomParams.Builder setTids(@NonNull int...); } public final class CpuUsageInfo implements android.os.Parcelable { method public int describeContents(); method public long getActive(); Loading Loading @@ -33915,13 +33922,20 @@ package android.os { } @FlaggedApi("android.os.cpu_gpu_headrooms") public final class GpuHeadroomParams { ctor public GpuHeadroomParams(); method public int getCalculationType(); method @IntRange(from=0x32, to=0x2710) public int getCalculationWindowMillis(); method public void setCalculationType(int); method public void setCalculationWindowMillis(@IntRange(from=0x32, to=0x2710) int); method public int getCalculationWindowMillis(); field public static final int GPU_HEADROOM_CALCULATION_TYPE_AVERAGE = 1; // 0x1 field public static final int GPU_HEADROOM_CALCULATION_TYPE_MIN = 0; // 0x0 field public static final int GPU_HEADROOM_CALCULATION_WINDOW_MILLIS_MAX = 10000; // 0x2710 field public static final int GPU_HEADROOM_CALCULATION_WINDOW_MILLIS_MIN = 50; // 0x32 } public static final class GpuHeadroomParams.Builder { ctor public GpuHeadroomParams.Builder(); ctor public GpuHeadroomParams.Builder(@NonNull android.os.GpuHeadroomParams); method @NonNull public android.os.GpuHeadroomParams build(); method @NonNull public android.os.GpuHeadroomParams.Builder setCalculationType(int); method @NonNull public android.os.GpuHeadroomParams.Builder setCalculationWindowMillis(@IntRange(from=1) int); } public class Handler { Loading Loading @@ -35187,9 +35201,12 @@ package android.os.health { public class SystemHealthManager { method @FlaggedApi("android.os.cpu_gpu_headrooms") @FloatRange(from=0.0f, to=100.0f) public float getCpuHeadroom(@Nullable android.os.CpuHeadroomParams); method @FlaggedApi("android.os.cpu_gpu_headrooms") @NonNull public android.util.Pair<java.lang.Integer,java.lang.Integer> getCpuHeadroomCalculationWindowRange(); method @FlaggedApi("android.os.cpu_gpu_headrooms") public long getCpuHeadroomMinIntervalMillis(); method @FlaggedApi("android.os.cpu_gpu_headrooms") @FloatRange(from=0.0f, to=100.0f) public float getGpuHeadroom(@Nullable android.os.GpuHeadroomParams); method @FlaggedApi("android.os.cpu_gpu_headrooms") @NonNull public android.util.Pair<java.lang.Integer,java.lang.Integer> getGpuHeadroomCalculationWindowRange(); method @FlaggedApi("android.os.cpu_gpu_headrooms") public long getGpuHeadroomMinIntervalMillis(); method @FlaggedApi("android.os.cpu_gpu_headrooms") @IntRange(from=1) public int getMaxCpuHeadroomTidsSize(); method @FlaggedApi("com.android.server.power.optimization.power_monitor_api") public void getPowerMonitorReadings(@NonNull java.util.List<android.os.PowerMonitor>, @Nullable java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.PowerMonitorReadings,java.lang.RuntimeException>); method @FlaggedApi("com.android.server.power.optimization.power_monitor_api") public void getSupportedPowerMonitors(@Nullable java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.os.PowerMonitor>>); method public android.os.health.HealthStats takeMyUidSnapshot(); core/java/android/app/IUserSwitchObserver.aidl +6 −6 Original line number Diff line number Diff line Loading @@ -19,10 +19,10 @@ package android.app; import android.os.IRemoteCallback; /** {@hide} */ interface IUserSwitchObserver { void onBeforeUserSwitching(int newUserId); oneway void onUserSwitching(int newUserId, IRemoteCallback reply); oneway void onUserSwitchComplete(int newUserId); oneway void onForegroundProfileSwitch(int newProfileId); oneway void onLockedBootComplete(int newUserId); oneway interface IUserSwitchObserver { void onBeforeUserSwitching(int newUserId, IRemoteCallback reply); void onUserSwitching(int newUserId, IRemoteCallback reply); void onUserSwitchComplete(int newUserId); void onForegroundProfileSwitch(int newProfileId); void onLockedBootComplete(int newUserId); } core/java/android/app/PropertyInvalidatedCache.java +2 −45 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.ArraySet; import android.util.Log; import android.util.SparseArray; import android.util.SparseBooleanArray; import android.util.SystemPropertySetter; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -156,21 +157,6 @@ public class PropertyInvalidatedCache<Query, Result> { */ public static final String MODULE_TELEPHONY = "telephony"; /** * Constants that affect retries when the process is unable to write the property. * The first constant is the number of times the process will attempt to set the * property. The second constant is the delay between attempts. */ /** * Wait 200ms between retry attempts and the retry limit is 5. That gives a total possible * delay of 1s, which should be less than ANR timeouts. The goal is to have the system crash * because the property could not be set (which is a condition that is easily recognized) and * not crash because of an ANR (which can be confusing to debug). */ private static final int PROPERTY_FAILURE_RETRY_DELAY_MILLIS = 200; private static final int PROPERTY_FAILURE_RETRY_LIMIT = 5; /** * Construct a system property that matches the rules described above. The module is * one of the permitted values above. The API is a string that is a legal Java simple Loading Loading @@ -958,37 +944,8 @@ public class PropertyInvalidatedCache<Query, Result> { */ @Override void setNonceInternal(long value) { // Failing to set the nonce is a fatal error. Failures setting a system property have // been reported; given that the failure is probably transient, this function includes // a retry. final String str = Long.toString(value); RuntimeException failure = null; for (int attempt = 0; attempt < PROPERTY_FAILURE_RETRY_LIMIT; attempt++) { try { SystemProperties.set(mName, str); if (attempt > 0) { // This log is not guarded. Based on known bug reports, it should // occur once a week or less. The purpose of the log message is to // identify the retries as a source of delay that might be otherwise // be attributed to the cache itself. Log.w(TAG, "Nonce set after " + attempt + " tries"); } return; } catch (RuntimeException e) { if (failure == null) { failure = e; } try { Thread.sleep(PROPERTY_FAILURE_RETRY_DELAY_MILLIS); } catch (InterruptedException x) { // Ignore this exception. The desired delay is only approximate and // there is no issue if the sleep sometimes terminates early. } } } // This point is reached only if SystemProperties.set() fails at least once. // Rethrow the first exception that was received. throw failure; SystemPropertySetter.setWithRetry(mName, str); } } Loading Loading
AconfigFlags.bp +8 −2 Original line number Diff line number Diff line Loading @@ -65,13 +65,13 @@ aconfig_declarations_group { "android.sdk.flags-aconfig-java", "android.security.flags-aconfig-java", "android.server.app.flags-aconfig-java", "android.service.appprediction.flags-aconfig-java", "android.service.autofill.flags-aconfig-java", "android.service.chooser.flags-aconfig-java", "android.service.compat.flags-aconfig-java", "android.service.controls.flags-aconfig-java", "android.service.dreams.flags-aconfig-java", "android.service.notification.flags-aconfig-java", "android.service.appprediction.flags-aconfig-java", "android.service.quickaccesswallet.flags-aconfig-java", "android.service.voice.flags-aconfig-java", "android.speech.flags-aconfig-java", Loading Loading @@ -827,8 +827,8 @@ java_aconfig_library { min_sdk_version: "30", apex_available: [ "//apex_available:platform", "com.android.permission", "com.android.nfcservices", "com.android.permission", ], } Loading Loading @@ -1824,6 +1824,12 @@ java_aconfig_library { min_sdk_version: "30", apex_available: [ "//apex_available:platform", "com.android.adservices", "com.android.cellbroadcast", "com.android.devicelock", "com.android.extservices", "com.android.healthfitness", "com.android.mediaprovider", "com.android.permission", ], } Loading
Android.bp +0 −39 Original line number Diff line number Diff line Loading @@ -537,45 +537,6 @@ java_library { }), } // This is identical to "framework-minus-apex" but with "jarjar_shards" hardcodd. // (also "stem" is commented out to avoid a conflict with the "framework-minus-apex") // TODO(b/383559945) This module is just for local testing / verification. It's not used // by anything. Remove it once we roll out RELEASE_USE_SHARDED_JARJAR_ON_FRAMEWORK_MINUS_APEX. java_library { name: "framework-minus-apex_jarjar-sharded", defaults: [ "framework-minus-apex-with-libs-defaults", "framework-non-updatable-lint-defaults", ], installable: true, // For backwards compatibility. // stem: "framework", apex_available: ["//apex_available:platform"], visibility: [ "//frameworks/base", "//frameworks/base/location", // TODO(b/147128803) remove the below lines "//frameworks/base/apex/blobstore/framework", "//frameworks/base/apex/jobscheduler/framework", "//frameworks/base/packages/Tethering/tests/unit", "//packages/modules/Connectivity/Tethering/tests/unit", ], errorprone: { javacflags: [ "-Xep:AndroidFrameworkCompatChange:ERROR", "-Xep:AndroidFrameworkUid:ERROR", ], }, lint: { baseline_filename: "lint-baseline.xml", warning_checks: [ "FlaggedApi", ], }, jarjar_prefix: "com.android.internal.hidden_from_bootclasspath", jarjar_shards: "10", } java_library { name: "framework-minus-apex-intdefs", defaults: ["framework-minus-apex-with-libs-defaults"], Loading
core/api/current.txt +26 −9 Original line number Diff line number Diff line Loading @@ -33657,16 +33657,23 @@ package android.os { } @FlaggedApi("android.os.cpu_gpu_headrooms") public final class CpuHeadroomParams { ctor public CpuHeadroomParams(); method public int getCalculationType(); method @IntRange(from=0x32, to=0x2710) public long getCalculationWindowMillis(); method public void setCalculationType(int); method public void setCalculationWindowMillis(@IntRange(from=0x32, to=0x2710) int); method public void setTids(@NonNull int...); method public long getCalculationWindowMillis(); method @NonNull public int[] getTids(); method @NonNull public android.os.CpuHeadroomParams.Builder toBuilder(); field public static final int CPU_HEADROOM_CALCULATION_TYPE_AVERAGE = 1; // 0x1 field public static final int CPU_HEADROOM_CALCULATION_TYPE_MIN = 0; // 0x0 } public static final class CpuHeadroomParams.Builder { ctor public CpuHeadroomParams.Builder(); ctor public CpuHeadroomParams.Builder(@NonNull android.os.CpuHeadroomParams); method @NonNull public android.os.CpuHeadroomParams build(); method @NonNull public android.os.CpuHeadroomParams.Builder setCalculationType(int); method @NonNull public android.os.CpuHeadroomParams.Builder setCalculationWindowMillis(@IntRange(from=1) int); method @NonNull public android.os.CpuHeadroomParams.Builder setTids(@NonNull int...); } public final class CpuUsageInfo implements android.os.Parcelable { method public int describeContents(); method public long getActive(); Loading Loading @@ -33915,13 +33922,20 @@ package android.os { } @FlaggedApi("android.os.cpu_gpu_headrooms") public final class GpuHeadroomParams { ctor public GpuHeadroomParams(); method public int getCalculationType(); method @IntRange(from=0x32, to=0x2710) public int getCalculationWindowMillis(); method public void setCalculationType(int); method public void setCalculationWindowMillis(@IntRange(from=0x32, to=0x2710) int); method public int getCalculationWindowMillis(); field public static final int GPU_HEADROOM_CALCULATION_TYPE_AVERAGE = 1; // 0x1 field public static final int GPU_HEADROOM_CALCULATION_TYPE_MIN = 0; // 0x0 field public static final int GPU_HEADROOM_CALCULATION_WINDOW_MILLIS_MAX = 10000; // 0x2710 field public static final int GPU_HEADROOM_CALCULATION_WINDOW_MILLIS_MIN = 50; // 0x32 } public static final class GpuHeadroomParams.Builder { ctor public GpuHeadroomParams.Builder(); ctor public GpuHeadroomParams.Builder(@NonNull android.os.GpuHeadroomParams); method @NonNull public android.os.GpuHeadroomParams build(); method @NonNull public android.os.GpuHeadroomParams.Builder setCalculationType(int); method @NonNull public android.os.GpuHeadroomParams.Builder setCalculationWindowMillis(@IntRange(from=1) int); } public class Handler { Loading Loading @@ -35187,9 +35201,12 @@ package android.os.health { public class SystemHealthManager { method @FlaggedApi("android.os.cpu_gpu_headrooms") @FloatRange(from=0.0f, to=100.0f) public float getCpuHeadroom(@Nullable android.os.CpuHeadroomParams); method @FlaggedApi("android.os.cpu_gpu_headrooms") @NonNull public android.util.Pair<java.lang.Integer,java.lang.Integer> getCpuHeadroomCalculationWindowRange(); method @FlaggedApi("android.os.cpu_gpu_headrooms") public long getCpuHeadroomMinIntervalMillis(); method @FlaggedApi("android.os.cpu_gpu_headrooms") @FloatRange(from=0.0f, to=100.0f) public float getGpuHeadroom(@Nullable android.os.GpuHeadroomParams); method @FlaggedApi("android.os.cpu_gpu_headrooms") @NonNull public android.util.Pair<java.lang.Integer,java.lang.Integer> getGpuHeadroomCalculationWindowRange(); method @FlaggedApi("android.os.cpu_gpu_headrooms") public long getGpuHeadroomMinIntervalMillis(); method @FlaggedApi("android.os.cpu_gpu_headrooms") @IntRange(from=1) public int getMaxCpuHeadroomTidsSize(); method @FlaggedApi("com.android.server.power.optimization.power_monitor_api") public void getPowerMonitorReadings(@NonNull java.util.List<android.os.PowerMonitor>, @Nullable java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.PowerMonitorReadings,java.lang.RuntimeException>); method @FlaggedApi("com.android.server.power.optimization.power_monitor_api") public void getSupportedPowerMonitors(@Nullable java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.os.PowerMonitor>>); method public android.os.health.HealthStats takeMyUidSnapshot();
core/java/android/app/IUserSwitchObserver.aidl +6 −6 Original line number Diff line number Diff line Loading @@ -19,10 +19,10 @@ package android.app; import android.os.IRemoteCallback; /** {@hide} */ interface IUserSwitchObserver { void onBeforeUserSwitching(int newUserId); oneway void onUserSwitching(int newUserId, IRemoteCallback reply); oneway void onUserSwitchComplete(int newUserId); oneway void onForegroundProfileSwitch(int newProfileId); oneway void onLockedBootComplete(int newUserId); oneway interface IUserSwitchObserver { void onBeforeUserSwitching(int newUserId, IRemoteCallback reply); void onUserSwitching(int newUserId, IRemoteCallback reply); void onUserSwitchComplete(int newUserId); void onForegroundProfileSwitch(int newProfileId); void onLockedBootComplete(int newUserId); }
core/java/android/app/PropertyInvalidatedCache.java +2 −45 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.ArraySet; import android.util.Log; import android.util.SparseArray; import android.util.SparseBooleanArray; import android.util.SystemPropertySetter; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -156,21 +157,6 @@ public class PropertyInvalidatedCache<Query, Result> { */ public static final String MODULE_TELEPHONY = "telephony"; /** * Constants that affect retries when the process is unable to write the property. * The first constant is the number of times the process will attempt to set the * property. The second constant is the delay between attempts. */ /** * Wait 200ms between retry attempts and the retry limit is 5. That gives a total possible * delay of 1s, which should be less than ANR timeouts. The goal is to have the system crash * because the property could not be set (which is a condition that is easily recognized) and * not crash because of an ANR (which can be confusing to debug). */ private static final int PROPERTY_FAILURE_RETRY_DELAY_MILLIS = 200; private static final int PROPERTY_FAILURE_RETRY_LIMIT = 5; /** * Construct a system property that matches the rules described above. The module is * one of the permitted values above. The API is a string that is a legal Java simple Loading Loading @@ -958,37 +944,8 @@ public class PropertyInvalidatedCache<Query, Result> { */ @Override void setNonceInternal(long value) { // Failing to set the nonce is a fatal error. Failures setting a system property have // been reported; given that the failure is probably transient, this function includes // a retry. final String str = Long.toString(value); RuntimeException failure = null; for (int attempt = 0; attempt < PROPERTY_FAILURE_RETRY_LIMIT; attempt++) { try { SystemProperties.set(mName, str); if (attempt > 0) { // This log is not guarded. Based on known bug reports, it should // occur once a week or less. The purpose of the log message is to // identify the retries as a source of delay that might be otherwise // be attributed to the cache itself. Log.w(TAG, "Nonce set after " + attempt + " tries"); } return; } catch (RuntimeException e) { if (failure == null) { failure = e; } try { Thread.sleep(PROPERTY_FAILURE_RETRY_DELAY_MILLIS); } catch (InterruptedException x) { // Ignore this exception. The desired delay is only approximate and // there is no issue if the sleep sometimes terminates early. } } } // This point is reached only if SystemProperties.set() fails at least once. // Rethrow the first exception that was received. throw failure; SystemPropertySetter.setWithRetry(mName, str); } } Loading