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

Commit 733d66a8 authored by mavishsu's avatar mavishsu
Browse files

Return MSISDN as Line1 number if carrier config requires it.

Previously getLine1Number() returns MDN for CDMA phone,
it will return MSISDN if a carrier config requires it.

Bug: 124524824
Test: atest GsmCdmaPhoneTest, atest PhoneSubInfoControllerTest
Change-Id: I5e79d08678e1f1312c699f2c718e262a014735da
parent 189f895c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1711,6 +1711,13 @@ public class GsmCdmaPhone extends Phone {
            IccRecords r = mIccRecords.get();
            return (r != null) ? r.getMsisdnNumber() : null;
        } else {
            CarrierConfigManager configManager = (CarrierConfigManager)
                    mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
            boolean use_usim = configManager.getConfigForSubId(getSubId()).getBoolean(
                    CarrierConfigManager.KEY_USE_USIM_BOOL);
            if (use_usim) {
                return (mSimRecords != null) ? mSimRecords.getMsisdnNumber() : null;
            }
            return mSST.getMdnNumber();
        }
    }
+26 −0
Original line number Diff line number Diff line
@@ -969,4 +969,30 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
        ss.setRilVoiceRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN);
        assertEquals(mPhoneUT.getCsCallRadioTech(), ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
    }

    @Test
    @SmallTest
    public void testGetLine1NumberForGsmPhone() {
        final String msisdn = "+1234567890";
        doReturn(msisdn).when(mSimRecords).getMsisdnNumber();

        switchToGsm();
        assertEquals(msisdn, mPhoneUT.getLine1Number());
    }

    @Test
    @SmallTest
    public void testGetLine1NumberForCdmaPhone() {
        final String mdn = "1234567890";
        final String msisdn = "+1234567890";
        doReturn(mdn).when(mSST).getMdnNumber();
        doReturn(msisdn).when(mSimRecords).getMsisdnNumber();

        switchToCdma();
        assertEquals(mdn, mPhoneUT.getLine1Number());

        mContextFixture.getCarrierConfigBundle().putBoolean(
                CarrierConfigManager.KEY_USE_USIM_BOOL, true);
        assertEquals(msisdn, mPhoneUT.getLine1Number());
    }
}