aboutsummaryrefslogtreecommitdiff
path: root/car-lib
diff options
context:
space:
mode:
authorJovana Knezevic <jovanak@google.com>2018-06-12 17:46:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-06-12 17:46:51 +0000
commit31682e5b8f34363372f390e2a75173ff59084126 (patch)
tree225ba774a1bbaa330ba3a0967166ff3569a23655 /car-lib
parent08df676ffb89b40aef9fdb58272b07147d81fb7d (diff)
parent7ed841d0abffe75c763c408fc6164136bbf4436d (diff)
downloadCar-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.java27
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.