diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 35dbb157aaf45..d54a237f199af 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -8662,6 +8662,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } + private boolean isDeviceOwnerUserId(int userId) { + synchronized (getLockObject()) { + return mOwners.hasDeviceOwner() + && mOwners.getDeviceOwnerUserId() == userId; + } + } + private boolean isDeviceOwnerPackage(String packageName, int userId) { synchronized (getLockObject()) { return mOwners.hasDeviceOwner() @@ -18394,7 +18401,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { private void updateNetworkPreferenceForUser(int userId, List preferentialNetworkServiceConfigs) { - if (!isManagedProfile(userId)) { + if (!isManagedProfile(userId) && !isDeviceOwnerUserId(userId)) { return; } List preferences = new ArrayList<>();