Commit b8b5266d authored by Roman Sorokin's avatar Roman Sorokin Committed by Commit Bot

cros: Tweak DeviceStateMixin

Just went through all cases on a real device and corrected the mixin a
bit.

Bug: 952855
Change-Id: I941473ce9ea2bf92b5d8c70637a5a1b4077b3a41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1615143Reviewed-by: default avatarToni Baržić <tbarzic@chromium.org>
Commit-Queue: Roman Sorokin [CET] <rsorokin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661294}
parent 6ca7b8e4
......@@ -44,10 +44,15 @@ cryptohome::SerializedInstallAttributes BuildInstallAttributes(
install_attrs_["enterprise.domain"] = domain;
install_attrs_["enterprise.realm"] = realm;
install_attrs_["enterprise.device_id"] = device_id;
install_attrs_["enterprise.owned"] = "true";
if (!mode.empty())
install_attrs_["enterprise.owned"] = "true";
cryptohome::SerializedInstallAttributes install_attrs;
install_attrs.set_version(1);
for (const auto& it : install_attrs_) {
if (it.second.empty())
continue;
cryptohome::SerializedInstallAttributes::Attribute* attr_entry =
install_attrs.add_attributes();
const std::string& name = it.first;
......@@ -151,13 +156,13 @@ void DeviceStateMixin::CreatedBrowserMainParts(
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
local_state_values.device_registered = 1;
FALLTHROUGH;
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
local_state_values.device_registered = 1;
local_state_values.enrollment_recovery_required = false;
local_state_values.oobe_complete = true;
break;
case DeviceStateMixin::State::BEFORE_OOBE:
local_state_values.device_registered = 0;
break;
}
......@@ -217,30 +222,31 @@ void DeviceStateMixin::WriteInstallAttrFile() {
std::string device_mode, domain, realm, device_id;
switch (state_) {
case DeviceStateMixin::State::BEFORE_OOBE:
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
// No file at all.
return;
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
// Write file with empty install attributes.
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
// File with version only.
break;
case DeviceStateMixin::State::OOBE_COMPLETED_CLOUD_ENROLLED:
device_mode = "enterprise";
domain = !domain_.empty() ? domain_ : kFakeDomain;
device_id = kFakeDeviceId;
break;
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
device_mode = "enterprise_ad";
realm = kFakeDomain;
break;
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
device_mode = "consumer";
device_id = kFakeDeviceId;
break;
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
device_mode = "demo_mode";
domain = "cros-demo-mode.com";
device_id = kFakeDeviceId;
break;
}
std::string install_attrs_bits;
CHECK(BuildInstallAttributes(device_mode, domain, realm, kFakeDeviceId)
CHECK(BuildInstallAttributes(device_mode, domain, realm, device_id)
.SerializeToString(&install_attrs_bits));
WriteFile(install_attrs_file, install_attrs_bits);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment