diff options
author | Svetoslav <svetoslavganov@google.com> | 2015-10-15 18:19:07 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-10-15 18:19:07 +0000 |
commit | 0cf6be8b8afed230ca248a73e8e310e4bc0b3ea8 (patch) | |
tree | c3fd20c4b372a531dde35cfabff2cae1d4bcc115 | |
parent | 4b075964bfdd65eb6278f68719f9b71fe1c1025e (diff) | |
parent | d6d074169d960647ac275a8a05a873a9993d6b09 (diff) | |
download | android_packages_apps_PackageInstaller-0cf6be8b8afed230ca248a73e8e310e4bc0b3ea8.tar.gz android_packages_apps_PackageInstaller-0cf6be8b8afed230ca248a73e8e310e4bc0b3ea8.tar.bz2 android_packages_apps_PackageInstaller-0cf6be8b8afed230ca248a73e8e310e4bc0b3ea8.zip |
am d6d07416: am c7e595a2: Auto grant permissions in an already granted group.
* commit 'd6d074169d960647ac275a8a05a873a9993d6b09':
Auto grant permissions in an already granted group.
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index bb4dde7e..ffa8bf35 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -107,7 +107,7 @@ public class GrantPermissionsActivity extends OverlayTouchActivity return; } - mAppPermissions = new AppPermissions(this, callingPackageInfo, mRequestedPermissions, false, + mAppPermissions = new AppPermissions(this, callingPackageInfo, null, false, new Runnable() { @Override public void run() { @@ -116,6 +116,16 @@ public class GrantPermissionsActivity extends OverlayTouchActivity }); for (AppPermissionGroup group : mAppPermissions.getPermissionGroups()) { + boolean groupHasRequestedPermission = false; + for (String requestedPermission : mRequestedPermissions) { + if (group.hasPermission(requestedPermission)) { + groupHasRequestedPermission = true; + break; + } + } + if (!groupHasRequestedPermission) { + continue; + } // We allow the user to choose only non-fixed permissions. A permission // is fixed either by device policy or the user denying with prejudice. if (!group.isUserFixed() && !group.isPolicyFixed()) { @@ -135,7 +145,13 @@ public class GrantPermissionsActivity extends OverlayTouchActivity } break; default: { - mRequestGrantPermissionGroups.put(group.getName(), new GroupState(group)); + if (!group.areRuntimePermissionsGranted()) { + mRequestGrantPermissionGroups.put(group.getName(), + new GroupState(group)); + } else { + group.grantRuntimePermissions(false); + updateGrantResults(group); + } } break; } } else { |