summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2015-10-15 18:19:07 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-10-15 18:19:07 +0000
commit0cf6be8b8afed230ca248a73e8e310e4bc0b3ea8 (patch)
treec3fd20c4b372a531dde35cfabff2cae1d4bcc115
parent4b075964bfdd65eb6278f68719f9b71fe1c1025e (diff)
parentd6d074169d960647ac275a8a05a873a9993d6b09 (diff)
downloadandroid_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.java20
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 {