Merge "Don't crash if IMEI is empty"

This commit is contained in:
TreeHugger Robot
2018-06-08 19:07:22 +00:00
committed by Android (Google) Code Review
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());
}
} }