diff options
| author | 2022-03-25 10:12:43 +0000 | |
|---|---|---|
| committer | 2022-03-25 10:12:43 +0000 | |
| commit | 498f7bf26004db7098b1ee40f315c56b7499c8cc (patch) | |
| tree | 5d33dbdd96bcd580efd84a9fdd3761a1ba17d2c1 | |
| parent | a3a39631e9e0baa4c0080820d1677c369b523815 (diff) | |
| parent | d71c0ce305f50cc16c431862e3401dfc27b8e984 (diff) | |
Merge "device policy: ignore unknown permission in setPermissionGrantState" into tm-dev
| -rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 486b6a1ab176..b0fe3974770f 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -13986,16 +13986,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { return; } } - try { - if (!isRuntimePermission(permission)) { - callback.sendResult(null); - return; - } - } catch (NameNotFoundException e) { - throw new RemoteException("Cannot check if " + permission - + "is a runtime permission", e, false, true); + if (!isRuntimePermission(permission)) { + callback.sendResult(null); + return; } - if (grantState == DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED || grantState == DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED || grantState == DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT) { @@ -14108,11 +14102,15 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { }); } - public boolean isRuntimePermission(String permissionName) throws NameNotFoundException { - final PackageManager packageManager = mInjector.getPackageManager(); - PermissionInfo permissionInfo = packageManager.getPermissionInfo(permissionName, 0); - return (permissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE) - == PermissionInfo.PROTECTION_DANGEROUS; + private boolean isRuntimePermission(String permissionName) { + try { + final PackageManager packageManager = mInjector.getPackageManager(); + PermissionInfo permissionInfo = packageManager.getPermissionInfo(permissionName, 0); + return (permissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE) + == PermissionInfo.PROTECTION_DANGEROUS; + } catch (NameNotFoundException e) { + return false; + } } @Override |