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. Change-Id: I38a294a5e14417f65e96e76235ea153c53c4d7cc
This commit is contained in:
committed by
Remi NGUYEN VAN
parent
1470d8a3b8
commit
fd6f92eaa2
@@ -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
|
||||
@@ -6712,9 +6721,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