From 3e4b7c332fcdeb3adf359b5fcf8cba08c474c9c0 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Fri, 13 Aug 2010 11:09:29 -0700 Subject: Keep the '+' when normalizing the phone number Change-Id: I24731735ed18dbc92a643a0d99d35a1b58be40c8 --- telephony/java/android/telephony/PhoneNumberUtils.java | 6 +++--- .../src/com/android/internal/telephony/PhoneNumberUtilsTest.java | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'telephony') diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 8b0a9de..b0fa0f5 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -1385,7 +1385,7 @@ public class PhoneNumberUtils * Normalize a phone number by removing the characters other than digits. If * the given number has keypad letters, the letters will be converted to * digits first. - * + * * @param phoneNumber * the number to be normalized. * @return the normalized number. @@ -1397,9 +1397,9 @@ public class PhoneNumberUtils int len = phoneNumber.length(); for (int i = 0; i < len; i++) { char c = phoneNumber.charAt(i); - if (PhoneNumberUtils.isISODigit(c)) { + if ((i == 0 && c == '+') || PhoneNumberUtils.isISODigit(c)) { sb.append(c); - } else if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') { + } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { return normalizeNumber(PhoneNumberUtils.convertKeypadLettersToDigits(phoneNumber)); } } diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java index 5ef1c69..88aa78e 100644 --- a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java +++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java @@ -524,6 +524,7 @@ public class PhoneNumberUtilsTest extends AndroidTestCase { assertEquals("6502910000", PhoneNumberUtils.normalizeNumber("650 2910000")); assertEquals("1234567", PhoneNumberUtils.normalizeNumber("12,3#4*567")); assertEquals("8004664114", PhoneNumberUtils.normalizeNumber("800-GOOG-114")); + assertEquals("+16502910000", PhoneNumberUtils.normalizeNumber("+1 650 2910000")); } } -- cgit v1.1