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

Commit 06d5b870 authored by Joseph Vincent's avatar Joseph Vincent Committed by Android (Google) Code Review
Browse files

Merge "Define new error code to send on profile create restrition" into main

parents 1b56ff5a 8115d996
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -2391,10 +2391,15 @@ public class UserManager {
     */
    public static final int USER_OPERATION_ERROR_DISABLED_USER = 8;
    /**
     * Indicates user operation failed because user is disabled on the device.
     * Indicates user operation failed because private space is disabled on the device.
     * @hide
     */
    public static final int USER_OPERATION_ERROR_PRIVATE_PROFILE = 9;
    /**
     * Indicates user operation failed because user is restricted on the device.
     * @hide
     */
    public static final int USER_OPERATION_ERROR_USER_RESTRICTED = 10;

    /**
     * Result returned from various user operations.
@@ -2413,6 +2418,7 @@ public class UserManager {
            USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS,
            USER_OPERATION_ERROR_DISABLED_USER,
            USER_OPERATION_ERROR_PRIVATE_PROFILE,
            USER_OPERATION_ERROR_USER_RESTRICTED,
    })
    public @interface UserOperationResult {}

+7 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import static android.os.UserManager.DEV_CREATE_OVERRIDE_PROPERTY;
import static android.os.UserManager.DISALLOW_USER_SWITCH;
import static android.os.UserManager.SYSTEM_USER_MODE_EMULATION_PROPERTY;
import static android.os.UserManager.USER_OPERATION_ERROR_UNKNOWN;
import static android.os.UserManager.USER_OPERATION_ERROR_USER_RESTRICTED;
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;

import static com.android.internal.app.SetScreenLockDialogActivity.EXTRA_ORIGIN_USER_ID;
@@ -8039,10 +8040,15 @@ public class UserManagerService extends IUserManager.Stub {
            String errorMessage = (message != null ? (message + ": ") : "")
                    + restriction + " is enabled.";
            Slog.w(LOG_TAG, errorMessage);
            if (android.multiuser.Flags.showDifferentCreationErrorForUnsupportedDevices()) {
                throw new UserManager.CheckedUserOperationException(errorMessage,
                    USER_OPERATION_ERROR_USER_RESTRICTED);
            } else {
                throw new UserManager.CheckedUserOperationException(errorMessage,
                    USER_OPERATION_ERROR_UNKNOWN);
            }
        }
    }

    /**
     * Throws CheckedUserOperationException and shows error log