Merge "pre-provide the mvno data of the edited apn" into jb-mr2-dev
diff --git a/src/com/android/settings/ApnEditor.java b/src/com/android/settings/ApnEditor.java
index f34abfa..2da2d76 100644
--- a/src/com/android/settings/ApnEditor.java
+++ b/src/com/android/settings/ApnEditor.java
@@ -94,6 +94,7 @@
private boolean mNewApn;
private boolean mFirstTime;
private Resources mRes;
+ private TelephonyManager mTelephonyManager;
/**
* Standard projection for the interesting columns of a normal note.
@@ -224,6 +225,8 @@
mCursor = managedQuery(mUri, sProjection, null, null);
mCursor.moveToFirst();
+ mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
+
fillUi();
}
@@ -359,18 +362,30 @@
}
}
- private String mvnoDescription(String raw) {
- int mvnoIndex = mMvnoType.findIndexOfValue(raw);
+ private String mvnoDescription(String newValue) {
+ int mvnoIndex = mMvnoType.findIndexOfValue(newValue);
+ String oldValue = mMvnoType.getValue();
+
if (mvnoIndex == -1) {
return null;
} else {
String[] values = mRes.getStringArray(R.array.mvno_type_entries);
if (values[mvnoIndex].equals("None")) {
mMvnoMatchData.setEnabled(false);
- mMvnoMatchData.setText("");
} else {
mMvnoMatchData.setEnabled(true);
}
+ if (newValue != null && newValue.equals(oldValue) == false) {
+ if (values[mvnoIndex].equals("SPN")) {
+ mMvnoMatchData.setText(mTelephonyManager.getSimOperatorName());
+ } else if (values[mvnoIndex].equals("IMSI")) {
+ String numeric =
+ SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC);
+ mMvnoMatchData.setText(numeric + "x");
+ } else if (values[mvnoIndex].equals("GID")) {
+ mMvnoMatchData.setText(mTelephonyManager.getGroupIdLevel1());
+ }
+ }
try {
return values[mvnoIndex];