diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index c800487999915..e4f7b2334d426 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -5526,9 +5526,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) {