From 172c09320e7f99fb46b010509116cfc2f5b528f9 Mon Sep 17 00:00:00 2001 From: Mark Fasheh Date: Tue, 28 Mar 2023 21:09:05 +0000 Subject: [PATCH] Add @TestApi to UidFrozenStateChanged API surface This makes it much easier to develop a CTS test for the API. Test: built with my cts test prototype Bug: 274010383 Change-Id: I6773314308abd638b2b9b5e7641191a081c90bfc --- core/api/test-current.txt | 8 ++++++++ core/java/android/app/ActivityManager.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 7107bf7419e52..9d2c6086d1c27 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -136,6 +136,7 @@ package android.app { method public void holdLock(android.os.IBinder, int); method public static boolean isHighEndGfx(); method public void notifySystemPropertiesChanged(); + method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void registerUidFrozenStateChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.ActivityManager.UidFrozenStateChangedCallback); method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener); method @RequiresPermission(android.Manifest.permission.RESET_APP_ERRORS) public void resetAppErrors(); method public static void resumeAppSwitches() throws android.os.RemoteException; @@ -143,6 +144,7 @@ package android.app { method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(int); method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public boolean startUserInBackgroundVisibleOnDisplay(int, int); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean stopUser(int, boolean); + method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void unregisterUidFrozenStateChangedCallback(@NonNull android.app.ActivityManager.UidFrozenStateChangedCallback); method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String); method @RequiresPermission(android.Manifest.permission.DUMP) public void waitForBroadcastIdle(); field public static final long LOCK_DOWN_CLOSE_SYSTEM_DIALOGS = 174664365L; // 0xa692aadL @@ -166,6 +168,12 @@ package android.app { method @Nullable public String getIconResourcePackage(); } + public static interface ActivityManager.UidFrozenStateChangedCallback { + method public void onUidFrozenStateChanged(@NonNull int[], @NonNull int[]); + field public static final int UID_FROZEN_STATE_FROZEN = 1; // 0x1 + field public static final int UID_FROZEN_STATE_UNFROZEN = 2; // 0x2 + } + public class ActivityOptions extends android.app.ComponentOptions { method public boolean isEligibleForLegacyPermissionPrompt(); method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener); diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 929c07bc1dc5a..a4f6cb9599205 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -256,6 +256,7 @@ public class ActivityManager { * @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi public interface UidFrozenStateChangedCallback { /** * Indicates that the UID was frozen. @@ -263,6 +264,7 @@ public class ActivityManager { * @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi int UID_FROZEN_STATE_FROZEN = 1; /** @@ -271,6 +273,7 @@ public class ActivityManager { * @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi int UID_FROZEN_STATE_UNFROZEN = 2; /** @@ -296,6 +299,7 @@ public class ActivityManager { * @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi void onUidFrozenStateChanged(@NonNull int[] uids, @NonNull @UidFrozenState int[] frozenStates); } @@ -315,6 +319,7 @@ public class ActivityManager { */ @RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi public void registerUidFrozenStateChangedCallback( @NonNull Executor executor, @NonNull UidFrozenStateChangedCallback callback) { @@ -346,6 +351,7 @@ public class ActivityManager { */ @RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @TestApi public void unregisterUidFrozenStateChangedCallback( @NonNull UidFrozenStateChangedCallback callback) { Preconditions.checkNotNull(callback, "callback cannot be null");