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

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

Issue 2429703003: [PaymentRequest] Show errors and hide keyboard for opening card editor to fix required fields (Closed)
Patch Set: address nit Created 4 years, 2 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorView.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorView.java
index fe2200e4d4fd79b5ff2096693545bbde3654764e..7531207f6443867f81b9f2b75babd2d0d53060a1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/EditorView.java
@@ -21,6 +21,7 @@ import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.CheckBox;
@@ -428,6 +429,21 @@ public class EditorView extends AlwaysDismissedDialog
}
});
}
+
+ // If some of the required fields are valid, then this EditorView is for modification, so
+ // validate form to update displayed errors and hide keyboard by default.
+ if (hasValidRequiredField()) {
+ getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ validateForm();
+ }
+ });
+ } else {
+ getWindow().setSoftInputMode(
+ WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
+ }
}
/** Rereads the values in the model to update the UI. */
@@ -456,6 +472,15 @@ public class EditorView extends AlwaysDismissedDialog
}
}
+ private boolean hasValidRequiredField() {
+ List<EditorFieldModel> fields = mEditorModel.getFields();
+ for (int i = 0; i < fields.size(); i++) {
+ EditorFieldModel field = fields.get(i);
+ if (field.isRequired() && field.isValid()) return true;
+ }
+ return false;
+ }
+
private List<EditorFieldView> getViewsWithInvalidInformation(boolean findAll) {
List<EditorFieldView> invalidViews = new ArrayList<>();
for (int i = 0; i < mFieldViews.size(); i++) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698