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

Unified Diff: net/android/java/src/org/chromium/net/NetworkChangeNotifier.java

Issue 12388057: Android: Use ObserverList to maintain a list of observers/listeners (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix findbugs and Ted's comments Created 7 years, 10 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: net/android/java/src/org/chromium/net/NetworkChangeNotifier.java
diff --git a/net/android/java/src/org/chromium/net/NetworkChangeNotifier.java b/net/android/java/src/org/chromium/net/NetworkChangeNotifier.java
index b161a8646ec7c3b3ab4b80e8bf120289d2c44c8b..58360b4c8fb935526e3a1beb44ce624e5a119f30 100644
--- a/net/android/java/src/org/chromium/net/NetworkChangeNotifier.java
+++ b/net/android/java/src/org/chromium/net/NetworkChangeNotifier.java
@@ -9,9 +9,9 @@ import android.content.Context;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
import org.chromium.base.NativeClassQualifiedName;
+import org.chromium.base.ObserverList;
import java.util.ArrayList;
-import java.util.concurrent.CopyOnWriteArrayList;
/**
* Triggers updates to the underlying network state in Chrome.
@@ -44,7 +44,7 @@ public class NetworkChangeNotifier {
private final Context mContext;
private final ArrayList<Integer> mNativeChangeNotifiers;
- private final CopyOnWriteArrayList<ConnectionTypeObserver> mConnectionTypeObservers;
+ private final ObserverList<ConnectionTypeObserver> mConnectionTypeObservers;
private NetworkChangeNotifierAutoDetect mAutoDetector;
private int mCurrentConnectionType = CONNECTION_UNKNOWN;
@@ -53,7 +53,7 @@ public class NetworkChangeNotifier {
private NetworkChangeNotifier(Context context) {
mContext = context;
mNativeChangeNotifiers = new ArrayList<Integer>();
- mConnectionTypeObservers = new CopyOnWriteArrayList<ConnectionTypeObserver>();
+ mConnectionTypeObservers = new ObserverList<ConnectionTypeObserver>();
}
/**
@@ -183,20 +183,20 @@ public class NetworkChangeNotifier {
}
private void addConnectionTypeObserverInternal(ConnectionTypeObserver observer) {
- if (!mConnectionTypeObservers.contains(observer)) {
- mConnectionTypeObservers.add(observer);
+ if (!mConnectionTypeObservers.hasObserver(observer)) {
+ mConnectionTypeObservers.addObserver(observer);
}
}
/**
* Removes an observer for any connection type changes.
*/
- public static boolean removeConnectionTypeObserver(ConnectionTypeObserver observer) {
- return getInstance().removeConnectionTypeObserverInternal(observer);
+ public static void removeConnectionTypeObserver(ConnectionTypeObserver observer) {
+ getInstance().removeConnectionTypeObserverInternal(observer);
}
- private boolean removeConnectionTypeObserverInternal(ConnectionTypeObserver observer) {
- return mConnectionTypeObservers.remove(observer);
+ private void removeConnectionTypeObserverInternal(ConnectionTypeObserver observer) {
+ mConnectionTypeObservers.removeObserver(observer);
}
@NativeClassQualifiedName("NetworkChangeNotifierDelegateAndroid")

Powered by Google App Engine
This is Rietveld 408576698