summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaopeng Jia <shaopengjia@google.com>2013-04-26 12:45:24 +0200
committerShaopeng Jia <shaopengjia@google.com>2013-04-26 12:45:24 +0200
commit485e6d5c6e48a1fc43cc0a090e687c723dac056c (patch)
treeb8692eeb1fdaf5e2bafbc17c6cbb30b23f050eab
parent77aadd284847681bd66af639636c2fa43e418c2b (diff)
downloadlibphonenumber-kitkat-mr1-release.tar.gz
Change-Id: I6af343e55d0bd77e8c017f5cd2b395a7f9700d54
-rw-r--r--README.android2
-rw-r--r--java/release_notes.txt23
-rw-r--r--java/src/com/android/i18n/phonenumbers/PhoneNumberUtil.java58
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BDbin1170 -> 2220 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BEbin727 -> 728 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BFbin444 -> 446 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BYbin766 -> 766 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CAbin736 -> 756 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CDbin467 -> 541 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CNbin3404 -> 3553 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZbin744 -> 741 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_DKbin396 -> 398 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_EHbin371 -> 370 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GNbin525 -> 575 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GRbin881 -> 875 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IEbin1262 -> 1244 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_INbin3706 -> 3741 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IRbin1123 -> 1129 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ISbin755 -> 757 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_JPbin5359 -> 5364 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KHbin623 -> 636 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KRbin1406 -> 1431 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KWbin517 -> 516 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LIbin955 -> 951 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LRbin595 -> 585 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MAbin778 -> 777 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MUbin538 -> 545 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MYbin751 -> 773 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZbin866 -> 867 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PAbin882 -> 882 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PTbin532 -> 579 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SEbin2328 -> 2335 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SGbin600 -> 597 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TLbin430 -> 425 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TTbin568 -> 578 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_UGbin589 -> 607 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZWbin1676 -> 1719 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/1236_enbin0 -> 41 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/1365_enbin0 -> 32 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/1437_enbin0 -> 32 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/1639_enbin0 -> 37 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/263_enbin924 -> 1377 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/375_bebin0 -> 5305 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/375_enbin0 -> 2806 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/375_rubin0 -> 5173 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_csbin0 -> 298 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_enbin227 -> 244 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_frbin177 -> 197 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_kobin215 -> 227 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_zhbin284 -> 299 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh_Hantbin284 -> 299 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/98_enbin3359 -> 3342 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/98_fabin4418 -> 4399 bytes
-rw-r--r--java/src/com/android/i18n/phonenumbers/geocoding/data/configbin5123 -> 5197 bytes
-rw-r--r--java/test/com/android/i18n/phonenumbers/PhoneNumberUtilTest.java26
-rw-r--r--java/test/com/android/i18n/phonenumbers/RegionCode.java1
56 files changed, 81 insertions, 29 deletions
diff --git a/README.android b/README.android
index 9b4c3e23..12bbf7cf 100644
--- a/README.android
+++ b/README.android
@@ -1,5 +1,5 @@
URL: http://code.google.com/p/libphonenumber/
-Version: 5.3 (r552)
+Version: 5.4 (r559)
License: Apache 2
Description: Google Phone Number Library.
Local Modification:
diff --git a/java/release_notes.txt b/java/release_notes.txt
index 2680dcdb..0df5275a 100644
--- a/java/release_notes.txt
+++ b/java/release_notes.txt
@@ -1,3 +1,26 @@
+Mar 07, 2013: libphonenumber-5.4
+* Code changes:
+ - Switch formatNumberForMobileDialing to prefer national format to international format when the
+ number is dialed from the same region the phone number is from.
+
+* Metadata changes:
+ - Updated metadata for region code(s):
+ BF, CD, CN, CZ, GN, IR, JP, KR, KW, LR, NZ, TT, UG, ZW
+ - New geocoding data for country calling code(s): 82 (cs)
+ - Updated geocoding data for country calling code(s):
+ 82 (en, fr, ko, zh, zh_Hant), 98 (en, fa), 263 (en)
+
+Feb 11, 2013: libphonenumber-5.3.2
+* Metadata changes:
+ - Updated metadata for region code(s):
+ BD, BE, BY, CA, EH, GR, IE, IN, IS, LI, MA, MU, PT, SE, SG, TL
+ - New geocoding data for country calling code(s):
+ 375 (be, en, ru), 1 (en)
+
+Jan 25, 2013: libphonenumber-5.3.1
+* Metadata changes:
+ - Updated metadata for region code(s): CN, DK, EH, GN, KH, KW, MA, MY, PA
+
Jan 08, 2013: libphonenumber-5.3
* Code changes:
- Handling UAN numbers in Argentina better when dialling them locally from a
diff --git a/java/src/com/android/i18n/phonenumbers/PhoneNumberUtil.java b/java/src/com/android/i18n/phonenumbers/PhoneNumberUtil.java
index 32076ef5..fc42fcf4 100644
--- a/java/src/com/android/i18n/phonenumbers/PhoneNumberUtil.java
+++ b/java/src/com/android/i18n/phonenumbers/PhoneNumberUtil.java
@@ -1203,43 +1203,47 @@ public class PhoneNumberUtil {
return number.hasRawInput() ? number.getRawInput() : "";
}
- String formattedNumber;
+ String formattedNumber = "";
// Clear the extension, as that part cannot normally be dialed together with the main number.
PhoneNumber numberNoExt = new PhoneNumber().mergeFrom(number).clearExtension();
- PhoneNumberType numberType = getNumberType(numberNoExt);
String regionCode = getRegionCodeForCountryCode(countryCallingCode);
- if (regionCode.equals("CO") && regionCallingFrom.equals("CO")) {
- if (numberType == PhoneNumberType.FIXED_LINE) {
+ if (regionCallingFrom.equals(regionCode)) {
+ PhoneNumberType numberType = getNumberType(numberNoExt);
+ boolean isFixedLineOrMobile =
+ (numberType == PhoneNumberType.FIXED_LINE) || (numberType == PhoneNumberType.MOBILE) ||
+ (numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE);
+ // Carrier codes may be needed in some countries. We handle this here.
+ if (regionCode.equals("CO") && numberType == PhoneNumberType.FIXED_LINE) {
formattedNumber =
formatNationalNumberWithCarrierCode(numberNoExt, COLOMBIA_MOBILE_TO_FIXED_LINE_PREFIX);
+ } else if (regionCode.equals("BR") && isFixedLineOrMobile) {
+ formattedNumber = numberNoExt.hasPreferredDomesticCarrierCode()
+ ? formattedNumber = formatNationalNumberWithPreferredCarrierCode(numberNoExt, "")
+ // Brazilian fixed line and mobile numbers need to be dialed with a carrier code when
+ // called within Brazil. Without that, most of the carriers won't connect the call.
+ // Because of that, we return an empty string here.
+ : "";
} else {
- // E164 doesn't work at all when dialing within Colombia.
- formattedNumber = format(numberNoExt, PhoneNumberFormat.NATIONAL);
+ // For NANPA countries, non-geographical countries, and Mexican fixed line and mobile
+ // numbers, we output international format for numbers that can be dialed internationally
+ // as that always works.
+ if ((countryCallingCode == NANPA_COUNTRY_CODE ||
+ regionCode.equals(REGION_CODE_FOR_NON_GEO_ENTITY) ||
+ // MX fixed line and mobile numbers should always be formatted in international format,
+ // even when dialed within MX. For national format to work, a carrier code needs to be
+ // used, and the correct carrier code depends on if the caller and callee are from the
+ // same local area. It is trickier to get that to work correctly than using
+ // international format, which is tested to work fine on all carriers.
+ (regionCode.equals("MX") && isFixedLineOrMobile)) &&
+ canBeInternationallyDialled(numberNoExt)) {
+ formattedNumber = format(numberNoExt, PhoneNumberFormat.INTERNATIONAL);
+ } else {
+ formattedNumber = format(numberNoExt, PhoneNumberFormat.NATIONAL);
+ }
}
- } else if (regionCode.equals("PE") && regionCallingFrom.equals("PE")) {
- // In Peru, numbers cannot be dialled using E164 format from a mobile phone for Movistar.
- // Instead they must be dialled in national format.
- formattedNumber = format(numberNoExt, PhoneNumberFormat.NATIONAL);
- } else if (regionCode.equals("AE") && regionCallingFrom.equals("AE") &&
- numberType == PhoneNumberType.UAN) {
- // In the United Arab Emirates, numbers with the prefix 600 (UAN numbers) cannot be dialled
- // using E164 format. Instead they must be dialled in national format.
- formattedNumber = format(numberNoExt, PhoneNumberFormat.NATIONAL);
- } else if (regionCode.equals("BR") && regionCallingFrom.equals("BR") &&
- ((numberType == PhoneNumberType.FIXED_LINE) || (numberType == PhoneNumberType.MOBILE) ||
- (numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE))) {
- formattedNumber = numberNoExt.hasPreferredDomesticCarrierCode()
- ? formatNationalNumberWithPreferredCarrierCode(numberNoExt, "")
- // Brazilian fixed line and mobile numbers need to be dialed with a carrier code when
- // called within Brazil. Without that, most of the carriers won't connect the call.
- // Because of that, we return an empty string here.
- : "";
} else if (canBeInternationallyDialled(numberNoExt)) {
return withFormatting ? format(numberNoExt, PhoneNumberFormat.INTERNATIONAL)
: format(numberNoExt, PhoneNumberFormat.E164);
- } else {
- formattedNumber = (regionCallingFrom.equals(regionCode))
- ? format(numberNoExt, PhoneNumberFormat.NATIONAL) : "";
}
return withFormatting ? formattedNumber
: normalizeHelper(formattedNumber, DIALLABLE_CHAR_MAPPINGS,
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
index 229f964e..45050b96 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
index 27e37398..f67a8b07 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
index 82942ae9..9b9a506e 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
index a78037b1..268949e2 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
index 19604989..010bc9a3 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
index 4c79a929..e79d8069 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
index d79fb8b6..58db0682 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
index 84ac0f54..59389cd2 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
index 739f03b3..ead71e72 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
index 0de408e7..06eb8d9e 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
index a5198af2..262cbbd7 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
index ee3e6712..165568f3 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
index 54a12bfd..aad65550 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
index 8c292da7..89f832f6 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
index 5af5d869..08534eef 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
index 97006bee..62a558ec 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
index 9f733000..ada4eeb5 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
index a333014b..54da4aa0 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
index d8344af8..cb17c767 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
index 05d679fb..e475245c 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
index 36720945..c7bfe096 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
index 0f2380c1..bb252241 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
index 9ac0659c..1d4f1410 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
index c0b385ec..cf6c57e8 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
index 2f1dbbd1..fd2128ce 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
index d67fad0c..4f7a0b18 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
index a725f8c3..0c708f1f 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
index 4f001587..5264d37a 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
index e52ec10f..0a28bc20 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
index 713a01a9..71d6e76c 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
index 6d3fe559..7da2c85c 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
index f15107f9..9e92e1a6 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
index 039084ff..284f3873 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
index 8efafcf8..a5baf970 100644
--- a/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
+++ b/java/src/com/android/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/1236_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/1236_en
new file mode 100644
index 00000000..40b369ea
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/1236_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/1365_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/1365_en
new file mode 100644
index 00000000..89d25904
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/1365_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/1437_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/1437_en
new file mode 100644
index 00000000..99927565
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/1437_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/1639_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/1639_en
new file mode 100644
index 00000000..090d2b4e
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/1639_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/263_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/263_en
index 7ec8339e..5df9b2fe 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/263_en
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/263_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/375_be b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_be
new file mode 100644
index 00000000..288cfa02
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_be
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/375_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_en
new file mode 100644
index 00000000..d46557b5
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/375_ru b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_ru
new file mode 100644
index 00000000..1392398d
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/375_ru
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_cs b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_cs
new file mode 100644
index 00000000..bf568876
--- /dev/null
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_cs
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_en
index cd18ecbf..96a01658 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_en
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_fr b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_fr
index ff3f6329..dea606c8 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_fr
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_fr
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_ko b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_ko
index cbc30173..e833c20f 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_ko
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_ko
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh
index d452ab7a..6e53fd69 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh_Hant b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh_Hant
index a6a94525..6559ae2f 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh_Hant
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/82_zh_Hant
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/98_en b/java/src/com/android/i18n/phonenumbers/geocoding/data/98_en
index e0c7504b..d0e02edc 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/98_en
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/98_en
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/98_fa b/java/src/com/android/i18n/phonenumbers/geocoding/data/98_fa
index 200e1114..09ee72ba 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/98_fa
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/98_fa
Binary files differ
diff --git a/java/src/com/android/i18n/phonenumbers/geocoding/data/config b/java/src/com/android/i18n/phonenumbers/geocoding/data/config
index 9cb67089..041f163f 100644
--- a/java/src/com/android/i18n/phonenumbers/geocoding/data/config
+++ b/java/src/com/android/i18n/phonenumbers/geocoding/data/config
Binary files differ
diff --git a/java/test/com/android/i18n/phonenumbers/PhoneNumberUtilTest.java b/java/test/com/android/i18n/phonenumbers/PhoneNumberUtilTest.java
index 0db9f75c..779c8c8e 100644
--- a/java/test/com/android/i18n/phonenumbers/PhoneNumberUtilTest.java
+++ b/java/test/com/android/i18n/phonenumbers/PhoneNumberUtilTest.java
@@ -689,8 +689,21 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase {
}
public void testFormatNumberForMobileDialing() {
+ // Numbers are normally dialed in national format in-country, and international format from
+ // outside the country.
+ assertEquals("030123456",
+ phoneUtil.formatNumberForMobileDialing(DE_NUMBER, RegionCode.DE, false));
+ assertEquals("+4930123456",
+ phoneUtil.formatNumberForMobileDialing(DE_NUMBER, RegionCode.CH, false));
+ PhoneNumber deNumberWithExtn = new PhoneNumber().mergeFrom(DE_NUMBER).setExtension("1234");
+ assertEquals("030123456",
+ phoneUtil.formatNumberForMobileDialing(deNumberWithExtn, RegionCode.DE, false));
+ assertEquals("+4930123456",
+ phoneUtil.formatNumberForMobileDialing(deNumberWithExtn, RegionCode.CH, false));
+
// US toll free numbers are marked as noInternationalDialling in the test metadata for testing
- // purposes.
+ // purposes. For such numbers, we expect nothing to be returned when the region code is not the
+ // same one.
assertEquals("800 253 0000",
phoneUtil.formatNumberForMobileDialing(US_TOLLFREE, RegionCode.US,
true /* keep formatting */));
@@ -733,6 +746,17 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase {
phoneUtil.formatNumberForMobileDialing(AE_UAN, RegionCode.JP, false));
assertEquals("600123456",
phoneUtil.formatNumberForMobileDialing(AE_UAN, RegionCode.AE, false));
+
+ assertEquals("+523312345678",
+ phoneUtil.formatNumberForMobileDialing(MX_NUMBER1, RegionCode.MX, false));
+ assertEquals("+523312345678",
+ phoneUtil.formatNumberForMobileDialing(MX_NUMBER1, RegionCode.US, false));
+
+ // Non-geographical numbers should always be dialed in international format.
+ assertEquals("+80012345678",
+ phoneUtil.formatNumberForMobileDialing(INTERNATIONAL_TOLL_FREE, RegionCode.US, false));
+ assertEquals("+80012345678",
+ phoneUtil.formatNumberForMobileDialing(INTERNATIONAL_TOLL_FREE, RegionCode.UN001, false));
}
public void testFormatByPattern() {
diff --git a/java/test/com/android/i18n/phonenumbers/RegionCode.java b/java/test/com/android/i18n/phonenumbers/RegionCode.java
index 4312f7f1..b917da4a 100644
--- a/java/test/com/android/i18n/phonenumbers/RegionCode.java
+++ b/java/test/com/android/i18n/phonenumbers/RegionCode.java
@@ -32,6 +32,7 @@ final class RegionCode {
static final String BS = "BS";
static final String BY = "BY";
static final String CA = "CA";
+ static final String CH = "CH";
static final String CN = "CN";
static final String CS = "CS";
static final String DE = "DE";