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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/autofill/android/personal_data_manager_android.h" 5 #include "chrome/browser/autofill/android/personal_data_manager_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 485
486 Java_PersonalDataManager_personalDataChanged(env, 486 Java_PersonalDataManager_personalDataChanged(env,
487 weak_java_obj_.get(env).obj()); 487 weak_java_obj_.get(env).obj());
488 } 488 }
489 489
490 // static 490 // static
491 bool PersonalDataManagerAndroid::Register(JNIEnv* env) { 491 bool PersonalDataManagerAndroid::Register(JNIEnv* env) {
492 return RegisterNativesImpl(env); 492 return RegisterNativesImpl(env);
493 } 493 }
494 494
495 void PersonalDataManagerAndroid::RecordAndLogProfileUse(
496 JNIEnv* env,
497 const JavaParamRef<jobject>& unused_obj,
498 const JavaParamRef<jstring>& jguid) {
499 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
500 ConvertJavaStringToUTF8(env, jguid));
501 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
502 profile->RecordAndLogUse();
503 }
504
495 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting( 505 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting(
496 JNIEnv* env, 506 JNIEnv* env,
497 const JavaParamRef<jobject>& unused_obj, 507 const JavaParamRef<jobject>& unused_obj,
498 const JavaParamRef<jstring>& jguid, 508 const JavaParamRef<jstring>& jguid,
499 jint count, 509 jint count,
500 jint date) { 510 jint date) {
501 DCHECK(count >= 0 && date >= 0); 511 DCHECK(count >= 0 && date >= 0);
502 512
503 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( 513 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
504 ConvertJavaStringToUTF8(env, jguid)); 514 ConvertJavaStringToUTF8(env, jguid));
505 if (!profile) 515 if (!profile)
506 return; 516 return;
507 517
508 profile->set_use_count(static_cast<size_t>(count)); 518 profile->set_use_count(static_cast<size_t>(count));
509 profile->set_use_date(base::Time::FromTimeT(date)); 519 profile->set_use_date(base::Time::FromTimeT(date));
510 } 520 }
511 521
522 jint PersonalDataManagerAndroid::GetProfileUseCountForTesting(
523 JNIEnv* env,
524 const base::android::JavaParamRef<jobject>& unused_obj,
525 const base::android::JavaParamRef<jstring>& jguid) {
526 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
527 ConvertJavaStringToUTF8(env, jguid));
528 return profile ? profile->use_count() : -1;
529 }
530
531 jlong PersonalDataManagerAndroid::GetProfileUseDateForTesting(
532 JNIEnv* env,
533 const base::android::JavaParamRef<jobject>& unused_obj,
534 const base::android::JavaParamRef<jstring>& jguid) {
535 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
536 ConvertJavaStringToUTF8(env, jguid));
537 return profile ? profile->use_date().ToTimeT() : -1;
538 }
539
540 void PersonalDataManagerAndroid::RecordAndLogCreditCardUse(
541 JNIEnv* env,
542 const JavaParamRef<jobject>& unused_obj,
543 const JavaParamRef<jstring>& jguid) {
544 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
545 ConvertJavaStringToUTF8(env, jguid));
546 if (card)
547 card->RecordAndLogUse();
548 }
549
512 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting( 550 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting(
513 JNIEnv* env, 551 JNIEnv* env,
514 const JavaParamRef<jobject>& unused_obj, 552 const JavaParamRef<jobject>& unused_obj,
515 const JavaParamRef<jstring>& jguid, 553 const JavaParamRef<jstring>& jguid,
516 jint count, 554 jint count,
517 jint date) { 555 jint date) {
518 DCHECK(count >= 0 && date >= 0); 556 DCHECK(count >= 0 && date >= 0);
519 557
520 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( 558 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
521 ConvertJavaStringToUTF8(env, jguid)); 559 ConvertJavaStringToUTF8(env, jguid));
522 if (!card) 560 if (!card)
523 return; 561 return;
524 562
525 card->set_use_count(static_cast<size_t>(count)); 563 card->set_use_count(static_cast<size_t>(count));
526 card->set_use_date(base::Time::FromTimeT(date)); 564 card->set_use_date(base::Time::FromTimeT(date));
527 } 565 }
528 566
567 jint PersonalDataManagerAndroid::GetCreditCardUseCountForTesting(
568 JNIEnv* env,
569 const base::android::JavaParamRef<jobject>& unused_obj,
570 const base::android::JavaParamRef<jstring>& jguid) {
571 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
572 ConvertJavaStringToUTF8(env, jguid));
573 return card ? card->use_count() : -1;
574 }
575
576 jlong PersonalDataManagerAndroid::GetCreditCardUseDateForTesting(
577 JNIEnv* env,
578 const base::android::JavaParamRef<jobject>& unused_obj,
579 const base::android::JavaParamRef<jstring>& jguid){
580 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
581 ConvertJavaStringToUTF8(env, jguid));
582 return card ? card->use_date().ToTimeT() : -1;
583 }
584
585 jlong PersonalDataManagerAndroid::GetCurrentDateForTesting(
586 JNIEnv* env,
587 const base::android::JavaParamRef<jobject>& unused_obj) {
588 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 :)
589 }
590
529 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileGUIDs( 591 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileGUIDs(
530 JNIEnv* env, 592 JNIEnv* env,
531 const std::vector<AutofillProfile*>& profiles) { 593 const std::vector<AutofillProfile*>& profiles) {
532 std::vector<base::string16> guids; 594 std::vector<base::string16> guids;
533 for (AutofillProfile* profile : profiles) 595 for (AutofillProfile* profile : profiles)
534 guids.push_back(base::UTF8ToUTF16(profile->guid())); 596 guids.push_back(base::UTF8ToUTF16(profile->guid()));
535 597
536 return base::android::ToJavaArrayOfStrings(env, guids); 598 return base::android::ToJavaArrayOfStrings(env, guids);
537 } 599 }
538 600
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); 681 base::android::ConvertJavaStringToUTF16(env, jcountry_name)));
620 } 682 }
621 683
622 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 684 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
623 PersonalDataManagerAndroid* personal_data_manager_android = 685 PersonalDataManagerAndroid* personal_data_manager_android =
624 new PersonalDataManagerAndroid(env, obj); 686 new PersonalDataManagerAndroid(env, obj);
625 return reinterpret_cast<intptr_t>(personal_data_manager_android); 687 return reinterpret_cast<intptr_t>(personal_data_manager_android);
626 } 688 }
627 689
628 } // namespace autofill 690 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698