Chromium Code Reviews| Index: chromeos/network/network_state_handler.cc |
| diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc |
| index 09c70fccd0993bad0c30581971115f9803fb57d3..de5d3017de51b207ccf1b6811e1ea277fdf09db7 100644 |
| --- a/chromeos/network/network_state_handler.cc |
| +++ b/chromeos/network/network_state_handler.cc |
| @@ -500,7 +500,8 @@ void NetworkStateHandler::AddTetherNetworkState(const std::string& guid, |
| const std::string& name, |
| const std::string& carrier, |
| int battery_percentage, |
| - int signal_strength) { |
| + int signal_strength, |
| + bool has_connected_to_host) { |
| DCHECK(!guid.empty()); |
| DCHECK(battery_percentage >= 0 && battery_percentage <= 100); |
| DCHECK(signal_strength >= 0 && signal_strength <= 100); |
| @@ -531,9 +532,7 @@ void NetworkStateHandler::AddTetherNetworkState(const std::string& guid, |
| tether_network_state->set_connectable(true); |
| tether_network_state->set_carrier(carrier); |
| tether_network_state->set_battery_percentage(battery_percentage); |
| - // TODO(khorimoto): Add this field as a parameter to this function and set it |
| - // accordingly from the Tether component. |
| - tether_network_state->set_tether_has_connected_to_host(false); |
| + tether_network_state->set_tether_has_connected_to_host(has_connected_to_host); |
| tether_network_state->set_signal_strength(signal_strength); |
| tether_network_list_.push_back(std::move(tether_network_state)); |
| @@ -552,8 +551,12 @@ bool NetworkStateHandler::UpdateTetherNetworkProperties( |
| } |
| NetworkState* tether_network_state = GetModifiableNetworkStateFromGuid(guid); |
| - if (!tether_network_state) |
| + if (!tether_network_state) { |
| + NET_LOG(ERROR) << "UpdateTetherNetworkProperties() called for Tether " |
| + << "network with GUID " << guid << ", but this network is " |
| + << "not currently registered. Cannot update."; |
|
stevenjb
2017/05/01 16:11:31
nit: Very long messages like this in the log are a
Kyle Horimoto
2017/05/01 16:56:27
Done.
|
| return false; |
| + } |
| tether_network_state->set_carrier(carrier); |
| tether_network_state->set_battery_percentage(battery_percentage); |
| @@ -563,7 +566,27 @@ bool NetworkStateHandler::UpdateTetherNetworkProperties( |
| return true; |
| } |
| -void NetworkStateHandler::RemoveTetherNetworkState(const std::string& guid) { |
| +bool NetworkStateHandler::SetTetherNetworkHasConnectedToHost( |
| + const std::string& guid) { |
| + NetworkState* tether_network_state = GetModifiableNetworkStateFromGuid(guid); |
| + if (!tether_network_state) { |
| + NET_LOG(ERROR) << "SetTetherNetworkHasConnectedToHost() called for Tether " |
| + << "network which is not registered. GUID: " << guid; |
|
stevenjb
2017/05/01 16:11:31
ditto
Kyle Horimoto
2017/05/01 16:56:27
Done.
|
| + return false; |
| + } |
| + |
| + bool old_tether_has_connected_to_host_value = |
| + tether_network_state->tether_has_connected_to_host(); |
| + if (old_tether_has_connected_to_host_value) { |
| + return false; |
| + } |
|
stevenjb
2017/05/01 16:11:31
if (tether_network_state->tether_has_connected_to_
Kyle Horimoto
2017/05/01 16:56:27
Done.
|
| + |
| + tether_network_state->set_tether_has_connected_to_host(true); |
| + NotifyNetworkListChanged(); |
| + return true; |
| +} |
| + |
| +bool NetworkStateHandler::RemoveTetherNetworkState(const std::string& guid) { |
| for (auto iter = tether_network_list_.begin(); |
| iter != tether_network_list_.end(); ++iter) { |
| if (iter->get()->AsNetworkState()->guid() == guid) { |
| @@ -574,9 +597,11 @@ void NetworkStateHandler::RemoveTetherNetworkState(const std::string& guid) { |
| tether_network_list_.erase(iter); |
| NotifyNetworkListChanged(); |
| - return; |
| + return true; |
| } |
| } |
| + |
| + return false; |
| } |
| bool NetworkStateHandler::AssociateTetherNetworkStateWithWifiNetwork( |