diff --git a/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java b/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java index 7725fdb72..30118bb7a 100644 --- a/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java +++ b/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java @@ -110,19 +110,6 @@ public class PhoneNumberOfflineGeocoder { return instance; } - /** - * Preload the data file for the given language and country calling code, so that a future lookup - * for this language and country calling code will not incur any file loading. - * - * @param locale specifies the language of the data file to load - * @param countryCallingCode specifies the country calling code of phone numbers that are - * contained by the file to be loaded - */ - public void loadDataFile(Locale locale, int countryCallingCode) { - instance.getPhonePrefixDescriptions(countryCallingCode, locale.getLanguage(), "", - locale.getCountry()); - } - /** * Returns the customary display name in the given language for the given territory the phone * number is from. @@ -185,8 +172,13 @@ public class PhoneNumberOfflineGeocoder { */ private String getAreaDescriptionForNumber( PhoneNumber number, String lang, String script, String region) { + int countryCallingCode = number.getCountryCode(); + // As the NANPA data is split into multiple files covering 3-digit areas, use a phone number + // prefix of 4 digits for NANPA instead, e.g. 1650. + int phonePrefix = (countryCallingCode != 1) ? + countryCallingCode : (1000 + (int) (number.getNationalNumber() / 10000000)); AreaCodeMap phonePrefixDescriptions = - getPhonePrefixDescriptions(number.getCountryCode(), lang, script, region); + getPhonePrefixDescriptions(phonePrefix, lang, script, region); return (phonePrefixDescriptions != null) ? phonePrefixDescriptions.lookup(number) : ""; } } diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1201_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1201_en new file mode 100644 index 000000000..9af68fa93 Binary files /dev/null and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1201_en differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1212_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1212_en new file mode 100644 index 000000000..0c3d5d84d Binary files /dev/null and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1212_en differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1617_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1617_en new file mode 100644 index 000000000..b4f7c1d7b Binary files /dev/null and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1617_en differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1650_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1650_en new file mode 100644 index 000000000..a95364eab Binary files /dev/null and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1650_en differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1989_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1989_en new file mode 100644 index 000000000..40d871604 Binary files /dev/null and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1989_en differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1_en deleted file mode 100644 index a3850da17..000000000 Binary files a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1_en and /dev/null differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config index ab7bf471f..0731ac85a 100644 Binary files a/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config and b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config differ