mDialog.setText(ID_PRL_VERSION_VALUE, getCdmaPrlVersion());
- if (mSubscriptionInfo != null && isCdmaLteEnabled()) {
+ if ((mSubscriptionInfo != null && isCdmaLteEnabled()) ||
+ (mSubscriptionInfo == null && isSimPresent(mSlotId))) {
// Show IMEI for LTE device
mDialog.setText(ID_IMEI_VALUE,
getTextAsDigits(mTelephonyManager.getImei(mSlotId)));
== PhoneConstants.LTE_ON_CDMA_TRUE;
}
+ boolean isSimPresent(int slotId) {
+ final int simState = mTelephonyManager.getSimState(slotId);
+ if ((simState != TelephonyManager.SIM_STATE_ABSENT) &&
+ (simState != TelephonyManager.SIM_STATE_UNKNOWN)) {
+ return true;
+ }
+ return false;
+ }
+
@VisibleForTesting
String getMeid() {
return mTelephonyManager.getMeid(mSlotId);
verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS);
}
+
+ @Test
+ public void populateImeiInfo_cdmaSimPresent_shouldSetImeiInfoAndSetAllCdmaSetting() {
+ ReflectionHelpers.setField(mController, "mSubscriptionInfo", null);
+ when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
+ when(mTelephonyManager.getSimState(anyInt())).thenReturn(
+ TelephonyManager.SIM_STATE_PRESENT);
+
+ mController.populateImeiInfo();
+
+ verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER);
+ verify(mDialog).setText(ID_MIN_NUMBER_VALUE, "");
+ verify(mDialog).setText(ID_PRL_VERSION_VALUE, "");
+ verify(mDialog).setText(eq(ID_IMEI_VALUE), any());
+ verify(mDialog).setText(eq(ID_IMEI_SV_VALUE), any());
+ }
+
+ @Test
+ public void populateImeiInfo_cdmaSimABSENT_shouldSetImeiInfoAndSetAllCdmaSetting() {
+ ReflectionHelpers.setField(mController, "mSubscriptionInfo", null);
+ when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
+ when(mTelephonyManager.getSimState(anyInt())).thenReturn(TelephonyManager.SIM_STATE_ABSENT);
+
+ mController.populateImeiInfo();
+
+ verify(mDialog).setText(ID_MEID_NUMBER_VALUE, MEID_NUMBER);
+ verify(mDialog).setText(ID_MIN_NUMBER_VALUE, "");
+ verify(mDialog).setText(ID_PRL_VERSION_VALUE, "");
+ verify(mDialog).removeViewFromScreen(ID_GSM_SETTINGS);
+ }
+
@Test
public void populateImeiInfo_gsmSimDisabled_shouldSetImeiAndRemoveCdmaSettings() {
ReflectionHelpers.setField(mController, "mSubscriptionInfo", null);