From 5108f1efa6e4db4fac3b83047917f35192488d11 Mon Sep 17 00:00:00 2001 From: Lenka Trochtova Date: Tue, 14 Feb 2017 12:02:26 +0100 Subject: [PATCH] Use DevicePolicyData#mUserSetupComplete for DPM's isDeviceProvisioned. DevicePolicyData#mUserSetupComplete on user 0 us a more accurate and reliable indicator of whether the device has been provisioned than the currently used 'ro.device_owner' property. Test: gts-tradefed run gts -m GtsGmscoreHostTestCases --test com.google.android.gts.devicepolicy.DevicePolicyManagerTest BUG: 29935702 Change-Id: Iec62f2aebe865ac0ee69c2cc7177333ce5450474 --- .../server/devicepolicy/DevicePolicyManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 22dd9d71db830..69d436c5d8f30 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -10102,7 +10102,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { @Override public boolean isDeviceProvisioned() { - return !TextUtils.isEmpty(mInjector.systemPropertiesGet(PROPERTY_DEVICE_OWNER_PRESENT)); + synchronized (this) { + return getUserDataUnchecked(UserHandle.USER_SYSTEM).mUserSetupComplete; + } } private void removePackageIfRequired(final String packageName, final int userId) {