Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e225633 authored by Mark Fasheh's avatar Mark Fasheh Committed by Gerrit Code Review
Browse files

Merge "Cherry pick UidFrozenStateChanged API signature"

parents ac40d0da 1aa38cac
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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";
  }
+9 −0
Original line number Diff line number Diff line
@@ -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);
+108 −0
Original line number Diff line number Diff line
@@ -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