From a9acb4c2b55fe1bf4f5eeb96971e46697eaeffe9 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 31 Aug 2015 13:04:14 -0700 Subject: Reformat only KR numbers with leading "+82". Looks like the phonenumber util can figure out the country code of a phone number to format from the localization data even if it is not explicitly present in the phone number string. So, adding an explicit check to make sure that the country code(+82) was fetched from the original number string which was the intention of the fix for b/22862845. BUG: 23661668 Change-Id: I26ba03d759e0ec35a195ba51bf60d09eff8de090 --- telephony/java/android/telephony/PhoneNumberUtils.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'telephony') diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 273cc93..b430340 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -1457,10 +1457,15 @@ public class PhoneNumberUtils String result = null; try { PhoneNumber pn = util.parseAndKeepRawInput(phoneNumber, defaultCountryIso); + /** + * Need to reformat any local Korean phone numbers (when the user is in Korea) with + * country code to corresponding national format which would replace the leading + * +82 with 0. + */ if (KOREA_ISO_COUNTRY_CODE.equals(defaultCountryIso) && - (pn.getCountryCode() == util.getCountryCodeForRegion(KOREA_ISO_COUNTRY_CODE))) { - // Format local Korean phone numbers with country code to corresponding national - // format which would replace the leading +82 with 0. + (pn.getCountryCode() == util.getCountryCodeForRegion(KOREA_ISO_COUNTRY_CODE)) && + (pn.getCountryCodeSource() == + PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN)) { result = util.format(pn, PhoneNumberUtil.PhoneNumberFormat.NATIONAL); } else { result = util.formatInOriginalFormat(pn, defaultCountryIso); -- cgit v1.1