diff options
| author | 2018-10-11 22:55:28 -0700 | |
|---|---|---|
| committer | 2018-10-11 22:55:28 -0700 | |
| commit | 1a70721041ee04179a69a1adc5acaa43238b2088 (patch) | |
| tree | b612c118afbda3c929e022ea04fb72d75f0d289a | |
| parent | e3c0f28a1ec2c2b179e912e78cb6ddf94cc68225 (diff) | |
| parent | f24b6c77a652ed8b03d1aa7b1622332bb495fbd1 (diff) | |
Merge "[PT12] Factor some code into ProxyTracker."
am: f24b6c77a6
Change-Id: Ib92107f434576d8296ba74aab0d9abfe56cefa7c
| -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); + } + } + } + } } |