Merge changes from topic "bindprocess-resolv"
* changes: Allow use of bindProcessToNetwork only to change private DNS bypass. Allow bypassing private DNS via bindProcessToNetwork.
This commit is contained in:
@@ -4006,10 +4006,17 @@ public class ConnectivityManager {
|
||||
@Deprecated
|
||||
public static boolean setProcessDefaultNetwork(@Nullable Network network) {
|
||||
int netId = (network == null) ? NETID_UNSET : network.netId;
|
||||
if (netId == NetworkUtils.getBoundNetworkForProcess()) {
|
||||
return true;
|
||||
boolean isSameNetId = (netId == NetworkUtils.getBoundNetworkForProcess());
|
||||
|
||||
if (netId != NETID_UNSET) {
|
||||
netId = network.getNetIdForResolv();
|
||||
}
|
||||
if (NetworkUtils.bindProcessToNetwork(netId)) {
|
||||
|
||||
if (!NetworkUtils.bindProcessToNetwork(netId)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!isSameNetId) {
|
||||
// Set HTTP proxy system properties to match network.
|
||||
// TODO: Deprecate this static method and replace it with a non-static version.
|
||||
try {
|
||||
@@ -4023,10 +4030,9 @@ public class ConnectivityManager {
|
||||
// Must flush socket pool as idle sockets will be bound to previous network and may
|
||||
// cause subsequent fetches to be performed on old network.
|
||||
NetworkEventDispatcher.getInstance().onNetworkConfigurationChanged();
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user