summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorXiaohui Chen <xiaohuic@google.com>2015-12-07 11:22:13 -0800
committerXiaohui Chen <xiaohuic@google.com>2015-12-07 11:32:50 -0800
commitb3b9258ab6a01af5e0df4b8385b73084cd9ec530 (patch)
treedcfc121fd3217c897106f86cab7a79dd02845628 /core/java/android
parent43aecc85e85c46f457764eea22cca42b7ee912d1 (diff)
UserManager: get/set user account name
Bug: 25935510 Change-Id: I0b621fb300be74209534e08a11f1d1a7c049cd5a
Diffstat (limited to 'core/java/android')
-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 c71d6cc00e54..f03de7418023 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 c2fc5e4f64c2..97f25c002172 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;
@@ -1084,6 +1086,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.
*