summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model/PermissionGroups.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/PermissionGroups.java')
-rw-r--r--src/com/android/packageinstaller/permission/model/PermissionGroups.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/com/android/packageinstaller/permission/model/PermissionGroups.java b/src/com/android/packageinstaller/permission/model/PermissionGroups.java
index 8ed3ebb0..5fdf76f7 100644
--- a/src/com/android/packageinstaller/permission/model/PermissionGroups.java
+++ b/src/com/android/packageinstaller/permission/model/PermissionGroups.java
@@ -129,7 +129,8 @@ public final class PermissionGroups implements LoaderCallbacks<List<PermissionGr
// Cache seen permissions and see if group has runtime permissions.
for (PermissionInfo groupPermission : groupPermissions) {
seenPermissions.add(groupPermission.name);
- if (groupPermission.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS) {
+ if (groupPermission.protectionLevel == PermissionInfo.PROTECTION_DANGEROUS
+ && (groupPermission.flags & PermissionInfo.FLAG_INSTALLED) != 0) {
hasRuntimePermissions = true;
}
}
@@ -176,8 +177,9 @@ public final class PermissionGroups implements LoaderCallbacks<List<PermissionGr
continue;
}
- // We care only about runtime permissions.
- if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS) {
+ // We care only about installed runtime permissions.
+ if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS
+ || (permissionInfo.flags & PermissionInfo.FLAG_INSTALLED) == 0) {
continue;
}