diff options
author | Jovana Knezevic <jovanak@google.com> | 2018-06-12 17:46:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-06-12 17:46:51 +0000 |
commit | 31682e5b8f34363372f390e2a75173ff59084126 (patch) | |
tree | 225ba774a1bbaa330ba3a0967166ff3569a23655 /car-lib | |
parent | 08df676ffb89b40aef9fdb58272b07147d81fb7d (diff) | |
parent | 7ed841d0abffe75c763c408fc6164136bbf4436d (diff) | |
download | Car-31682e5b8f34363372f390e2a75173ff59084126.tar.gz |
Merge "Adding API for assigning admin privileges to CarUserManagerHelper." into pi-dev
Diffstat (limited to 'car-lib')
-rw-r--r-- | car-lib/src/android/car/user/CarUserManagerHelper.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/car-lib/src/android/car/user/CarUserManagerHelper.java b/car-lib/src/android/car/user/CarUserManagerHelper.java index eac1d25694..05a238e639 100644 --- a/car-lib/src/android/car/user/CarUserManagerHelper.java +++ b/car-lib/src/android/car/user/CarUserManagerHelper.java @@ -15,7 +15,9 @@ */ package android.car.user; +import android.Manifest; import android.annotation.Nullable; +import android.annotation.RequiresPermission; import android.app.ActivityManager; import android.car.settings.CarSettings; import android.content.BroadcastReceiver; @@ -312,6 +314,13 @@ public class CarUserManagerHelper { } /** + * Checks if the calling app is running as an admin user. + */ + public boolean isCurrentProcessAdminUser() { + return mUserManager.isAdminUser(); + } + + /** * Checks if the calling app is running as a guest user. */ public boolean isCurrentProcessGuestUser() { @@ -370,6 +379,24 @@ public class CarUserManagerHelper { } /** + * Assigns admin privileges to the user. + * + * @param user User to be upgraded to Admin status. + */ + @RequiresPermission(allOf = { + Manifest.permission.INTERACT_ACROSS_USERS_FULL, + Manifest.permission.MANAGE_USERS + }) + public void assignAdminPrivileges(UserInfo user) { + if (!isCurrentProcessAdminUser()) { + Log.w(TAG, "Only admin users can assign admin privileges."); + return; + } + + mUserManager.setUserAdmin(user.id); + } + + /** * Creates a new user on the system, the created user would be granted admin role. * * @param userName Name to give to the newly created user. |