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

Side by Side Diff: chrome/browser/autofill/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: Android Autofill Populator 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 (c) 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 <vector>
6 #include "base/android/jni_android.h"
7 #include "base/android/jni_array.h"
8 #include "base/android/jni_string.h"
9 #include "chrome/browser/autofill/auxiliary_profile_loader_android.h"
10 #include "jni/PersonalAutofillPopulator_jni.h"
11
12 #define JM(__jmethod__) Java_PersonalAutofillPopulator_##__jmethod__(env_,\
13 populator_.obj())
14
15 namespace {
16
17 string16 SafeJavaStringToUTF16(ScopedJavaLocalRef<jstring> jstring) {
18 if (!jstring.is_null()) {
19 return ConvertJavaStringToUTF16(jstring);
20 } else {
21 return string16();
22 }
23 }
24
25 std::vector<string16> SafeJavaStringArrayToStringVector(
26 ScopedJavaLocalRef<jobjectArray> jarray,
27 JNIEnv* env) {
28 std::vector<string16> stringVector;
29 if (!jarray.is_null()) {
30 base::android::AppendJavaStringArrayToStringVector(env,
31 jarray.obj(),
32 &stringVector);
33 }
34 return stringVector;
35 }
36
37 } // namespace
38
39 bool RegisterAuxiliaryProfileLoader(JNIEnv* env) {
40 return RegisterNativesImpl(env);
41 }
42
43 AuxiliaryProfileLoaderAndroid::AuxiliaryProfileLoaderAndroid() {
44 env_ = base::android::AttachCurrentThread();
45 populator_ = Java_PersonalAutofillPopulator_create(env_,
46 base::android::GetApplicationContext());
47 }
48
49 // Address info
50 string16 AuxiliaryProfileLoaderAndroid::GetStreet() {
51 return SafeJavaStringToUTF16(JM(getStreet));
52 }
53
54 string16 AuxiliaryProfileLoaderAndroid::GetPobox() {
55 return SafeJavaStringToUTF16(JM(getPobox));
56 }
57
58 string16 AuxiliaryProfileLoaderAndroid::GetNeighborhood() {
59 return SafeJavaStringToUTF16(JM(getNeighborhood));
60 }
61
62 string16 AuxiliaryProfileLoaderAndroid::GetRegion() {
63 return SafeJavaStringToUTF16(JM(getRegion));
64 }
65
66 string16 AuxiliaryProfileLoaderAndroid::GetCity() {
67 return SafeJavaStringToUTF16(JM(getCity));
68 }
69
70 string16 AuxiliaryProfileLoaderAndroid::GetPostalCode() {
71 return SafeJavaStringToUTF16(JM(getPostalCode));
72 }
73
74 string16 AuxiliaryProfileLoaderAndroid::GetCountry() {
75 return SafeJavaStringToUTF16(JM(getCountry));
76 }
77
78 // Name info
79 string16 AuxiliaryProfileLoaderAndroid::GetFirstName() {
80 return SafeJavaStringToUTF16(JM(getFirstName));
81 }
82
83 string16 AuxiliaryProfileLoaderAndroid::GetMiddleName() {
84 return SafeJavaStringToUTF16(JM(getMiddleName));
85 }
86
87 string16 AuxiliaryProfileLoaderAndroid::GetLastName() {
88 return SafeJavaStringToUTF16(JM(getLastName));
89 }
90
91 string16 AuxiliaryProfileLoaderAndroid::GetSuffix() {
92 return SafeJavaStringToUTF16(JM(getSuffix));
93 }
94
95 // Email info
96 std::vector<string16> AuxiliaryProfileLoaderAndroid::GetEmailAddresses() {
97 return SafeJavaStringArrayToStringVector(JM(getEmailAddresses), env_);
98 }
99
100 // Phone info
101 std::vector<string16> AuxiliaryProfileLoaderAndroid::GetPhoneNumbers() {
102 return SafeJavaStringArrayToStringVector(JM(getPhoneNumbers), env_);
103 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698