diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 9fc45e811b441..4d739d2c36852 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -16547,11 +16547,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { hasCallingOrSelfPermission(permission.NOTIFY_PENDING_SYSTEM_UPDATE), "Only the system update service can broadcast update information"); - if (UserHandle.getCallingUserId() != UserHandle.USER_SYSTEM) { - Slogf.w(LOG_TAG, "Only the system update service in the system user can broadcast " - + "update information."); - return; - } + mInjector.binderWithCleanCallingIdentity(() -> { + if (!mUserManager.getUserInfo(UserHandle.getCallingUserId()).isMain()) { + Slogf.w(LOG_TAG, "Only the system update service in the main user can broadcast " + + "update information."); + return; + } + }); if (!mOwners.saveSystemUpdateInfo(info)) { // Pending system update hasn't changed, don't send duplicate notification.