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( |