| 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 4335e5ce73ba99e34aaa64cf53c5870f7598d1ad..15a2a5c2665a1bf57fb3fdcad7d358987979ab1c 100644
|
| --- a/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java
|
| +++ b/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java
|
| @@ -71,9 +71,9 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| public static class NetworkInformation{
|
| public final String name;
|
| public final ConnectionType type;
|
| - public final int handle;
|
| + public final long handle;
|
| public final IPAddress[] ipAddresses;
|
| - public NetworkInformation(String name, ConnectionType type, int handle,
|
| + public NetworkInformation(String name, ConnectionType type, long handle,
|
| IPAddress[] addresses) {
|
| this.name = name;
|
| this.type = type;
|
| @@ -246,7 +246,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| * Only callable on Lollipop and newer releases.
|
| */
|
| @SuppressLint("NewApi")
|
| - int getDefaultNetId() {
|
| + long getDefaultNetId() {
|
| if (!supportNetworkCallback()) {
|
| return INVALID_NET_ID;
|
| }
|
| @@ -259,7 +259,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| return INVALID_NET_ID;
|
| }
|
| final Network[] networks = getAllNetworks();
|
| - int defaultNetId = INVALID_NET_ID;
|
| + long defaultNetId = INVALID_NET_ID;
|
| for (Network network : networks) {
|
| if (!hasInternetCapability(network)) {
|
| continue;
|
| @@ -404,7 +404,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
|
|
| }
|
|
|
| - static final int INVALID_NET_ID = -1;
|
| + static final long INVALID_NET_ID = -1;
|
| private static final String TAG = "NetworkMonitorAutoDetect";
|
|
|
| // Observer for the connection type change.
|
| @@ -433,7 +433,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| */
|
| public void onConnectionTypeChanged(ConnectionType newConnectionType);
|
| public void onNetworkConnect(NetworkInformation networkInfo);
|
| - public void onNetworkDisconnect(int networkHandle);
|
| + public void onNetworkDisconnect(long networkHandle);
|
| }
|
|
|
| /**
|
| @@ -537,7 +537,7 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| * Only implemented on Lollipop and newer releases, returns INVALID_NET_ID
|
| * when not implemented.
|
| */
|
| - public int getDefaultNetId() {
|
| + public long getDefaultNetId() {
|
| return connectivityManagerDelegate.getDefaultNetId();
|
| }
|
|
|
| @@ -610,13 +610,18 @@ public class NetworkMonitorAutoDetect extends BroadcastReceiver {
|
| }
|
|
|
| /**
|
| - * Extracts NetID of network. Only available on Lollipop and newer releases.
|
| + * Extracts NetID of network on Lollipop and NetworkHandle (which is mungled
|
| + * NetID) on Marshmallow and newer releases. Only available on Lollipop and
|
| + * newer releases. Returns long since getNetworkHandle returns long.
|
| */
|
| @SuppressLint("NewApi")
|
| - private static int networkToNetId(Network network) {
|
| - // NOTE(pauljensen): This depends on Android framework implementation details.
|
| - // Fortunately this functionality is unlikely to ever change.
|
| - // TODO(honghaiz): When we update to Android M SDK, use Network.getNetworkHandle().
|
| + private static long networkToNetId(Network network) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
| + return network.getNetworkHandle();
|
| + }
|
| +
|
| + // NOTE(honghaiz): This depends on Android framework implementation details.
|
| + // These details cannot change because Lollipop has been released.
|
| return Integer.parseInt(network.toString());
|
| }
|
| }
|
|
|