From a42805cd7e30098d0254bbd5372849399b688916 Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Thu, 26 Nov 2020 14:06:25 +0800 Subject: [PATCH] Refactor setCurrentProxyScriptUrl to a void method setCurrentProxyScriptUrl is used by ProxyTracker which is included in connectivity service mainline module. To make this method @SystemApi in follow-up patch, change this from a boolean method to a void method. Moving the send or not send broadcast logic to caller because it can know whether it needs to send a broadcast or not. Bug: 177035719 Test: FrameworksNetTests Change-Id: I7c0fd20bb449463a65952cfa9fb8a42310da079c --- .../com/android/server/connectivity/ProxyTracker.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/connectivity/ProxyTracker.java b/services/core/java/com/android/server/connectivity/ProxyTracker.java index d83ff837d9..b618d2b99a 100644 --- a/services/core/java/com/android/server/connectivity/ProxyTracker.java +++ b/services/core/java/com/android/server/connectivity/ProxyTracker.java @@ -226,9 +226,9 @@ public class ProxyTracker { final ProxyInfo defaultProxy = getDefaultProxy(); final ProxyInfo proxyInfo = null != defaultProxy ? defaultProxy : ProxyInfo.buildDirectProxy("", 0, Collections.emptyList()); + mPacProxyInstaller.setCurrentProxyScriptUrl(proxyInfo); - if (mPacProxyInstaller.setCurrentProxyScriptUrl(proxyInfo) - == PacProxyInstaller.DONT_SEND_BROADCAST) { + if (!shouldSendBroadcast(proxyInfo)) { return; } if (DBG) Log.d(TAG, "sending Proxy Broadcast for " + proxyInfo); @@ -244,6 +244,13 @@ public class ProxyTracker { } } + private boolean shouldSendBroadcast(ProxyInfo proxy) { + if (Uri.EMPTY.equals(proxy.getPacFileUrl())) return false; + if (proxy.getPacFileUrl().equals(proxy.getPacFileUrl()) + && (proxy.getPort() > 0)) return true; + return true; + } + /** * Sets the global proxy in memory. Also writes the values to the global settings of the device. *