Merge "Display IMEI info when sim is removed"

This commit is contained in:
Jeffrey Huang
2017-12-05 18:34:27 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 5 deletions

View File

@@ -80,9 +80,6 @@ public class ImeiInfoDialogController {
* Sets IMEI/MEID information based on whether the device is CDMA or GSM. * Sets IMEI/MEID information based on whether the device is CDMA or GSM.
*/ */
public void populateImeiInfo() { public void populateImeiInfo() {
if (mSubscriptionInfo == null) {
return;
}
if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) { if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
updateDialogForCdmaPhone(); updateDialogForCdmaPhone();
} else { } else {
@@ -94,7 +91,8 @@ public class ImeiInfoDialogController {
final Resources res = mDialog.getContext().getResources(); final Resources res = mDialog.getContext().getResources();
mDialog.setText(ID_MEID_NUMBER_VALUE, getMeid()); mDialog.setText(ID_MEID_NUMBER_VALUE, getMeid());
mDialog.setText(ID_MIN_NUMBER_VALUE, mDialog.setText(ID_MIN_NUMBER_VALUE,
mTelephonyManager.getCdmaMin(mSubscriptionInfo.getSubscriptionId())); mSubscriptionInfo != null ? mTelephonyManager.getCdmaMin(
mSubscriptionInfo.getSubscriptionId()) : "");
if (res.getBoolean(R.bool.config_msid_enable)) { if (res.getBoolean(R.bool.config_msid_enable)) {
mDialog.setText(ID_MIN_NUMBER_LABEL, mDialog.setText(ID_MIN_NUMBER_LABEL,
@@ -103,7 +101,7 @@ public class ImeiInfoDialogController {
mDialog.setText(ID_PRL_VERSION_VALUE, getCdmaPrlVersion()); mDialog.setText(ID_PRL_VERSION_VALUE, getCdmaPrlVersion());
if (isCdmaLteEnabled()) { if (mSubscriptionInfo != null && isCdmaLteEnabled()) {
// Show IMEI for LTE device // Show IMEI for LTE device
mDialog.setText(ID_IMEI_VALUE, mDialog.setText(ID_IMEI_VALUE,
getTextAsDigits(mTelephonyManager.getImei(mSlotId))); getTextAsDigits(mTelephonyManager.getImei(mSlotId)));

View File

@@ -111,6 +111,17 @@ public class ImeiInfoDialogControllerTest {
verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS); verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS);
} }
@Test
public void populateImeiInfo_cdmaSimDisabled_shouldRemoveImeiInfoAndSetMinToEmpty() {
ReflectionHelpers.setField(mController, "mSubscriptionInfo", null);
when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
mController.populateImeiInfo();
verify(mDialog).setText(ID_MIN_NUMBER_VALUE, "");
verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS);
}
@Test @Test
public void populateImeinfo_gsm_shouldSetImeiAndRemoveCdmaSettings() { public void populateImeinfo_gsm_shouldSetImeiAndRemoveCdmaSettings() {
when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_GSM); when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_GSM);