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

Commit 0db16527 authored by Pengquan Meng's avatar Pengquan Meng Committed by android-build-merger
Browse files

Merge "Tests for correct decoding when TP-OA contains non-integer information"

am: 2377a2f5

Change-Id: I809b0e0e339d69f1baec19d741648234fb6e0be3
parents fcb4a8ec 2377a2f5
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ package com.android.internal.telephony.uicc;
import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.telephony.Rlog;
import android.text.TextUtils;

import com.android.internal.telephony.GsmAlphabet;

@@ -248,7 +248,8 @@ public class AdnRecord implements Parcelable {
            Rlog.w(LOG_TAG, "[buildAdnString] Max length of tag is " + footerOffset);
            return null;
        } else {
            bcdNumber = PhoneNumberUtils.numberToCalledPartyBCD(mNumber);
            bcdNumber = PhoneNumberUtils.numberToCalledPartyBCD(
                    mNumber, PhoneNumberUtils.BCD_EXTENDED_TYPE_EF_ADN);

            System.arraycopy(bcdNumber, 0, adnString,
                    footerOffset + ADN_TON_AND_NPI, bcdNumber.length);
@@ -289,7 +290,10 @@ public class AdnRecord implements Parcelable {
            }

            mNumber += PhoneNumberUtils.calledPartyBCDFragmentToString(
                                        extRecord, 2, 0xff & extRecord[1]);
                    extRecord,
                    2,
                    0xff & extRecord[1],
                    PhoneNumberUtils.BCD_EXTENDED_TYPE_EF_ADN);

            // We don't support ext record chaining.

@@ -327,7 +331,10 @@ public class AdnRecord implements Parcelable {
            // the ME (see note 2)."

            mNumber = PhoneNumberUtils.calledPartyBCDToString(
                            record, footerOffset + 1, numberLength);
                    record,
                    footerOffset + 1,
                    numberLength,
                    PhoneNumberUtils.BCD_EXTENDED_TYPE_EF_ADN);


            mExtRecord = 0xff & record[record.length - 1];
+2 −1
Original line number Diff line number Diff line
@@ -563,7 +563,8 @@ public class SIMRecords extends IccRecords {
                // Spec reference for EF_CFIS contents, TS 51.011 section 10.3.46.
                if (enable && !TextUtils.isEmpty(dialNumber)) {
                    logv("EF_CFIS: updating cf number, " + Rlog.pii(LOG_TAG, dialNumber));
                    byte[] bcdNumber = PhoneNumberUtils.numberToCalledPartyBCD(dialNumber);
                    byte[] bcdNumber = PhoneNumberUtils.numberToCalledPartyBCD(
                            dialNumber, PhoneNumberUtils.BCD_EXTENDED_TYPE_EF_ADN);

                    System.arraycopy(bcdNumber, 0, mEfCfis, CFIS_TON_NPI_OFFSET, bcdNumber.length);

+4 −0
Original line number Diff line number Diff line
@@ -41,6 +41,10 @@ public class GsmSmsTest extends AndroidTestCase {
        assertEquals("+14155551212", sms.getServiceCenterAddress());
        assertEquals("+16505551111", sms.getOriginatingAddress());
        assertEquals("(Subject)Test", sms.getMessageBody());

        pdu = "07914151551512F20409E1BADCBE5AF100006060605130308A04D4F29C0E";
        sms = SmsMessage.createFromPdu(HexDump.hexStringToByteArray(pdu));
        assertEquals("*#abc#*51", sms.getOriginatingAddress());
    }

    @SmallTest
+14 −0
Original line number Diff line number Diff line
@@ -199,6 +199,20 @@ public class PhoneNumberUtilsTest {
        assertNull(PhoneNumberUtils.stringFromStringAndTOA(null, 1));
    }

    @SmallTest
    @Test
    public void testNonIntegerAddress() {
        byte[] b = new byte[6];
        b[0] = (byte) 0x81; b[1] = (byte) 0xba; b[2] = (byte) 0xdc; b[3] = (byte) 0xbe;
        b[4] = (byte) 0x5a; b[5] = (byte) 0xf1;
        assertEquals("*#abc#*51",
                PhoneNumberUtils.calledPartyBCDToString(
                        b, 0, 6, PhoneNumberUtils.BCD_EXTENDED_TYPE_CALLED_PARTY));
        assertEquals("*#,N;#*51",
                PhoneNumberUtils.calledPartyBCDToString(
                        b, 0, 6, PhoneNumberUtils.BCD_EXTENDED_TYPE_EF_ADN));
    }

    @SmallTest
    @Test
    public void testExtractNetworkPortionAlt() throws Exception {