Preserve '+' in phone numbers imported from SIM.

Contacts with phonenumbers beginning with '+' lose the '+' in the
phonebook when imported from SIM.

This was only noticable on ADN-records with unknown NPI-values which
isn't very usual.

Change-Id: I181249759ae3d4181dd3cf627c7a588394b80419
This commit is contained in:
Samuel Holmberg
2010-02-24 12:15:15 +01:00
committed by Jean-Baptiste Queru
parent 26abeae75b
commit ce2a97aeb8
2 changed files with 12 additions and 1 deletions

View File

@@ -689,7 +689,8 @@ public class PhoneNumberUtils
return "";
}
if ((bytes[offset] & 0xff) == TOA_International) {
//Only TON field should be taken in concideration
if ((bytes[offset] & 0xf0) == (TOA_International & 0xf0)) {
prependPlus = true;
}

View File

@@ -82,6 +82,16 @@ public class PhoneNumberUtilsTest extends TestCase {
assertEquals("17005550020",
PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
b[0] = (byte) 0x80; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
assertEquals("17005550020",
PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
b[0] = (byte) 0x90; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
assertEquals("+17005550020",
PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
b[0] = (byte) 0x91; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
assertEquals("+17005550020",