From 032d5f1fd50bd601faceeac03fdd0e6598aaefc3 Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Tue, 1 Jun 2021 18:54:06 +0000 Subject: [PATCH] Fix wrong permission check in setRuntimePermissionGrantStateByDeviceAdminFromParams(). This is nice to have, but not necessarily a security fix because we are already always enforcing ADJUST_RUNTIME_PERMISSIONS_POLICY. Bug: 158735247 Test: presubmit Change-Id: I629969e04e1d5e7e3ef47c8833780f19d83b9e0b --- core/java/android/permission/PermissionControllerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/permission/PermissionControllerService.java b/core/java/android/permission/PermissionControllerService.java index 0b99b85fdf240..9839046d6ab7c 100644 --- a/core/java/android/permission/PermissionControllerService.java +++ b/core/java/android/permission/PermissionControllerService.java @@ -17,6 +17,7 @@ package android.permission; import static android.app.admin.DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED; +import static android.app.admin.DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED; import static android.permission.PermissionControllerManager.COUNT_ONLY_WHEN_GRANTED; import static android.permission.PermissionControllerManager.COUNT_WHEN_SYSTEM; @@ -510,7 +511,7 @@ public abstract class PermissionControllerService extends Service { String callerPackageName, AdminPermissionControlParams params, AndroidFuture callback) { checkStringNotEmpty(callerPackageName); - if (params.getGrantState() == PERMISSION_GRANT_STATE_DENIED) { + if (params.getGrantState() == PERMISSION_GRANT_STATE_GRANTED) { enforceSomePermissionsGrantedToCaller( Manifest.permission.GRANT_RUNTIME_PERMISSIONS); }