diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index b2ba2904cabcd..2b7691b87de94 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -2091,7 +2091,7 @@ public class PermissionManagerService { return; } - if (bp.isHardOrSoftRestricted() + if (bp.isHardRestricted() && (flags & PackageManager.FLAGS_PERMISSION_RESTRICTION_ANY_EXEMPT) == 0) { Log.e(TAG, "Cannot grant restricted non-exempt permission " + permName + " for package " + packageName); diff --git a/services/core/java/com/android/server/pm/permission/TEST_MAPPING b/services/core/java/com/android/server/pm/permission/TEST_MAPPING index ff7c699eb1307..9efb6692e3737 100644 --- a/services/core/java/com/android/server/pm/permission/TEST_MAPPING +++ b/services/core/java/com/android/server/pm/permission/TEST_MAPPING @@ -28,6 +28,23 @@ } ] }, + { + "name": "CtsPermission2TestCases", + "options": [ + { + "include-filter": "android.permission.cts.SharedUidPermissionsTest" + }, + { + "include-filter": "android.permission.cts.RestrictedPermissionsTest" + }, + { + "include-filter": "android.permission.cts.PermissionMaxSdkVersionTest" + }, + { + "include-filter": "android.permission.cts.PrivappPermissionsTest" + } + ] + }, { "name": "CtsStatsdHostTestCases", "options": [