Index: net/android/network_change_notifier_android.cc |
diff --git a/net/android/network_change_notifier_android.cc b/net/android/network_change_notifier_android.cc |
index 6dce66981fbd921bc2d1bedbae3e26b73becd735..d297ad5638657c104d2defe45a12352146b95707 100644 |
--- a/net/android/network_change_notifier_android.cc |
+++ b/net/android/network_change_notifier_android.cc |
@@ -73,9 +73,12 @@ NetworkChangeNotifierAndroid::GetCurrentConnectionType() const { |
void NetworkChangeNotifierAndroid::OnConnectionTypeChanged( |
ConnectionType new_connection_type) { |
- SetConnectionType(new_connection_type); |
- NetworkChangeNotifier::NotifyObserversOfIPAddressChange(); |
- NetworkChangeNotifier::NotifyObserversOfConnectionTypeChange(); |
+ ConnectionType previous_connection_type = SetConnectionType( |
+ new_connection_type); |
+ if (new_connection_type != previous_connection_type) { |
+ NetworkChangeNotifier::NotifyObserversOfIPAddressChange(); |
+ NetworkChangeNotifier::NotifyObserversOfConnectionTypeChange(); |
+ } |
} |
// static |
@@ -105,10 +108,13 @@ NetworkChangeNotifierAndroid::NetworkChangeCalculatorParamsAndroid() { |
return params; |
} |
-void NetworkChangeNotifierAndroid::SetConnectionType( |
+NetworkChangeNotifier::ConnectionType |
+NetworkChangeNotifierAndroid::SetConnectionType( |
ConnectionType new_connection_type) { |
base::AutoLock auto_lock(connection_type_lock_); |
+ ConnectionType previous_connection_type = connection_type_; |
connection_type_ = new_connection_type; |
+ return previous_connection_type; |
} |
} // namespace net |