summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>2012-09-12 08:09:05 +0000
committerlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>2012-09-12 08:09:05 +0000
commit933f9216fb5771aa7b7752bac965310427242c88 (patch)
tree5a9d6ee683db8a8644b6664a7e1af60df07ead6c /java
parent791ae910793ba870a1355bc32b90f85535883b63 (diff)
downloadandroid_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')
-rw-r--r--java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java6
-rw-r--r--java/libphonenumber/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java11
-rw-r--r--java/release_notes.txt5
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.