diff options
3 files changed, 10 insertions, 5 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java index efd4bd10..17910446 100644 --- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java @@ -65,7 +65,8 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> return null; } - if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS) { + if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS + || (permissionInfo.flags & PermissionInfo.FLAG_INSTALLED) == 0) { return null; } diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index 844374a0..9bd114bb 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -177,7 +177,9 @@ public class PermissionApps { } if (requestedPermissionInfo.protectionLevel - != PermissionInfo.PROTECTION_DANGEROUS) { + != PermissionInfo.PROTECTION_DANGEROUS + || (requestedPermissionInfo.flags + & PermissionInfo.FLAG_INSTALLED) == 0) { continue; } 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; } |