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( ...@@ -44,10 +44,15 @@ cryptohome::SerializedInstallAttributes BuildInstallAttributes(
install_attrs_["enterprise.domain"] = domain; install_attrs_["enterprise.domain"] = domain;
install_attrs_["enterprise.realm"] = realm; install_attrs_["enterprise.realm"] = realm;
install_attrs_["enterprise.device_id"] = device_id; install_attrs_["enterprise.device_id"] = device_id;
install_attrs_["enterprise.owned"] = "true"; if (!mode.empty())
install_attrs_["enterprise.owned"] = "true";
cryptohome::SerializedInstallAttributes install_attrs; cryptohome::SerializedInstallAttributes install_attrs;
install_attrs.set_version(1);
for (const auto& it : install_attrs_) { for (const auto& it : install_attrs_) {
if (it.second.empty())
continue;
cryptohome::SerializedInstallAttributes::Attribute* attr_entry = cryptohome::SerializedInstallAttributes::Attribute* attr_entry =
install_attrs.add_attributes(); install_attrs.add_attributes();
const std::string& name = it.first; const std::string& name = it.first;
...@@ -151,13 +156,13 @@ void DeviceStateMixin::CreatedBrowserMainParts( ...@@ -151,13 +156,13 @@ void DeviceStateMixin::CreatedBrowserMainParts(
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED: case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED: case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE: case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
local_state_values.device_registered = 1;
FALLTHROUGH;
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED: case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
local_state_values.device_registered = 1;
local_state_values.enrollment_recovery_required = false; local_state_values.enrollment_recovery_required = false;
local_state_values.oobe_complete = true; local_state_values.oobe_complete = true;
break; break;
case DeviceStateMixin::State::BEFORE_OOBE: case DeviceStateMixin::State::BEFORE_OOBE:
local_state_values.device_registered = 0;
break; break;
} }
...@@ -217,30 +222,31 @@ void DeviceStateMixin::WriteInstallAttrFile() { ...@@ -217,30 +222,31 @@ void DeviceStateMixin::WriteInstallAttrFile() {
std::string device_mode, domain, realm, device_id; std::string device_mode, domain, realm, device_id;
switch (state_) { switch (state_) {
case DeviceStateMixin::State::BEFORE_OOBE: case DeviceStateMixin::State::BEFORE_OOBE:
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
// No file at all. // No file at all.
return; return;
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED: case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
// Write file with empty install attributes. // File with version only.
break; break;
case DeviceStateMixin::State::OOBE_COMPLETED_CLOUD_ENROLLED: case DeviceStateMixin::State::OOBE_COMPLETED_CLOUD_ENROLLED:
device_mode = "enterprise"; device_mode = "enterprise";
domain = !domain_.empty() ? domain_ : kFakeDomain; domain = !domain_.empty() ? domain_ : kFakeDomain;
device_id = kFakeDeviceId;
break; break;
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED: case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
device_mode = "enterprise_ad"; device_mode = "enterprise_ad";
realm = kFakeDomain; realm = kFakeDomain;
break; device_id = kFakeDeviceId;
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
device_mode = "consumer";
break; break;
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE: case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
device_mode = "demo_mode"; device_mode = "demo_mode";
domain = "cros-demo-mode.com"; domain = "cros-demo-mode.com";
device_id = kFakeDeviceId;
break; break;
} }
std::string install_attrs_bits; std::string install_attrs_bits;
CHECK(BuildInstallAttributes(device_mode, domain, realm, kFakeDeviceId) CHECK(BuildInstallAttributes(device_mode, domain, realm, device_id)
.SerializeToString(&install_attrs_bits)); .SerializeToString(&install_attrs_bits));
WriteFile(install_attrs_file, 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