[PT12] Factor some code into ProxyTracker.
Test: runtest Change-Id: Ic61ef1e735dcc988cf8fc698b853f3b3be331d8b
This commit is contained in:
@@ -5513,15 +5513,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
if (networkAgent.isVPN()) {
|
if (networkAgent.isVPN()) {
|
||||||
// Temporarily disable the default proxy (not global).
|
// Temporarily disable the default proxy (not global).
|
||||||
synchronized (mProxyTracker.mProxyLock) {
|
mProxyTracker.setDefaultProxyEnabled(false);
|
||||||
if (!mProxyTracker.mDefaultProxyDisabled) {
|
|
||||||
mProxyTracker.mDefaultProxyDisabled = true;
|
|
||||||
if (mProxyTracker.mGlobalProxy == null
|
|
||||||
&& mProxyTracker.mDefaultProxy != null) {
|
|
||||||
mProxyTracker.sendProxyBroadcast(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// TODO: support proxy per network.
|
// TODO: support proxy per network.
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5543,15 +5535,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
} else if (state == NetworkInfo.State.DISCONNECTED) {
|
} else if (state == NetworkInfo.State.DISCONNECTED) {
|
||||||
networkAgent.asyncChannel.disconnect();
|
networkAgent.asyncChannel.disconnect();
|
||||||
if (networkAgent.isVPN()) {
|
if (networkAgent.isVPN()) {
|
||||||
synchronized (mProxyTracker.mProxyLock) {
|
mProxyTracker.setDefaultProxyEnabled(true);
|
||||||
if (mProxyTracker.mDefaultProxyDisabled) {
|
|
||||||
mProxyTracker.mDefaultProxyDisabled = false;
|
|
||||||
if (mProxyTracker.mGlobalProxy == null
|
|
||||||
&& mProxyTracker.mDefaultProxy != null) {
|
|
||||||
mProxyTracker.sendProxyBroadcast(mProxyTracker.mDefaultProxy);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
updateUids(networkAgent, networkAgent.networkCapabilities, null);
|
updateUids(networkAgent, networkAgent.networkCapabilities, null);
|
||||||
}
|
}
|
||||||
disconnectAndDestroyNetwork(networkAgent);
|
disconnectAndDestroyNetwork(networkAgent);
|
||||||
|
|||||||
@@ -309,4 +309,22 @@ public class ProxyTracker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable the default proxy.
|
||||||
|
*
|
||||||
|
* This sets the flag for enabling/disabling the default proxy and sends the broadcast
|
||||||
|
* if applicable.
|
||||||
|
* @param enabled whether the default proxy should be enabled.
|
||||||
|
*/
|
||||||
|
public void setDefaultProxyEnabled(final boolean enabled) {
|
||||||
|
synchronized (mProxyLock) {
|
||||||
|
if (mDefaultProxyDisabled == enabled) {
|
||||||
|
mDefaultProxyDisabled = !enabled;
|
||||||
|
if (mGlobalProxy == null && mDefaultProxy != null) {
|
||||||
|
sendProxyBroadcast(enabled ? mDefaultProxy : null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user