diff options
author | Benjamin Franz <bfranz@google.com> | 2015-07-07 10:21:58 +0100 |
---|---|---|
committer | Benjamin Franz <bfranz@google.com> | 2015-07-07 10:46:54 +0100 |
commit | 71f6c4e8fde09bcb2e507f5700d2499032124467 (patch) | |
tree | dd4de610bc08c679026f39e970ea84a484e7ec14 | |
parent | ac65014749a771543f78147ef63fdbfc06e69da7 (diff) | |
download | android_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
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | 14 |
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; } } } |