Merge "[DO NOT MERGE] Add country blacklist support" into qt-qpr1-dev-plus-aosp

This commit is contained in:
Alex Lin
2019-12-16 21:34:45 +00:00
committed by Android (Google) Code Review

View File

@@ -227,16 +227,23 @@ public class MobileNetworkUtils {
final String currentCountry = tm.getNetworkCountryIso().toLowerCase(); final String currentCountry = tm.getNetworkCountryIso().toLowerCase();
final String supportedCountries = final String supportedCountries =
Settings.Global.getString(cr, Settings.Global.EUICC_SUPPORTED_COUNTRIES); Settings.Global.getString(cr, Settings.Global.EUICC_SUPPORTED_COUNTRIES);
final String unsupportedCountries =
Settings.Global.getString(cr, Settings.Global.EUICC_UNSUPPORTED_COUNTRIES);
boolean inEsimSupportedCountries = false; boolean inEsimSupportedCountries = false;
if (TextUtils.isEmpty(currentCountry)) {
inEsimSupportedCountries = true; if (TextUtils.isEmpty(supportedCountries)) {
} else if (!TextUtils.isEmpty(supportedCountries)) { // White list is empty, use blacklist.
final List<String> supportedCountryList = Log.d(TAG, "Using blacklist unsupportedCountries=" + unsupportedCountries);
Arrays.asList(TextUtils.split(supportedCountries.toLowerCase(), ",")); inEsimSupportedCountries = !isEsimUnsupportedCountry(currentCountry,
if (supportedCountryList.contains(currentCountry)) { unsupportedCountries);
inEsimSupportedCountries = true; } else {
} Log.d(TAG, "Using whitelist supportedCountries=" + supportedCountries);
inEsimSupportedCountries = isEsimSupportedCountry(currentCountry, supportedCountries);
} }
Log.d(TAG, "inEsimSupportedCountries=" + inEsimSupportedCountries);
final boolean esimIgnoredDevice = final boolean esimIgnoredDevice =
Arrays.asList(TextUtils.split(SystemProperties.get(KEY_ESIM_CID_IGNORE, ""), ",")) Arrays.asList(TextUtils.split(SystemProperties.get(KEY_ESIM_CID_IGNORE, ""), ","))
.contains(SystemProperties.get(KEY_CID, null)); .contains(SystemProperties.get(KEY_CID, null));
@@ -612,4 +619,24 @@ public class MobileNetworkUtils {
} }
return tm.getNetworkOperatorName(); return tm.getNetworkOperatorName();
} }
private static boolean isEsimSupportedCountry(String country, String countriesListString) {
if (TextUtils.isEmpty(country)) {
return true;
} else if (TextUtils.isEmpty(countriesListString)) {
return false;
}
final List<String> supportedCountries =
Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
return supportedCountries.contains(country);
}
private static boolean isEsimUnsupportedCountry(String country, String countriesListString) {
if (TextUtils.isEmpty(country) || TextUtils.isEmpty(countriesListString)) {
return false;
}
final List<String> unsupportedCountries =
Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
return unsupportedCountries.contains(country);
}
} }