blob: 92f0cd8fffafad91d88b8926bb9f6f0117222d36 [file] [log] [blame]
// Copyright 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;
}
}
}