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

Unified Diff: chromeos/components/tether/tether_network_disconnection_handler.cc

Issue 2821103003: Remove the configuration of Tether-associated Wi-Fi networks once connectivity is lost. (Closed)
Patch Set: 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/components/tether/tether_network_disconnection_handler.cc
diff --git a/chromeos/components/tether/tether_network_disconnection_handler.cc b/chromeos/components/tether/tether_network_disconnection_handler.cc
index 71d273db788d2ba6ad697a80cc67b253a15becf4..3f41b1ff8f82d7a7219bdf4e1a1b58679dd8687d 100644
--- a/chromeos/components/tether/tether_network_disconnection_handler.cc
+++ b/chromeos/components/tether/tether_network_disconnection_handler.cc
@@ -4,26 +4,42 @@
#include "chromeos/components/tether/tether_network_disconnection_handler.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/macros.h"
#include "base/memory/ptr_util.h"
+#include "chromeos/network/managed_network_configuration_handler.h"
#include "chromeos/network/network_handler.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "components/proximity_auth/logging/logging.h"
+namespace {
+
+void RemoveConfigurationSuccessCallback() {
+ PA_LOG(INFO) << "Successfully removed Wi-Fi network.";
Kyle Horimoto 2017/04/17 20:34:53 Add more information to this log. Since the callba
Ryan Hansberry 2017/04/20 20:57:58 Done.
+}
+
+void RemoveConfigurationFailureCallback(
+ const std::string& error_name,
+ std::unique_ptr<base::DictionaryValue> error_data) {
+ PA_LOG(WARNING) << "Failed to remove Wi-Fi network: " << error_name;
+}
+
+} // namespace
+
namespace chromeos {
namespace tether {
TetherNetworkDisconnectionHandler::TetherNetworkDisconnectionHandler(
- ActiveHost* active_host)
- : TetherNetworkDisconnectionHandler(
- active_host,
- NetworkHandler::Get()->network_state_handler()) {}
-
-TetherNetworkDisconnectionHandler::TetherNetworkDisconnectionHandler(
ActiveHost* active_host,
- NetworkStateHandler* network_state_handler)
- : active_host_(active_host), network_state_handler_(network_state_handler) {
+ NetworkStateHandler* network_state_handler,
+ ManagedNetworkConfigurationHandler* managed_network_configuration_handler)
+ : active_host_(active_host),
+ network_state_handler_(network_state_handler),
+ managed_network_configuration_handler_(
+ managed_network_configuration_handler) {
network_state_handler_->AddObserver(this, FROM_HERE);
}
@@ -39,9 +55,12 @@ void TetherNetworkDisconnectionHandler::NetworkConnectionStateChanged(
!network->IsConnectedState()) {
PA_LOG(INFO) << "Connection to active host (Wi-Fi network GUID "
<< network->guid() << ") has been lost.";
- active_host_->SetActiveHostDisconnected();
- // TODO(hansberry): Remove Wi-Fi network from "known" networks.
+ managed_network_configuration_handler_->RemoveConfiguration(
Kyle Horimoto 2017/04/17 20:34:53 Can you actually move this functionality to a new
stevenjb 2017/04/18 21:03:36 Do we really want to remove the configuration on a
Kyle Horimoto 2017/04/18 21:14:00 Yes, we do want to remove the configuration on any
Ryan Hansberry 2017/04/20 20:57:57 Done.
+ network->path(), base::Bind(RemoveConfigurationSuccessCallback),
+ base::Bind(RemoveConfigurationFailureCallback));
+
+ active_host_->SetActiveHostDisconnected();
}
}

Powered by Google App Engine
This is Rietveld 408576698