Expose captive portal urls for configuration
Carriers in Mainland China need to customize certain captive portal urls. The main issue is that google servers are not accessible in Mainland China. Added the following captive portal resources to be targeted for overlay. - config_captive_portal_http_url - config_captive_portal_https_url - config_captive_portal_fallback_urls (string-array) - config_captive_portal_fallback_probe_specs (string-array) These values can be customized for e g diffent countries Bug: 111819230 Test: atest FrameworksNetTests NetworkStackTests Test: Add a product RRO that targets a specific country code, insert a SIM card that matches that country code and check the log what URL is used. Merged-In: I54050b28bbfb93e0b7e509dbe0e987a0b902b7d9 Merged-In: I1f734c5f864bb2f2bc8ba1a66fe33d3480554f69 (cherry picked from commit 2977a40b1e8db190e5974a638b2619b3d253d38b) Change-Id: I278f2888851d38edb59157f8623541fbe94549b6
This commit is contained in:
@@ -108,7 +108,6 @@ import android.net.VpnService;
|
||||
import android.net.metrics.IpConnectivityLog;
|
||||
import android.net.metrics.NetworkEvent;
|
||||
import android.net.netlink.InetDiagMessage;
|
||||
import android.net.shared.NetworkMonitorUtils;
|
||||
import android.net.shared.PrivateDnsConfig;
|
||||
import android.net.util.MultinetworkPolicyTracker;
|
||||
import android.net.util.NetdService;
|
||||
@@ -238,6 +237,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private static final boolean LOGD_BLOCKED_NETWORKINFO = true;
|
||||
|
||||
/**
|
||||
* Default URL to use for {@link #getCaptivePortalServerUrl()}. This should not be changed
|
||||
* by OEMs for configuration purposes, as this value is overridden by
|
||||
* Settings.Global.CAPTIVE_PORTAL_HTTP_URL.
|
||||
* R.string.config_networkCaptivePortalServerUrl should be overridden instead for this purpose
|
||||
* (preferably via runtime resource overlays).
|
||||
*/
|
||||
private static final String DEFAULT_CAPTIVE_PORTAL_HTTP_URL =
|
||||
"http://connectivitycheck.gstatic.com/generate_204";
|
||||
|
||||
// TODO: create better separation between radio types and network types
|
||||
|
||||
// how long to wait before switching back to a radio's default network
|
||||
@@ -6701,9 +6710,20 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
@Override
|
||||
public String getCaptivePortalServerUrl() {
|
||||
enforceConnectivityInternalPermission();
|
||||
final String defaultUrl = mContext.getResources().getString(
|
||||
R.string.config_networkDefaultCaptivePortalServerUrl);
|
||||
return NetworkMonitorUtils.getCaptivePortalServerHttpUrl(mContext, defaultUrl);
|
||||
String settingUrl = mContext.getResources().getString(
|
||||
R.string.config_networkCaptivePortalServerUrl);
|
||||
|
||||
if (!TextUtils.isEmpty(settingUrl)) {
|
||||
return settingUrl;
|
||||
}
|
||||
|
||||
settingUrl = Settings.Global.getString(mContext.getContentResolver(),
|
||||
Settings.Global.CAPTIVE_PORTAL_HTTP_URL);
|
||||
if (!TextUtils.isEmpty(settingUrl)) {
|
||||
return settingUrl;
|
||||
}
|
||||
|
||||
return DEFAULT_CAPTIVE_PORTAL_HTTP_URL;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user