summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/os/IUserManager.aidl2
-rw-r--r--core/java/android/os/UserManager.java35
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.
*