Don't crash if IMEI is empty

Change-Id: I5993d332dbd218c981ef5432aebb735d0000f67a
Fixes: 109787187
Test: robotests
This commit is contained in:
Matthew Fritze
2018-06-08 10:49:06 -07:00
parent 87bb929d7a
commit 6a03db093a
2 changed files with 18 additions and 0 deletions

View File

@@ -53,6 +53,9 @@ public class ImeiInfoDialogController {
static final int ID_GSM_SETTINGS = R.id.gsm_settings; static final int ID_GSM_SETTINGS = R.id.gsm_settings;
private static CharSequence getTextAsDigits(CharSequence text) { private static CharSequence getTextAsDigits(CharSequence text) {
if (TextUtils.isEmpty(text)) {
return "";
}
if (TextUtils.isDigitsOnly(text)) { if (TextUtils.isDigitsOnly(text)) {
final Spannable spannable = new SpannableStringBuilder(text); final Spannable spannable = new SpannableStringBuilder(text);
final TtsSpan span = new TtsSpan.DigitsBuilder(text.toString()).build(); final TtsSpan span = new TtsSpan.DigitsBuilder(text.toString()).build();

View File

@@ -128,4 +128,19 @@ public class ImeiInfoDialogControllerTest {
verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any()); verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any());
verify(mDialog).removeViewFromScreen(ID_CDMA_SETTINGS); verify(mDialog).removeViewFromScreen(ID_CDMA_SETTINGS);
} }
@Test
public void populateImeiInfo_emptyImei_shouldSetMeid_imeiSetToEmptyString() {
doReturn(true).when(mController).isCdmaLteEnabled();
when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
when(mTelephonyManager.getImei(anyInt())).thenReturn(null);
mController.populateImeiInfo();
verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER);
verify(mDialog).setText(ID_MIN_NUMBER_VALUE, MIN_NUMBER);
verify(mDialog).setText(ID_PRL_VERSION_VALUE, PRL_VERSION);
verify(mDialog).setText(eq(ID_IMEI_VALUE), eq(""));
verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any());
}
} }