diff options
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/AppPermissionGroup.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/model/AppPermissionGroup.java | 28 |
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 |