summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2016-03-23 12:04:00 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2016-03-23 12:04:03 -0700
commit437a6bfedb33daf66592bbed8595025f3e707850 (patch)
tree65b83a607ebad12fe9f6294a8b29598ec6c674e3 /src/com/android/packageinstaller/permission/model
parentad6218a2c0991a34a9f9e7ff375c0088a12e42ef (diff)
downloadandroid_packages_apps_PackageInstaller-437a6bfedb33daf66592bbed8595025f3e707850.tar.gz
android_packages_apps_PackageInstaller-437a6bfedb33daf66592bbed8595025f3e707850.tar.bz2
android_packages_apps_PackageInstaller-437a6bfedb33daf66592bbed8595025f3e707850.zip
Respect past user choices in permisson review UI
In a permission review mode we show UI for the user to review new permissions for apps that do not support the new runtime permission model. The review is shown on an app launch. It is possible for the user to modify permissions in the settings UI before launching an app. This change ensures that the default value in the review UI reflects the user choice in settings. Specifically, the review UI shows the permission toggle in a granted state if the user expressed no opinion or granted the pemrission in settings (initially permissions are shown as revoked in settings as a review is pending - granting a permission from settings doesn't void the pending review). However, if the user grants and then revokes a permission in settings, (expresses an opinion the pemrission should be revoked) the default state of the permission toggle is off. bug:26741436 Change-Id: Iae6ae497dfba46ba1399fbf66fb60e70c37f0420
Diffstat (limited to 'src/com/android/packageinstaller/permission/model')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index 0771a0f4..11d89341 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -321,6 +321,20 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return false;
}
+ public boolean shouldRevokeOnUpgrade() {
+ if (mAppSupportsRuntimePermissions) {
+ return false;
+ }
+ final int permissionCount = mPermissions.size();
+ for (int i = 0; i < permissionCount; i++) {
+ Permission permission = mPermissions.valueAt(i);
+ if ((permission.getFlags() & PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE) != 0) {
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean grantRuntimePermissions(boolean fixedByTheUser) {
return grantRuntimePermissions(fixedByTheUser, null);
}