From 44689865bafa920f33cbf7dde70379825ec9afde Mon Sep 17 00:00:00 2001 From: Svet Ganov Date: Mon, 22 Feb 2016 18:17:49 -0800 Subject: Expose removed permissions flag as system API - installer There are some permissions that were removed from the platform and guard nothing but legacy apps may be checking them before calling APIs. Hence, these apps should get the permissions as expected despite them being a no-op. To address this the platform declares removed permissions as normal permissions that are hidden such that legacy apps can always get them. These permissions are not shown in the UI. Play needs a way to filter out these permissions like the platform as they have permissions UI too. bug:23361760 Change-Id: Ieecf69f70551d987f5fac1f128b7f7a0c242c378 --- .../android/packageinstaller/permission/model/AppPermissionGroup.java | 2 +- src/com/android/packageinstaller/permission/model/PermissionApps.java | 3 +-- .../android/packageinstaller/permission/model/PermissionGroups.java | 2 +- .../permission/ui/handheld/AllAppPermissionsFragment.java | 2 +- .../permission/ui/television/AllAppPermissionsFragment.java | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java index 27cbcd64..0771a0f4 100644 --- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java @@ -68,7 +68,7 @@ public final class AppPermissionGroup implements Comparable if (permissionInfo.protectionLevel != PermissionInfo.PROTECTION_DANGEROUS || (permissionInfo.flags & PermissionInfo.FLAG_INSTALLED) == 0 - || (permissionInfo.flags & PermissionInfo.FLAG_HIDDEN) != 0) { + || (permissionInfo.flags & PermissionInfo.FLAG_REMOVED) != 0) { return null; } diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index e9eaff5d..9ff5025c 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -35,7 +35,6 @@ import com.android.packageinstaller.R; import com.android.packageinstaller.permission.utils.Utils; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; @@ -182,7 +181,7 @@ public class PermissionApps { || (requestedPermissionInfo.flags & PermissionInfo.FLAG_INSTALLED) == 0 || (requestedPermissionInfo.flags - & PermissionInfo.FLAG_HIDDEN) != 0) { + & PermissionInfo.FLAG_REMOVED) != 0) { continue; } diff --git a/src/com/android/packageinstaller/permission/model/PermissionGroups.java b/src/com/android/packageinstaller/permission/model/PermissionGroups.java index c496e898..8ca69f24 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionGroups.java +++ b/src/com/android/packageinstaller/permission/model/PermissionGroups.java @@ -131,7 +131,7 @@ public final class PermissionGroups implements LoaderCallbacks