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

Commit 3746f2d9 authored by Daisuke Miyakawa's avatar Daisuke Miyakawa
Browse files

Use upper case country codes in Country.java

Previously external/libphonenumber accepted lower case
country codes (e.g. "us") but now it doesn't for performance reason.
Actually ISO 3166-1 doesn't allow lower cases, so we should not rely
on them.

Need to fix unit tests for PhoneNumberUtils, as it implicitly
relies on the previous behavior.

See also I3a3e6db84ed0d24290b1be19651fa9a82de4cc39

Bug: 4941319
Change-Id: If16f6531f274a0faf5e28724854409ca9b00a669
parent da1fa1e4
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package android.location;
import android.os.Parcel;
import android.os.Parcelable;

import java.util.Locale;

/**
 * This class wraps the country information.
 *
@@ -74,7 +76,7 @@ public class Country implements Parcelable {
                || source > COUNTRY_SOURCE_LOCALE) {
            throw new IllegalArgumentException();
        }
        mCountryIso = countryIso.toLowerCase();
        mCountryIso = countryIso.toUpperCase(Locale.US);
        mSource = source;
    }

+7 −6
Original line number Diff line number Diff line
@@ -502,16 +502,17 @@ public class PhoneNumberUtilsTest extends AndroidTestCase {

    @SmallTest
    public void testFormatNumberToE164() {
        assertEquals("+16502910000", PhoneNumberUtils.formatNumberToE164("650 2910000", "us"));
        assertNull(PhoneNumberUtils.formatNumberToE164("1234567", "us"));
        assertEquals("+18004664114", PhoneNumberUtils.formatNumberToE164("800-GOOG-114", "us"));
        // Note: ISO 3166-1 only allows upper case country codes.
        assertEquals("+16502910000", PhoneNumberUtils.formatNumberToE164("650 2910000", "US"));
        assertNull(PhoneNumberUtils.formatNumberToE164("1234567", "US"));
        assertEquals("+18004664114", PhoneNumberUtils.formatNumberToE164("800-GOOG-114", "US"));
    }

    @SmallTest
    public void testFormatNumber() {
        assertEquals("(650) 291-0000", PhoneNumberUtils.formatNumber("650 2910000", "us"));
        assertEquals("123-4567", PhoneNumberUtils.formatNumber("1234567", "us"));
        assertEquals("(800) 466-4114", PhoneNumberUtils.formatNumber("800-GOOG-114", "us"));
        assertEquals("(650) 291-0000", PhoneNumberUtils.formatNumber("650 2910000", "US"));
        assertEquals("123-4567", PhoneNumberUtils.formatNumber("1234567", "US"));
        assertEquals("(800) 466-4114", PhoneNumberUtils.formatNumber("800-GOOG-114", "US"));

    }