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

Commit 9300834f authored by Mark Fasheh's avatar Mark Fasheh Committed by Automerger Merge Worker
Browse files

Merge "Cherry pick UidFrozenStateChanged API signature" am: 4e225633 am: 99490f7d

parents fea5a1d0 99490f7d
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