Loading services/core/java/com/android/server/ConnectivityService.java +2 −18 Original line number Diff line number Diff line Loading @@ -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. } Loading @@ -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); Loading services/core/java/com/android/server/connectivity/ProxyTracker.java +18 −0 Original line number Diff line number Diff line Loading @@ -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); } } } } } Loading
services/core/java/com/android/server/ConnectivityService.java +2 −18 Original line number Diff line number Diff line Loading @@ -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. } Loading @@ -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); Loading
services/core/java/com/android/server/connectivity/ProxyTracker.java +18 −0 Original line number Diff line number Diff line Loading @@ -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); } } } } }