summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index 8e86678d..0dca9bb7 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -295,6 +295,13 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
return false;
}
+ // Enable the permission app op before the permission grant.
+ if (permission.hasAppOp() && !permission.isAppOpAllowed()) {
+ permission.setAppOpAllowed(true);
+ mAppOps.setMode(permission.getAppOp(), uid, mPackageInfo.packageName,
+ AppOpsManager.MODE_ALLOWED);
+ }
+
// Grant the permission if needed.
if (!permission.isGranted()) {
permission.setGranted(true);
@@ -316,13 +323,6 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
0, mUserHandle);
}
}
-
- // Enable the permission app op.
- if (permission.hasAppOp() && !permission.isAppOpAllowed()) {
- permission.setAppOpAllowed(true);
- mAppOps.setMode(permission.getAppOp(), uid, mPackageInfo.packageName,
- AppOpsManager.MODE_ALLOWED);
- }
} else {
// Legacy apps cannot have a not granted permission but just in case.
// Also if the permissions has no corresponding app op, then it is a
@@ -385,6 +385,13 @@ 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);
@@ -416,13 +423,6 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
mUserHandle);
}
}
-
- // Disable the permission app op.
- if (permission.hasAppOp() && permission.isAppOpAllowed()) {
- permission.setAppOpAllowed(false);
- mAppOps.setMode(permission.getAppOp(), uid, mPackageInfo.packageName,
- AppOpsManager.MODE_IGNORED);
- }
} else {
// Legacy apps cannot have a non-granted permission but just in case.
// Also if the permission has no corresponding app op, then it is a