| 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 package org.chromium.chrome.browser.autofill; | 5 package org.chromium.chrome.browser.autofill; |
| 6 | 6 |
| 7 import android.content.Context; | 7 import android.content.Context; |
| 8 | 8 |
| 9 import org.chromium.base.ThreadUtils; | 9 import org.chromium.base.ThreadUtils; |
| 10 import org.chromium.base.VisibleForTesting; | 10 import org.chromium.base.VisibleForTesting; |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 mPostalCode = postalCode; | 108 mPostalCode = postalCode; |
| 109 mSortingCode = sortingCode; | 109 mSortingCode = sortingCode; |
| 110 mCountryCode = countryCode; | 110 mCountryCode = countryCode; |
| 111 mPhoneNumber = phoneNumber; | 111 mPhoneNumber = phoneNumber; |
| 112 mEmailAddress = emailAddress; | 112 mEmailAddress = emailAddress; |
| 113 mLanguageCode = languageCode; | 113 mLanguageCode = languageCode; |
| 114 } | 114 } |
| 115 | 115 |
| 116 /** | 116 /** |
| 117 * Builds an empty local profile with "settings" origin and country code
from the default | 117 * Builds an empty local profile with "settings" origin and country code
from the default |
| 118 * locale. All other fields are empty strings, because JNI does not hand
le null strings. | 118 * locale. All other fields are empty strings, because JNI does not hand
le nulls. |
| 119 */ | 119 */ |
| 120 public AutofillProfile() { | 120 public AutofillProfile() { |
| 121 this("" /* guid */, AutofillPreferences.SETTINGS_ORIGIN /* origin */
, | 121 mOrigin = AutofillPreferences.SETTINGS_ORIGIN; |
| 122 true /* isLocal */, "" /* fullName */, "" /* companyName */, | 122 mIsLocal = true; |
| 123 "" /* streetAddress */, "" /* region */, "" /* locality */, | 123 mCountryCode = Locale.getDefault().getCountry(); |
| 124 "" /* dependentLocality */, "" /* postalCode */, "" /* sorti
ngCode */, | 124 |
| 125 Locale.getDefault().getCountry() /* country */, "" /* phoneN
umber */, | 125 mGUID = ""; |
| 126 "" /* emailAddress */, "" /* languageCode */); | 126 mFullName = ""; |
| 127 mCompanyName = ""; |
| 128 mStreetAddress = ""; |
| 129 mRegion = ""; |
| 130 mLocality = ""; |
| 131 mDependentLocality = ""; |
| 132 mPostalCode = ""; |
| 133 mSortingCode = ""; |
| 134 mPhoneNumber = ""; |
| 135 mEmailAddress = ""; |
| 136 mLabel = ""; |
| 137 mLanguageCode = ""; |
| 127 } | 138 } |
| 128 | 139 |
| 129 /** TODO(estade): remove this constructor. */ | 140 /** TODO(estade): remove this constructor. */ |
| 130 @VisibleForTesting | 141 @VisibleForTesting |
| 131 public AutofillProfile(String guid, String origin, String fullName, Stri
ng companyName, | 142 public AutofillProfile(String guid, String origin, String fullName, Stri
ng companyName, |
| 132 String streetAddress, String region, String locality, String dep
endentLocality, | 143 String streetAddress, String region, String locality, String dep
endentLocality, |
| 133 String postalCode, String sortingCode, String countryCode, Strin
g phoneNumber, | 144 String postalCode, String sortingCode, String countryCode, Strin
g phoneNumber, |
| 134 String emailAddress, String languageCode) { | 145 String emailAddress, String languageCode) { |
| 135 this(guid, origin, true /* isLocal */, fullName, companyName, street
Address, region, | 146 mGUID = guid; |
| 136 locality, dependentLocality, postalCode, sortingCode, countr
yCode, phoneNumber, | 147 mOrigin = origin; |
| 137 emailAddress, languageCode); | 148 mIsLocal = true; |
| 149 mFullName = fullName; |
| 150 mCompanyName = companyName; |
| 151 mStreetAddress = streetAddress; |
| 152 mRegion = region; |
| 153 mLocality = locality; |
| 154 mDependentLocality = dependentLocality; |
| 155 mPostalCode = postalCode; |
| 156 mSortingCode = sortingCode; |
| 157 mCountryCode = countryCode; |
| 158 mPhoneNumber = phoneNumber; |
| 159 mEmailAddress = emailAddress; |
| 160 mLanguageCode = languageCode; |
| 138 } | 161 } |
| 139 | 162 |
| 140 @CalledByNative("AutofillProfile") | 163 @CalledByNative("AutofillProfile") |
| 141 public String getGUID() { | 164 public String getGUID() { |
| 142 return mGUID; | 165 return mGUID; |
| 143 } | 166 } |
| 144 | 167 |
| 145 @CalledByNative("AutofillProfile") | 168 @CalledByNative("AutofillProfile") |
| 146 public String getOrigin() { | 169 public String getOrigin() { |
| 147 return mOrigin; | 170 return mOrigin; |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 mName = name; | 348 mName = name; |
| 326 mNumber = number; | 349 mNumber = number; |
| 327 mObfuscatedNumber = obfuscatedNumber; | 350 mObfuscatedNumber = obfuscatedNumber; |
| 328 mMonth = month; | 351 mMonth = month; |
| 329 mYear = year; | 352 mYear = year; |
| 330 mBasicCardPaymentType = basicCardPaymentType; | 353 mBasicCardPaymentType = basicCardPaymentType; |
| 331 mIssuerIconDrawableId = issuerIconDrawableId; | 354 mIssuerIconDrawableId = issuerIconDrawableId; |
| 332 mBillingAddressId = billingAddressId; | 355 mBillingAddressId = billingAddressId; |
| 333 } | 356 } |
| 334 | 357 |
| 335 public CreditCard() { | |
| 336 this("" /* guid */, AutofillPreferences.SETTINGS_ORIGIN /*origin */,
true /* isLocal */, | |
| 337 false /* isCached */, "" /* name */, "" /* number */, "" /*
obfuscatedNumber */, | |
| 338 "" /* month */, "" /* year */, "" /* basicCardPaymentType */
, | |
| 339 0 /* issuerIconDrawableId */, "" /* billingAddressId */); | |
| 340 } | |
| 341 | |
| 342 /** TODO(estade): remove this constructor. */ | 358 /** TODO(estade): remove this constructor. */ |
| 343 @VisibleForTesting | 359 @VisibleForTesting |
| 344 public CreditCard(String guid, String origin, String name, String number
, | 360 public CreditCard(String guid, String origin, String name, String number
, |
| 345 String obfuscatedNumber, String month, String year) { | 361 String obfuscatedNumber, String month, String year) { |
| 346 this(guid, origin, true /* isLocal */, false /* isCached */, name, n
umber, | 362 mGUID = guid; |
| 347 obfuscatedNumber, month, year, "" /* basicCardPaymentType */
, | 363 mOrigin = origin; |
| 348 0 /* issuerIconDrawableId */, "" /* billingAddressId */); | 364 mIsLocal = true; |
| 365 mIsCached = false; |
| 366 mName = name; |
| 367 mNumber = number; |
| 368 mObfuscatedNumber = obfuscatedNumber; |
| 369 mMonth = month; |
| 370 mYear = year; |
| 371 mBillingAddressId = ""; |
| 349 } | 372 } |
| 350 | 373 |
| 351 @CalledByNative("CreditCard") | 374 @CalledByNative("CreditCard") |
| 352 public String getGUID() { | 375 public String getGUID() { |
| 353 return mGUID; | 376 return mGUID; |
| 354 } | 377 } |
| 355 | 378 |
| 356 @CalledByNative("CreditCard") | 379 @CalledByNative("CreditCard") |
| 357 public String getOrigin() { | 380 public String getOrigin() { |
| 358 return mOrigin; | 381 return mOrigin; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 | 456 |
| 434 @VisibleForTesting | 457 @VisibleForTesting |
| 435 public void setMonth(String month) { | 458 public void setMonth(String month) { |
| 436 mMonth = month; | 459 mMonth = month; |
| 437 } | 460 } |
| 438 | 461 |
| 439 public void setYear(String year) { | 462 public void setYear(String year) { |
| 440 mYear = year; | 463 mYear = year; |
| 441 } | 464 } |
| 442 | 465 |
| 443 public void setBasicCardPaymentType(String type) { | |
| 444 mBasicCardPaymentType = type; | |
| 445 } | |
| 446 | |
| 447 public void setIssuerIconDrawableId(int id) { | |
| 448 mIssuerIconDrawableId = id; | |
| 449 } | |
| 450 | |
| 451 public void setBillingAddressId(String id) { | 466 public void setBillingAddressId(String id) { |
| 452 mBillingAddressId = id; | 467 mBillingAddressId = id; |
| 453 } | 468 } |
| 454 } | 469 } |
| 455 | 470 |
| 456 private static PersonalDataManager sManager; | 471 private static PersonalDataManager sManager; |
| 457 | 472 |
| 458 public static PersonalDataManager getInstance() { | 473 public static PersonalDataManager getInstance() { |
| 459 ThreadUtils.assertOnUiThread(); | 474 ThreadUtils.assertOnUiThread(); |
| 460 if (sManager == null) { | 475 if (sManager == null) { |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 cards.add(nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, cre
ditCardGUIDs[i])); | 592 cards.add(nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, cre
ditCardGUIDs[i])); |
| 578 } | 593 } |
| 579 return cards; | 594 return cards; |
| 580 } | 595 } |
| 581 | 596 |
| 582 public CreditCard getCreditCard(String guid) { | 597 public CreditCard getCreditCard(String guid) { |
| 583 ThreadUtils.assertOnUiThread(); | 598 ThreadUtils.assertOnUiThread(); |
| 584 return nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, guid); | 599 return nativeGetCreditCardByGUID(mPersonalDataManagerAndroid, guid); |
| 585 } | 600 } |
| 586 | 601 |
| 587 public CreditCard getCreditCardForNumber(String cardNumber) { | |
| 588 ThreadUtils.assertOnUiThread(); | |
| 589 return nativeGetCreditCardForNumber(mPersonalDataManagerAndroid, cardNum
ber); | |
| 590 } | |
| 591 | |
| 592 public String setCreditCard(CreditCard card) { | 602 public String setCreditCard(CreditCard card) { |
| 593 ThreadUtils.assertOnUiThread(); | 603 ThreadUtils.assertOnUiThread(); |
| 594 assert card.getIsLocal(); | 604 assert card.getIsLocal(); |
| 595 return nativeSetCreditCard(mPersonalDataManagerAndroid, card); | 605 return nativeSetCreditCard(mPersonalDataManagerAndroid, card); |
| 596 } | 606 } |
| 597 | 607 |
| 598 public void updateServerCardBillingAddress(String guid, String billingAddres
sId) { | 608 public void updateServerCardBillingAddress(String guid, String billingAddres
sId) { |
| 599 ThreadUtils.assertOnUiThread(); | 609 ThreadUtils.assertOnUiThread(); |
| 600 nativeUpdateServerCardBillingAddress(mPersonalDataManagerAndroid, guid,
billingAddressId); | 610 nativeUpdateServerCardBillingAddress(mPersonalDataManagerAndroid, guid,
billingAddressId); |
| 601 } | 611 } |
| 602 | 612 |
| 603 public String getBasicCardPaymentTypeIfValid(String cardNumber) { | |
| 604 ThreadUtils.assertOnUiThread(); | |
| 605 return nativeGetBasicCardPaymentTypeIfValid(mPersonalDataManagerAndroid,
cardNumber); | |
| 606 } | |
| 607 | |
| 608 @VisibleForTesting | 613 @VisibleForTesting |
| 609 public void addServerCreditCardForTest(CreditCard card) { | 614 public void addServerCreditCardForTest(CreditCard card) { |
| 610 ThreadUtils.assertOnUiThread(); | 615 ThreadUtils.assertOnUiThread(); |
| 611 assert !card.getIsLocal(); | 616 assert !card.getIsLocal(); |
| 612 nativeAddServerCreditCardForTest(mPersonalDataManagerAndroid, card); | 617 nativeAddServerCreditCardForTest(mPersonalDataManagerAndroid, card); |
| 613 } | 618 } |
| 614 | 619 |
| 615 public void deleteCreditCard(String guid) { | 620 public void deleteCreditCard(String guid) { |
| 616 ThreadUtils.assertOnUiThread(); | 621 ThreadUtils.assertOnUiThread(); |
| 617 nativeRemoveByGUID(mPersonalDataManagerAndroid, guid); | 622 nativeRemoveByGUID(mPersonalDataManagerAndroid, guid); |
| 618 } | 623 } |
| 619 | 624 |
| 620 public void clearUnmaskedCache(String guid) { | 625 public void clearUnmaskedCache(String guid) { |
| 621 nativeClearUnmaskedCache(mPersonalDataManagerAndroid, guid); | 626 nativeClearUnmaskedCache(mPersonalDataManagerAndroid, guid); |
| 622 } | 627 } |
| 623 | 628 |
| 624 public String getAddressLabelForPaymentRequest(AutofillProfile profile) { | 629 public String getGetAddressLabelForPaymentRequest(AutofillProfile profile) { |
| 625 return nativeGetAddressLabelForPaymentRequest(mPersonalDataManagerAndroi
d, profile); | 630 return nativeGetAddressLabelForPaymentRequest(mPersonalDataManagerAndroi
d, profile); |
| 626 } | 631 } |
| 627 | 632 |
| 628 public void getFullCard(WebContents webContents, String guid, | 633 public void getFullCard(WebContents webContents, String guid, |
| 629 FullCardRequestDelegate delegate) { | 634 FullCardRequestDelegate delegate) { |
| 630 nativeGetFullCardForPaymentRequest( | 635 nativeGetFullCardForPaymentRequest( |
| 631 mPersonalDataManagerAndroid, webContents, guid, delegate); | 636 mPersonalDataManagerAndroid, webContents, guid, delegate); |
| 632 } | 637 } |
| 633 | 638 |
| 634 public void getFullTemporaryCard(WebContents webContents, String cardNumber,
String nameOnCard, | |
| 635 String expirationMonth, String expirationYear, FullCardRequestDelega
te delegate) { | |
| 636 nativeGetFullTemporaryCardForPaymentRequest(mPersonalDataManagerAndroid,
webContents, | |
| 637 cardNumber, nameOnCard, expirationMonth, expirationYear, delegat
e); | |
| 638 } | |
| 639 | |
| 640 @VisibleForTesting | 639 @VisibleForTesting |
| 641 protected void setProfileUseStatsForTesting(String guid, int count, long dat
e) { | 640 protected void setProfileUseStatsForTesting(String guid, int count, long dat
e) { |
| 642 ThreadUtils.assertOnUiThread(); | 641 ThreadUtils.assertOnUiThread(); |
| 643 nativeSetProfileUseStatsForTesting(mPersonalDataManagerAndroid, guid, co
unt, date); | 642 nativeSetProfileUseStatsForTesting(mPersonalDataManagerAndroid, guid, co
unt, date); |
| 644 } | 643 } |
| 645 | 644 |
| 646 @VisibleForTesting | 645 @VisibleForTesting |
| 647 protected void setCreditCardUseStatsForTesting(String guid, int count, long
date) { | 646 protected void setCreditCardUseStatsForTesting(String guid, int count, long
date) { |
| 648 ThreadUtils.assertOnUiThread(); | 647 ThreadUtils.assertOnUiThread(); |
| 649 nativeSetCreditCardUseStatsForTesting(mPersonalDataManagerAndroid, guid,
count, date); | 648 nativeSetCreditCardUseStatsForTesting(mPersonalDataManagerAndroid, guid,
count, date); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 private native String nativeSetProfile(long nativePersonalDataManagerAndroid
, | 696 private native String nativeSetProfile(long nativePersonalDataManagerAndroid
, |
| 698 AutofillProfile profile); | 697 AutofillProfile profile); |
| 699 private native String nativeGetAddressLabelForPaymentRequest( | 698 private native String nativeGetAddressLabelForPaymentRequest( |
| 700 long nativePersonalDataManagerAndroid, AutofillProfile profile); | 699 long nativePersonalDataManagerAndroid, AutofillProfile profile); |
| 701 private native String[] nativeGetCreditCardGUIDsForSettings( | 700 private native String[] nativeGetCreditCardGUIDsForSettings( |
| 702 long nativePersonalDataManagerAndroid); | 701 long nativePersonalDataManagerAndroid); |
| 703 private native String[] nativeGetCreditCardGUIDsToSuggest( | 702 private native String[] nativeGetCreditCardGUIDsToSuggest( |
| 704 long nativePersonalDataManagerAndroid); | 703 long nativePersonalDataManagerAndroid); |
| 705 private native CreditCard nativeGetCreditCardByGUID(long nativePersonalDataM
anagerAndroid, | 704 private native CreditCard nativeGetCreditCardByGUID(long nativePersonalDataM
anagerAndroid, |
| 706 String guid); | 705 String guid); |
| 707 private native CreditCard nativeGetCreditCardForNumber(long nativePersonalDa
taManagerAndroid, | |
| 708 String cardNumber); | |
| 709 private native String nativeSetCreditCard(long nativePersonalDataManagerAndr
oid, | 706 private native String nativeSetCreditCard(long nativePersonalDataManagerAndr
oid, |
| 710 CreditCard card); | 707 CreditCard card); |
| 711 private native void nativeUpdateServerCardBillingAddress(long nativePersonal
DataManagerAndroid, | 708 private native void nativeUpdateServerCardBillingAddress(long nativePersonal
DataManagerAndroid, |
| 712 String guid, String billingAddressId); | 709 String guid, String billingAddressId); |
| 713 private native String nativeGetBasicCardPaymentTypeIfValid( | |
| 714 long nativePersonalDataManagerAndroid, String cardNumber); | |
| 715 private native void nativeAddServerCreditCardForTest(long nativePersonalData
ManagerAndroid, | 710 private native void nativeAddServerCreditCardForTest(long nativePersonalData
ManagerAndroid, |
| 716 CreditCard card); | 711 CreditCard card); |
| 717 private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid
, String guid); | 712 private native void nativeRemoveByGUID(long nativePersonalDataManagerAndroid
, String guid); |
| 718 private native void nativeSetProfileUseStatsForTesting( | 713 private native void nativeSetProfileUseStatsForTesting( |
| 719 long nativePersonalDataManagerAndroid, String guid, int count, long
date); | 714 long nativePersonalDataManagerAndroid, String guid, int count, long
date); |
| 720 private native void nativeSetCreditCardUseStatsForTesting( | 715 private native void nativeSetCreditCardUseStatsForTesting( |
| 721 long nativePersonalDataManagerAndroid, String guid, int count, long
date); | 716 long nativePersonalDataManagerAndroid, String guid, int count, long
date); |
| 722 private native void nativeClearUnmaskedCache( | 717 private native void nativeClearUnmaskedCache( |
| 723 long nativePersonalDataManagerAndroid, String guid); | 718 long nativePersonalDataManagerAndroid, String guid); |
| 724 private native void nativeGetFullCardForPaymentRequest(long nativePersonalDa
taManagerAndroid, | 719 private native void nativeGetFullCardForPaymentRequest(long nativePersonalDa
taManagerAndroid, |
| 725 WebContents webContents, String guid, FullCardRequestDelegate delega
te); | 720 WebContents webContents, String guid, FullCardRequestDelegate delega
te); |
| 726 private native void nativeGetFullTemporaryCardForPaymentRequest( | |
| 727 long nativePersonalDataManagerAndroid, WebContents webContents, Stri
ng cardNumber, | |
| 728 String nameOnCard, String expirationMonth, String expirationYear, | |
| 729 FullCardRequestDelegate delegate); | |
| 730 private static native boolean nativeIsAutofillEnabled(); | 721 private static native boolean nativeIsAutofillEnabled(); |
| 731 private static native void nativeSetAutofillEnabled(boolean enable); | 722 private static native void nativeSetAutofillEnabled(boolean enable); |
| 732 private static native boolean nativeIsAutofillManaged(); | 723 private static native boolean nativeIsAutofillManaged(); |
| 733 private static native boolean nativeIsPaymentsIntegrationEnabled(); | 724 private static native boolean nativeIsPaymentsIntegrationEnabled(); |
| 734 private static native void nativeSetPaymentsIntegrationEnabled(boolean enabl
e); | 725 private static native void nativeSetPaymentsIntegrationEnabled(boolean enabl
e); |
| 735 private static native String nativeToCountryCode(String countryName); | 726 private static native String nativeToCountryCode(String countryName); |
| 736 } | 727 } |
| OLD | NEW |