From f80310d3c56387091ccd4111b698c09f76b8c53d Mon Sep 17 00:00:00 2001 From: jshin Date: Fri, 13 Jan 2012 10:25:16 -0800 Subject: [PATCH] Added API to replace unicoded digits to ascii numbers Users can enter arabic phone number or click arabic phone number to send MMS. Works for generic Unicode digits (full-width, etc.). bug:5615791 Change-Id: Ieec8c5c6c3736ee2b4ac8ddf17f8c41b2001460e Signed-off-by: Jake Hamby --- .../android/telephony/PhoneNumberUtils.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 1d451353d16ae..183beb1daf50c 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -1502,6 +1502,27 @@ public class PhoneNumberUtils return sb.toString(); } + /** + * Replace arabic/unicode digits with decimal digits. + * @param number + * the number to be normalized. + * @return the replaced number. + * + * @hide + */ + public static String replaceUnicodeDigits(String number) { + StringBuilder normalizedDigits = new StringBuilder(number.length()); + for (char c : number.toCharArray()) { + int digit = Character.digit(c, 10); + if (digit != -1) { + normalizedDigits.append(digit); + } else { + normalizedDigits.append(c); + } + } + return normalizedDigits.toString(); + } + // Three and four digit phone numbers for either special services, // or 3-6 digit addresses from the network (eg carrier-originated SMS messages) should // not match.