summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Leme <felipeal@google.com>2021-11-09 14:08:26 -0800
committerFelipe Leme <felipeal@google.com>2021-11-11 17:42:24 -0800
commit1f37c4f7c792b1724dbb02405538d64471e913e7 (patch)
tree2d6977fdf523a4f22111e5f32bf58162299d9565
parent2ab2685ccaf91de0711faa816dfb9e1b2cc40701 (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.txt2
-rw-r--r--core/java/android/app/ActivityManager.java2
-rw-r--r--services/core/java/com/android/server/am/UserController.java4
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()");
}