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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java

Issue 2093363002: Autofill address editor in PaymentRequest UI. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@contact-editor
Patch Set: Fix try-bot Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java
index c26fc5fdafb4f7e43006dca62c3177d746be0b35..fcafe77e934489be6011e223fb820bf8237ad660 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorTextField.java
@@ -17,13 +17,14 @@ import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView.OnEditorActionListener;
-import org.chromium.chrome.R;
+import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.payments.ui.PaymentRequestUI.PaymentRequestObserverForTest;
import javax.annotation.Nullable;
/** Handles validation and display of one field from the {@link EditorFieldModel}. */
-class EditorTextField extends TextInputLayout {
+@VisibleForTesting
+public class EditorTextField extends TextInputLayout {
/** The indicator for input fields that are required. */
private static final String REQUIRED_FIELD_INDICATOR = "*";
@@ -38,6 +39,7 @@ class EditorTextField extends TextInputLayout {
OnEditorActionListener actionlistener, PhoneNumberFormattingTextWatcher formatter,
PaymentRequestObserverForTest observer) {
super(context);
+ assert fieldModel.getInputTypeHint() != EditorFieldModel.INPUT_TYPE_HINT_DROPDOWN;
mEditorFieldModel = fieldModel;
mObserverForTest = observer;
@@ -94,14 +96,41 @@ class EditorTextField extends TextInputLayout {
mInput.setThreshold(0);
}
- if (fieldModel.getInputTypeHint() == EditorFieldModel.INPUT_TYPE_HINT_PHONE) {
- mInput.setId(R.id.payments_edit_phone_input);
- mInput.setInputType(InputType.TYPE_CLASS_PHONE);
- mInput.addTextChangedListener(formatter);
- } else if (fieldModel.getInputTypeHint() == EditorFieldModel.INPUT_TYPE_HINT_EMAIL) {
- mInput.setId(R.id.payments_edit_email_input);
- mInput.setInputType(
- InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
+ switch (fieldModel.getInputTypeHint()) {
+ case EditorFieldModel.INPUT_TYPE_HINT_PHONE:
+ mInput.setInputType(InputType.TYPE_CLASS_PHONE);
+ break;
+ case EditorFieldModel.INPUT_TYPE_HINT_EMAIL:
+ mInput.setInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
+ break;
+ case EditorFieldModel.INPUT_TYPE_HINT_STREET_LINES:
+ // TODO(rouslan): Provide a hint to the keyboard that the street lines are
+ // likely to have numbers.
+ mInput.setInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_FLAG_CAP_WORDS
+ | InputType.TYPE_TEXT_FLAG_MULTI_LINE
+ | InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
+ break;
+ case EditorFieldModel.INPUT_TYPE_HINT_PERSON_NAME:
+ mInput.setInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_FLAG_CAP_WORDS
+ | InputType.TYPE_TEXT_VARIATION_PERSON_NAME);
+ break;
+ case EditorFieldModel.INPUT_TYPE_HINT_REGION:
+ mInput.setInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS
+ | InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
+ break;
+ case EditorFieldModel.INPUT_TYPE_HINT_ALPHA_NUMERIC:
+ // Intentionally fall through.
+ // TODO(rouslan): Provide a hint to the keyboard that postal code and sorting
+ // code are likely to have numbers.
+ default:
+ mInput.setInputType(InputType.TYPE_CLASS_TEXT
+ | InputType.TYPE_TEXT_FLAG_CAP_WORDS
+ | InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
+ break;
}
}

Powered by Google App Engine
This is Rietveld 408576698