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 |