From 73471b76346aea5dd135ad2125751b87d7aa6098 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Fri, 11 Jun 2021 16:12:34 -0700 Subject: [PATCH] Fixed wipeData() so it doesn't depend on device_admin. That method can be called by apps that have the MASTER_CLEAR permission, even if the device doesn't support device_admin Test: manual verification using automotive's KitchenSink app Fixes: 190861794 Change-Id: I97ddb18580593e7b23f8fb55b3346049a2261144 --- .../android/server/devicepolicy/DevicePolicyManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 0128d350bd101..fa24e5238820e 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -6832,7 +6832,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { @Override public void wipeDataWithReason(int flags, String wipeReasonForUser, boolean calledOnParentInstance) { - if (!mHasFeature) { + if (!mHasFeature && !hasCallingOrSelfPermission(permission.MASTER_CLEAR)) { return; } final CallerIdentity caller = getCallerIdentity();