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

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

Issue 2743043002: Add a 400ms timeout for READY_TO_PAY service call. (Closed)
Patch Set: Rebase Created 3 years, 9 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/AndroidPaymentApp.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
index 973494cbc1349a7da73892b82a85ff0461aae7d8..0c7fcc0218d906d4605c259979e0a35a99fe2794 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AndroidPaymentApp.java
@@ -47,6 +47,9 @@ public class AndroidPaymentApp extends PaymentInstrument implements PaymentApp,
/** The action name for the Pay Intent. */
public static final String ACTION_PAY = "org.chromium.intent.action.PAY";
+ /** The maximum number of milliseconds to wait for a response from a READY_TO_PAY service. */
+ private static final long READY_TO_PAY_TIMEOUT_MS = 400;
+
private static final String EXTRA_METHOD_NAME = "methodName";
private static final String EXTRA_DATA = "data";
private static final String EXTRA_ORIGIN = "origin";
@@ -168,6 +171,7 @@ public class AndroidPaymentApp extends PaymentInstrument implements PaymentApp,
}
private void respondToGetInstrumentsQuery(final PaymentInstrument instrument) {
+ if (mInstrumentsCallback == null) return;
mHandler.post(new Runnable() {
@Override
public void run() {
@@ -199,10 +203,17 @@ public class AndroidPaymentApp extends PaymentInstrument implements PaymentApp,
try {
mIsReadyToPayService.isReadyToPay(callback);
} catch (Throwable e) {
- /** Many undocument exceptions are not caught in the remote Service but passed on to
- the Service caller, see writeException in Parcel.java. */
+ // Many undocumented exceptions are not caught in the remote Service but passed on to
+ // the Service caller, see writeException in Parcel.java.
respondToGetInstrumentsQuery(null);
+ return;
}
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ respondToGetInstrumentsQuery(null);
+ }
+ }, READY_TO_PAY_TIMEOUT_MS);
}
@Override
« 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