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 3d4c3acbe054731a0d400916bffeca4121a4894b..dd0b70760100c7bee95b7e7d2d3ce76145a2b3db 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 |
@@ -486,10 +486,12 @@ public class PersonalDataManager { |
String[] profileLabels = nativeGetProfileLabels(mPersonalDataManagerAndroid, addressOnly); |
- int profileCount = nativeGetProfileCount(mPersonalDataManagerAndroid); |
- List<AutofillProfile> profiles = new ArrayList<AutofillProfile>(profileCount); |
- for (int i = 0; i < profileCount; i++) { |
- AutofillProfile profile = nativeGetProfileByIndex(mPersonalDataManagerAndroid, i); |
+ String[] profileGUIDs = nativeGetProfileGUIDsToSuggest(mPersonalDataManagerAndroid); |
Mathieu
2016/05/20 13:57:08
Why do we need to get the GUIDs before the profile
sebsg
2016/05/24 17:27:32
I was unsure myself. Here is what I asked in anoth
Mathieu
2016/05/24 17:54:48
It does seem difficult. I'm fine with this solutio
|
+ |
+ List<AutofillProfile> profiles = new ArrayList<AutofillProfile>(profileGUIDs.length); |
+ for (int i = 0; i < profileGUIDs.length; i++) { |
+ AutofillProfile profile = |
+ nativeGetProfileByGUID(mPersonalDataManagerAndroid, profileGUIDs[i]); |
profile.setLabel(profileLabels[i]); |
profiles.add(profile); |
} |
@@ -514,10 +516,12 @@ public class PersonalDataManager { |
public List<CreditCard> getCreditCards() { |
ThreadUtils.assertOnUiThread(); |
- int count = nativeGetCreditCardCount(mPersonalDataManagerAndroid); |
- List<CreditCard> cards = new ArrayList<CreditCard>(count); |
- for (int i = 0; i < count; i++) { |
- cards.add(nativeGetCreditCardByIndex(mPersonalDataManagerAndroid, i)); |
+ |
+ String[] creditCardGUIDs = nativeGetCreditCardGUIDsToSuggest(mPersonalDataManagerAndroid); |
+ |
+ List<CreditCard> cards = new ArrayList<CreditCard>(creditCardGUIDs.length); |
+ for (int i = 0; i < creditCardGUIDs.length; i++) { |
+ cards.add(nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, creditCardGUIDs[i])); |
} |
return cards; |
} |
@@ -547,6 +551,18 @@ public class PersonalDataManager { |
mPersonalDataManagerAndroid, webContents, guid, delegate); |
} |
+ @VisibleForTesting |
+ public void setProfileUseStatsForTest(String guid, int count, int date) { |
+ ThreadUtils.assertOnUiThread(); |
+ nativeSetProfileUseStatsForTest(mPersonalDataManagerAndroid, guid, count, date); |
+ } |
+ |
+ @VisibleForTesting |
+ public void setCreditCardUseStatsForTest(String guid, int count, int date) { |
Mathieu
2016/05/20 13:57:08
nit: ForTesting
sebsg
2016/05/24 17:27:32
Done.
|
+ ThreadUtils.assertOnUiThread(); |
+ nativeSetCreditCardUseStatsForTest(mPersonalDataManagerAndroid, guid, count, date); |
+ } |
+ |
/** |
* @return Whether the Autofill feature is enabled. |
*/ |
@@ -586,22 +602,25 @@ public class PersonalDataManager { |
private native long nativeInit(); |
private native int nativeGetProfileCount(long nativePersonalDataManagerAndroid); |
+ private native String[] nativeGetProfileGUIDsToSuggest(long nativePersonalDataManagerAndroid); |
private native String[] nativeGetProfileLabels(long nativePersonalDataManagerAndroid, |
boolean addressOnly); |
- private native AutofillProfile nativeGetProfileByIndex(long nativePersonalDataManagerAndroid, |
- int index); |
private native AutofillProfile nativeGetProfileByGUID(long nativePersonalDataManagerAndroid, |
String guid); |
private native String nativeSetProfile(long nativePersonalDataManagerAndroid, |
AutofillProfile profile); |
+ private native String[] nativeGetCreditCardGUIDsToSuggest( |
+ long nativePersonalDataManagerAndroid); |
private native int nativeGetCreditCardCount(long nativePersonalDataManagerAndroid); |
- private native CreditCard nativeGetCreditCardByIndex(long nativePersonalDataManagerAndroid, |
- int index); |
private native CreditCard nativeGetCreditCardByGUID(long nativePersonalDataManagerAndroid, |
String guid); |
private native String nativeSetCreditCard(long nativePersonalDataManagerAndroid, |
CreditCard card); |
private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid, String guid); |
+ private native void nativeSetProfileUseStatsForTest( |
+ long nativePersonalDataManagerAndroid, String guid, int count, int date); |
+ private native void nativeSetCreditCardUseStatsForTest( |
+ long nativePersonalDataManagerAndroid, String guid, int count, int date); |
private native void nativeClearUnmaskedCache( |
long nativePersonalDataManagerAndroid, String guid); |
private native void nativeGetFullCardForPaymentRequest(long nativePersonalDataManagerAndroid, |