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

Commit 42f0ac63 authored by Mayank Garg's avatar Mayank Garg
Browse files

Replaced removeUserOrSetEphemeral by removeUserWhenPossible

Bug: 199446770
Test: m (successful build)
Change-Id: I5d46b168979b954921d99183db2362a77d7fa09f
parent 9771f44d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ interface IUserManager {
    Bundle getApplicationRestrictionsForUser(in String packageName, int userId);
    void setDefaultGuestRestrictions(in Bundle restrictions);
    Bundle getDefaultGuestRestrictions();
    int removeUserOrSetEphemeral(int userId, boolean evenWhenDisallowed);
    int removeUserWhenPossible(int userId, boolean overrideDevicePolicy);
    boolean markGuestForDeletion(int userId);
    UserInfo findCurrentGuestUser();
    boolean isQuietModeEnabled(int userId);
+2 −2
Original line number Diff line number Diff line
@@ -4750,7 +4750,7 @@ public class UserManager {
    public int removeUserWhenPossible(@NonNull UserHandle user,
            boolean overrideDevicePolicy) {
        try {
            return mService.removeUserOrSetEphemeral(user.getIdentifier(), overrideDevicePolicy);
            return mService.removeUserWhenPossible(user.getIdentifier(), overrideDevicePolicy);
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
@@ -4777,7 +4777,7 @@ public class UserManager {
    public @RemoveResult int removeUserOrSetEphemeral(@UserIdInt int userId,
            boolean evenWhenDisallowed) {
        try {
            return mService.removeUserOrSetEphemeral(userId, evenWhenDisallowed);
            return mService.removeUserWhenPossible(userId, evenWhenDisallowed);
        } catch (RemoteException re) {
            throw re.rethrowFromSystemServer();
        }
+2 −2
Original line number Diff line number Diff line
@@ -126,8 +126,8 @@ public class MasterClearReceiver extends BroadcastReceiver {

    private boolean wipeUser(Context context, @UserIdInt int userId, String wipeReason) {
        final UserManager userManager = context.getSystemService(UserManager.class);
        final int result = userManager.removeUserOrSetEphemeral(
                userId, /* evenWhenDisallowed= */ false);
        final int result = userManager.removeUserWhenPossible(
                UserHandle.of(userId), /* overrideDevicePolicy= */ false);
        if (result == UserManager.REMOVE_RESULT_ERROR) {
            Slogf.e(TAG, "Can't remove user %d", userId);
            return false;
+3 −3
Original line number Diff line number Diff line
@@ -2745,7 +2745,7 @@ class PackageManagerShellCommand extends ShellCommand {
        IUserManager um = IUserManager.Stub.asInterface(
                ServiceManager.getService(Context.USER_SERVICE));
        if (setEphemeralIfInUse) {
            return removeUserOrSetEphemeral(um, userId);
            return removeUserWhenPossible(um, userId);
        } else {
            final boolean success = wait ? removeUserAndWait(um, userId) : removeUser(um, userId);
            if (success) {
@@ -2808,10 +2808,10 @@ class PackageManagerShellCommand extends ShellCommand {
        }
    }

    private int removeUserOrSetEphemeral(IUserManager um, @UserIdInt int userId)
    private int removeUserWhenPossible(IUserManager um, @UserIdInt int userId)
            throws RemoteException {
        Slog.i(TAG, "Removing " + userId + " or set as ephemeral if in use.");
        int result = um.removeUserOrSetEphemeral(userId, /* evenWhenDisallowed= */ false);
        int result = um.removeUserWhenPossible(userId, /* overrideDevicePolicy= */ false);
        switch (result) {
            case UserManager.REMOVE_RESULT_REMOVED:
                getOutPrintWriter().printf("Success: user %d removed\n", userId);
+3 −3
Original line number Diff line number Diff line
@@ -4430,11 +4430,11 @@ public class UserManagerService extends IUserManager.Stub {
    }

    @Override
    public @UserManager.RemoveResult int removeUserOrSetEphemeral(@UserIdInt int userId,
            boolean evenWhenDisallowed) {
    public @UserManager.RemoveResult int removeUserWhenPossible(@UserIdInt int userId,
            boolean overrideDevicePolicy) {
        checkCreateUsersPermission("Only the system can remove users");

        if (!evenWhenDisallowed) {
        if (!overrideDevicePolicy) {
            final String restriction = getUserRemovalRestriction(userId);
            if (getUserRestrictions(UserHandle.getCallingUserId()).getBoolean(restriction, false)) {
                Slog.w(LOG_TAG, "Cannot remove user. " + restriction + " is enabled.");
Loading