* Add check for `phone-context`.
Add a check to PhoneNumberUtil that the value of the `phone-context` parameter of the tel URI follows the correct syntax as defined in [RFC3966](https://www.rfc-editor.org/rfc/rfc3966#section-3).
* Add check for `phone-context`.
Add a check to PhoneNumberUtil that the value of the `phone-context` parameter of the tel URI follows the correct syntax as defined in [RFC3966](https://www.rfc-editor.org/rfc/rfc3966#section-3).
* Add check for `phone-context`.
Add a check to PhoneNumberUtil that the value of the `phone-context` parameter of the tel URI follows the correct syntax as defined in [RFC3966](https://www.rfc-editor.org/rfc/rfc3966#section-3).
Remove unused leading_zero_possible field from phonemetadata.proto
Deleted all methods that refer to this.
Regenerated jars - because we no longer write a boolean for the removed proto field, all the java metadata files needed regenerating too.
* Removing old generated files when building new ones
* Removing old generated files when building new ones
* Removing old generated files when building new ones
Co-authored-by: penmetsaa <penmetsaa@google.com>
* Added new classes with behavior from MetadataManager & MetadataSource
* Replaced MetadataManager usages with new classes
* New PrefixDataIOHandler which packs data into a jar
* Added mockito-core jar to lib folder
* Added mockito-all jar to lib folder and updated tests to not use junit4 annotations
* Fixed prefix generation entry points
* Specific exception for missing metadata cases
* Small change in checking missing metadata cases
Earlier, AYTF is adding additional CC when returning unformatted result - for cases where the input digits are dropped for formatting. Eg: MX case: "+5213314010666" => "+52 +5213314010666". b/183053929
Now we. are proactively ensuring that no formatting is applied, where a format is chosen that would otherwise have led to some digits being dropped.
Why the input digits are dropped:
- In MX, the mobile token (1) is no more used, so when it is present in input, the formatted result should not contain it.
- However when AYTF, we should not be removing the input digits on the fly.
- More details in cl/373115460 and b/183053929
* Abolish MX's international mobile token
* Porting phoneutil changes to JS and AYTF changes to not to swallow parts that are not part of formatting rule.
* Make fake change to trigger travis build again
* Adding checking of leading digits before using an alternate format rule
when finding phone numbers in text (previously we thought this was done, hence why the data was there, but it wasn't).
Also some minor comment/formatting changes, and splitting a private helper method
into two.
The format of the data has changed such that formatting patterns now only refer to \d, not specific numbers, so we don't need the special handling in the AYTF code which converts them to \d.
* Update ShortNumberInfo test regarding example number change for region AM. Unlike PhoneNumberUtilTest, ShortNumberInfoTest uses real metadata for unit testing.
* Changing the region as Travis tests do not pass with old short metadata of AM
* Making same changes in CPP and JS
* Configure Russian extension character доб as a valid one while parsing the numbers
* Escaping non ascii characters for better standardization.
* Added generated RU test data file. This is why travis test are failing at: https://travis-ci.org/googlei18n/libphonenumber/builds/407078226
* Removing manual support of encoded versions as it is already taken care in RegEx flags. Updated based on new review comments.
This hasn't been used for a long time.
Deleted all methods that refer to this, and removed the field from the test XML file (somehow this was missed) as well.
Regenerated jars - because we no longer write a boolean to indicate whether we have the possible number pattern or not all the java metadata files needed regenerating too.
Deleted some data from the js phone metadata implementation that isn't used by js as well (national number matcher pattern)
This enum won't be noticed by most users, because the country_code_source field of the phone number is only populated with ParseAndKeepRawInput, and in this case, this enum won't be used.
However, it provides a better result for users who incorrectly call parse() and then getCountryCodeSource() and expect to get a sensible answer; now they will get UNSPECIFIED instead of FROM_NUMBER_WITH_PLUS_SIGN which was the default before. In JS this method returns null, but getCountryCodeSourceOrDefault() will now return UNSPECIFIED instead.
The numeric values of the existing enums have not changed (relevant for JS and C++) and in Java the new enum was added to the end so that any stored serialized phone numbers should be able to be restored as they were before.
Suggested in issue #1218
* It was confusing and unnecessary. Not every country that has short numbers beginning with a 0 had it, and it is not the only digit that could overlap with a national prefix and hence be interpreted incorrectly.
1) Changing the BuildMetadataFromXml to only set
same_mobile_and_fixed_line_pattern and
national_prefix_optional_when_formatting if they differ from default
values, and the domestic_carrier_code_formatting_rule,
international_prefix and national_prefix_formatting_rule if there is
one.
2) Adding a test with some golden data for the BuildMetadataJsonFromXml.
3) Adding to the proto a missing explicit default false.
4) Updating a couple of methods in the Phonemetadata.java class to have
names that match those of the auto-generated Phonemetadata used by the
CPP build, now that we use those methods when building the metadata.
5) Fix to ant build file to enable the junit command to still work (instructions on open-source on how to regenerate metadata files refer to this)
Resulting data is smaller for Java and C++ and the resulting BuildMetadataJsonFromXml code is cleaner.
* Handling possible out-of-bounds exception that would be thrown in C++
and Java if a number with a phone-context tag is entered (RFC3966
format) but no actual phone context.
* isNumberMatch fix for numbers with italian leading zero fields set. Only
affects people who haven't correctly constructed phone numbers using
methods like 'parse'.
* Adding C++ tests and fixing bug in ExactlySameAs method, which wasn't
updated to handle the number_of_leading_zeros field when that was added
to the phone number proto.
See pending_code_changes.txt for more details.
* Support semicolon as extension character while parsing
* Add notes to pending_code_changes.txt
* JS port: Support semicolon as extension character while parsing
* Update comments in phonenumberutil.js
Metadata changes:
-- Drops the "-1" that was erroneously included in possible lengths before (didn't break anything, but was wrong) - it was a possibleLength of a sub-component so got added to the generalDesc possibleLengths
-- possibleNumberPattern no longer inherited: we don't use this anyway, we will do another CL soon to stop including it at all in the generated metadata
-- exampleNumber is no longer set on fixed-line and mobile elements from the generalDesc
XML file changes:
-- Stopped specifying "NA" and "-1" specifically for fixed-line and mobile blocks; now they are treated as every other type of phone number: if missing, don't fill them in from generalDesc, but leave them missing.
Code changes:
-- Stop using the exampleNumber on generalDesc for non-geo entities, but look at their phonenumber descs - the exampleNumber won't be stored on the generalDesc anymore. This affects porters if they either copied our build logic or used our built metadata in some way; they should update this method in their port too.