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
This commit is contained in:
Roshan Pius
2015-08-31 13:04:14 -07:00
parent da43a3aaca
commit a9acb4c2b5

View File

@@ -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);