diff options
author | lararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-09-12 08:09:05 +0000 |
---|---|---|
committer | lararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-09-12 08:09:05 +0000 |
commit | 933f9216fb5771aa7b7752bac965310427242c88 (patch) | |
tree | 5a9d6ee683db8a8644b6664a7e1af60df07ead6c /java | |
parent | 791ae910793ba870a1355bc32b90f85535883b63 (diff) | |
download | android_external_libphonenumbergoogle-933f9216fb5771aa7b7752bac965310427242c88.tar.gz android_external_libphonenumbergoogle-933f9216fb5771aa7b7752bac965310427242c88.tar.bz2 android_external_libphonenumbergoogle-933f9216fb5771aa7b7752bac965310427242c88.zip |
Java/CPP: libphonenumber v5.1.2 - AYTF fix for numbers in national format in countries with no national prefix.
git-svn-id: http://libphonenumber.googlecode.com/svn/trunk@524 ee073f10-1060-11df-b6a4-87a95322a99c
Diffstat (limited to 'java')
3 files changed, 20 insertions, 2 deletions
diff --git a/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java b/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java index dfe49d4..c1ea69f 100644 --- a/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java +++ b/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java @@ -177,8 +177,10 @@ public class AsYouTypeFormatter { (isCompleteNumber && currentMetaData.intlNumberFormatSize() > 0) ? currentMetaData.intlNumberFormats() : currentMetaData.numberFormats(); + boolean nationalPrefixIsUsedByCountry = currentMetaData.hasNationalPrefix(); for (NumberFormat format : formatList) { - if (isCompleteNumber || format.isNationalPrefixOptionalWhenFormatting() || + if (!nationalPrefixIsUsedByCountry || isCompleteNumber || + format.isNationalPrefixOptionalWhenFormatting() || phoneUtil.formattingRuleHasFirstGroupOnly(format.getNationalPrefixFormattingRule())) { if (isFormatEligible(format.getFormat())) { possibleFormats.add(format); @@ -520,7 +522,7 @@ public class AsYouTypeFormatter { isCompleteNumber = true; } else if (currentMetaData.hasNationalPrefixForParsing()) { Pattern nationalPrefixForParsing = - regexCache.getPatternForRegex(currentMetaData.getNationalPrefixForParsing()); + regexCache.getPatternForRegex(currentMetaData.getNationalPrefixForParsing()); Matcher m = nationalPrefixForParsing.matcher(nationalNumber); if (m.lookingAt()) { // When the national prefix is detected, we use international formatting rules instead of diff --git a/java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java b/java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java index c8143d9..a9f7346 100644 --- a/java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java +++ b/java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java @@ -1071,6 +1071,17 @@ public class AsYouTypeFormatterTest extends TestMetadataTestCase { assertEquals("+52 800 123 4567", formatter.inputDigit('7')); } + public void testAYTFNoNationalPrefix() { + AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter(RegionCode.IT); + + assertEquals("3", formatter.inputDigit('3')); + assertEquals("33", formatter.inputDigit('3')); + assertEquals("333", formatter.inputDigit('3')); + assertEquals("333 3", formatter.inputDigit('3')); + assertEquals("333 33", formatter.inputDigit('3')); + assertEquals("333 333", formatter.inputDigit('3')); + } + public void testAYTFShortNumberFormattingFix_US() { // For the US, an initial 1 is treated specially. AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter(RegionCode.US); diff --git a/java/release_notes.txt b/java/release_notes.txt index ab720e8..30a705c 100644 --- a/java/release_notes.txt +++ b/java/release_notes.txt @@ -1,3 +1,8 @@ +Sep 11, 2010: libphonenumber-5.1.2 +* Bug fix: + - Fixing regression in AsYouTypeFormatter where it no longer worked for numbers entered in national + format for countries with no national prefix, e.g. Spain. + Sep 5, 2010: libphonenumber-5.1.1 * Code changes: - Added better logging/exception handling for catching cases where metadata is invalid/missing. |