Index: webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java |
diff --git a/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java b/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java |
index 270fca0b31d2abba4d506d1a89bcfc3d23760105..3046ab20c550f17829e679d595754ea06860a73f 100644 |
--- a/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java |
+++ b/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java |
@@ -288,6 +288,12 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver { |
} |
NetworkState networkState = getNetworkState(network); |
+ if (networkState.connected && networkState.getNetworkType() == ConnectivityManager.TYPE_VPN) { |
+ // If a VPN network is in place, we can find the underlying network type via querying the |
+ // active network info thanks to |
+ // https://android.googlesource.com/platform/frameworks/base/+/d6a7980d |
+ networkState = getNetworkState(); |
+ } |
ConnectionType connectionType = getConnectionType(networkState); |
if (connectionType == ConnectionType.CONNECTION_NONE) { |
// This may not be an error. The OS may signal a network event with connection type |