| Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
|
| index c06eefd2dbae756e9c4c89f9a949d2cef65638be..16cf63ce8acec36747cbcc6f3aa300d4d3c21a54 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
|
| @@ -80,6 +80,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| protected final PaymentsCallbackHelper<PaymentRequestUI> mResultReady;
|
| protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyForUnmaskInput;
|
| protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyToUnmask;
|
| + protected final PaymentsCallbackHelper<CardUnmaskPrompt> mUnmaskValidationDone;
|
| protected final CallbackHelper mReadyToEdit;
|
| protected final CallbackHelper mEditorValidationError;
|
| protected final CallbackHelper mEditorTextUpdate;
|
| @@ -104,6 +105,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| mResultReady = new PaymentsCallbackHelper<>();
|
| mReadyForUnmaskInput = new PaymentsCallbackHelper<>();
|
| mReadyToUnmask = new PaymentsCallbackHelper<>();
|
| + mUnmaskValidationDone = new PaymentsCallbackHelper<>();
|
| mReadyToEdit = new CallbackHelper();
|
| mEditorValidationError = new CallbackHelper();
|
| mEditorTextUpdate = new CallbackHelper();
|
| @@ -443,6 +445,11 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| });
|
| }
|
|
|
| + /** Returns the error message visible to the user in the credit card unmask prompt. */
|
| + protected String getUnmaskPromptErrorMessage() {
|
| + return mCardUnmaskPrompt.getErrorMessage();
|
| + }
|
| +
|
| /** Selects the spinner value in the editor UI for credit cards. */
|
| protected void setSpinnerSelectionsInCardEditorAndWait(final int[] selections,
|
| CallbackHelper helper) throws InterruptedException, TimeoutException {
|
| @@ -529,8 +536,10 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| - ((EditText) mCardUnmaskPrompt.getDialogForTest().findViewById(resourceId))
|
| - .setText(input);
|
| + EditText editText =
|
| + ((EditText) mCardUnmaskPrompt.getDialogForTest().findViewById(resourceId));
|
| + editText.setText(input);
|
| + editText.getOnFocusChangeListener().onFocusChange(null, false);
|
| }
|
| });
|
| helper.waitForCallback(callCount);
|
| @@ -546,8 +555,10 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| @Override
|
| public void run() {
|
| for (int i = 0; i < resourceIds.length; ++i) {
|
| - ((EditText) mCardUnmaskPrompt.getDialogForTest().findViewById(resourceIds[i]))
|
| - .setText(values[i]);
|
| + EditText editText = ((EditText) mCardUnmaskPrompt.getDialogForTest()
|
| + .findViewById(resourceIds[i]));
|
| + editText.setText(values[i]);
|
| + editText.getOnFocusChangeListener().onFocusChange(null, false);
|
| }
|
| }
|
| });
|
| @@ -675,6 +686,12 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeT
|
| mReadyToUnmask.notifyCalled(prompt);
|
| }
|
|
|
| + @Override
|
| + public void onCardUnmaskPromptValidationDone(CardUnmaskPrompt prompt) {
|
| + ThreadUtils.assertOnUiThread();
|
| + mUnmaskValidationDone.notifyCalled(prompt);
|
| + }
|
| +
|
| /**
|
| * Listens for UI notifications.
|
| */
|
|
|