Index: net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java |
diff --git a/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java b/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java |
index 5a46a6c2d3489e4cfe00d02c5dcad22febaa21e9..1e72da91d8fbe013d616e16e985c926fedb30486 100644 |
--- a/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java |
+++ b/net/android/java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java |
@@ -101,14 +101,24 @@ public class NetworkChangeNotifierAutoDetect extends BroadcastReceiver |
public void onConnectionTypeChanged(int newConnectionType); |
} |
- public NetworkChangeNotifierAutoDetect(Observer observer, Context context) { |
+ /** |
+ * Constructs a NetworkChangeNotifierAutoDetect. |
+ * @param alwaysWatchForChanges If true, always watch for network changes. |
+ * Otherwise, only watch if app is in foreground. |
+ */ |
+ public NetworkChangeNotifierAutoDetect(Observer observer, Context context, |
+ boolean alwaysWatchForChanges) { |
mObserver = observer; |
mContext = context.getApplicationContext(); |
mConnectivityManagerDelegate = new ConnectivityManagerDelegate(context); |
mWifiManagerDelegate = new WifiManagerDelegate(context); |
mConnectionType = getCurrentConnectionType(); |
mWifiSSID = getCurrentWifiSSID(); |
- ApplicationStatus.registerApplicationStateListener(this); |
+ if (alwaysWatchForChanges) { |
+ registerReceiver(); |
+ } else { |
+ ApplicationStatus.registerApplicationStateListener(this); |
+ } |
} |
/** |