diff --git a/res/values-mcc001-mnc01/config.xml b/res/values-mcc001-mnc01/config.xml
new file mode 100755
index 00000000000..76127d4520c
--- /dev/null
+++ b/res/values-mcc001-mnc01/config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ true
+
diff --git a/res/values-mcc001-mnc010/config.xml b/res/values-mcc001-mnc010/config.xml
new file mode 100755
index 00000000000..76127d4520c
--- /dev/null
+++ b/res/values-mcc001-mnc010/config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ true
+
diff --git a/res/values-mcc246-mnc081/config.xml b/res/values-mcc246-mnc081/config.xml
new file mode 100755
index 00000000000..76127d4520c
--- /dev/null
+++ b/res/values-mcc246-mnc081/config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ true
+
diff --git a/res/values-mcc310-mnc028/config.xml b/res/values-mcc310-mnc028/config.xml
new file mode 100755
index 00000000000..76127d4520c
--- /dev/null
+++ b/res/values-mcc310-mnc028/config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ true
+
diff --git a/res/values-mcc311-mnc390/config.xml b/res/values-mcc311-mnc390/config.xml
new file mode 100755
index 00000000000..76127d4520c
--- /dev/null
+++ b/res/values-mcc311-mnc390/config.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ true
+
diff --git a/res/values/config.xml b/res/values/config.xml
index 86d47fede64..a6fd34e7c1e 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -32,4 +32,6 @@
1
+
+ false
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java
index 738d4331d59..8cfee921a89 100644
--- a/src/com/android/settings/ApnEditor.java
+++ b/src/com/android/settings/ApnEditor.java
@@ -327,6 +327,13 @@ public class ApnEditor extends PreferenceActivity
mMvnoType.setSummary(
checkNull(mvnoDescription(mMvnoType.getValue())));
mMvnoMatchData.setSummary(checkNull(mMvnoMatchData.getText()));
+ // allow user to edit carrier_enabled for some APN
+ boolean ceEditable = getResources().getBoolean(R.bool.config_allow_edit_carrier_enabled);
+ if (ceEditable) {
+ mCarrierEnabled.setEnabled(true);
+ } else {
+ mCarrierEnabled.setEnabled(false);
+ }
}
/**
@@ -571,6 +578,7 @@ public class ApnEditor extends PreferenceActivity
values.put(Telephony.Carriers.MVNO_TYPE, checkNotSet(mMvnoType.getValue()));
values.put(Telephony.Carriers.MVNO_MATCH_DATA, checkNotSet(mMvnoMatchData.getText()));
+ values.put(Telephony.Carriers.CARRIER_ENABLED, mCarrierEnabled.isChecked() ? 1 : 0);
getContentResolver().update(mUri, values, null, null);
return true;
@@ -664,6 +672,8 @@ public class ApnEditor extends PreferenceActivity
if (pref != null) {
if (pref.equals(mPassword)){
pref.setSummary(starify(sharedPreferences.getString(key, "")));
+ } else if (pref.equals(mCarrierEnabled)) {
+ // do nothing
} else {
pref.setSummary(checkNull(sharedPreferences.getString(key, "")));
}