diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/IUserManager.aidl | 2 | ||||
| -rw-r--r-- | core/java/android/os/UserManager.java | 35 |
2 files changed, 37 insertions, 0 deletions
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl index 2db1d150e2fd..9ee6228f4064 100644 --- a/core/java/android/os/IUserManager.aidl +++ b/core/java/android/os/IUserManager.aidl @@ -48,6 +48,8 @@ interface IUserManager { UserInfo getProfileParent(int userHandle); boolean isSameProfileGroup(int userId, int otherUserId); UserInfo getUserInfo(int userHandle); + String getUserAccount(int userId); + void setUserAccount(int userId, String accountName); long getUserCreationTime(int userHandle); boolean isRestricted(); boolean canHaveRestrictedProfile(int userId); diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index c8abcef05fea..1346a390be45 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -15,8 +15,10 @@ */ package android.os; +import android.Manifest; import android.accounts.AccountManager; import android.annotation.Nullable; +import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.app.ActivityManager; import android.app.ActivityManagerNative; @@ -1121,6 +1123,39 @@ public class UserManager { } /** + * @return the user's account name, null if not found. + * @hide + */ + @RequiresPermission( allOf = { + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + Manifest.permission.MANAGE_USERS + }) + public @Nullable String getUserAccount(int userHandle) { + try { + return mService.getUserAccount(userHandle); + } catch (RemoteException re) { + Log.w(TAG, "Could not get user account", re); + return null; + } + } + + /** + * Set account name for the given user. + * @hide + */ + @RequiresPermission( allOf = { + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + Manifest.permission.MANAGE_USERS + }) + public void setUserAccount(int userHandle, @Nullable String accountName) { + try { + mService.setUserAccount(userHandle, accountName); + } catch (RemoteException re) { + Log.w(TAG, "Could not set user account", re); + } + } + + /** * Returns information for Primary user. * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. * |
