diff options
author | Kenny Guy <kennyguy@google.com> | 2014-02-25 13:01:38 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-02-25 13:01:38 +0000 |
commit | e21c52a8c9ef27c348f784daa8ec384152c3264e (patch) | |
tree | f3a830421493265b9733289edf86afe564807813 /core/java | |
parent | f5a9ad1cd046439d8fe0eba883c35717a052943e (diff) | |
parent | 1a447535cef7e3739d5f763dfe13e568568b9789 (diff) | |
download | frameworks_base-e21c52a8c9ef27c348f784daa8ec384152c3264e.zip frameworks_base-e21c52a8c9ef27c348f784daa8ec384152c3264e.tar.gz frameworks_base-e21c52a8c9ef27c348f784daa8ec384152c3264e.tar.bz2 |
Merge "Hide managed profiles from user switchers."
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/content/pm/UserInfo.java | 9 | ||||
-rw-r--r-- | core/java/android/os/UserManager.java | 26 |
2 files changed, 33 insertions, 2 deletions
diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java index aa4a243..6f1d4f8 100644 --- a/core/java/android/content/pm/UserInfo.java +++ b/core/java/android/content/pm/UserInfo.java @@ -18,6 +18,7 @@ package android.content.pm; import android.os.Parcel; import android.os.Parcelable; +import android.os.SystemProperties; import android.os.UserHandle; /** @@ -116,6 +117,14 @@ public class UserInfo implements Parcelable { return (flags & FLAG_MANAGED_PROFILE) == FLAG_MANAGED_PROFILE; } + /** + * @return true if this user can be switched to. + **/ + public boolean supportsSwitchTo() { + // TODO remove fw.show_hidden_users when we have finished developing managed profiles. + return !isManagedProfile() || SystemProperties.getBoolean("fw.show_hidden_users", false); + } + public UserInfo() { } diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 8f6dda1..1ec5cd5 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -164,11 +164,13 @@ public class UserManager { /** * Returns whether the system supports multiple users. - * @return true if multiple users can be created, false if it is a single user device. + * @return true if multiple users can be created by user, false if it is a single user device. * @hide */ public static boolean supportsMultipleUsers() { - return getMaxSupportedUsers() > 1; + return getMaxSupportedUsers() > 1 + && SystemProperties.getBoolean("fw.show_multiuserui", + Resources.getSystem().getBoolean(R.bool.config_enableMultiUserUI)); } /** @@ -601,6 +603,26 @@ public class UserManager { } /** + * Returns true if the user switcher should be shown, this will be if there + * are multiple users that aren't managed profiles. + * @hide + * @return true if user switcher should be shown. + */ + public boolean isUserSwitcherEnabled() { + List<UserInfo> users = getUsers(true); + if (users == null) { + return false; + } + int switchableUserCount = 0; + for (UserInfo user : users) { + if (user.supportsSwitchTo()) { + ++switchableUserCount; + } + } + return switchableUserCount > 1; + } + + /** * Returns a serial number on this device for a given userHandle. User handles can be recycled * when deleting and creating users, but serial numbers are not reused until the device is wiped. * @param userHandle |