From 50e922849399f12d2411a29b2199d8202087492d Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 15 Dec 2014 15:46:17 -0800 Subject: [PATCH] Preserve leading "+" in phone numbers The normalizeNumber method in PhoneNumberUtils preserves a leading "+" but only if it's the first character in the string. Thus it gets dropped if there is leading punctuation such as "(". This patch preserves the leading "+" as long as it would be the first character in the normalized phone number. Bug: 18418335 Change-Id: Ifcb1d3dd6c2943c729f570e7f3c90d1da9ee8b4b --- telephony/java/android/telephony/PhoneNumberUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 4ff63894c6c39..ba07a9550ee9e 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -1503,7 +1503,7 @@ public class PhoneNumberUtils int digit = Character.digit(c, 10); if (digit != -1) { sb.append(digit); - } else if (i == 0 && c == '+') { + } else if (sb.length() == 0 && c == '+') { sb.append(c); } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { return normalizeNumber(PhoneNumberUtils.convertKeypadLettersToDigits(phoneNumber));