Merge "Refresh subscription info when subid changes" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-09-28 19:00:35 +00:00
committed by Android (Google) Code Review

View File

@@ -103,6 +103,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
private RestoreApnProcessHandler mRestoreApnProcessHandler; private RestoreApnProcessHandler mRestoreApnProcessHandler;
private HandlerThread mRestoreDefaultApnThread; private HandlerThread mRestoreDefaultApnThread;
private SubscriptionInfo mSubscriptionInfo; private SubscriptionInfo mSubscriptionInfo;
private int mSubId;
private UiccController mUiccController; private UiccController mUiccController;
private String mMvnoType; private String mMvnoType;
private String mMvnoMatchData; private String mMvnoMatchData;
@@ -135,6 +136,18 @@ public class ApnSettings extends RestrictedSettingsFragment implements
} }
break; break;
} }
} 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();
}
} }
} }
}; };
@@ -157,7 +170,7 @@ public class ApnSettings extends RestrictedSettingsFragment 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, mSubId = activity.getIntent().getIntExtra(SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID); SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mMobileStateFilter = new IntentFilter( mMobileStateFilter = new IntentFilter(
@@ -165,7 +178,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements
setIfOnlyAvailableForAdmins(true); setIfOnlyAvailableForAdmins(true);
mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId); mSubscriptionInfo = getSubscriptionInfo(mSubId);
mUiccController = UiccController.getInstance(); mUiccController = UiccController.getInstance();
CarrierConfigManager configManager = (CarrierConfigManager) CarrierConfigManager configManager = (CarrierConfigManager)
@@ -246,6 +259,10 @@ public class ApnSettings extends RestrictedSettingsFragment implements
return null; return null;
} }
private SubscriptionInfo getSubscriptionInfo(int subId) {
return SubscriptionManager.from(getActivity()).getActiveSubscriptionInfo(subId);
}
private void fillList() { private void fillList() {
final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId() final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()