summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/model
diff options
context:
space:
mode:
authorHai Zhang <zhanghai@google.com>2023-02-23 01:35:04 +0000
committerHai Zhang <zhanghai@google.com>2023-02-23 01:35:53 +0000
commit4afa3f5e45aa1f80bbd73ccdb6bccc2c9e1f440d (patch)
tree575f26aeeda2b967923d76fd655b3905ccdbdae6 /PermissionController/src/com/android/permissioncontroller/permission/model
parent1fa5fa0f9532357d872371c5f4066a744756f159 (diff)
downloadPermission-4afa3f5e45aa1f80bbd73ccdb6bccc2c9e1f440d.tar.gz
No need to kill app if app op was changed for modern apps.
This is a follow up to ag/13156539 in 2020 due to b/263324262#comment47. We are already not killing upon granting app op for modern apps in ag/13156539, and we don't need to kill for revoking app op for modern apps either because the permission should have been revoked as well. This also makes persistChanges() behave consistently with revokeRuntimePermissions() when delayChanges = false. Bug: 263324262 Test: presubmit Change-Id: I7ab31bb25a05f5976aa5358d47ea684463e2fdad
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/model')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/model/AppPermissionGroup.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/model/AppPermissionGroup.java b/PermissionController/src/com/android/permissioncontroller/permission/model/AppPermissionGroup.java
index 58edb5f7d..e096a1a7e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/model/AppPermissionGroup.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/model/AppPermissionGroup.java
@@ -1594,12 +1594,13 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
// Enabling/Disabling an app op may put the app in a situation in which it has
// a handle to state it shouldn't have, so we have to kill the app. This matches
// the revoke runtime permission behavior.
+ boolean wasChanged;
if (permission.isAppOpAllowed()) {
- boolean wasChanged = allowAppOp(permission, uid);
- shouldKillApp |= wasChanged && !mAppSupportsRuntimePermissions;
+ wasChanged = allowAppOp(permission, uid);
} else {
- shouldKillApp |= disallowAppOp(permission, uid);
+ wasChanged = disallowAppOp(permission, uid);
}
+ shouldKillApp |= wasChanged && !mAppSupportsRuntimePermissions;
}
}
}