diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2015-10-15 22:25:09 +0000 |
|---|---|---|
| committer | Svetoslav Ganov <svetoslavganov@google.com> | 2015-10-15 22:29:28 +0000 |
| commit | 6986f29bb93a6aaaeaaddcab081d0e0afd7082e8 (patch) | |
| tree | 03b9d1adc00190d3d9622e0fe7cb8e821424486a | |
| parent | 86f1ee8c2db04d37d48f25a60086e5a27a812fb9 (diff) | |
| download | platform_packages_apps_PackageInstaller-marshmallow-mr1-dev.tar.gz platform_packages_apps_PackageInstaller-marshmallow-mr1-dev.tar.bz2 platform_packages_apps_PackageInstaller-marshmallow-mr1-dev.zip | |
Auto grant permissions in an already granted group.android-6.0.1_r9android-6.0.1_r8android-6.0.1_r7android-6.0.1_r43android-6.0.1_r42android-6.0.1_r41android-6.0.1_r40android-6.0.1_r30android-6.0.1_r3android-6.0.1_r27android-6.0.1_r26android-6.0.1_r20android-6.0.1_r17android-6.0.1_r13android-6.0.1_r12android-6.0.1_r11android-6.0.1_r10android-6.0.1_r1android-6.0.0_r41marshmallow-mr1-dev
bug:24074183
Change-Id: Iad6f9b7d5b83d0b0121796891bcd069658995a47
| -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 aaa65f9ee..56b3f466c 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -104,7 +104,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() { @@ -113,6 +113,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()) { @@ -132,7 +142,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 { |
