| OLD | NEW |
| 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 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 } | 478 } |
| 479 | 479 |
| 480 void PersonalDataManagerAndroid::AddServerCreditCardForTest( | 480 void PersonalDataManagerAndroid::AddServerCreditCardForTest( |
| 481 JNIEnv* env, | 481 JNIEnv* env, |
| 482 const base::android::JavaParamRef<jobject>& unused_obj, | 482 const base::android::JavaParamRef<jobject>& unused_obj, |
| 483 const base::android::JavaParamRef<jobject>& jcard) { | 483 const base::android::JavaParamRef<jobject>& jcard) { |
| 484 std::unique_ptr<CreditCard> card(new CreditCard); | 484 std::unique_ptr<CreditCard> card(new CreditCard); |
| 485 PopulateNativeCreditCardFromJava(jcard, env, card.get()); | 485 PopulateNativeCreditCardFromJava(jcard, env, card.get()); |
| 486 card->set_record_type(CreditCard::MASKED_SERVER_CARD); | 486 card->set_record_type(CreditCard::MASKED_SERVER_CARD); |
| 487 personal_data_manager_->AddServerCreditCardForTest(std::move(card)); | 487 personal_data_manager_->AddServerCreditCardForTest(std::move(card)); |
| 488 personal_data_manager_->NotifyPersonalDataChangedForTest(); |
| 488 } | 489 } |
| 489 | 490 |
| 490 void PersonalDataManagerAndroid::RemoveByGUID( | 491 void PersonalDataManagerAndroid::RemoveByGUID( |
| 491 JNIEnv* env, | 492 JNIEnv* env, |
| 492 const JavaParamRef<jobject>& unused_obj, | 493 const JavaParamRef<jobject>& unused_obj, |
| 493 const JavaParamRef<jstring>& jguid) { | 494 const JavaParamRef<jstring>& jguid) { |
| 494 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); | 495 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); |
| 495 } | 496 } |
| 496 | 497 |
| 497 void PersonalDataManagerAndroid::ClearUnmaskedCache( | 498 void PersonalDataManagerAndroid::ClearUnmaskedCache( |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 550 | 551 |
| 551 Java_PersonalDataManager_personalDataChanged(env, | 552 Java_PersonalDataManager_personalDataChanged(env, |
| 552 weak_java_obj_.get(env).obj()); | 553 weak_java_obj_.get(env).obj()); |
| 553 } | 554 } |
| 554 | 555 |
| 555 // static | 556 // static |
| 556 bool PersonalDataManagerAndroid::Register(JNIEnv* env) { | 557 bool PersonalDataManagerAndroid::Register(JNIEnv* env) { |
| 557 return RegisterNativesImpl(env); | 558 return RegisterNativesImpl(env); |
| 558 } | 559 } |
| 559 | 560 |
| 561 void PersonalDataManagerAndroid::RecordAndLogProfileUse( |
| 562 JNIEnv* env, |
| 563 const JavaParamRef<jobject>& unused_obj, |
| 564 const JavaParamRef<jstring>& jguid) { |
| 565 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( |
| 566 ConvertJavaStringToUTF8(env, jguid)); |
| 567 personal_data_manager_->RecordUseOf(*profile); |
| 568 } |
| 569 |
| 560 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting( | 570 void PersonalDataManagerAndroid::SetProfileUseStatsForTesting( |
| 561 JNIEnv* env, | 571 JNIEnv* env, |
| 562 const JavaParamRef<jobject>& unused_obj, | 572 const JavaParamRef<jobject>& unused_obj, |
| 563 const JavaParamRef<jstring>& jguid, | 573 const JavaParamRef<jstring>& jguid, |
| 564 jint count, | 574 jint count, |
| 565 jint date) { | 575 jint date) { |
| 566 DCHECK(count >= 0 && date >= 0); | 576 DCHECK(count >= 0 && date >= 0); |
| 567 | 577 |
| 568 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( | 578 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( |
| 569 ConvertJavaStringToUTF8(env, jguid)); | 579 ConvertJavaStringToUTF8(env, jguid)); |
| 570 if (!profile) | |
| 571 return; | |
| 572 | |
| 573 profile->set_use_count(static_cast<size_t>(count)); | 580 profile->set_use_count(static_cast<size_t>(count)); |
| 574 profile->set_use_date(base::Time::FromTimeT(date)); | 581 profile->set_use_date(base::Time::FromTimeT(date)); |
| 582 personal_data_manager_->NotifyPersonalDataChangedForTest(); |
| 583 } |
| 584 |
| 585 jint PersonalDataManagerAndroid::GetProfileUseCountForTesting( |
| 586 JNIEnv* env, |
| 587 const base::android::JavaParamRef<jobject>& unused_obj, |
| 588 const base::android::JavaParamRef<jstring>& jguid) { |
| 589 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( |
| 590 ConvertJavaStringToUTF8(env, jguid)); |
| 591 return profile->use_count(); |
| 592 } |
| 593 |
| 594 jlong PersonalDataManagerAndroid::GetProfileUseDateForTesting( |
| 595 JNIEnv* env, |
| 596 const base::android::JavaParamRef<jobject>& unused_obj, |
| 597 const base::android::JavaParamRef<jstring>& jguid) { |
| 598 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( |
| 599 ConvertJavaStringToUTF8(env, jguid)); |
| 600 return profile->use_date().ToTimeT(); |
| 601 } |
| 602 |
| 603 void PersonalDataManagerAndroid::RecordAndLogCreditCardUse( |
| 604 JNIEnv* env, |
| 605 const JavaParamRef<jobject>& unused_obj, |
| 606 const JavaParamRef<jstring>& jguid) { |
| 607 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( |
| 608 ConvertJavaStringToUTF8(env, jguid)); |
| 609 personal_data_manager_->RecordUseOf(*card); |
| 575 } | 610 } |
| 576 | 611 |
| 577 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting( | 612 void PersonalDataManagerAndroid::SetCreditCardUseStatsForTesting( |
| 578 JNIEnv* env, | 613 JNIEnv* env, |
| 579 const JavaParamRef<jobject>& unused_obj, | 614 const JavaParamRef<jobject>& unused_obj, |
| 580 const JavaParamRef<jstring>& jguid, | 615 const JavaParamRef<jstring>& jguid, |
| 581 jint count, | 616 jint count, |
| 582 jint date) { | 617 jint date) { |
| 583 DCHECK(count >= 0 && date >= 0); | 618 DCHECK(count >= 0 && date >= 0); |
| 584 | 619 |
| 585 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( | 620 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( |
| 586 ConvertJavaStringToUTF8(env, jguid)); | 621 ConvertJavaStringToUTF8(env, jguid)); |
| 587 if (!card) | |
| 588 return; | |
| 589 | |
| 590 card->set_use_count(static_cast<size_t>(count)); | 622 card->set_use_count(static_cast<size_t>(count)); |
| 591 card->set_use_date(base::Time::FromTimeT(date)); | 623 card->set_use_date(base::Time::FromTimeT(date)); |
| 624 personal_data_manager_->NotifyPersonalDataChangedForTest(); |
| 625 } |
| 626 |
| 627 jint PersonalDataManagerAndroid::GetCreditCardUseCountForTesting( |
| 628 JNIEnv* env, |
| 629 const base::android::JavaParamRef<jobject>& unused_obj, |
| 630 const base::android::JavaParamRef<jstring>& jguid) { |
| 631 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( |
| 632 ConvertJavaStringToUTF8(env, jguid)); |
| 633 return card->use_count(); |
| 634 } |
| 635 |
| 636 jlong PersonalDataManagerAndroid::GetCreditCardUseDateForTesting( |
| 637 JNIEnv* env, |
| 638 const base::android::JavaParamRef<jobject>& unused_obj, |
| 639 const base::android::JavaParamRef<jstring>& jguid){ |
| 640 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( |
| 641 ConvertJavaStringToUTF8(env, jguid)); |
| 642 return card->use_date().ToTimeT(); |
| 643 } |
| 644 |
| 645 // TODO(crbug.com/629507): Use a mock clock for testing. |
| 646 jlong PersonalDataManagerAndroid::GetCurrentDateForTesting( |
| 647 JNIEnv* env, |
| 648 const base::android::JavaParamRef<jobject>& unused_obj) { |
| 649 return base::Time::Now().ToTimeT(); |
| 592 } | 650 } |
| 593 | 651 |
| 594 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileGUIDs( | 652 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileGUIDs( |
| 595 JNIEnv* env, | 653 JNIEnv* env, |
| 596 const std::vector<AutofillProfile*>& profiles) { | 654 const std::vector<AutofillProfile*>& profiles) { |
| 597 std::vector<base::string16> guids; | 655 std::vector<base::string16> guids; |
| 598 for (AutofillProfile* profile : profiles) | 656 for (AutofillProfile* profile : profiles) |
| 599 guids.push_back(base::UTF8ToUTF16(profile->guid())); | 657 guids.push_back(base::UTF8ToUTF16(profile->guid())); |
| 600 | 658 |
| 601 return base::android::ToJavaArrayOfStrings(env, guids); | 659 return base::android::ToJavaArrayOfStrings(env, guids); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); | 741 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); |
| 684 } | 742 } |
| 685 | 743 |
| 686 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 744 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 687 PersonalDataManagerAndroid* personal_data_manager_android = | 745 PersonalDataManagerAndroid* personal_data_manager_android = |
| 688 new PersonalDataManagerAndroid(env, obj); | 746 new PersonalDataManagerAndroid(env, obj); |
| 689 return reinterpret_cast<intptr_t>(personal_data_manager_android); | 747 return reinterpret_cast<intptr_t>(personal_data_manager_android); |
| 690 } | 748 } |
| 691 | 749 |
| 692 } // namespace autofill | 750 } // namespace autofill |
| OLD | NEW |