Merge "Refresh subscription info when subid changes" am: 5226ac6110 am: 114cacf2a8

am: 611d824110

Change-Id: I29492ef016c8ca9836ecf28c787e441629cfecb0
This commit is contained in:
Jordan Liu
2018-08-15 18:23:10 -07:00
committed by android-build-merger

View File

@@ -105,6 +105,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
private RestoreApnProcessHandler mRestoreApnProcessHandler;
private HandlerThread mRestoreDefaultApnThread;
private SubscriptionInfo mSubscriptionInfo;
private int mSubId;
private UiccController mUiccController;
private String mMvnoType;
private String mMvnoMatchData;
@@ -140,6 +141,13 @@ public class ApnSettings extends RestrictedSettingsFragment implements
} else if(intent.getAction().equals(
TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) {
if (!mRestoreDefaultApnMode) {
int extraSubId = intent.getIntExtra(TelephonyManager.EXTRA_SUBSCRIPTION_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
if (extraSubId != mSubId) {
// subscription has changed
mSubId = extraSubId;
mSubscriptionInfo = getSubscriptionInfo(mSubId);
}
fillList();
}
}
@@ -164,7 +172,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
final Activity activity = getActivity();
final int subId = activity.getIntent().getIntExtra(SUB_ID,
mSubId = activity.getIntent().getIntExtra(SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mIntentFilter = new IntentFilter(
@@ -173,7 +181,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
setIfOnlyAvailableForAdmins(true);
mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId);
mSubscriptionInfo = getSubscriptionInfo(mSubId);
mUiccController = UiccController.getInstance();
CarrierConfigManager configManager = (CarrierConfigManager)
@@ -254,6 +262,10 @@ public class ApnSettings extends RestrictedSettingsFragment implements
return null;
}
private SubscriptionInfo getSubscriptionInfo(int subId) {
return SubscriptionManager.from(getActivity()).getActiveSubscriptionInfo(subId);
}
private void fillList() {
final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()