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 c290e6e35377f8dae1f313d79bd92aac78984be9..a6b6d2d23b6acfcac05d8797608f115dffe3a4f6 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 |
@@ -4,9 +4,12 @@ |
package org.chromium.chrome.browser.autofill; |
+import android.content.Context; |
+ |
import org.chromium.base.CalledByNative; |
import org.chromium.base.JNINamespace; |
import org.chromium.base.ThreadUtils; |
+import org.chromium.chrome.R; |
import java.util.ArrayList; |
import java.util.List; |
@@ -39,6 +42,7 @@ public class PersonalDataManager { |
public static class AutofillProfile { |
private String mGUID; |
private String mOrigin; |
+ private boolean mIsLocal; |
private String mFullName; |
private String mCompanyName; |
private String mStreetAddress; |
@@ -54,25 +58,44 @@ public class PersonalDataManager { |
private String mLanguageCode; |
@CalledByNative("AutofillProfile") |
- public static AutofillProfile create(String guid, String origin, |
- String fullName, String companyName, |
- String streetAddress, String region, String locality, String dependentLocality, |
- String postalCode, String sortingCode, |
+ public static AutofillProfile create(String guid, String origin, boolean isLocal, |
+ String fullName, String companyName, String streetAddress, String region, |
+ String locality, String dependentLocality, String postalCode, String sortingCode, |
String country, String phoneNumber, String emailAddress, String languageCode) { |
- return new AutofillProfile(guid, origin, fullName, companyName, |
- streetAddress, |
- region, locality, dependentLocality, |
- postalCode, sortingCode, country, phoneNumber, emailAddress, languageCode); |
+ return new AutofillProfile(guid, origin, isLocal, fullName, companyName, streetAddress, |
+ region, locality, dependentLocality, postalCode, sortingCode, country, |
+ phoneNumber, emailAddress, languageCode); |
} |
+ public AutofillProfile(String guid, String origin, boolean isLocal, String fullName, |
+ String companyName, 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 = isLocal; |
+ mFullName = fullName; |
+ mCompanyName = companyName; |
+ mStreetAddress = streetAddress; |
+ mRegion = region; |
+ mLocality = locality; |
+ mDependentLocality = dependentLocality; |
+ mPostalCode = postalCode; |
+ mSortingCode = sortingCode; |
+ mCountryCode = countryCode; |
+ mPhoneNumber = phoneNumber; |
+ mEmailAddress = emailAddress; |
+ mLanguageCode = languageCode; |
+ } |
+ |
+ /** TODO(estade): remove this constructor. */ |
public AutofillProfile(String guid, String origin, String fullName, String companyName, |
- String streetAddress, |
- String region, |
- String locality, String dependentLocality, |
- String postalCode, String sortingCode, |
- String countryCode, String phoneNumber, String emailAddress, String languageCode) { |
+ 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; |
@@ -161,6 +184,10 @@ public class PersonalDataManager { |
return mLanguageCode; |
} |
+ public boolean getIsLocal() { |
+ return mIsLocal; |
+ } |
+ |
public void setGUID(String guid) { |
mGUID = guid; |
} |
@@ -230,6 +257,8 @@ public class PersonalDataManager { |
// marshaled and compared as strings. To save conversions, we use strings everywhere. |
private String mGUID; |
private String mOrigin; |
+ private boolean mIsLocal; |
+ private boolean mIsCached; |
private String mName; |
private String mNumber; |
private String mObfuscatedNumber; |
@@ -237,15 +266,33 @@ public class PersonalDataManager { |
private String mYear; |
@CalledByNative("CreditCard") |
- public static CreditCard create(String guid, String origin, String name, String number, |
- String obfuscatedNumber, String month, String year) { |
- return new CreditCard(guid, origin, name, number, obfuscatedNumber, month, year); |
+ public static CreditCard create(String guid, String origin, boolean isLocal, |
+ boolean isCached, String name, String number, String obfuscatedNumber, String month, |
+ String year) { |
+ return new CreditCard( |
+ guid, origin, isLocal, isCached, name, number, obfuscatedNumber, month, year); |
+ } |
+ |
+ public CreditCard(String guid, String origin, boolean isLocal, boolean isCached, |
+ String name, String number, String obfuscatedNumber, String month, String year) { |
+ mGUID = guid; |
+ mOrigin = origin; |
+ mIsLocal = isLocal; |
+ mIsCached = isCached; |
+ mName = name; |
+ mNumber = number; |
+ mObfuscatedNumber = obfuscatedNumber; |
+ mMonth = month; |
+ mYear = year; |
} |
+ /** TODO(estade): remove this constructor. */ |
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; |
@@ -287,6 +334,20 @@ public class PersonalDataManager { |
return mYear; |
} |
+ public String getFormattedExpirationDate(Context context) { |
+ return getMonth() |
+ + context.getResources().getString( |
+ R.string.autofill_card_unmask_expiration_date_separator) + getYear(); |
+ } |
+ |
+ public boolean getIsLocal() { |
+ return mIsLocal; |
+ } |
+ |
+ public boolean getIsCached() { |
+ return mIsCached; |
+ } |
+ |
public void setGUID(String guid) { |
mGUID = guid; |
} |
@@ -422,8 +483,8 @@ public class PersonalDataManager { |
nativeRemoveByGUID(mPersonalDataManagerAndroid, guid); |
} |
- public void clearUnmaskedCache() { |
- nativeClearUnmaskedCache(mPersonalDataManagerAndroid); |
+ public void clearUnmaskedCache(String guid) { |
+ nativeClearUnmaskedCache(mPersonalDataManagerAndroid, guid); |
} |
/** |
@@ -487,7 +548,8 @@ public class PersonalDataManager { |
private native String nativeSetCreditCard(long nativePersonalDataManagerAndroid, |
CreditCard card); |
private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid, String guid); |
- private native void nativeClearUnmaskedCache(long nativePersonalDataManagerAndroid); |
+ private native void nativeClearUnmaskedCache( |
+ long nativePersonalDataManagerAndroid, String guid); |
private static native boolean nativeIsAutofillEnabled(); |
private static native void nativeSetAutofillEnabled(boolean enable); |
private static native boolean nativeIsAutofillManaged(); |