diff options
author | Felipe Leme <felipeal@google.com> | 2021-11-09 14:08:26 -0800 |
---|---|---|
committer | Felipe Leme <felipeal@google.com> | 2021-11-11 17:42:24 -0800 |
commit | 1f37c4f7c792b1724dbb02405538d64471e913e7 (patch) | |
tree | 2d6977fdf523a4f22111e5f32bf58162299d9565 | |
parent | 2ab2685ccaf91de0711faa816dfb9e1b2cc40701 (diff) |
Fixed permisssions on setStopBackgroundUsersOnSwitch().
It was requiring INTERACT_ACROSS_USERS_FULL (instead of
INTERACT_ACROSS_USERS), which cannot be granted by Shell
(and hence cannot be used by CtsVerifier).
Test: m update-api
Test: manual verification
Bug: 203752848
Change-Id: Ie84311e6500cefa055548e309ee6d629c62fb10d
-rw-r--r-- | core/api/test-current.txt | 2 | ||||
-rw-r--r-- | core/java/android/app/ActivityManager.java | 2 | ||||
-rw-r--r-- | services/core/java/com/android/server/am/UserController.java | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/core/api/test-current.txt b/core/api/test-current.txt index e3a6dd07b526..a4fb2c1f12ff 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -113,7 +113,7 @@ package android.app { method @RequiresPermission(android.Manifest.permission.RESET_APP_ERRORS) public void resetAppErrors(); method public static void resumeAppSwitches() throws android.os.RemoteException; method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int); - method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void setStopUserOnSwitch(int); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(int); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean stopUser(int, boolean); method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String); method @RequiresPermission(android.Manifest.permission.DUMP) public void waitForBroadcastIdle(); diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index f0deecac96c5..992f02ca538b 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -4117,7 +4117,7 @@ public class ActivityManager { */ @TestApi @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS, - android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) + android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(@StopUserOnSwitch int value) { try { getService().setStopUserOnSwitch(value); diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 319fa94058dd..429696fd88a2 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -421,10 +421,10 @@ class UserController implements Handler.Callback { void setStopUserOnSwitch(@StopUserOnSwitch int value) { if (mInjector.checkCallingPermission(android.Manifest.permission.MANAGE_USERS) == PackageManager.PERMISSION_DENIED && mInjector.checkCallingPermission( - android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) + android.Manifest.permission.INTERACT_ACROSS_USERS) == PackageManager.PERMISSION_DENIED) { throw new SecurityException( - "You either need MANAGE_USERS or INTERACT_ACROSS_USERS_FULL permission to " + "You either need MANAGE_USERS or INTERACT_ACROSS_USERS permission to " + "call setStopUserOnSwitch()"); } |