summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-07-15 20:55:20 -0700
committerSvet Ganov <svetoslavganov@google.com>2015-07-15 20:55:23 -0700
commit4ab8b4fc91eaf8be6dc18b3428687b1d1ec295a1 (patch)
tree8ba1b371e920d8cd5577499bad3dd344bf0939c7 /src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
parentb9b20815315d35ed2d10edcbbae4913da36f4107 (diff)
downloadandroid_packages_apps_PackageInstaller-4ab8b4fc91eaf8be6dc18b3428687b1d1ec295a1.tar.gz
android_packages_apps_PackageInstaller-4ab8b4fc91eaf8be6dc18b3428687b1d1ec295a1.tar.bz2
android_packages_apps_PackageInstaller-4ab8b4fc91eaf8be6dc18b3428687b1d1ec295a1.zip
Do not disable app ops on a permission revocation for modern apps.
We were disabling both permission and app ops for modern apps - to have app ops as a safety net. This creates the issue that if a permission is revoked (which disables the app op) and data is cleared, then apps that get permissions granted by default would end up with th permission but not the app op and will not work. We still enable the app op on a permission grant to ensure that a legacy app with a disabled app ops will have the app op enabled if updated and the permission is then granted. bug:22464566 Change-Id: Ia5f4de42bcaf6f736e50d6f3109878ff2ce8ff9f
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/AppPermissionGroup.java')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index 0dca9bb7..efd4bd10 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -295,7 +295,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return false;
}
- // Enable the permission app op before the permission grant.
+ // Ensure the permission app op enabled before the permission grant.
if (permission.hasAppOp() && !permission.isAppOpAllowed()) {
permission.setAppOpAllowed(true);
mAppOps.setMode(permission.getAppOp(), uid, mPackageInfo.packageName,
@@ -385,13 +385,6 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return false;
}
- // Disable the permission app op before the permission.
- if (permission.hasAppOp() && permission.isAppOpAllowed()) {
- permission.setAppOpAllowed(false);
- mAppOps.setMode(permission.getAppOp(), uid, mPackageInfo.packageName,
- AppOpsManager.MODE_IGNORED);
- }
-
// Revoke the permission if needed.
if (permission.isGranted()) {
permission.setGranted(false);