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) { |