[DS] Correct the access method for telephony system property

Bug: 18675498

    Review: https://partner-android-review.git.corp.google.com/#/c/198822

Change-Id: I7d6eab7d8f513de20bd8995b999a124097f725e7
This commit is contained in:
Mick Lin
2015-01-22 17:28:43 +08:00
committed by Leo Wang
parent 9c167e92df
commit 09c9e5eb5d
2 changed files with 13 additions and 6 deletions

View File

@@ -34,6 +34,7 @@ import android.preference.Preference;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import android.preference.SwitchPreference; import android.preference.SwitchPreference;
import android.provider.Telephony; import android.provider.Telephony;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
@@ -94,6 +95,7 @@ public class ApnEditor extends PreferenceActivity
private Cursor mCursor; private Cursor mCursor;
private boolean mNewApn; private boolean mNewApn;
private boolean mFirstTime; private boolean mFirstTime;
private int mSubId;
private Resources mRes; private Resources mRes;
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
@@ -191,6 +193,7 @@ public class ApnEditor extends PreferenceActivity
final Intent intent = getIntent(); final Intent intent = getIntent();
final String action = intent.getAction(); final String action = intent.getAction();
mSubId = intent.getIntExtra("sub_id", SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mFirstTime = icicle == null; mFirstTime = icicle == null;
@@ -263,8 +266,7 @@ public class ApnEditor extends PreferenceActivity
mMnc.setText(mCursor.getString(MNC_INDEX)); mMnc.setText(mCursor.getString(MNC_INDEX));
mApnType.setText(mCursor.getString(TYPE_INDEX)); mApnType.setText(mCursor.getString(TYPE_INDEX));
if (mNewApn) { if (mNewApn) {
String numeric = String numeric = mTelephonyManager.getSimOperator(mSubId);
SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC);
// MCC is first 3 chars and then in 2 - 3 chars of MNC // MCC is first 3 chars and then in 2 - 3 chars of MNC
if (numeric != null && numeric.length() > 4) { if (numeric != null && numeric.length() > 4) {
// Country code // Country code
@@ -387,8 +389,7 @@ public class ApnEditor extends PreferenceActivity
if (values[mvnoIndex].equals("SPN")) { if (values[mvnoIndex].equals("SPN")) {
mMvnoMatchData.setText(mTelephonyManager.getSimOperatorName()); mMvnoMatchData.setText(mTelephonyManager.getSimOperatorName());
} else if (values[mvnoIndex].equals("IMSI")) { } else if (values[mvnoIndex].equals("IMSI")) {
String numeric = String numeric = mTelephonyManager.getSimOperator(mSubId);
SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC);
mMvnoMatchData.setText(numeric + "x"); mMvnoMatchData.setText(numeric + "x");
} else if (values[mvnoIndex].equals("GID")) { } else if (values[mvnoIndex].equals("GID")) {
mMvnoMatchData.setText(mTelephonyManager.getGroupIdLevel1()); mMvnoMatchData.setText(mTelephonyManager.getGroupIdLevel1());

View File

@@ -40,6 +40,7 @@ import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.Telephony; import android.provider.Telephony;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
@@ -132,7 +133,8 @@ public class ApnSettings extends SettingsPreferenceFragment implements
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
final Activity activity = getActivity(); final Activity activity = getActivity();
final int subId = activity.getIntent().getIntExtra("sub_id", -1); final int subId = activity.getIntent().getIntExtra("sub_id",
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mUm = (UserManager) getSystemService(Context.USER_SERVICE); mUm = (UserManager) getSystemService(Context.USER_SERVICE);
@@ -287,7 +289,11 @@ public class ApnSettings extends SettingsPreferenceFragment implements
} }
private void addNewApn() { private void addNewApn() {
startActivity(new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI)); Intent intent = new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI);
int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
: SubscriptionManager.INVALID_SUBSCRIPTION_ID;
intent.putExtra("sub_id", subId);
startActivity(intent);
} }
@Override @Override