Index: talk/app/webrtc/java/android/org/webrtc/NetworkMonitor.java |
diff --git a/talk/app/webrtc/java/android/org/webrtc/NetworkMonitor.java b/talk/app/webrtc/java/android/org/webrtc/NetworkMonitor.java |
index 581a223c19026c976c7e784e6b8bac019d556196..0f3df42fbd64f1da81ccdb5e221b1fbbe8dbc74d 100644 |
--- a/talk/app/webrtc/java/android/org/webrtc/NetworkMonitor.java |
+++ b/talk/app/webrtc/java/android/org/webrtc/NetworkMonitor.java |
@@ -29,9 +29,11 @@ package org.webrtc; |
import static org.webrtc.NetworkMonitorAutoDetect.ConnectionType; |
import static org.webrtc.NetworkMonitorAutoDetect.INVALID_NET_ID; |
+import static org.webrtc.NetworkMonitorAutoDetect.NetworkInformation; |
+ |
+import org.webrtc.Logging; |
import android.content.Context; |
-import android.util.Log; |
import java.util.ArrayList; |
@@ -117,14 +119,14 @@ public class NetworkMonitor { |
// Called by the native code. |
private void startMonitoring(long nativeObserver) { |
- Log.d(TAG, "Start monitoring from native observer " + nativeObserver); |
+ Logging.d(TAG, "Start monitoring from native observer " + nativeObserver); |
nativeNetworkObservers.add(nativeObserver); |
setAutoDetectConnectivityStateInternal(true); |
} |
// Called by the native code. |
private void stopMonitoring(long nativeObserver) { |
- Log.d(TAG, "Stop monitoring from native observer " + nativeObserver); |
+ Logging.d(TAG, "Stop monitoring from native observer " + nativeObserver); |
setAutoDetectConnectivityStateInternal(false); |
nativeNetworkObservers.remove(nativeObserver); |
} |
@@ -156,11 +158,15 @@ public class NetworkMonitor { |
public void onConnectionTypeChanged(ConnectionType newConnectionType) { |
updateCurrentConnectionType(newConnectionType); |
} |
+ @Override |
+ public void onNetworkConnect(NetworkInformation networkInfo) { |
+ updateNetworkInformation(networkInfo); |
+ } |
}, |
applicationContext); |
final NetworkMonitorAutoDetect.NetworkState networkState = |
autoDetector.getCurrentNetworkState(); |
- updateCurrentConnectionType(autoDetector.getCurrentConnectionType(networkState)); |
+ updateCurrentConnectionType(autoDetector.getConnectionType(networkState)); |
} |
} |
@@ -181,6 +187,12 @@ public class NetworkMonitor { |
} |
} |
+ private void updateNetworkInformation(NetworkInformation networkInfo) { |
+ for (long nativeObserver : nativeNetworkObservers) { |
+ nativeNotifyOfNetworkConnect(nativeObserver, networkInfo); |
+ } |
+ } |
+ |
/** |
* Adds an observer for any connection type changes. |
*/ |
@@ -216,6 +228,8 @@ public class NetworkMonitor { |
private native void nativeNotifyConnectionTypeChanged(long nativePtr); |
+ private native void nativeNotifyOfNetworkConnect(long nativePtr, NetworkInformation networkInfo); |
+ |
// For testing only. |
static void resetInstanceForTests(Context context) { |
instance = new NetworkMonitor(context); |