diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index ab93a8a91fb95..6510053193f42 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5525,9 +5525,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { // If there is a profile owner, redirect to that; otherwise query the device owner. ComponentName aliasChooser = getProfileOwner(caller.getIdentifier()); if (aliasChooser == null && caller.isSystem()) { - ActiveAdmin deviceOwnerAdmin = getDeviceOwnerAdminLocked(); - if (deviceOwnerAdmin != null) { - aliasChooser = deviceOwnerAdmin.info.getComponent(); + synchronized (getLockObject()) { + final ActiveAdmin deviceOwnerAdmin = getDeviceOwnerAdminLocked(); + if (deviceOwnerAdmin != null) { + aliasChooser = deviceOwnerAdmin.info.getComponent(); + } } } if (aliasChooser == null) {