Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(493)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/payments/ContactEditor.java

Issue 2952673002: [Payments] Format and validate phone number according to selected country in address editor (Closed)
Patch Set: Fix tests Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.payments; 5 package org.chromium.chrome.browser.payments;
6 6
7 import android.telephony.PhoneNumberUtils; 7 import android.telephony.PhoneNumberUtils;
8 import android.text.TextUtils; 8 import android.text.TextUtils;
9 import android.util.Patterns; 9 import android.util.Patterns;
10 10
11 import org.chromium.base.Callback; 11 import org.chromium.base.Callback;
12 import org.chromium.chrome.R; 12 import org.chromium.chrome.R;
13 import org.chromium.chrome.browser.autofill.PersonalDataManager; 13 import org.chromium.chrome.browser.autofill.PersonalDataManager;
14 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; 14 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
15 import org.chromium.chrome.browser.autofill.PhoneNumberUtil;
15 import org.chromium.chrome.browser.payments.ui.EditorFieldModel; 16 import org.chromium.chrome.browser.payments.ui.EditorFieldModel;
16 import org.chromium.chrome.browser.payments.ui.EditorFieldModel.EditorFieldValid ator; 17 import org.chromium.chrome.browser.payments.ui.EditorFieldModel.EditorFieldValid ator;
17 import org.chromium.chrome.browser.payments.ui.EditorModel; 18 import org.chromium.chrome.browser.payments.ui.EditorModel;
18 19
19 import java.util.HashSet; 20 import java.util.HashSet;
20 import java.util.Set; 21 import java.util.Set;
21 22
22 import javax.annotation.Nullable; 23 import javax.annotation.Nullable;
23 24
24 /** 25 /**
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 146
146 final AutofillContact contact = toEdit == null 147 final AutofillContact contact = toEdit == null
147 ? new AutofillContact(mContext, new AutofillProfile(), null, nul l, null, 148 ? new AutofillContact(mContext, new AutofillProfile(), null, nul l, null,
148 INVALID_NAME | INVALID_PHONE_NUMBER | INVALID_EMAIL, m RequestPayerName, 149 INVALID_NAME | INVALID_PHONE_NUMBER | INVALID_EMAIL, m RequestPayerName,
149 mRequestPayerPhone, mRequestPayerEmail) 150 mRequestPayerPhone, mRequestPayerEmail)
150 : toEdit; 151 : toEdit;
151 152
152 final EditorFieldModel nameField = mRequestPayerName 153 final EditorFieldModel nameField = mRequestPayerName
153 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_PERSON_NAME, 154 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_PERSON_NAME,
154 mContext.getString(R.string.payments_name_field_in_con tact_details), 155 mContext.getString(R.string.payments_name_field_in_con tact_details),
155 mPayerNames, null, null, 156 mPayerNames, null /* suggestions */, null /* formatter */,
157 null /* validator */,
156 mContext.getString(R.string.payments_field_required_va lidation_message), 158 mContext.getString(R.string.payments_field_required_va lidation_message),
157 null, contact.getPayerName()) 159 null, contact.getPayerName())
158 : null; 160 : null;
159 161
160 final EditorFieldModel phoneField = mRequestPayerPhone 162 final EditorFieldModel phoneField = mRequestPayerPhone
161 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_PHONE, 163 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_PHONE,
162 mContext.getString(R.string.autofill_profile_editor_ph one_number), 164 mContext.getString(R.string.autofill_profile_editor_ph one_number),
163 mPhoneNumbers, getPhoneValidator(), null, 165 mPhoneNumbers, new PhoneNumberUtil.CountryAwareFormatT extWatcher(),
166 getPhoneValidator(), null,
164 mContext.getString(R.string.payments_field_required_va lidation_message), 167 mContext.getString(R.string.payments_field_required_va lidation_message),
165 mContext.getString(R.string.payments_phone_invalid_val idation_message), 168 mContext.getString(R.string.payments_phone_invalid_val idation_message),
166 contact.getPayerPhone()) 169 contact.getPayerPhone())
167 : null; 170 : null;
168 171
169 final EditorFieldModel emailField = mRequestPayerEmail 172 final EditorFieldModel emailField = mRequestPayerEmail
170 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_EMAIL, 173 ? EditorFieldModel.createTextInput(EditorFieldModel.INPUT_TYPE_H INT_EMAIL,
171 mContext.getString(R.string.autofill_profile_editor_em ail_address), 174 mContext.getString(R.string.autofill_profile_editor_em ail_address),
172 mEmailAddresses, getEmailValidator(), null, 175 mEmailAddresses, null, getEmailValidator(), null,
173 mContext.getString(R.string.payments_field_required_va lidation_message), 176 mContext.getString(R.string.payments_field_required_va lidation_message),
174 mContext.getString(R.string.payments_email_invalid_val idation_message), 177 mContext.getString(R.string.payments_email_invalid_val idation_message),
175 contact.getPayerEmail()) 178 contact.getPayerEmail())
176 : null; 179 : null;
177 180
178 EditorModel editor = new EditorModel(toEdit == null 181 EditorModel editor = new EditorModel(toEdit == null
179 ? mContext.getString(R.string.payments_add_contact_details_label ) 182 ? mContext.getString(R.string.payments_add_contact_details_label )
180 : toEdit.getEditTitle()); 183 : toEdit.getEditTitle());
181 184
182 if (nameField != null) editor.addField(nameField); 185 if (nameField != null) editor.addField(nameField);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 257
255 @Override 258 @Override
256 public boolean isLengthMaximum(@Nullable CharSequence value) { 259 public boolean isLengthMaximum(@Nullable CharSequence value) {
257 return false; 260 return false;
258 } 261 }
259 }; 262 };
260 } 263 }
261 return mEmailValidator; 264 return mEmailValidator;
262 } 265 }
263 } 266 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698