diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/IUserManager.aidl | 1 | ||||
| -rw-r--r-- | core/java/android/os/UserManager.java | 16 |
2 files changed, 12 insertions, 5 deletions
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl index 3017f258ed2d..154ef5a70f16 100644 --- a/core/java/android/os/IUserManager.aidl +++ b/core/java/android/os/IUserManager.aidl @@ -100,6 +100,7 @@ interface IUserManager { boolean isUserNameSet(int userHandle); boolean hasRestrictedProfiles(); boolean requestQuietModeEnabled(String callingPackage, boolean enableQuietMode, int userHandle, in IntentSender target); + String getUserName(); long getUserStartRealtime(); long getUserUnlockRealtime(); } diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 42633778a321..951c10b21ca0 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -1256,12 +1256,16 @@ public class UserManager { /** * Returns the user name of the user making this call. This call is only * available to applications on the system image; it requires the - * MANAGE_USERS permission. + * {@code android.permission.MANAGE_USERS} or {@code android.permission.GET_ACCOUNTS_PRIVILEGED} + * permissions. * @return the user name */ public String getUserName() { - UserInfo user = getUserInfo(getUserHandle()); - return user == null ? "" : user.name; + try { + return mService.getUserName(); + } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); + } } /** @@ -2764,14 +2768,16 @@ public class UserManager { /** * Returns a Bitmap for the calling user's photo. - * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. + * Requires {@link android.Manifest.permission#MANAGE_USERS} + * or {@link android.Manifest.permission#GET_ACCOUNTS_PRIVILEGED} permissions. * * @return a {@link Bitmap} of the user's photo, or null if there's no photo. * @see com.android.internal.util.UserIcons#getDefaultUserIcon for a default. * @hide */ @SystemApi - @RequiresPermission(android.Manifest.permission.MANAGE_USERS) + @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS, + android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public @Nullable Bitmap getUserIcon() { return getUserIcon(getUserHandle()); } |
