summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Pawlowski <jpawlowski@google.com>2017-11-17 01:33:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-11-17 01:33:31 +0000
commit7a2c66359aff75ccdd2438ebedad87311c757f25 (patch)
treec6ef9714c363e81970702e0f353005b3bfcbe522
parent12bc5b628996a1e180b30d562ea8678e93efdc8e (diff)
parent0f1f5b79530e6dbdc7bd66ebf49fe05e4ea3a763 (diff)
downloadbase-7a2c66359aff75ccdd2438ebedad87311c757f25.tar.gz
Merge "Add getProfileParentId (1/2)"
-rw-r--r--core/java/android/os/IUserManager.aidl4
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java13
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl
index e426356dcc95..6746120f410d 100644
--- a/core/java/android/os/IUserManager.aidl
+++ b/core/java/android/os/IUserManager.aidl
@@ -35,6 +35,10 @@ interface IUserManager {
* DO NOT MOVE - UserManager.h depends on the ordering of this function.
*/
int getCredentialOwnerProfile(int userHandle);
+ int getProfileParentId(int userHandle);
+ /*
+ * END OF DO NOT MOVE
+ */
UserInfo createUser(in String name, int flags);
UserInfo createProfileForUser(in String name, int flags, int userHandle,
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 132b8455eb3f..62f4a301511d 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -714,6 +714,19 @@ public class UserManagerService extends IUserManager.Stub {
}
}
+ @Override
+ public int getProfileParentId(int userHandle) {
+ checkManageUsersPermission("get the profile parent");
+ synchronized (mUsersLock) {
+ UserInfo profileParent = getProfileParentLU(userHandle);
+ if (profileParent == null) {
+ return userHandle;
+ }
+
+ return profileParent.id;
+ }
+ }
+
private UserInfo getProfileParentLU(int userHandle) {
UserInfo profile = getUserInfoLU(userHandle);
if (profile == null) {