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

Commit e177318b authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Replaced IUserManager.getUsers(boolean, boolean, boolean) by getUsers(boolean)" into main

parents 2e3d63ae f6cb2c78
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ interface IUserManager {
    int getMainUserId();
    int getCommunalProfileId();
    int getPreviousUserToEnterForeground();
    List<UserInfo> getUsers(boolean excludePartial, boolean excludeDying, boolean excludePreCreated);
    List<UserInfo> getUsers(boolean excludeDying);
    List<UserInfo> getProfiles(int userId, boolean enabledOnly);
    int[] getProfileIds(int userId, boolean enabledOnly);
    boolean isUserTypeEnabled(in String userType);
+9 −37
Original line number Diff line number Diff line
@@ -5060,12 +5060,6 @@ public class UserManager {
     *
     * <p>To retrieve only users that are not marked for deletion, use {@link #getAliveUsers()}.
     *
     * <p>To retrieve *all* users (including partial and pre-created users), use
     * {@link #getUsers(boolean, boolean, boolean)) getUsers(false, false, false)}.
     *
     * <p>To retrieve a more specific list of users, use
     * {@link #getUsers(boolean, boolean, boolean)}.
     *
     * @return the list of users that were created.
     *
     * @hide
@@ -5077,20 +5071,17 @@ public class UserManager {
    })
    @TestApi
    public @NonNull List<UserInfo> getUsers() {
        return getUsers(/*excludePartial= */ true, /* excludeDying= */ false,
                /* excludePreCreated= */ true);
        return getUsers(/* excludeDying= */ false);
    }

    /**
     * Returns information for all "usable" users on this device (i.e, it excludes users that are
     * marked for deletion, pre-created users, etc...).
     * Returns information for all "usable" users on this device (for example, it excludes users
     * that are marked for deletion).
     *
     * <p>To retrieve all fully-created users, use {@link #getUsers()}.
     *
     * <p>To retrieve a more specific list of users, use
     * {@link #getUsers(boolean, boolean, boolean)}.
     * <p>To also retrieve users marked for deletion, use {@link #getUsers()}.
     *
     * @return the list of users that were created.
     *
     * @hide
     */
    @RequiresPermission(anyOf = {
@@ -5099,8 +5090,7 @@ public class UserManager {
    })
    @TestApi
    public @NonNull List<UserInfo> getAliveUsers() {
        return getUsers(/*excludePartial= */ true, /* excludeDying= */ true,
                /* excludePreCreated= */ true);
        return getUsers(/* excludeDying= */ true);
    }

    /**
@@ -5116,24 +5106,8 @@ public class UserManager {
            android.Manifest.permission.CREATE_USERS
    })
    public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
        return getUsers(/*excludePartial= */ true, excludeDying,
                /* excludePreCreated= */ true);
    }

    /**
     * @deprecated Pre-created users are deprecated and no longer supported.
     *             Use {@link #getUsers()}, or {@link #getAliveUsers()} instead.
     * @hide
     */
    @Deprecated
    @RequiresPermission(anyOf = {
            android.Manifest.permission.MANAGE_USERS,
            android.Manifest.permission.CREATE_USERS
    })
    private @NonNull List<UserInfo> getUsers(boolean excludePartial, boolean excludeDying,
            boolean excludePreCreated) {
        try {
            return mService.getUsers(excludePartial, excludeDying, excludePreCreated);
            return mService.getUsers(excludeDying);
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
@@ -5152,8 +5126,7 @@ public class UserManager {
            android.Manifest.permission.CREATE_USERS
    })
    public @NonNull List<UserHandle> getUserHandles(boolean excludeDying) {
        List<UserInfo> users = getUsers(/* excludePartial= */ true, excludeDying,
                /* excludePreCreated= */ true);
        List<UserInfo> users = getUsers(excludeDying);
        List<UserHandle> result = new ArrayList<>(users.size());
        for (UserInfo user : users) {
            result.add(user.getUserHandle());
@@ -5174,8 +5147,7 @@ public class UserManager {
            android.Manifest.permission.CREATE_USERS
    })
    public long[] getSerialNumbersOfUsers(boolean excludeDying) {
        List<UserInfo> users = getUsers(/* excludePartial= */ true, excludeDying,
                /* excludePreCreated= */ true);
        List<UserInfo> users = getUsers(excludeDying);
        long[] result = new long[users.size()];
        for (int i = 0; i < result.length; i++) {
            result[i] = users.get(i).serialNumber;
+5 −14
Original line number Diff line number Diff line
@@ -1585,17 +1585,11 @@ public class UserManagerService extends IUserManager.Stub {
        return UserHandle.USER_NULL;
    }

    public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
        return getUsers(/*excludePartial= */ true, excludeDying, /* excludePreCreated= */
                true);
    }

    @Override
    public @NonNull List<UserInfo> getUsers(boolean excludePartial, boolean excludeDying,
            boolean excludePreCreated) {
    public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
        checkCreateUsersPermission("query users");
        return getUsersInternal(excludePartial, excludeDying, excludePreCreated,
                /* resolveNullNames= */ true);
        return getUsersInternal(/* excludePartial= */ true, excludeDying, /* excludePreCreated= */
                true, /* resolveNullNames= */ true);
    }

    // Used by cmd users
@@ -3168,7 +3162,7 @@ public class UserManagerService extends IUserManager.Stub {

    /** Returns true if there is more than one user that can be switched to. */
    private boolean areThereMultipleSwitchableUsers() {
        List<UserInfo> aliveUsers = getUsers(true, true, true);
        List<UserInfo> aliveUsers = getUsers(/* excludeDying= */ true);
        boolean isAnyAliveUser = false;
        for (UserInfo userInfo : aliveUsers) {
            if (userInfo.supportsSwitchToByUser()) {
@@ -7665,10 +7659,7 @@ public class UserManagerService extends IUserManager.Stub {
     * recycled.
     */
    void reconcileUsers(String volumeUuid) {
        mUserDataPreparer.reconcileUsers(volumeUuid, getUsers(
                /* excludePartial= */ true,
                /* excludeDying= */ true,
                /* excludePreCreated= */ false));
        mUserDataPreparer.reconcileUsers(volumeUuid, getUsers(/* excludeDying= */ true));
    }

    /**