Allow any device with a device_owner to execute setDeviceOwnerSystemPropertyLocked(). am: 735b4dc0af

am: d78a0d21cb

Change-Id: I2e45ee1174cb287d8ce142ac4176148ceca5b248
This commit is contained in:
Greg Plesur
2017-02-09 19:53:06 +00:00
committed by android-build-merger

View File

@@ -1780,11 +1780,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
} }
private void setDeviceOwnerSystemPropertyLocked() { private void setDeviceOwnerSystemPropertyLocked() {
// Device owner may still be provisioned, do not set the read-only system property yet. final boolean deviceProvisioned =
// Wear devices don't set device_provisioned until the device is paired, so allow mInjector.settingsGlobalGetInt(Settings.Global.DEVICE_PROVISIONED, 0) != 0;
// device_owner property to be set without that. // If the device is not provisioned and there is currently no device owner, do not set the
if (!mIsWatch // read-only system property yet, since Device owner may still be provisioned. For Wear
&& mInjector.settingsGlobalGetInt(Settings.Global.DEVICE_PROVISIONED, 0) == 0) { // devices, if there is already a device owner then it's OK to set the property to true now,
// regardless the provision state.
final boolean isWatchWithDeviceOwner = mIsWatch && mOwners.hasDeviceOwner();
if (!isWatchWithDeviceOwner && !deviceProvisioned) {
return; return;
} }
// Still at the first stage of CryptKeeper double bounce, mOwners.hasDeviceOwner is // Still at the first stage of CryptKeeper double bounce, mOwners.hasDeviceOwner is