DO NOT MERGE - Merge QQ2A.200405.005 into master

Bug: 150877681
Merged-In: I1dd83ba55b34433b2b600b8a998000347b6ae5e8
Change-Id: Ia97ace340fa53229dd3ebbe0caa09ab996755b5a
This commit is contained in:
Xin Li
2020-04-07 11:29:38 -07:00
2 changed files with 42 additions and 1 deletions

View File

@@ -118,7 +118,8 @@ public class ImeiInfoDialogController {
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)));
@@ -149,6 +150,15 @@ public class ImeiInfoDialogController {
return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled();
}
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);

View File

@@ -142,6 +142,37 @@ public class ImeiInfoDialogControllerTest {
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);