Skip to content

Commit d0bc6af

Browse files
flerdaAndroid (Google) Code Review
authored andcommitted
Merge "Do not format numbers starting with hash or star."
2 parents aae19fb + 2613e00 commit d0bc6af

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

telephony/java/android/telephony/PhoneNumberUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1409,6 +1409,11 @@ public static String formatNumberToE164(String phoneNumber, String defaultCountr
14091409
* @hide
14101410
*/
14111411
public static String formatNumber(String phoneNumber, String defaultCountryIso) {
1412+
// Do not attempt to format numbers that start with a hash or star symbol.
1413+
if (phoneNumber.startsWith("#") || phoneNumber.startsWith("*")) {
1414+
return phoneNumber;
1415+
}
1416+
14121417
PhoneNumberUtil util = PhoneNumberUtil.getInstance();
14131418
String result = null;
14141419
try {

telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,19 @@ public void testFormatNumber() {
513513
assertEquals("(650) 291-0000", PhoneNumberUtils.formatNumber("650 2910000", "US"));
514514
assertEquals("123-4567", PhoneNumberUtils.formatNumber("1234567", "US"));
515515
assertEquals("(800) 466-4114", PhoneNumberUtils.formatNumber("800-GOOG-114", "US"));
516+
}
516517

518+
@SmallTest
519+
public void testFormatNumber_LeadingStarAndHash() {
520+
// Numbers with a leading '*' or '#' should be left unchanged.
521+
assertEquals("*650 2910000", PhoneNumberUtils.formatNumber("*650 2910000", "US"));
522+
assertEquals("#650 2910000", PhoneNumberUtils.formatNumber("#650 2910000", "US"));
523+
assertEquals("*#650 2910000", PhoneNumberUtils.formatNumber("*#650 2910000", "US"));
524+
assertEquals("#*650 2910000", PhoneNumberUtils.formatNumber("#*650 2910000", "US"));
525+
assertEquals("#650*2910000", PhoneNumberUtils.formatNumber("#650*2910000", "US"));
526+
assertEquals("#650*2910000", PhoneNumberUtils.formatNumber("#650*2910000", "US"));
527+
assertEquals("##650 2910000", PhoneNumberUtils.formatNumber("##650 2910000", "US"));
528+
assertEquals("**650 2910000", PhoneNumberUtils.formatNumber("**650 2910000", "US"));
517529
}
518530

519531
@SmallTest

0 commit comments

Comments
 (0)