diff options
-rw-r--r-- | res/values/config.xml | 5 | ||||
-rw-r--r-- | src/com/android/server/connectivity/NetworkMonitor.java | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/res/values/config.xml b/res/values/config.xml new file mode 100644 index 0000000..52425e5 --- /dev/null +++ b/res/values/config.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <!-- Captive portal http url --> + <string name="config_captive_portal_http_url" translatable="false">http://connectivitycheck.gstatic.com/generate_204</string> +</resources>
\ No newline at end of file diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java index 73b203c..f3476ed 100644 --- a/src/com/android/server/connectivity/NetworkMonitor.java +++ b/src/com/android/server/connectivity/NetworkMonitor.java @@ -83,6 +83,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.RingBufferIndices; import com.android.internal.util.State; import com.android.internal.util.StateMachine; +import com.android.networkstack.R; import java.io.IOException; import java.net.HttpURLConnection; @@ -1710,9 +1711,15 @@ public class NetworkMonitor extends StateMachine { /** * Get the captive portal server HTTP URL that is configured on the device. + * + * NetworkMonitor does not use {@link ConnectivityManager#getCaptivePortalServerUrl()} as + * it has its own updatable strategies to detect captive portals. The framework only advises + * on one URL that can be used, while NetworkMonitor may implement more complex logic. */ public String getCaptivePortalServerHttpUrl(Context context) { - return NetworkMonitorUtils.getCaptivePortalServerHttpUrl(context); + final String defaultUrl = + context.getResources().getString(R.string.config_captive_portal_http_url); + return NetworkMonitorUtils.getCaptivePortalServerHttpUrl(context, defaultUrl); } /** |