Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Unified Diff: chrome/browser/autofill/android/personal_data_manager_android.cc

Issue 2126213002: [Payments] Record use of profiles and credit cards in Payment Request. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed newlines Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autofill/android/personal_data_manager_android.cc
diff --git a/chrome/browser/autofill/android/personal_data_manager_android.cc b/chrome/browser/autofill/android/personal_data_manager_android.cc
index 03e9be0c33efe120a6e8ac66e4819050459f635c..208781fc0a3bebf8196343d920e52dc0c9792d25 100644
--- a/chrome/browser/autofill/android/personal_data_manager_android.cc
+++ b/chrome/browser/autofill/android/personal_data_manager_android.cc
@@ -492,6 +492,16 @@ bool PersonalDataManagerAndroid::Register(JNIEnv* env) {
return RegisterNativesImpl(env);
}
+void PersonalDataManagerAndroid::RecordAndLogProfileUse(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& unused_obj,
+ const JavaParamRef<jstring>& jguid) {
+ AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ if (profile)
Bernhard Bauer 2016/07/14 10:14:19 You have a lot of null checks in here. I didn't lo
sebsg 2016/07/20 14:56:47 We never expect not to get a profile/card with the
+ profile->RecordAndLogUse();
+}
+
void PersonalDataManagerAndroid::SetProfileUseStatsForTesting(
JNIEnv* env,
const JavaParamRef<jobject>& unused_obj,
@@ -509,6 +519,34 @@ void PersonalDataManagerAndroid::SetProfileUseStatsForTesting(
profile->set_use_date(base::Time::FromTimeT(date));
}
+jint PersonalDataManagerAndroid::GetProfileUseCountForTesting(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& unused_obj,
+ const base::android::JavaParamRef<jstring>& jguid) {
+ AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ return profile ? profile->use_count() : -1;
+}
+
+jlong PersonalDataManagerAndroid::GetProfileUseDateForTesting(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& unused_obj,
+ const base::android::JavaParamRef<jstring>& jguid) {
+ AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ return profile ? profile->use_date().ToTimeT() : -1;
+}
+
+void PersonalDataManagerAndroid::RecordAndLogCreditCardUse(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& unused_obj,
+ const JavaParamRef<jstring>& jguid) {
+ CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ if (card)
+ card->RecordAndLogUse();
+}
+
void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting(
JNIEnv* env,
const JavaParamRef<jobject>& unused_obj,
@@ -526,6 +564,30 @@ void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting(
card->set_use_date(base::Time::FromTimeT(date));
}
+jint PersonalDataManagerAndroid::GetCreditCardUseCountForTesting(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& unused_obj,
+ const base::android::JavaParamRef<jstring>& jguid) {
+ CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ return card ? card->use_count() : -1;
+}
+
+jlong PersonalDataManagerAndroid::GetCreditCardUseDateForTesting(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& unused_obj,
+ const base::android::JavaParamRef<jstring>& jguid){
+ CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
+ ConvertJavaStringToUTF8(env, jguid));
+ return card ? card->use_date().ToTimeT() : -1;
+}
+
+jlong PersonalDataManagerAndroid::GetCurrentDateForTesting(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& unused_obj) {
+ return base::Time::Now().ToTimeT();
Bernhard Bauer 2016/07/14 10:14:19 Using actual wall clock time here is a recipe for
sebsg 2016/07/20 14:56:47 Good point and I agree. My investigation led me do
Bernhard Bauer 2016/07/20 15:09:44 Ok, you added a TODO. Thanks :)
+}
+
ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileGUIDs(
JNIEnv* env,
const std::vector<AutofillProfile*>& profiles) {

Powered by Google App Engine
This is Rietveld 408576698