summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBenjamin Franz <bfranz@google.com>2015-07-07 10:21:58 +0100
committerBenjamin Franz <bfranz@google.com>2015-07-07 10:46:54 +0100
commit71f6c4e8fde09bcb2e507f5700d2499032124467 (patch)
treedd4de610bc08c679026f39e970ea84a484e7ec14 /src
parentac65014749a771543f78147ef63fdbfc06e69da7 (diff)
downloadandroid_packages_apps_PackageInstaller-71f6c4e8fde09bcb2e507f5700d2499032124467.tar.gz
android_packages_apps_PackageInstaller-71f6c4e8fde09bcb2e507f5700d2499032124467.tar.bz2
android_packages_apps_PackageInstaller-71f6c4e8fde09bcb2e507f5700d2499032124467.zip
Ensure that mixed permission policies return the right result
Currently, when a policy is fixed denied, but the profile / device owner has set DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT, requesting a permission returns the wrong result. Bug: 22291565 Change-Id: I9c531faf89236f7e177ccd4b2c3e8f86308b263e
Diffstat (limited to 'src')
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
index db5e530b..6dac87cc 100644
--- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -136,6 +136,9 @@ public class GrantPermissionsActivity extends Activity
mRequestGrantPermissionGroups.put(group.getName(), new GroupState(group));
} break;
}
+ } else {
+ // if the permission is fixed, ensure that we return the right request result
+ updateGrantResults(group);
}
}
@@ -232,12 +235,11 @@ public class GrantPermissionsActivity extends Activity
private void updateGrantResults(AppPermissionGroup group) {
for (Permission permission : group.getPermissions()) {
- if (permission.isGranted()) {
- final int index = ArrayUtils.getArrayIndex(
- mRequestedPermissions, permission.getName());
- if (index >= 0) {
- mGrantResults[index] = PackageManager.PERMISSION_GRANTED;
- }
+ final int index = ArrayUtils.getArrayIndex(
+ mRequestedPermissions, permission.getName());
+ if (index >= 0) {
+ mGrantResults[index] = permission.isGranted() ? PackageManager.PERMISSION_GRANTED
+ : PackageManager.PERMISSION_DENIED;
}
}
}