Merge "Add Global Settings to decide whether show Carrier menu" into pi-dev
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index f7dc2d3..799b9bc 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -164,6 +164,22 @@
}
ContentResolver cr = context.getContentResolver();
+
+ TelephonyManager tm =
+ (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ String currentCountry = tm.getNetworkCountryIso().toLowerCase();
+ String supportedCountries =
+ Settings.Global.getString(cr, Settings.Global.EUICC_SUPPORTED_COUNTRIES);
+ boolean inEsimSupportedCountries = false;
+ if (TextUtils.isEmpty(currentCountry)) {
+ inEsimSupportedCountries = true;
+ } else if (!TextUtils.isEmpty(supportedCountries)) {
+ List<String> supportedCountryList =
+ Arrays.asList(TextUtils.split(supportedCountries.toLowerCase(), ","));
+ if (supportedCountryList.contains(currentCountry)) {
+ inEsimSupportedCountries = true;
+ }
+ }
final boolean esimIgnoredDevice =
Arrays.asList(TextUtils.split(SystemProperties.get(KEY_ESIM_CID_IGNORE, ""), ","))
.contains(SystemProperties.get(KEY_CID, null));
@@ -175,7 +191,7 @@
Settings.Global.getInt(cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
return (inDeveloperMode || euiccProvisioned
- || (!esimIgnoredDevice && enabledEsimUiByDefault));
+ || (!esimIgnoredDevice && enabledEsimUiByDefault && inEsimSupportedCountries));
}
/**