// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "android_webview/browser/net/aw_network_change_notifier.h" namespace android_webview { AwNetworkChangeNotifier::~AwNetworkChangeNotifier() { delegate_->RemoveObserver(this); } net::NetworkChangeNotifier::ConnectionType AwNetworkChangeNotifier::GetCurrentConnectionType() const { return delegate_->GetCurrentConnectionType(); } void AwNetworkChangeNotifier::GetCurrentMaxBandwidthAndConnectionType( double* max_bandwidth_mbps, ConnectionType* connection_type) const { delegate_->GetCurrentMaxBandwidthAndConnectionType(max_bandwidth_mbps, connection_type); } bool AwNetworkChangeNotifier::AreNetworkHandlesCurrentlySupported() const { return false; } void AwNetworkChangeNotifier::GetCurrentConnectedNetworks( NetworkChangeNotifier::NetworkList* networks) const { delegate_->GetCurrentlyConnectedNetworks(networks); } net::NetworkChangeNotifier::ConnectionType AwNetworkChangeNotifier::GetCurrentNetworkConnectionType( NetworkHandle network) const { return delegate_->GetNetworkConnectionType(network); } net::NetworkChangeNotifier::NetworkHandle AwNetworkChangeNotifier::GetCurrentDefaultNetwork() const { return delegate_->GetCurrentDefaultNetwork(); } void AwNetworkChangeNotifier::OnConnectionTypeChanged() {} void AwNetworkChangeNotifier::OnMaxBandwidthChanged( double max_bandwidth_mbps, ConnectionType type) { // Note that this callback is sufficient for Network Information API because // it also occurs on type changes (see network_change_notifier.h). NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChange(max_bandwidth_mbps, type); } void AwNetworkChangeNotifier::OnNetworkConnected(NetworkHandle network) {} void AwNetworkChangeNotifier::OnNetworkSoonToDisconnect( NetworkHandle network) {} void AwNetworkChangeNotifier::OnNetworkDisconnected( NetworkHandle network) {} void AwNetworkChangeNotifier::OnNetworkMadeDefault(NetworkHandle network){} AwNetworkChangeNotifier::AwNetworkChangeNotifier( net::NetworkChangeNotifierDelegateAndroid* delegate) : net::NetworkChangeNotifier(DefaultNetworkChangeCalculatorParams()), delegate_(delegate) { delegate_->AddObserver(this); } // static net::NetworkChangeNotifier::NetworkChangeCalculatorParams AwNetworkChangeNotifier::DefaultNetworkChangeCalculatorParams() { net::NetworkChangeNotifier::NetworkChangeCalculatorParams params; // Use defaults as in network_change_notifier_android.cc params.ip_address_offline_delay_ = base::TimeDelta::FromSeconds(1); params.ip_address_online_delay_ = base::TimeDelta::FromSeconds(1); params.connection_type_offline_delay_ = base::TimeDelta::FromSeconds(0); params.connection_type_online_delay_ = base::TimeDelta::FromSeconds(0); return params; } } // namespace android_webview