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/ui/android/autofill/autofill_dialog_result.h" | 5 #include "chrome/browser/ui/android/autofill/autofill_dialog_result.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/android/scoped_java_ref.h" | 10 #include "base/android/scoped_java_ref.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 (ConvertNullOrJavaStringTo##utf( \ | 38 (ConvertNullOrJavaStringTo##utf( \ |
39 (env), FETCH_JFIELD((env), (jobj), cls, getter).obj())) | 39 (env), FETCH_JFIELD((env), (jobj), cls, getter).obj())) |
40 | 40 |
41 scoped_ptr<wallet::Address> ParseJavaWalletAddress( | 41 scoped_ptr<wallet::Address> ParseJavaWalletAddress( |
42 JNIEnv* env, jobject address) { | 42 JNIEnv* env, jobject address) { |
43 if (!address) | 43 if (!address) |
44 return scoped_ptr<wallet::Address>(); | 44 return scoped_ptr<wallet::Address>(); |
45 | 45 |
46 const base::string16 recipient_name = | 46 const base::string16 recipient_name = |
47 FETCH_JSTRING(UTF16, env, address, ResultAddress, Name); | 47 FETCH_JSTRING(UTF16, env, address, ResultAddress, Name); |
48 const base::string16 address_line_1 = | 48 std::vector<base::string16> address_lines; |
49 FETCH_JSTRING(UTF16, env, address, ResultAddress, Address1); | 49 address_lines.push_back( |
50 const base::string16 address_line_2 = | 50 FETCH_JSTRING(UTF16, env, address, ResultAddress, Address1)); |
51 FETCH_JSTRING(UTF16, env, address, ResultAddress, Address2); | 51 address_lines.push_back( |
| 52 FETCH_JSTRING(UTF16, env, address, ResultAddress, Address2)); |
52 const base::string16 locality_name = | 53 const base::string16 locality_name = |
53 FETCH_JSTRING(UTF16, env, address, ResultAddress, City); | 54 FETCH_JSTRING(UTF16, env, address, ResultAddress, City); |
54 const base::string16 administrative_area_name = | 55 const base::string16 administrative_area_name = |
55 FETCH_JSTRING(UTF16, env, address, ResultAddress, State); | 56 FETCH_JSTRING(UTF16, env, address, ResultAddress, State); |
56 const base::string16 postal_code_number = | 57 const base::string16 postal_code_number = |
57 FETCH_JSTRING(UTF16, env, address, ResultAddress, PostalCode); | 58 FETCH_JSTRING(UTF16, env, address, ResultAddress, PostalCode); |
58 const base::string16 phone_number = | 59 const base::string16 phone_number = |
59 FETCH_JSTRING(UTF16, env, address, ResultAddress, PhoneNumber); | 60 FETCH_JSTRING(UTF16, env, address, ResultAddress, PhoneNumber); |
60 const std::string country_name_code = | 61 const std::string country_name_code = |
61 FETCH_JSTRING(UTF8, env, address, ResultAddress, CountryCode); | 62 FETCH_JSTRING(UTF8, env, address, ResultAddress, CountryCode); |
62 DCHECK(!country_name_code.empty()); | 63 DCHECK(!country_name_code.empty()); |
63 | 64 |
| 65 // TODO(aruslan): get these from the JavaWalletAddress. |
| 66 const base::string16 dependent_locality_name; |
| 67 const base::string16 sorting_code; |
| 68 |
64 return scoped_ptr<wallet::Address>(new wallet::Address( | 69 return scoped_ptr<wallet::Address>(new wallet::Address( |
65 country_name_code, | 70 country_name_code, |
66 recipient_name, | 71 recipient_name, |
67 address_line_1, | 72 address_lines, |
68 address_line_2, | |
69 locality_name, | 73 locality_name, |
| 74 dependent_locality_name, |
70 administrative_area_name, | 75 administrative_area_name, |
71 postal_code_number, | 76 postal_code_number, |
| 77 sorting_code, |
72 phone_number, | 78 phone_number, |
73 std::string())); | 79 std::string())); |
74 } | 80 } |
75 | 81 |
76 scoped_ptr<wallet::FullWallet> ParseJavaWallet(JNIEnv* env, jobject wallet) { | 82 scoped_ptr<wallet::FullWallet> ParseJavaWallet(JNIEnv* env, jobject wallet) { |
77 const ScopedJavaLocalRef<jobject> billing_address( | 83 const ScopedJavaLocalRef<jobject> billing_address( |
78 FETCH_JFIELD(env, wallet, ResultWallet, BillingAddress)); | 84 FETCH_JFIELD(env, wallet, ResultWallet, BillingAddress)); |
79 const ScopedJavaLocalRef<jobject> shipping_address( | 85 const ScopedJavaLocalRef<jobject> shipping_address( |
80 FETCH_JFIELD(env, wallet, ResultWallet, ShippingAddress)); | 86 FETCH_JFIELD(env, wallet, ResultWallet, ShippingAddress)); |
81 const ScopedJavaLocalRef<jobject> card( | 87 const ScopedJavaLocalRef<jobject> card( |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 JNIEnv* env, jobject wallet) { | 135 JNIEnv* env, jobject wallet) { |
130 return ParseGoogleTransactionId(env, wallet); | 136 return ParseGoogleTransactionId(env, wallet); |
131 } | 137 } |
132 | 138 |
133 // static | 139 // static |
134 bool AutofillDialogResult::RegisterAutofillDialogResult(JNIEnv* env) { | 140 bool AutofillDialogResult::RegisterAutofillDialogResult(JNIEnv* env) { |
135 return RegisterNativesImpl(env); | 141 return RegisterNativesImpl(env); |
136 } | 142 } |
137 | 143 |
138 } // namespace autofill | 144 } // namespace autofill |
OLD | NEW |