Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: components/autofill/browser/android/auxiliary_profile_loader_android.cc

Issue 12282004: Added personal_data_manager android implementation for auto-populating auto-fill on android builds … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Autofill populator components refactor Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "components/autofill/browser/android/auxiliary_profile_loader_android.h "
6
7 #include <vector>
8
9 #include "base/android/jni_android.h"
10 #include "base/android/jni_array.h"
11 #include "base/android/jni_string.h"
12 #include "jni/PersonalAutofillPopulator_jni.h"
13
14 #define JAVA_METHOD(__jmethod__) Java_PersonalAutofillPopulator_##__jmethod__( \
15 env_, \
16 populator_.obj())
17
18 namespace {
19
20 string16 SafeJavaStringToUTF16(const ScopedJavaLocalRef<jstring>& jstring) {
21 if (jstring.is_null())
22 return string16();
23
24 return ConvertJavaStringToUTF16(jstring);
25 }
26
27 void SafeJavaStringArrayToStringVector(
28 const ScopedJavaLocalRef<jobjectArray>& jarray,
29 JNIEnv* env,
30 std::vector<string16>* string_vector) {
31 if (!jarray.is_null()) {
32 base::android::AppendJavaStringArrayToStringVector(env,
33 jarray.obj(),
34 string_vector);
35 }
36 }
37
38 } // namespace
39
40 namespace autofill {
41
42 bool RegisterAuxiliaryProfileLoader(JNIEnv* env) {
43 return RegisterNativesImpl(env);
44 }
45
46 AuxiliaryProfileLoaderAndroid::AuxiliaryProfileLoaderAndroid() {}
47
48 AuxiliaryProfileLoaderAndroid::~AuxiliaryProfileLoaderAndroid() {}
49
50 void AuxiliaryProfileLoaderAndroid::Init(JNIEnv* env, const jobject& context) {
51 env_ = env;
52 populator_ = Java_PersonalAutofillPopulator_create(env_, context);
53 }
54
55 // Address info
56 string16 AuxiliaryProfileLoaderAndroid::GetStreet() const {
57 return SafeJavaStringToUTF16(JAVA_METHOD(getStreet));
58 }
59
60 string16 AuxiliaryProfileLoaderAndroid::GetPostOfficeBox() const {
61 return SafeJavaStringToUTF16(JAVA_METHOD(getPobox));
62 }
63
64 string16 AuxiliaryProfileLoaderAndroid::GetNeighborhood() const {
65 return SafeJavaStringToUTF16(JAVA_METHOD(getNeighborhood));
66 }
67
68 string16 AuxiliaryProfileLoaderAndroid::GetRegion() const {
69 return SafeJavaStringToUTF16(JAVA_METHOD(getRegion));
70 }
71
72 string16 AuxiliaryProfileLoaderAndroid::GetCity() const {
73 return SafeJavaStringToUTF16(JAVA_METHOD(getCity));
74 }
75
76 string16 AuxiliaryProfileLoaderAndroid::GetPostalCode() const {
77 return SafeJavaStringToUTF16(JAVA_METHOD(getPostalCode));
78 }
79
80 string16 AuxiliaryProfileLoaderAndroid::GetCountry() const {
81 return SafeJavaStringToUTF16(JAVA_METHOD(getCountry));
82 }
83
84 // Name info
85 string16 AuxiliaryProfileLoaderAndroid::GetFirstName() const {
86 return SafeJavaStringToUTF16(JAVA_METHOD(getFirstName));
87 }
88
89 string16 AuxiliaryProfileLoaderAndroid::GetMiddleName() const {
90 return SafeJavaStringToUTF16(JAVA_METHOD(getMiddleName));
91 }
92
93 string16 AuxiliaryProfileLoaderAndroid::GetLastName() const {
94 return SafeJavaStringToUTF16(JAVA_METHOD(getLastName));
95 }
96
97 string16 AuxiliaryProfileLoaderAndroid::GetSuffix() const {
98 return SafeJavaStringToUTF16(JAVA_METHOD(getSuffix));
99 }
100
101 // Email info
102 void AuxiliaryProfileLoaderAndroid::GetEmailAddresses(
103 std::vector<string16>* email_addresses) const {
104 SafeJavaStringArrayToStringVector(JAVA_METHOD(getEmailAddresses),
105 env_,
106 email_addresses);
107 }
108
109 // Phone info
110 void AuxiliaryProfileLoaderAndroid::GetPhoneNumbers(
111 std::vector<string16>* phone_numbers) const {
112 SafeJavaStringArrayToStringVector(JAVA_METHOD(getPhoneNumbers),
113 env_,
114 phone_numbers);
115 }
116
117 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698