pre-provide the mvno data of the edited apn

For mvno, user can add or edit mvno data field.
Pre-provide the mvno data of the edited apn when the user selects
one of the mvno types.
For example if user choose gid, populate the data field with the
current sim's gid1 data, or if user choose the SPN option, fill
in data with the current carrier string. If IMSI, fill in imsi data.

Change-Id: I1bc280054cc7cd37e78a279866cefd62872a19fb
This commit is contained in:
Sungmin Choi
2013-03-21 15:42:27 +09:00
committed by Robert Greenwalt
parent 358d1825a4
commit cd1cb16bad

View File

@@ -94,6 +94,7 @@ public class ApnEditor extends PreferenceActivity
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 @@ public class ApnEditor extends PreferenceActivity
mCursor = managedQuery(mUri, sProjection, null, null);
mCursor.moveToFirst();
mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
fillUi();
}
@@ -359,18 +362,30 @@ public class ApnEditor extends PreferenceActivity
}
}
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];