Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
index 85dec0b2e464130597040576d761f3520b07866e..8fae08fd55c4afe2661b27d80848810ec2778320 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
@@ -115,26 +115,15 @@ public class PersonalDataManager { |
/** |
* Builds an empty local profile with "settings" origin and country code from the default |
- * locale. All other fields are empty strings, because JNI does not handle nulls. |
+ * locale. All other fields are empty strings, because JNI does not handle null strings. |
*/ |
public AutofillProfile() { |
- mOrigin = AutofillPreferences.SETTINGS_ORIGIN; |
- mIsLocal = true; |
- mCountryCode = Locale.getDefault().getCountry(); |
- |
- mGUID = ""; |
- mFullName = ""; |
- mCompanyName = ""; |
- mStreetAddress = ""; |
- mRegion = ""; |
- mLocality = ""; |
- mDependentLocality = ""; |
- mPostalCode = ""; |
- mSortingCode = ""; |
- mPhoneNumber = ""; |
- mEmailAddress = ""; |
- mLabel = ""; |
- mLanguageCode = ""; |
+ this("" /* guid */, AutofillPreferences.SETTINGS_ORIGIN /* origin */, |
+ true /* isLocal */, "" /* fullName */, "" /* companyName */, |
+ "" /* streetAddress */, "" /* region */, "" /* locality */, |
+ "" /* dependentLocality */, "" /* postalCode */, "" /* sortingCode */, |
+ Locale.getDefault().getCountry() /* country */, "" /* phoneNumber */, |
+ "" /* emailAddress */, "" /* languageCode */); |
} |
/** TODO(estade): remove this constructor. */ |
@@ -143,21 +132,9 @@ public class PersonalDataManager { |
String streetAddress, String region, String locality, String dependentLocality, |
String postalCode, String sortingCode, String countryCode, String phoneNumber, |
String emailAddress, String languageCode) { |
- mGUID = guid; |
- mOrigin = origin; |
- mIsLocal = true; |
- mFullName = fullName; |
- mCompanyName = companyName; |
- mStreetAddress = streetAddress; |
- mRegion = region; |
- mLocality = locality; |
- mDependentLocality = dependentLocality; |
- mPostalCode = postalCode; |
- mSortingCode = sortingCode; |
- mCountryCode = countryCode; |
- mPhoneNumber = phoneNumber; |
- mEmailAddress = emailAddress; |
- mLanguageCode = languageCode; |
+ this(guid, origin, true /* isLocal */, fullName, companyName, streetAddress, region, |
+ locality, dependentLocality, postalCode, sortingCode, countryCode, phoneNumber, |
+ emailAddress, languageCode); |
} |
@CalledByNative("AutofillProfile") |
@@ -355,20 +332,20 @@ public class PersonalDataManager { |
mBillingAddressId = billingAddressId; |
} |
+ public CreditCard() { |
+ this("" /* guid */, AutofillPreferences.SETTINGS_ORIGIN /*origin */, true /* isLocal */, |
+ false /* isCached */, "" /* name */, "" /* number */, "" /* obfuscatedNumber */, |
+ "" /* month */, "" /* year */, "" /* basicCardPaymentType */, |
+ 0 /* issuerIconDrawableId */, "" /* billingAddressId */); |
+ } |
+ |
/** TODO(estade): remove this constructor. */ |
@VisibleForTesting |
public CreditCard(String guid, String origin, String name, String number, |
String obfuscatedNumber, String month, String year) { |
- mGUID = guid; |
- mOrigin = origin; |
- mIsLocal = true; |
- mIsCached = false; |
- mName = name; |
- mNumber = number; |
- mObfuscatedNumber = obfuscatedNumber; |
- mMonth = month; |
- mYear = year; |
- mBillingAddressId = ""; |
+ this(guid, origin, true /* isLocal */, false /* isCached */, name, number, |
+ obfuscatedNumber, month, year, "" /* basicCardPaymentType */, |
+ 0 /* issuerIconDrawableId */, "" /* billingAddressId */); |
} |
@CalledByNative("CreditCard") |
@@ -463,6 +440,14 @@ public class PersonalDataManager { |
mYear = year; |
} |
+ public void setBasicCardPaymentType(String type) { |
+ mBasicCardPaymentType = type; |
+ } |
+ |
+ public void setIssuerIconDrawableId(int id) { |
+ mIssuerIconDrawableId = id; |
+ } |
+ |
public void setBillingAddressId(String id) { |
mBillingAddressId = id; |
} |
@@ -599,6 +584,11 @@ public class PersonalDataManager { |
return nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, guid); |
} |
+ public CreditCard getCreditCardForNumber(String cardNumber) { |
+ ThreadUtils.assertOnUiThread(); |
+ return nativeGetCreditCardForNumber(mPersonalDataManagerAndroid, cardNumber); |
+ } |
+ |
public String setCreditCard(CreditCard card) { |
ThreadUtils.assertOnUiThread(); |
assert card.getIsLocal(); |
@@ -610,6 +600,11 @@ public class PersonalDataManager { |
nativeUpdateServerCardBillingAddress(mPersonalDataManagerAndroid, guid, billingAddressId); |
} |
+ public String getBasicCardPaymentTypeIfValid(String cardNumber) { |
+ ThreadUtils.assertOnUiThread(); |
+ return nativeGetBasicCardPaymentTypeIfValid(mPersonalDataManagerAndroid, cardNumber); |
+ } |
+ |
@VisibleForTesting |
public void addServerCreditCardForTest(CreditCard card) { |
ThreadUtils.assertOnUiThread(); |
@@ -626,7 +621,7 @@ public class PersonalDataManager { |
nativeClearUnmaskedCache(mPersonalDataManagerAndroid, guid); |
} |
- public String getGetAddressLabelForPaymentRequest(AutofillProfile profile) { |
+ public String getAddressLabelForPaymentRequest(AutofillProfile profile) { |
return nativeGetAddressLabelForPaymentRequest(mPersonalDataManagerAndroid, profile); |
} |
@@ -636,6 +631,12 @@ public class PersonalDataManager { |
mPersonalDataManagerAndroid, webContents, guid, delegate); |
} |
+ public void getFullTemporaryCard(WebContents webContents, String cardNumber, String nameOnCard, |
+ String expirationMonth, String expirationYear, FullCardRequestDelegate delegate) { |
+ nativeGetFullTemporaryCardForPaymentRequest(mPersonalDataManagerAndroid, webContents, |
+ cardNumber, nameOnCard, expirationMonth, expirationYear, delegate); |
+ } |
+ |
@VisibleForTesting |
protected void setProfileUseStatsForTesting(String guid, int count, long date) { |
ThreadUtils.assertOnUiThread(); |
@@ -703,10 +704,14 @@ public class PersonalDataManager { |
long nativePersonalDataManagerAndroid); |
private native CreditCard nativeGetCreditCardByGUID(long nativePersonalDataManagerAndroid, |
String guid); |
+ private native CreditCard nativeGetCreditCardForNumber(long nativePersonalDataManagerAndroid, |
+ String cardNumber); |
private native String nativeSetCreditCard(long nativePersonalDataManagerAndroid, |
CreditCard card); |
private native void nativeUpdateServerCardBillingAddress(long nativePersonalDataManagerAndroid, |
String guid, String billingAddressId); |
+ private native String nativeGetBasicCardPaymentTypeIfValid( |
+ long nativePersonalDataManagerAndroid, String cardNumber); |
private native void nativeAddServerCreditCardForTest(long nativePersonalDataManagerAndroid, |
CreditCard card); |
private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid, String guid); |
@@ -718,6 +723,10 @@ public class PersonalDataManager { |
long nativePersonalDataManagerAndroid, String guid); |
private native void nativeGetFullCardForPaymentRequest(long nativePersonalDataManagerAndroid, |
WebContents webContents, String guid, FullCardRequestDelegate delegate); |
+ private native void nativeGetFullTemporaryCardForPaymentRequest( |
+ long nativePersonalDataManagerAndroid, WebContents webContents, String cardNumber, |
+ String nameOnCard, String expirationMonth, String expirationYear, |
+ FullCardRequestDelegate delegate); |
private static native boolean nativeIsAutofillEnabled(); |
private static native void nativeSetAutofillEnabled(boolean enable); |
private static native boolean nativeIsAutofillManaged(); |