| Index: chrome/browser/autofill/android/phone_number_util_android.cc
|
| diff --git a/chrome/browser/autofill/android/phone_number_util_android.cc b/chrome/browser/autofill/android/phone_number_util_android.cc
|
| index 21501eaa314ae240b55c3cc63641d34c654f4fb7..6aff62a456b6b6eaf8f3d93cb57a335ebb696e08 100644
|
| --- a/chrome/browser/autofill/android/phone_number_util_android.cc
|
| +++ b/chrome/browser/autofill/android/phone_number_util_android.cc
|
| @@ -20,16 +20,11 @@ using ::base::android::JavaParamRef;
|
| using ::base::android::ScopedJavaLocalRef;
|
| using ::i18n::phonenumbers::PhoneNumber;
|
| using ::i18n::phonenumbers::PhoneNumberUtil;
|
| -} // namespace
|
|
|
| -// Formats the given number |jphone_number| to
|
| -// i18n::phonenumbers::PhoneNumberUtil::PhoneNumberFormat::INTERNATIONAL format
|
| -// by using i18n::phonenumbers::PhoneNumberUtil::Format.
|
| -ScopedJavaLocalRef<jstring> Format(
|
| - JNIEnv* env,
|
| - const base::android::JavaParamRef<jclass>& jcaller,
|
| - const JavaParamRef<jstring>& jphone_number) {
|
| - const std::string phone_number = ConvertJavaStringToUTF8(env, jphone_number);
|
| +// Formats the |phone_number| to the specified |format|. Returns the original
|
| +// number if the operation is not possible.
|
| +std::string FormatPhoneNumber(const std::string& phone_number,
|
| + PhoneNumberUtil::PhoneNumberFormat format) {
|
| const std::string default_region_code =
|
| autofill::AutofillCountry::CountryCodeForLocale(
|
| g_browser_process->GetApplicationLocale());
|
| @@ -39,15 +34,41 @@ ScopedJavaLocalRef<jstring> Format(
|
| if (phone_number_util->Parse(phone_number, default_region_code,
|
| &parsed_number) !=
|
| PhoneNumberUtil::NO_PARSING_ERROR) {
|
| - return ConvertUTF8ToJavaString(env, phone_number);
|
| + return phone_number;
|
| }
|
|
|
| std::string formatted_number;
|
| - phone_number_util->Format(parsed_number,
|
| - PhoneNumberUtil::PhoneNumberFormat::INTERNATIONAL,
|
| - &formatted_number);
|
| + phone_number_util->Format(parsed_number, format, &formatted_number);
|
| + return formatted_number;
|
| +}
|
| +
|
| +} // namespace
|
|
|
| - return ConvertUTF8ToJavaString(env, formatted_number);
|
| +// Formats the given number |jphone_number| to
|
| +// i18n::phonenumbers::PhoneNumberUtil::PhoneNumberFormat::INTERNATIONAL format
|
| +// by using i18n::phonenumbers::PhoneNumberUtil::Format.
|
| +ScopedJavaLocalRef<jstring> FormatForDisplay(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jclass>& jcaller,
|
| + const JavaParamRef<jstring>& jphone_number) {
|
| + return ConvertUTF8ToJavaString(
|
| + env,
|
| + FormatPhoneNumber(ConvertJavaStringToUTF8(env, jphone_number),
|
| + PhoneNumberUtil::PhoneNumberFormat::INTERNATIONAL));
|
| +}
|
| +
|
| +// Formats the given number |jphone_number| to
|
| +// i18n::phonenumbers::PhoneNumberUtil::PhoneNumberFormat::E164 format by using
|
| +// i18n::phonenumbers::PhoneNumberUtil::Format , as defined in the Payment
|
| +// Request spec
|
| +// (https://w3c.github.io/browser-payment-api/#paymentrequest-updated-algorithm)
|
| +ScopedJavaLocalRef<jstring> FormatForResponse(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jclass>& jcaller,
|
| + const JavaParamRef<jstring>& jphone_number) {
|
| + return ConvertUTF8ToJavaString(
|
| + env, FormatPhoneNumber(ConvertJavaStringToUTF8(env, jphone_number),
|
| + PhoneNumberUtil::PhoneNumberFormat::E164));
|
| }
|
|
|
| // Checks whether the given number |jphone_number| is valid by using
|
|
|