From eb16ebd14ad5f011b22d841a953cd5871676c679 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Wed, 17 Mar 2021 20:37:48 +0800 Subject: [PATCH] Replace the hidden ProxyInfo methods usage The hidden ProxyInfo methods usage should be replaced because ProxyInfo is moving to connectivity mainline module. Setting will not be able to access it. Replace the usage with corresponding APIs. Bug: 172183305 Test: make RunSettingsRoboTests ROBOTEST_FILTER=\ com.android.settings.wifi.WifiConfigControllerTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=\ com.android.settings.wifi.WifiConfigController2Test Test: manually update proxy from setting and check the result Change-Id: I59192d0d5d38c833eb83cc930e358a738ebe3d13 --- src/com/android/settings/ProxySelector.java | 6 +++++- src/com/android/settings/vpn2/ConfigDialog.java | 2 +- src/com/android/settings/wifi/WifiConfigController.java | 6 ++++-- src/com/android/settings/wifi/WifiConfigController2.java | 6 ++++-- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java index a6858419726..57d3c6a75b8 100644 --- a/src/com/android/settings/ProxySelector.java +++ b/src/com/android/settings/ProxySelector.java @@ -44,6 +44,8 @@ import com.android.net.module.util.ProxyUtils; import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment; import com.android.settings.core.InstrumentedFragment; +import java.util.Arrays; + public class ProxySelector extends InstrumentedFragment implements DialogCreatable { private static final String TAG = "ProxySelector"; @@ -229,7 +231,9 @@ public class ProxySelector extends InstrumentedFragment implements DialogCreatab return false; } } - ProxyInfo p = new ProxyInfo(hostname, port, exclList); + + ProxyInfo p = ProxyInfo.buildDirectProxy( + hostname, port, Arrays.asList(exclList.split(","))); // FIXME: The best solution would be to make a better UI that would // disable editing of the text boxes if the user chooses to use the // default settings. i.e. checking a box to always use the default diff --git a/src/com/android/settings/vpn2/ConfigDialog.java b/src/com/android/settings/vpn2/ConfigDialog.java index 42bc67dc15a..03e3613b9eb 100644 --- a/src/com/android/settings/vpn2/ConfigDialog.java +++ b/src/com/android/settings/vpn2/ConfigDialog.java @@ -592,7 +592,7 @@ class ConfigDialog extends AlertDialog implements TextWatcher, // 0 is a last resort default, but the interface validates that the proxy port is // present and non-zero. int port = proxyPort.isEmpty() ? 0 : Integer.parseInt(proxyPort); - profile.proxy = new ProxyInfo(proxyHost, port, null); + profile.proxy = ProxyInfo.buildDirectProxy(proxyHost, port); } else { profile.proxy = null; } diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 80866689238..f6fda6def71 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -83,6 +83,7 @@ import com.android.settingslib.wifi.AccessPoint; import java.net.Inet4Address; import java.net.InetAddress; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; @@ -878,7 +879,8 @@ public class WifiConfigController implements TextWatcher, result = R.string.proxy_error_invalid_port; } if (result == 0) { - mHttpProxy = new ProxyInfo(host, port, exclusionList); + mHttpProxy = ProxyInfo.buildDirectProxy( + host, port, Arrays.asList(exclusionList.split(","))); } else { return false; } @@ -892,7 +894,7 @@ public class WifiConfigController implements TextWatcher, if (uri == null) { return false; } - mHttpProxy = new ProxyInfo(uri); + mHttpProxy = ProxyInfo.buildPacProxy(uri); } return true; } diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java index 0ba95432df8..06fbc88d6a4 100644 --- a/src/com/android/settings/wifi/WifiConfigController2.java +++ b/src/com/android/settings/wifi/WifiConfigController2.java @@ -83,6 +83,7 @@ import com.android.wifitrackerlib.WifiEntry.ConnectedInfo; import java.net.Inet4Address; import java.net.InetAddress; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; @@ -860,7 +861,8 @@ public class WifiConfigController2 implements TextWatcher, result = R.string.proxy_error_invalid_port; } if (result == 0) { - mHttpProxy = new ProxyInfo(host, port, exclusionList); + mHttpProxy = ProxyInfo.buildDirectProxy( + host, port, Arrays.asList(exclusionList.split(","))); } else { return false; } @@ -874,7 +876,7 @@ public class WifiConfigController2 implements TextWatcher, if (uri == null) { return false; } - mHttpProxy = new ProxyInfo(uri); + mHttpProxy = ProxyInfo.buildPacProxy(uri); } return true; }