Cherry pick UidFrozenStateChanged API signature

This doesn't do anything, but is required for upcoming
ConnectivityService patches.

Bug: 277100090
Test: Build, smoke test by loading on Pixel 6
Change-Id: Ib48a39f0054edc7456d005a6f90a5da3fba8faab
Merged-in: I27ae40f345532836bdcb0e0dc3d7d7315c110d29
This commit is contained in:
Mark Fasheh
2023-04-21 00:29:07 +00:00
parent ae4181919c
commit 1aa38cac4e
3 changed files with 126 additions and 0 deletions

View File

@@ -17,10 +17,19 @@ package android.app {
public class ActivityManager {
method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
method @NonNull @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int[] getUidFrozenState(@NonNull int[]);
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.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);
}
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 AppOpsManager {
field public static final String OPSTR_NO_ISOLATED_STORAGE = "android:no_isolated_storage";
}

View File

@@ -122,16 +122,19 @@ package android.app {
method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
method public void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
method public long getTotalRam();
method @NonNull @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int[] getUidFrozenState(@NonNull int[]);
method @RequiresPermission(allOf={android.Manifest.permission.PACKAGE_USAGE_STATS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public int getUidProcessCapabilities(int);
method @RequiresPermission(allOf={android.Manifest.permission.PACKAGE_USAGE_STATS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public int getUidProcessState(int);
method public void holdLock(android.os.IBinder, int);
method public static boolean isHighEndGfx();
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;
method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int);
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(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
@@ -161,6 +164,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 {
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);

View File

@@ -230,6 +230,114 @@ public class ActivityManager {
final ArrayMap<OnUidImportanceListener, UidObserver> mImportanceListeners = new ArrayMap<>();
/**
* Callback object for {@link #registerUidFrozenStateChangedCallback}
*
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
public interface UidFrozenStateChangedCallback {
/**
* Indicates that the UID was frozen.
*
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
int UID_FROZEN_STATE_FROZEN = 1;
/**
* Indicates that the UID was unfrozen.
*
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
int UID_FROZEN_STATE_UNFROZEN = 2;
/**
* @hide
*/
@Retention(RetentionPolicy.SOURCE)
@IntDef(flag = false, prefix = {"UID_FROZEN_STATE_"}, value = {
UID_FROZEN_STATE_FROZEN,
UID_FROZEN_STATE_UNFROZEN,
})
public @interface UidFrozenState {}
/**
* Notify the client that the frozen states of an array of UIDs have changed.
*
* @param uids The UIDs for which the frozen state has changed
* @param frozenStates Frozen state for each UID index, Will be set to
* {@link UidFrozenStateChangedCallback#UID_FROZEN_STATE_FROZEN}
* when the UID is frozen. When the UID is unfrozen,
* {@link UidFrozenStateChangedCallback#UID_FROZEN_STATE_UNFROZEN}
* will be set.
*
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
void onUidFrozenStateChanged(@NonNull int[] uids,
@NonNull @UidFrozenState int[] frozenStates);
}
/**
* Register a {@link UidFrozenStateChangedCallback} object to receive notification
* when a UID is frozen or unfrozen. Will throw an exception if the same
* callback object is registered more than once.
*
* @param executor The executor that the callback will be run from.
* @param callback The callback to be registered. Callbacks for previous frozen/unfrozen
* UID changes will not be delivered. Only changes in state from the point of
* registration onward will be reported.
* @throws IllegalStateException if the {@code callback} is already registered.
*
* @hide
*/
@RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS)
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
public void registerUidFrozenStateChangedCallback(
@NonNull Executor executor,
@NonNull UidFrozenStateChangedCallback callback) {
}
/**
* Unregister a {@link UidFrozenStateChangedCallback} callback.
* @param callback The callback to be unregistered.
*
* @hide
*/
@RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS)
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
public void unregisterUidFrozenStateChangedCallback(
@NonNull UidFrozenStateChangedCallback callback) {
}
/**
* Query the frozen state of a list of UIDs.
*
* @param uids the array of UIDs which the client would like to know the frozen state of.
* @return An array containing the frozen state for each requested UID, by index. Will be set
* to {@link UidFrozenStateChangedCallback#UID_FROZEN_STATE_FROZEN}
* if the UID is frozen. If the UID is not frozen or not found,
* {@link UidFrozenStateChangedCallback#UID_FROZEN_STATE_UNFROZEN}
* will be set.
*
* @hide
*/
@RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS)
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@TestApi
public @NonNull @UidFrozenStateChangedCallback.UidFrozenState
int[] getUidFrozenState(@NonNull int[] uids) {
return new int[uids.length];
}
/**
* <a href="{@docRoot}guide/topics/manifest/meta-data-element.html">{@code
* <meta-data>}</a> name for a 'home' Activity that declares a package that is to be