summaryrefslogtreecommitdiffstats
path: root/core/java/android/os
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2014-08-11 17:09:26 -0700
committerAmith Yamasani <yamasani@google.com>2014-08-13 20:09:20 +0000
commit95ab7849444125387dc88088bb5197ee463d8c17 (patch)
treec5747585a3e3e2dd8aed2475767eaf91c9376ff5 /core/java/android/os
parent437e61d5adc81b57c11f56b94ecc75239708fbb1 (diff)
downloadframeworks_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.java20
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