Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(168)

Unified Diff: chromeos/network/network_state_handler.cc

Issue 2852693004: [CrOS Tether] Create HostScanCache, which caches scan results and inserts them into the network sta… (Closed)
Patch Set: Fixed comment, added tests for TestHostResponseRecorder::Observer. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.";
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;
+ 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;
+ }
+
+ 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(

Powered by Google App Engine
This is Rietveld 408576698