Define NETID_UNSET in ConnectivityManager.
This allows some cleanup and removal of dead code. bug:15489928 Change-Id: Iaf0507bc2e8ec6dcc253f01f61c5b221d46581f9
This commit is contained in:
@@ -529,11 +529,6 @@ public class ConnectivityManager {
|
|||||||
*/
|
*/
|
||||||
public static final int CONNECTIVITY_CHANGE_DELAY_DEFAULT = 3000;
|
public static final int CONNECTIVITY_CHANGE_DELAY_DEFAULT = 3000;
|
||||||
|
|
||||||
/**
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
public final static int INVALID_NET_ID = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -2508,13 +2503,16 @@ public class ConnectivityManager {
|
|||||||
* @return {@code true} on success, {@code false} if the {@link Network} is no longer valid.
|
* @return {@code true} on success, {@code false} if the {@link Network} is no longer valid.
|
||||||
*/
|
*/
|
||||||
public static boolean setProcessDefaultNetwork(Network network) {
|
public static boolean setProcessDefaultNetwork(Network network) {
|
||||||
if (network == null) {
|
return NetworkUtils.bindProcessToNetwork(network == null ? NETID_UNSET : network.netId);
|
||||||
return NetworkUtils.unbindProcessToNetwork();
|
|
||||||
} else {
|
|
||||||
return NetworkUtils.bindProcessToNetwork(network.netId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A NetID indicating no Network is selected.
|
||||||
|
* Keep in sync with bionic/libc/dns/include/resolv_netid.h
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final int NETID_UNSET = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@link Network} currently bound to this process via
|
* Returns the {@link Network} currently bound to this process via
|
||||||
* {@link #setProcessDefaultNetwork}, or {@code null} if no {@link Network} is explicitly bound.
|
* {@link #setProcessDefaultNetwork}, or {@code null} if no {@link Network} is explicitly bound.
|
||||||
@@ -2523,7 +2521,7 @@ public class ConnectivityManager {
|
|||||||
*/
|
*/
|
||||||
public static Network getProcessDefaultNetwork() {
|
public static Network getProcessDefaultNetwork() {
|
||||||
int netId = NetworkUtils.getNetworkBoundToProcess();
|
int netId = NetworkUtils.getNetworkBoundToProcess();
|
||||||
if (netId == 0) return null;
|
if (netId == NETID_UNSET) return null;
|
||||||
return new Network(netId);
|
return new Network(netId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2538,10 +2536,7 @@ public class ConnectivityManager {
|
|||||||
* @deprecated This is strictly for legacy usage to support {@link #startUsingNetworkFeature}.
|
* @deprecated This is strictly for legacy usage to support {@link #startUsingNetworkFeature}.
|
||||||
*/
|
*/
|
||||||
public static boolean setProcessDefaultNetworkForHostResolution(Network network) {
|
public static boolean setProcessDefaultNetworkForHostResolution(Network network) {
|
||||||
if (network == null) {
|
return NetworkUtils.bindProcessToNetworkForHostResolution(
|
||||||
return NetworkUtils.unbindProcessToNetworkForHostResolution();
|
network == null ? NETID_UNSET : network.netId);
|
||||||
} else {
|
|
||||||
return NetworkUtils.bindProcessToNetworkForHostResolution(network.netId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,16 +116,10 @@ public class NetworkUtils {
|
|||||||
* {@link Network#getSocketFactory}) will be bound to this network. Note that if this
|
* {@link Network#getSocketFactory}) will be bound to this network. Note that if this
|
||||||
* {@code Network} ever disconnects all sockets created in this way will cease to work. This
|
* {@code Network} ever disconnects all sockets created in this way will cease to work. This
|
||||||
* is by design so an application doesn't accidentally use sockets it thinks are still bound to
|
* is by design so an application doesn't accidentally use sockets it thinks are still bound to
|
||||||
* a particular {@code Network}.
|
* a particular {@code Network}. Passing NETID_UNSET clears the binding.
|
||||||
*/
|
*/
|
||||||
public native static boolean bindProcessToNetwork(int netId);
|
public native static boolean bindProcessToNetwork(int netId);
|
||||||
|
|
||||||
/**
|
|
||||||
* Clear any process specific {@code Network} binding. This reverts a call to
|
|
||||||
* {@link #bindProcessToNetwork}.
|
|
||||||
*/
|
|
||||||
public native static boolean unbindProcessToNetwork();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the netId last passed to {@link #bindProcessToNetwork}, or NETID_UNSET if
|
* Return the netId last passed to {@link #bindProcessToNetwork}, or NETID_UNSET if
|
||||||
* {@link #unbindProcessToNetwork} has been called since {@link #bindProcessToNetwork}.
|
* {@link #unbindProcessToNetwork} has been called since {@link #bindProcessToNetwork}.
|
||||||
@@ -134,20 +128,13 @@ public class NetworkUtils {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Binds host resolutions performed by this process to the network designated by {@code netId}.
|
* Binds host resolutions performed by this process to the network designated by {@code netId}.
|
||||||
* {@link #bindProcessToNetwork} takes precedence over this setting.
|
* {@link #bindProcessToNetwork} takes precedence over this setting. Passing NETID_UNSET clears
|
||||||
|
* the binding.
|
||||||
*
|
*
|
||||||
* @deprecated This is strictly for legacy usage to support startUsingNetworkFeature().
|
* @deprecated This is strictly for legacy usage to support startUsingNetworkFeature().
|
||||||
*/
|
*/
|
||||||
public native static boolean bindProcessToNetworkForHostResolution(int netId);
|
public native static boolean bindProcessToNetworkForHostResolution(int netId);
|
||||||
|
|
||||||
/**
|
|
||||||
* Clears any process specific {@link Network} binding for host resolution. This does
|
|
||||||
* not clear bindings enacted via {@link #bindProcessToNetwork}.
|
|
||||||
*
|
|
||||||
* @deprecated This is strictly for legacy usage to support startUsingNetworkFeature().
|
|
||||||
*/
|
|
||||||
public native static boolean unbindProcessToNetworkForHostResolution();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Explicitly binds {@code socketfd} to the network designated by {@code netId}. This
|
* Explicitly binds {@code socketfd} to the network designated by {@code netId}. This
|
||||||
* overrides any binding via {@link #bindProcessToNetwork}.
|
* overrides any binding via {@link #bindProcessToNetwork}.
|
||||||
|
|||||||
@@ -258,11 +258,6 @@ static jboolean android_net_utils_bindProcessToNetwork(JNIEnv *env, jobject thiz
|
|||||||
return (jboolean) !setNetworkForProcess(netId);
|
return (jboolean) !setNetworkForProcess(netId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean android_net_utils_unbindProcessToNetwork(JNIEnv *env, jobject thiz)
|
|
||||||
{
|
|
||||||
return (jboolean) !setNetworkForProcess(NETID_UNSET);
|
|
||||||
}
|
|
||||||
|
|
||||||
static jint android_net_utils_getNetworkBoundToProcess(JNIEnv *env, jobject thiz)
|
static jint android_net_utils_getNetworkBoundToProcess(JNIEnv *env, jobject thiz)
|
||||||
{
|
{
|
||||||
return getNetworkForProcess();
|
return getNetworkForProcess();
|
||||||
@@ -274,11 +269,6 @@ static jboolean android_net_utils_bindProcessToNetworkForHostResolution(JNIEnv *
|
|||||||
return (jboolean) !setNetworkForResolv(netId);
|
return (jboolean) !setNetworkForResolv(netId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static jboolean android_net_utils_unbindProcessToNetworkForHostResolution(JNIEnv *env, jobject thiz)
|
|
||||||
{
|
|
||||||
return (jboolean) !setNetworkForResolv(NETID_UNSET);
|
|
||||||
}
|
|
||||||
|
|
||||||
static jboolean android_net_utils_bindSocketToNetwork(JNIEnv *env, jobject thiz, jint socket,
|
static jboolean android_net_utils_bindSocketToNetwork(JNIEnv *env, jobject thiz, jint socket,
|
||||||
jint netId)
|
jint netId)
|
||||||
{
|
{
|
||||||
@@ -309,9 +299,7 @@ static JNINativeMethod gNetworkUtilMethods[] = {
|
|||||||
{ "markSocket", "(II)V", (void*) android_net_utils_markSocket },
|
{ "markSocket", "(II)V", (void*) android_net_utils_markSocket },
|
||||||
{ "bindProcessToNetwork", "(I)Z", (void*) android_net_utils_bindProcessToNetwork },
|
{ "bindProcessToNetwork", "(I)Z", (void*) android_net_utils_bindProcessToNetwork },
|
||||||
{ "getNetworkBoundToProcess", "()I", (void*) android_net_utils_getNetworkBoundToProcess },
|
{ "getNetworkBoundToProcess", "()I", (void*) android_net_utils_getNetworkBoundToProcess },
|
||||||
{ "unbindProcessToNetwork", "()Z", (void*) android_net_utils_unbindProcessToNetwork },
|
|
||||||
{ "bindProcessToNetworkForHostResolution", "(I)Z", (void*) android_net_utils_bindProcessToNetworkForHostResolution },
|
{ "bindProcessToNetworkForHostResolution", "(I)Z", (void*) android_net_utils_bindProcessToNetworkForHostResolution },
|
||||||
{ "unbindProcessToNetworkForHostResolution", "()Z", (void*) android_net_utils_unbindProcessToNetworkForHostResolution },
|
|
||||||
{ "bindSocketToNetwork", "(II)Z", (void*) android_net_utils_bindSocketToNetwork },
|
{ "bindSocketToNetwork", "(II)Z", (void*) android_net_utils_bindSocketToNetwork },
|
||||||
{ "protectFromVpn", "(I)Z", (void*)android_net_utils_protectFromVpn },
|
{ "protectFromVpn", "(I)Z", (void*)android_net_utils_protectFromVpn },
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -179,8 +179,6 @@ import javax.net.ssl.HostnameVerifier;
|
|||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
import javax.net.ssl.SSLSession;
|
import javax.net.ssl.SSLSession;
|
||||||
|
|
||||||
import static android.net.ConnectivityManager.INVALID_NET_ID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -1841,8 +1839,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
final int uid = Binder.getCallingUid();
|
final int uid = Binder.getCallingUid();
|
||||||
final long token = Binder.clearCallingIdentity();
|
final long token = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
LinkProperties lp = null;
|
LinkProperties lp;
|
||||||
int netId = INVALID_NET_ID;
|
int netId;
|
||||||
synchronized (nai) {
|
synchronized (nai) {
|
||||||
lp = nai.linkProperties;
|
lp = nai.linkProperties;
|
||||||
netId = nai.network.netId;
|
netId = nai.network.netId;
|
||||||
@@ -2239,7 +2237,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
loge("Exception removing network: " + e);
|
loge("Exception removing network: " + e);
|
||||||
} finally {
|
} finally {
|
||||||
mNetTrackers[prevNetType].setNetId(INVALID_NET_ID);
|
// mNetTrackers[prevNetType].setNetId(INVALID_NET_ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user