Loading src/java/com/android/internal/telephony/uicc/AdnRecord.java +11 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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. Loading Loading @@ -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]; Loading src/java/com/android/internal/telephony/uicc/SIMRecords.java +2 −1 Original line number Diff line number Diff line Loading @@ -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); Loading tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading
src/java/com/android/internal/telephony/uicc/AdnRecord.java +11 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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. Loading Loading @@ -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]; Loading
src/java/com/android/internal/telephony/uicc/SIMRecords.java +2 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading