Chromium Code Reviews| 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..57d5dccced1932e7caad012c65a05689e065562f |
| --- /dev/null |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/AutofillDialogResult.java |
| @@ -0,0 +1,321 @@ |
| +// 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; |
| + |
| + |
|
Ted C
2013/08/10 01:33:35
remove one here too
aruslan
2013/08/10 03:00:08
Done.
|
| +/** |
| + * 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; |
|
Ted C
2013/08/10 01:33:35
if you want, as long as these are all final, you c
aruslan
2013/08/10 03:00:08
As discussed, kept these private, but made the get
|
| + 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 |
| + */ |
| + public int getExpirationMonth() { |
| + return mExpirationMonth; |
| + } |
| + |
| + /** |
| + * @return Expiration year |
| + */ |
| + public int getExpirationYear() { |
| + return mExpirationYear; |
| + } |
| + |
| + /** |
| + * @return Credit card number |
| + */ |
| + public String getPan() { |
| + return mPan; |
| + } |
| + |
| + /** |
| + * @return Credit card verification number |
| + */ |
| + 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 |
| + */ |
| + public String getName() { |
| + return mName; |
| + } |
| + |
| + /** |
| + * @return Phone number |
| + */ |
| + public String getPhoneNumber() { |
| + return mPhoneNumber; |
| + } |
| + |
| + /** |
| + * @return Address line 1 |
| + */ |
| + public String getAddress1() { |
| + return mAddress1; |
| + } |
| + |
| + /** |
| + * @return Address line 2 |
| + */ |
| + public String getAddress2() { |
| + return mAddress2; |
| + } |
| + |
| + /** |
| + * @return City |
| + */ |
| + public String getCity() { |
| + return mCity; |
| + } |
| + |
| + /** |
| + * @return State |
| + */ |
| + public String getState() { |
| + return mState; |
| + } |
| + |
| + /** |
| + * @return Postal code |
| + */ |
| + public String getPostalCode() { |
| + return mPostalCode; |
| + } |
| + |
| + /** |
| + * @return Country code |
| + */ |
| + 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 |
| + */ |
| + public String getEmail() { |
| + return mEmail; |
| + } |
| + |
| + /** |
| + * @return Google transaction ID if any |
| + */ |
| + public String getGoogleTransactionId() { |
| + return mGoogleTransactionId; |
| + } |
| + |
| + /** |
| + * @return Credit card information, or null |
| + */ |
| + public ResultCard getCard() { |
| + return mCard; |
| + } |
| + |
| + /** |
| + * @return Billing address information, or null |
| + */ |
| + public ResultAddress getBillingAddress() { |
| + return mBillingAddress; |
| + } |
| + |
| + /** |
| + * @return Shipping address information, or null |
| + */ |
| + public ResultAddress getShippingAddress() { |
| + return mShippingAddress; |
| + } |
| + } |
| + |
| + // JNI ResultWallet: |
| + |
| + @CalledByNative |
| + private static String getWalletEmail(Object fullWallet) { |
|
Ted C
2013/08/10 01:33:35
I think these can be ResultWallet instead Object,
aruslan
2013/08/10 03:00:08
Dropped the statics entirely.
|
| + return((ResultWallet) fullWallet).getEmail(); |
|
Ted C
2013/08/10 01:33:35
space after return
aruslan
2013/08/10 03:00:08
Done.
|
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletGoogleTransactionId(Object fullWallet) { |
| + return ((ResultWallet) fullWallet).getGoogleTransactionId(); |
| + } |
| + |
| + @CalledByNative |
| + private static Object getWalletBillingAddress(Object fullWallet) { |
| + return ((ResultWallet) fullWallet).getBillingAddress(); |
| + } |
| + |
| + @CalledByNative |
| + private static Object getWalletShippingAddress(Object fullWallet) { |
| + return ((ResultWallet) fullWallet).getShippingAddress(); |
| + } |
| + |
| + @CalledByNative |
| + private static Object getWalletCardInformation(Object fullWallet) { |
| + return ((ResultWallet) fullWallet).getCard(); |
| + } |
| + |
| + // JNI ResultAddress: |
| + |
| + @CalledByNative |
| + private static String getWalletAddressLine1(Object address) { |
| + return ((ResultAddress) address).getAddress1(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressLine2(Object address) { |
| + return ((ResultAddress) address).getAddress2(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressCity(Object address) { |
| + return ((ResultAddress) address).getCity(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressState(Object address) { |
| + return ((ResultAddress) address).getState(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressPostalCode(Object address) { |
| + return ((ResultAddress) address).getPostalCode(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressCountryCode(Object address) { |
| + return ((ResultAddress) address).getCountryCode(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressPhoneNumber(Object address) { |
| + return ((ResultAddress) address).getPhoneNumber(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletAddressFullName(Object address) { |
| + return ((ResultAddress) address).getName(); |
| + } |
| + |
| + // JNI ResultCard: |
| + |
| + @CalledByNative |
| + private static int getWalletCardExpirationMonth(Object card) { |
| + return ((ResultCard) card).getExpirationMonth(); |
| + } |
| + |
| + @CalledByNative |
| + private static int getWalletCardExpirationYear(Object card) { |
| + return ((ResultCard) card).getExpirationYear(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletCardPan(Object card) { |
| + return ((ResultCard) card).getPan(); |
| + } |
| + |
| + @CalledByNative |
| + private static String getWalletCardCvn(Object card) { |
| + return ((ResultCard) card).getCvn(); |
| + } |
| +} |