Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 672b2cc0 authored by Roshan Pius's avatar Roshan Pius
Browse files

Reformat local Korean numbers in national format.

Korean carriers don't want the country codes displayed for local calls.
However the network returns the entire phone number including the
country code for Volte calls. According to the Koean phone numbering
scheme (https://en.wikipedia.org/wiki/Telephone_numbers_in_South_Korea),
we need to replace the country code +82 with a 0 prepended to the
carrier code to format it as a national number.

BUG: 22862845
Change-Id: Ifbb9eb8d5379608b4ea9d95ae7744779340b188e
parent b460cc88
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1135,6 +1135,8 @@ public class PhoneNumberUtils
        "VI", // U.S. Virgin Islands
    };

    private static final String KOREA_ISO_COUNTRY_CODE = "KR";

    /**
     * Breaks the given number down and formats it according to the rules
     * for the country the number is from.
@@ -1455,7 +1457,14 @@ public class PhoneNumberUtils
        String result = null;
        try {
            PhoneNumber pn = util.parseAndKeepRawInput(phoneNumber, defaultCountryIso);
            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.
                result = util.format(pn, PhoneNumberUtil.PhoneNumberFormat.NATIONAL);
            } else {
                result = util.formatInOriginalFormat(pn, defaultCountryIso);
            }
        } catch (NumberParseException e) {
        }
        return result;