Index: chromeos/dbus/fake_shill_manager_client.cc |
diff --git a/chromeos/dbus/fake_shill_manager_client.cc b/chromeos/dbus/fake_shill_manager_client.cc |
index d0e392fd66a6a852d542d9d20b2704a11084bf57..2d2a05b1f69a3d6254694952faf50490619ae8ff 100644 |
--- a/chromeos/dbus/fake_shill_manager_client.cc |
+++ b/chromeos/dbus/fake_shill_manager_client.cc |
@@ -109,6 +109,7 @@ const char* kTechnologyUnavailable = "unavailable"; |
const char* kNetworkActivated = "activated"; |
const char* kNetworkDisabled = "disabled"; |
const char* kCellularServicePath = "/service/cellular1"; |
+const char* kRoamingRequired = "required"; |
} // namespace |
@@ -769,6 +770,11 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
devices->SetDeviceProperty("/device/cellular1", |
shill::kSupportedCarriersProperty, |
carrier_list); |
+ if (roaming_state_ == kRoamingRequired) { |
+ devices->SetDeviceProperty("/device/cellular1", |
+ shill::kProviderRequiresRoamingProperty, |
+ base::FundamentalValue(true)); |
+ } |
services->AddService(kCellularServicePath, |
"cellular1_guid", |
@@ -799,9 +805,16 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
base::StringValue(shill::kActivationStateNotActivated)); |
} |
+ std::string shill_roaming_state; |
+ if (roaming_state_ == kRoamingRequired) |
+ shill_roaming_state = shill::kRoamingStateRoaming; |
+ else if (roaming_state_.empty()) |
+ shill_roaming_state = shill::kRoamingStateHome; |
+ else // |roaming_state_| is expected to be a valid Shill state. |
+ shill_roaming_state = roaming_state_; |
services->SetServiceProperty(kCellularServicePath, |
shill::kRoamingStateProperty, |
- base::StringValue(shill::kRoamingStateHome)); |
+ base::StringValue(shill_roaming_state)); |
profiles->AddService(shared_profile, kCellularServicePath); |
} |
@@ -1048,6 +1061,10 @@ bool FakeShillManagerClient::ParseOption(const std::string& arg0, |
else |
s_tdls_busy_count = 1; |
return true; |
+ } else if (arg0 == "roaming") { |
+ // "home", "roaming", or "required" |
+ roaming_state_ = arg1; |
+ return true; |
} |
return SetInitialNetworkState(arg0, arg1); |
} |