| 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 {"dinersCC", "diners", IDR_AUTOFILL_PR_GENERIC}, | 147 {"dinersCC", "diners", IDR_AUTOFILL_PR_GENERIC}, |
| 148 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER}, | 148 {"discoverCC", "discover", IDR_AUTOFILL_PR_DISCOVER}, |
| 149 {"jcbCC", "jcb", IDR_AUTOFILL_PR_GENERIC}, | 149 {"jcbCC", "jcb", IDR_AUTOFILL_PR_GENERIC}, |
| 150 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD}, | 150 {"masterCardCC", "mastercard", IDR_AUTOFILL_PR_MASTERCARD}, |
| 151 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA} | 151 {"visaCC", "visa", IDR_AUTOFILL_PR_VISA} |
| 152 }; | 152 }; |
| 153 | 153 |
| 154 // Converts the card type into PaymentRequest type according to the basic card | 154 // Converts the card type into PaymentRequest type according to the basic card |
| 155 // payment spec and an icon. Will set the type and the icon to "generic" for | 155 // payment spec and an icon. Will set the type and the icon to "generic" for |
| 156 // unrecognized card type. | 156 // unrecognized card type. |
| 157 const PaymentRequestData* GetPaymentRequestData(const std::string& type) { | 157 const PaymentRequestData& GetPaymentRequestData(const std::string& type) { |
| 158 for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) { | 158 for (size_t i = 0; i < arraysize(kPaymentRequestData); ++i) { |
| 159 if (type == kPaymentRequestData[i].card_type) | 159 if (type == kPaymentRequestData[i].card_type) |
| 160 return &kPaymentRequestData[i]; | 160 return kPaymentRequestData[i]; |
| 161 } | 161 } |
| 162 return &kPaymentRequestData[0]; | 162 return kPaymentRequestData[0]; |
| 163 } | 163 } |
| 164 | 164 |
| 165 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative( | 165 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative( |
| 166 JNIEnv* env, | 166 JNIEnv* env, |
| 167 const CreditCard& card) { | 167 const CreditCard& card) { |
| 168 const PaymentRequestData* payment_request_data = | 168 const PaymentRequestData& payment_request_data = |
| 169 GetPaymentRequestData(card.type()); | 169 GetPaymentRequestData(card.type()); |
| 170 return Java_CreditCard_create( | 170 return Java_CreditCard_create( |
| 171 env, ConvertUTF8ToJavaString(env, card.guid()).obj(), | 171 env, ConvertUTF8ToJavaString(env, card.guid()).obj(), |
| 172 ConvertUTF8ToJavaString(env, card.origin()).obj(), | 172 ConvertUTF8ToJavaString(env, card.origin()).obj(), |
| 173 card.record_type() == CreditCard::LOCAL_CARD, | 173 card.record_type() == CreditCard::LOCAL_CARD, |
| 174 card.record_type() == CreditCard::FULL_SERVER_CARD, | 174 card.record_type() == CreditCard::FULL_SERVER_CARD, |
| 175 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME_FULL)) | 175 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME_FULL)) |
| 176 .obj(), | 176 .obj(), |
| 177 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(), | 177 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(), |
| 178 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(), | 178 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(), |
| 179 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_EXP_MONTH)) | 179 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_EXP_MONTH)) |
| 180 .obj(), | 180 .obj(), |
| 181 ConvertUTF16ToJavaString(env, | 181 ConvertUTF16ToJavaString(env, |
| 182 card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR)) | 182 card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR)) |
| 183 .obj(), | 183 .obj(), |
| 184 ConvertUTF8ToJavaString(env, | 184 ConvertUTF8ToJavaString(env, payment_request_data.basic_card_payment_type) |
| 185 payment_request_data->basic_card_payment_type) | |
| 186 .obj(), | 185 .obj(), |
| 187 ResourceMapper::MapFromChromiumId( | 186 ResourceMapper::MapFromChromiumId(payment_request_data.icon_resource_id), |
| 188 payment_request_data->icon_resource_id)); | 187 ConvertUTF8ToJavaString(env, card.billing_address_id()) .obj()); |
| 189 } | 188 } |
| 190 | 189 |
| 191 void PopulateNativeCreditCardFromJava( | 190 void PopulateNativeCreditCardFromJava( |
| 192 const jobject& jcard, | 191 const jobject& jcard, |
| 193 JNIEnv* env, | 192 JNIEnv* env, |
| 194 CreditCard* card) { | 193 CreditCard* card) { |
| 195 card->set_origin( | 194 card->set_origin( |
| 196 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard))); | 195 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard))); |
| 197 card->SetRawInfo( | 196 card->SetRawInfo( |
| 198 CREDIT_CARD_NAME_FULL, | 197 CREDIT_CARD_NAME_FULL, |
| 199 ConvertJavaStringToUTF16(Java_CreditCard_getName(env, jcard))); | 198 ConvertJavaStringToUTF16(Java_CreditCard_getName(env, jcard))); |
| 200 card->SetRawInfo( | 199 card->SetRawInfo( |
| 201 CREDIT_CARD_NUMBER, | 200 CREDIT_CARD_NUMBER, |
| 202 ConvertJavaStringToUTF16(Java_CreditCard_getNumber(env, jcard))); | 201 ConvertJavaStringToUTF16(Java_CreditCard_getNumber(env, jcard))); |
| 203 card->SetRawInfo( | 202 card->SetRawInfo( |
| 204 CREDIT_CARD_EXP_MONTH, | 203 CREDIT_CARD_EXP_MONTH, |
| 205 ConvertJavaStringToUTF16(Java_CreditCard_getMonth(env, jcard))); | 204 ConvertJavaStringToUTF16(Java_CreditCard_getMonth(env, jcard))); |
| 206 card->SetRawInfo( | 205 card->SetRawInfo( |
| 207 CREDIT_CARD_EXP_4_DIGIT_YEAR, | 206 CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 208 ConvertJavaStringToUTF16(Java_CreditCard_getYear(env, jcard))); | 207 ConvertJavaStringToUTF16(Java_CreditCard_getYear(env, jcard))); |
| 208 card->set_billing_address_id( |
| 209 ConvertJavaStringToUTF8(Java_CreditCard_getBillingAddressId(env, jcard))); |
| 209 } | 210 } |
| 210 | 211 |
| 211 // Self-deleting requester of full card details, including full PAN and the CVC | 212 // Self-deleting requester of full card details, including full PAN and the CVC |
| 212 // number. | 213 // number. |
| 213 class FullCardRequester : public payments::FullCardRequest::Delegate, | 214 class FullCardRequester : public payments::FullCardRequest::Delegate, |
| 214 public base::SupportsWeakPtr<FullCardRequester> { | 215 public base::SupportsWeakPtr<FullCardRequester> { |
| 215 public: | 216 public: |
| 216 FullCardRequester() {} | 217 FullCardRequester() {} |
| 217 | 218 |
| 218 void GetFullCard(JNIEnv* env, | 219 void GetFullCard(JNIEnv* env, |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); | 579 base::android::ConvertJavaStringToUTF16(env, jcountry_name))); |
| 579 } | 580 } |
| 580 | 581 |
| 581 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 582 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
| 582 PersonalDataManagerAndroid* personal_data_manager_android = | 583 PersonalDataManagerAndroid* personal_data_manager_android = |
| 583 new PersonalDataManagerAndroid(env, obj); | 584 new PersonalDataManagerAndroid(env, obj); |
| 584 return reinterpret_cast<intptr_t>(personal_data_manager_android); | 585 return reinterpret_cast<intptr_t>(personal_data_manager_android); |
| 585 } | 586 } |
| 586 | 587 |
| 587 } // namespace autofill | 588 } // namespace autofill |
| OLD | NEW |