summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/values/config.xml5
-rw-r--r--src/com/android/server/connectivity/NetworkMonitor.java9
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);
}
/**