From faa503152791997bfe12283823339a7ef58b01d2 Mon Sep 17 00:00:00 2001 From: Alex Johnston Date: Wed, 11 Nov 2020 15:56:21 +0000 Subject: [PATCH] Move isAdminTestOnlyLocked inside synchronized block Calling isAdminTestOnlyLocked outside the getLockObject was causing error logs: https://paste.googleplex.com/6318193934073856?raw Bug: 167960209 Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSecondaryLockscreen Change-Id: I2bbfd651f308859b3ff50d6dd63f5f19f5ce4558 --- .../server/devicepolicy/DevicePolicyManagerService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 21903921580b9..5eaf978b90e58 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -10374,12 +10374,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { Preconditions.checkCallAuthorization(!isManagedProfile(caller.getUserId()), "User %d is not allowed to call setSecondaryLockscreenEnabled", caller.getUserId()); - // Allow testOnly admins to bypass supervision config requirement. - Preconditions.checkCallAuthorization(isAdminTestOnlyLocked(who, caller.getUserId()) - || isDefaultSupervisor(caller), "Admin %s is not the " - + "default supervision component", caller.getComponentName()); synchronized (getLockObject()) { + // Allow testOnly admins to bypass supervision config requirement. + Preconditions.checkCallAuthorization(isAdminTestOnlyLocked(who, caller.getUserId()) + || isDefaultSupervisor(caller), "Admin %s is not the " + + "default supervision component", caller.getComponentName()); DevicePolicyData policy = getUserData(caller.getUserId()); policy.mSecondaryLockscreenEnabled = enabled; saveSettingsLocked(caller.getUserId());