diff options
| author | 2018-06-08 19:08:25 +0900 | |
|---|---|---|
| committer | 2018-10-05 16:40:02 +0900 | |
| commit | 60778f91b60aa6d9ad91840d86b4481b416c8746 (patch) | |
| tree | d41aec951e67ca2fcf1ba34d4bf857ec2529bb8c | |
| parent | b9d45fd6e903f3b203a1c096096734bc6aabeb68 (diff) | |
[PT12] Factor some code into ProxyTracker.
Test: runtest
Change-Id: Ic61ef1e735dcc988cf8fc698b853f3b3be331d8b
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 20 | ||||
| -rw-r--r-- | services/core/java/com/android/server/connectivity/ProxyTracker.java | 18 |
2 files changed, 20 insertions, 18 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index b8db2d067a6e..4b77c69aba2b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -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); diff --git a/services/core/java/com/android/server/connectivity/ProxyTracker.java b/services/core/java/com/android/server/connectivity/ProxyTracker.java index 111c6d2de537..4ea992cfb45d 100644 --- a/services/core/java/com/android/server/connectivity/ProxyTracker.java +++ b/services/core/java/com/android/server/connectivity/ProxyTracker.java @@ -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); + } + } + } + } } |