summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorJordan Jozwiak <jjoz@google.com>2020-11-03 09:50:49 -0800
committerJordan Jozwiak <jjoz@google.com>2020-11-03 09:50:49 -0800
commitfe5e0cab26104e28ceb4e1a81ae37e3b60f3437f (patch)
tree562f4a331363cbe0acfd2a4670aa584fbf696a26 /core/java/android
parent64ec3641ad110eb5e2875c50e2797ead0932fa2c (diff)
Allow CREATE_USERS for removeUserOrSetEphemeral
The removeUserOrSetEphemeral() API currently requires the MANAGE_USERS permission, whereas removeUser() requires either MANAGE_USERS OR CREATE_USERS. As documented in the CREATE_USERS permission declaration, it allows an application to create or remove users and endow them with the ephemeral property. The empeheral flag is explicitly supported in UserManagerService#ALLOWED_FLAGS_FOR_CREATE_USERS_PERMISSION. Bug: 155913815 Bug: 172247872 Test: atest EphemeralTest # on a user build Change-Id: I6cec670bd9b43c9fe8a16dbf28e394ac22118d37
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/UserManager.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 33524c92b9f5..f2d8b08fd495 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -4027,7 +4027,8 @@ public class UserManager {
* @return the {@link RemoveResult} code
* @hide
*/
- @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
+ @RequiresPermission(anyOf = {Manifest.permission.MANAGE_USERS,
+ Manifest.permission.CREATE_USERS})
public @RemoveResult int removeUserOrSetEphemeral(@UserIdInt int userId) {
try {
return mService.removeUserOrSetEphemeral(userId);