Merge "[PT12] Factor some code into ProxyTracker."

This commit is contained in:
Chalard Jean
2018-10-12 04:23:16 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 18 deletions

View File

@@ -5513,15 +5513,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
if (networkAgent.isVPN()) {
// Temporarily disable the default proxy (not global).
synchronized (mProxyTracker.mProxyLock) {
if (!mProxyTracker.mDefaultProxyDisabled) {
mProxyTracker.mDefaultProxyDisabled = true;
if (mProxyTracker.mGlobalProxy == null
&& mProxyTracker.mDefaultProxy != null) {
mProxyTracker.sendProxyBroadcast(null);
}
}
}
mProxyTracker.setDefaultProxyEnabled(false);
// TODO: support proxy per network.
}
@@ -5543,15 +5535,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
} else if (state == NetworkInfo.State.DISCONNECTED) {
networkAgent.asyncChannel.disconnect();
if (networkAgent.isVPN()) {
synchronized (mProxyTracker.mProxyLock) {
if (mProxyTracker.mDefaultProxyDisabled) {
mProxyTracker.mDefaultProxyDisabled = false;
if (mProxyTracker.mGlobalProxy == null
&& mProxyTracker.mDefaultProxy != null) {
mProxyTracker.sendProxyBroadcast(mProxyTracker.mDefaultProxy);
}
}
}
mProxyTracker.setDefaultProxyEnabled(true);
updateUids(networkAgent, networkAgent.networkCapabilities, null);
}
disconnectAndDestroyNetwork(networkAgent);

View File

@@ -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);
}
}
}
}
}