diff options
author | Amith Yamasani <yamasani@google.com> | 2014-08-11 17:09:26 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2014-08-13 20:09:20 +0000 |
commit | 95ab7849444125387dc88088bb5197ee463d8c17 (patch) | |
tree | c5747585a3e3e2dd8aed2475767eaf91c9376ff5 /core/java/android/os | |
parent | 437e61d5adc81b57c11f56b94ecc75239708fbb1 (diff) | |
download | frameworks_base-95ab7849444125387dc88088bb5197ee463d8c17.zip frameworks_base-95ab7849444125387dc88088bb5197ee463d8c17.tar.gz frameworks_base-95ab7849444125387dc88088bb5197ee463d8c17.tar.bz2 |
Decouple user limit from guest creation
Allow Guest to be created even if there are N users.
Allow N users to be created even if there are N-1 users
and a Guest.
Limit number of guests and managed profiles that can
be added.
Added unit tests.
Bug: 15934700
Change-Id: I1a8f0fa38a91d71ef7b2980e05c974244dfc337a
Diffstat (limited to 'core/java/android/os')
-rw-r--r-- | core/java/android/os/UserManager.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 3087506..f9e7b78 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -696,6 +696,26 @@ public class UserManager { } /** + * Checks whether it's possible to add more users. Caller must hold the MANAGE_USERS + * permission. + * + * @return true if more users can be added, false if limit has been reached. + * @hide + */ + public boolean canAddMoreUsers() { + final List<UserInfo> users = getUsers(true); + final int totalUserCount = users.size(); + int aliveUserCount = 0; + for (int i = 0; i < totalUserCount; i++) { + UserInfo user = users.get(i); + if (!user.isGuest()) { + aliveUserCount++; + } + } + return aliveUserCount < getMaxSupportedUsers(); + } + + /** * Returns list of the profiles of userHandle including * userHandle itself. * Note that it this returns both enabled and not enabled profiles. See |