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

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: Fixed autogenerated nits from trybot Created 7 years, 8 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 bool AuxiliaryProfileLoaderAndroid::GetHasPermissions() const {
56 return (bool)JAVA_METHOD(getHasPermissions);
57 }
58
59 // Address info
60 string16 AuxiliaryProfileLoaderAndroid::GetStreet() const {
61 return SafeJavaStringToUTF16(JAVA_METHOD(getStreet));
62 }
63
64 string16 AuxiliaryProfileLoaderAndroid::GetPostOfficeBox() const {
65 return SafeJavaStringToUTF16(JAVA_METHOD(getPobox));
66 }
67
68 string16 AuxiliaryProfileLoaderAndroid::GetNeighborhood() const {
69 return SafeJavaStringToUTF16(JAVA_METHOD(getNeighborhood));
70 }
71
72 string16 AuxiliaryProfileLoaderAndroid::GetRegion() const {
73 return SafeJavaStringToUTF16(JAVA_METHOD(getRegion));
74 }
75
76 string16 AuxiliaryProfileLoaderAndroid::GetCity() const {
77 return SafeJavaStringToUTF16(JAVA_METHOD(getCity));
78 }
79
80 string16 AuxiliaryProfileLoaderAndroid::GetPostalCode() const {
81 return SafeJavaStringToUTF16(JAVA_METHOD(getPostalCode));
82 }
83
84 string16 AuxiliaryProfileLoaderAndroid::GetCountry() const {
85 return SafeJavaStringToUTF16(JAVA_METHOD(getCountry));
86 }
87
88 // Name info
89 string16 AuxiliaryProfileLoaderAndroid::GetFirstName() const {
90 return SafeJavaStringToUTF16(JAVA_METHOD(getFirstName));
91 }
92
93 string16 AuxiliaryProfileLoaderAndroid::GetMiddleName() const {
94 return SafeJavaStringToUTF16(JAVA_METHOD(getMiddleName));
95 }
96
97 string16 AuxiliaryProfileLoaderAndroid::GetLastName() const {
98 return SafeJavaStringToUTF16(JAVA_METHOD(getLastName));
99 }
100
101 string16 AuxiliaryProfileLoaderAndroid::GetSuffix() const {
102 return SafeJavaStringToUTF16(JAVA_METHOD(getSuffix));
103 }
104
105 // Email info
106 void AuxiliaryProfileLoaderAndroid::GetEmailAddresses(
107 std::vector<string16>* email_addresses) const {
108 SafeJavaStringArrayToStringVector(JAVA_METHOD(getEmailAddresses),
109 env_,
110 email_addresses);
111 }
112
113 // Phone info
114 void AuxiliaryProfileLoaderAndroid::GetPhoneNumbers(
115 std::vector<string16>* phone_numbers) const {
116 SafeJavaStringArrayToStringVector(JAVA_METHOD(getPhoneNumbers),
117 env_,
118 phone_numbers);
119 }
120
121 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698