diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java index 03d1cda9c071..e77964c6fa0c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtilsInternal.java @@ -243,6 +243,32 @@ public class RestrictedLockUtilsInternal extends RestrictedLockUtils {      }      /** +     * Checks whether add user is disabled on the device +     * +     * @param context {@link Context} for the calling user. +     * +     * +     * @param userId User to check enforced admin status for. +     * +     * @return EnforcedAdmin Object containing the enforced admin component and admin user details, +     * or {@code null} If adding user is not disabled. +     */ +    public static EnforcedAdmin checkIfAddUserDisallowed(Context context, int userId) { +        final UserManager um = UserManager.get(context); +        if (!um.hasUserRestriction(UserManager.DISALLOW_ADD_USER, UserHandle.of(userId))) { +            // Restriction is not enforced. +            return null; +        } +        EnforcedAdmin enforcedAdmin = checkIfRestrictionEnforced(context, +                UserManager.DISALLOW_ADD_USER, userId); +        if (enforcedAdmin != null) { +            return enforcedAdmin; +        } +        return EnforcedAdmin.createDefaultEnforcedAdminWithRestriction( +                UserManager.DISALLOW_ADD_USER); +    } + +    /**       * Check if an application is suspended.       *       * @return EnforcedAdmin Object containing the enforced admin component and admin user details,  |