Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efe4cc3d authored by Betty Chang's avatar Betty Chang Committed by Android (Google) Code Review
Browse files

Merge "[Telephony Setting] Add supplementary conditions for CDMA display IMEI...

Merge "[Telephony Setting] Add supplementary conditions for CDMA display IMEI info when subscriptionInfo is null" into qt-qpr1-dev
parents ef009cc8 288fa30c
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -119,7 +119,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)));
@@ -151,6 +152,15 @@ public class ImeiInfoDialogController {
                == 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);
+31 −0
Original line number Diff line number Diff line
@@ -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);