Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..aaeb503bd80b5305853841be666e471fdb52f8ae |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java |
@@ -0,0 +1,246 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.autofill; |
+ |
+import org.chromium.base.CalledByNative; |
+import org.chromium.base.JNINamespace; |
+ |
+/** |
+ * Java-side result of a non-cancelled AutofillDialog invocation, and |
+ * JNI glue for C++ AutofillDialogResult used by AutofillDialogControllerAndroid. |
+ */ |
+@JNINamespace("autofill") |
+public class AutofillDialogResult { |
+ /** |
+ * Information about the credit card in the dialog result. |
+ */ |
+ public static class ResultCard { |
+ private final int mExpirationMonth; |
+ private final int mExpirationYear; |
+ private final String mPan; |
+ private final String mCvn; |
+ |
+ /** |
+ * Creates a ResultCard. |
+ * @param expirationMonth Expiration month |
+ * @param expirationYear Expiration year |
+ * @param pan Credit card number |
+ * @param cvn Credit card verification number |
+ */ |
+ public ResultCard(int expirationMonth, int expirationYear, String pan, String cvn) { |
+ mExpirationMonth = expirationMonth; |
+ mExpirationYear = expirationYear; |
+ mPan = pan; |
+ mCvn = cvn; |
+ } |
+ |
+ /** |
+ * @return Expiration month |
+ */ |
+ @CalledByNative("ResultCard") |
+ public int getExpirationMonth() { |
+ return mExpirationMonth; |
+ } |
+ |
+ /** |
+ * @return Expiration year |
+ */ |
+ @CalledByNative("ResultCard") |
+ public int getExpirationYear() { |
+ return mExpirationYear; |
+ } |
+ |
+ /** |
+ * @return Credit card number |
+ */ |
+ @CalledByNative("ResultCard") |
+ public String getPan() { |
+ return mPan; |
+ } |
+ |
+ /** |
+ * @return Credit card verification number |
+ */ |
+ @CalledByNative("ResultCard") |
+ public String getCvn() { |
+ return mCvn; |
+ } |
+ } |
+ |
+ /** |
+ * Information about an address in the dialog result. |
+ */ |
+ public static class ResultAddress { |
+ private final String mName; |
+ private final String mPhoneNumber; |
+ private final String mAddress1; |
+ private final String mAddress2; |
+ private final String mCity; |
+ private final String mState; |
+ private final String mPostalCode; |
+ private final String mCountryCode; |
+ |
+ /** |
+ * Creates a ResultAddress. |
+ * Any parameter can be empty or null. |
+ * @param name Full name |
+ * @param phoneNumber Phone number |
+ * @param address1 Address line 1 |
+ * @param address2 Address line 2 |
+ * @param city City |
+ * @param state State |
+ * @param postalCode Postal code |
+ * @param countryCode Country code |
+ */ |
+ public ResultAddress( |
+ String name, String phoneNumber, |
+ String address1, String address2, |
+ String city, String state, String postalCode, |
+ String countryCode) { |
+ mName = name; |
+ mPhoneNumber = phoneNumber; |
+ mAddress1 = address1; |
+ mAddress2 = address2; |
+ mCity = city; |
+ mState = state; |
+ mPostalCode = postalCode; |
+ mCountryCode = countryCode; |
+ } |
+ |
+ /** |
+ * @return Full name |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getName() { |
+ return mName; |
+ } |
+ |
+ /** |
+ * @return Phone number |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getPhoneNumber() { |
+ return mPhoneNumber; |
+ } |
+ |
+ /** |
+ * @return Address line 1 |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getAddress1() { |
+ return mAddress1; |
+ } |
+ |
+ /** |
+ * @return Address line 2 |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getAddress2() { |
+ return mAddress2; |
+ } |
+ |
+ /** |
+ * @return City |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getCity() { |
+ return mCity; |
+ } |
+ |
+ /** |
+ * @return State |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getState() { |
+ return mState; |
+ } |
+ |
+ /** |
+ * @return Postal code |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getPostalCode() { |
+ return mPostalCode; |
+ } |
+ |
+ /** |
+ * @return Country code |
+ */ |
+ @CalledByNative("ResultAddress") |
+ public String getCountryCode() { |
+ return mCountryCode; |
+ } |
+ } |
+ |
+ /** |
+ * A response from the dialog. |
+ */ |
+ public static class ResultWallet { |
+ private final String mEmail; |
+ private final String mGoogleTransactionId; |
+ private final ResultCard mCard; |
+ private final ResultAddress mBillingAddress; |
+ private final ResultAddress mShippingAddress; |
+ |
+ /** |
+ * Creates a ResultWallet. |
+ * Any fields could be empty or null. |
+ * @param email Email address |
+ * @param googleTransactionId Google transaction ID if any |
+ * @param card Information about the credit card |
+ * @param billingAddress Information about the billing address |
+ * @param shippingAddress Information about the shipping address |
+ */ |
+ public ResultWallet( |
+ String email, String googleTransactionId, |
+ ResultCard card, ResultAddress billingAddress, ResultAddress shippingAddress) { |
+ mEmail = email; |
+ mGoogleTransactionId = googleTransactionId; |
+ mCard = card; |
+ mBillingAddress = billingAddress; |
+ mShippingAddress = shippingAddress; |
+ } |
+ |
+ /** |
+ * @return Email address |
+ */ |
+ @CalledByNative("ResultWallet") |
+ public String getEmail() { |
+ return mEmail; |
+ } |
+ |
+ /** |
+ * @return Google transaction ID if any |
+ */ |
+ @CalledByNative("ResultWallet") |
+ public String getGoogleTransactionId() { |
+ return mGoogleTransactionId; |
+ } |
+ |
+ /** |
+ * @return Credit card information, or null |
+ */ |
+ @CalledByNative("ResultWallet") |
+ public ResultCard getCard() { |
+ return mCard; |
+ } |
+ |
+ /** |
+ * @return Billing address information, or null |
+ */ |
+ @CalledByNative("ResultWallet") |
+ public ResultAddress getBillingAddress() { |
+ return mBillingAddress; |
+ } |
+ |
+ /** |
+ * @return Shipping address information, or null |
+ */ |
+ @CalledByNative("ResultWallet") |
+ public ResultAddress getShippingAddress() { |
+ return mShippingAddress; |
+ } |
+ } |
+} |