From d44d0bae8507aaeead679d3b1e8a5283ab074f99 Mon Sep 17 00:00:00 2001 From: honghaiz Date: Wed, 23 Nov 2016 11:04:25 -0800 Subject: [PATCH] For VPN network, use the underlying network type as its type. This is for Android. BUG=webrtc:6748 Review-Url: https://codereview.webrtc.org/2522073003 Cr-Commit-Position: refs/heads/master@{#15218} --- .../java/src/org/webrtc/NetworkMonitorAutoDetect.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java b/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java index 270fca0b31..3046ab20c5 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