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

Side by Side Diff: chrome/browser/autofill/android/personal_data_manager_android.cc

Issue 997713004: Redo Autofill wallet preferences on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: typo fix Created 5 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
OLDNEW
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 "base/android/jni_array.h" 7 #include "base/android/jni_array.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/format_macros.h" 10 #include "base/format_macros.h"
(...skipping 28 matching lines...) Expand all
39 } 39 }
40 40
41 PrefService* GetPrefs() { 41 PrefService* GetPrefs() {
42 return GetProfile()->GetPrefs(); 42 return GetProfile()->GetPrefs();
43 } 43 }
44 44
45 ScopedJavaLocalRef<jobject> CreateJavaProfileFromNative( 45 ScopedJavaLocalRef<jobject> CreateJavaProfileFromNative(
46 JNIEnv* env, 46 JNIEnv* env,
47 const AutofillProfile& profile) { 47 const AutofillProfile& profile) {
48 return Java_AutofillProfile_create( 48 return Java_AutofillProfile_create(
49 env, 49 env, ConvertUTF8ToJavaString(env, profile.guid()).obj(),
50 ConvertUTF8ToJavaString(env, profile.guid()).obj(),
51 ConvertUTF8ToJavaString(env, profile.origin()).obj(), 50 ConvertUTF8ToJavaString(env, profile.origin()).obj(),
51 profile.record_type() == AutofillProfile::LOCAL_PROFILE,
52 ConvertUTF16ToJavaString(env, profile.GetRawInfo(NAME_FULL)).obj(), 52 ConvertUTF16ToJavaString(env, profile.GetRawInfo(NAME_FULL)).obj(),
53 ConvertUTF16ToJavaString(env, profile.GetRawInfo(COMPANY_NAME)).obj(), 53 ConvertUTF16ToJavaString(env, profile.GetRawInfo(COMPANY_NAME)).obj(),
54 ConvertUTF16ToJavaString( 54 ConvertUTF16ToJavaString(
55 env, profile.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)).obj(), 55 env, profile.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)).obj(),
56 ConvertUTF16ToJavaString(env, profile.GetRawInfo(ADDRESS_HOME_STATE)) 56 ConvertUTF16ToJavaString(env, profile.GetRawInfo(ADDRESS_HOME_STATE))
57 .obj(), 57 .obj(),
58 ConvertUTF16ToJavaString(env, profile.GetRawInfo(ADDRESS_HOME_CITY)) 58 ConvertUTF16ToJavaString(env, profile.GetRawInfo(ADDRESS_HOME_CITY))
59 .obj(), 59 .obj(),
60 ConvertUTF16ToJavaString( 60 ConvertUTF16ToJavaString(
61 env, profile.GetRawInfo(ADDRESS_HOME_DEPENDENT_LOCALITY)).obj(), 61 env, profile.GetRawInfo(ADDRESS_HOME_DEPENDENT_LOCALITY)).obj(),
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 g_browser_process->GetApplicationLocale()); 133 g_browser_process->GetApplicationLocale());
134 profile->set_language_code( 134 profile->set_language_code(
135 ConvertJavaStringToUTF8( 135 ConvertJavaStringToUTF8(
136 Java_AutofillProfile_getLanguageCode(env, jprofile))); 136 Java_AutofillProfile_getLanguageCode(env, jprofile)));
137 } 137 }
138 138
139 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative( 139 ScopedJavaLocalRef<jobject> CreateJavaCreditCardFromNative(
140 JNIEnv* env, 140 JNIEnv* env,
141 const CreditCard& card) { 141 const CreditCard& card) {
142 return Java_CreditCard_create( 142 return Java_CreditCard_create(
143 env, 143 env, ConvertUTF8ToJavaString(env, card.guid()).obj(),
144 ConvertUTF8ToJavaString(env, card.guid()).obj(),
145 ConvertUTF8ToJavaString(env, card.origin()).obj(), 144 ConvertUTF8ToJavaString(env, card.origin()).obj(),
145 card.record_type() == CreditCard::LOCAL_CARD,
146 card.record_type() == CreditCard::FULL_SERVER_CARD,
146 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME)).obj(), 147 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NAME)).obj(),
147 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(), 148 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_NUMBER)).obj(),
148 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(), 149 ConvertUTF16ToJavaString(env, card.TypeAndLastFourDigits()).obj(),
150 ConvertUTF16ToJavaString(env, card.GetRawInfo(CREDIT_CARD_EXP_MONTH))
151 .obj(),
149 ConvertUTF16ToJavaString( 152 ConvertUTF16ToJavaString(
150 env, 153 env, card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR)).obj());
151 card.GetRawInfo(CREDIT_CARD_EXP_MONTH)).obj(),
152 ConvertUTF16ToJavaString(
153 env,
154 card.GetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR)).obj());
155 } 154 }
156 155
157 void PopulateNativeCreditCardFromJava( 156 void PopulateNativeCreditCardFromJava(
158 const jobject& jcard, 157 const jobject& jcard,
159 JNIEnv* env, 158 JNIEnv* env,
160 CreditCard* card) { 159 CreditCard* card) {
161 card->set_origin( 160 card->set_origin(
162 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard))); 161 ConvertJavaStringToUTF8(Java_CreditCard_getOrigin(env, jcard)));
163 card->SetRawInfo( 162 card->SetRawInfo(
164 CREDIT_CARD_NAME, 163 CREDIT_CARD_NAME,
(...skipping 18 matching lines...) Expand all
183 ProfileManager::GetActiveUserProfile())) { 182 ProfileManager::GetActiveUserProfile())) {
184 personal_data_manager_->AddObserver(this); 183 personal_data_manager_->AddObserver(this);
185 } 184 }
186 185
187 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() { 186 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() {
188 personal_data_manager_->RemoveObserver(this); 187 personal_data_manager_->RemoveObserver(this);
189 } 188 }
190 189
191 jint PersonalDataManagerAndroid::GetProfileCount(JNIEnv* unused_env, 190 jint PersonalDataManagerAndroid::GetProfileCount(JNIEnv* unused_env,
192 jobject unused_obj) { 191 jobject unused_obj) {
193 return personal_data_manager_->web_profiles().size(); 192 return personal_data_manager_->GetProfiles().size();
194 } 193 }
195 194
196 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex( 195 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex(
197 JNIEnv* env, 196 JNIEnv* env,
198 jobject unused_obj, 197 jobject unused_obj,
199 jint index) { 198 jint index) {
200 const std::vector<AutofillProfile*>& profiles = 199 const std::vector<AutofillProfile*>& profiles =
201 personal_data_manager_->web_profiles(); 200 personal_data_manager_->GetProfiles();
202 size_t index_size_t = static_cast<size_t>(index); 201 size_t index_size_t = static_cast<size_t>(index);
203 DCHECK_LT(index_size_t, profiles.size()); 202 DCHECK_LT(index_size_t, profiles.size());
204 return CreateJavaProfileFromNative(env, *profiles[index_size_t]); 203 return CreateJavaProfileFromNative(env, *profiles[index_size_t]);
205 } 204 }
206 205
207 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID( 206 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID(
208 JNIEnv* env, 207 JNIEnv* env,
209 jobject unused_obj, 208 jobject unused_obj,
210 jstring jguid) { 209 jstring jguid) {
211 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( 210 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
(...skipping 23 matching lines...) Expand all
235 } 234 }
236 235
237 return ConvertUTF8ToJavaString(env, profile.guid()); 236 return ConvertUTF8ToJavaString(env, profile.guid());
238 } 237 }
239 238
240 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels( 239 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels(
241 JNIEnv* env, 240 JNIEnv* env,
242 jobject unused_obj) { 241 jobject unused_obj) {
243 std::vector<base::string16> labels; 242 std::vector<base::string16> labels;
244 AutofillProfile::CreateInferredLabels( 243 AutofillProfile::CreateInferredLabels(
245 personal_data_manager_->web_profiles(), 244 personal_data_manager_->GetProfiles(), NULL, NAME_FULL, 2,
246 NULL, 245 g_browser_process->GetApplicationLocale(), &labels);
247 NAME_FULL,
248 2,
249 g_browser_process->GetApplicationLocale(),
250 &labels);
251 246
252 return base::android::ToJavaArrayOfStrings(env, labels); 247 return base::android::ToJavaArrayOfStrings(env, labels);
253 } 248 }
254 249
255 jint PersonalDataManagerAndroid::GetCreditCardCount(JNIEnv* unused_env, 250 jint PersonalDataManagerAndroid::GetCreditCardCount(JNIEnv* unused_env,
256 jobject unused_obj) { 251 jobject unused_obj) {
257 return personal_data_manager_->GetLocalCreditCards().size(); 252 return personal_data_manager_->GetCreditCards().size();
258 } 253 }
259 254
260 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex( 255 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex(
261 JNIEnv* env, 256 JNIEnv* env,
262 jobject unused_obj, 257 jobject unused_obj,
263 jint index) { 258 jint index) {
264 const std::vector<CreditCard*>& credit_cards = 259 const std::vector<CreditCard*>& credit_cards =
265 personal_data_manager_->GetLocalCreditCards(); 260 personal_data_manager_->GetCreditCards();
266 size_t index_size_t = static_cast<size_t>(index); 261 size_t index_size_t = static_cast<size_t>(index);
267 DCHECK_LT(index_size_t, credit_cards.size()); 262 DCHECK_LT(index_size_t, credit_cards.size());
268 return CreateJavaCreditCardFromNative(env, *credit_cards[index_size_t]); 263 return CreateJavaCreditCardFromNative(env, *credit_cards[index_size_t]);
269 } 264 }
270 265
271 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByGUID( 266 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByGUID(
272 JNIEnv* env, 267 JNIEnv* env,
273 jobject unused_obj, 268 jobject unused_obj,
274 jstring jguid) { 269 jstring jguid) {
275 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( 270 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
(...skipping 24 matching lines...) Expand all
300 return ConvertUTF8ToJavaString(env, card.guid()); 295 return ConvertUTF8ToJavaString(env, card.guid());
301 } 296 }
302 297
303 void PersonalDataManagerAndroid::RemoveByGUID(JNIEnv* env, 298 void PersonalDataManagerAndroid::RemoveByGUID(JNIEnv* env,
304 jobject unused_obj, 299 jobject unused_obj,
305 jstring jguid) { 300 jstring jguid) {
306 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); 301 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid));
307 } 302 }
308 303
309 void PersonalDataManagerAndroid::ClearUnmaskedCache(JNIEnv* env, 304 void PersonalDataManagerAndroid::ClearUnmaskedCache(JNIEnv* env,
310 jobject unused_obj) { 305 jobject unused_obj,
311 personal_data_manager_->ResetFullServerCards(); 306 jstring guid) {
307 // personal_data_manager_->ResetFullServerCard(ConvertJavaStringToUTF8(env,
newt (away) 2015/03/18 04:31:45 TODO?
Evan Stade 2015/03/19 00:24:23 I have no recollection of commenting this out
308 // guid));
312 } 309 }
313 310
314 void PersonalDataManagerAndroid::OnPersonalDataChanged() { 311 void PersonalDataManagerAndroid::OnPersonalDataChanged() {
315 JNIEnv* env = base::android::AttachCurrentThread(); 312 JNIEnv* env = base::android::AttachCurrentThread();
316 if (weak_java_obj_.get(env).is_null()) 313 if (weak_java_obj_.get(env).is_null())
317 return; 314 return;
318 315
319 Java_PersonalDataManager_personalDataChanged(env, 316 Java_PersonalDataManager_personalDataChanged(env,
320 weak_java_obj_.get(env).obj()); 317 weak_java_obj_.get(env).obj());
321 } 318 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 g_browser_process->GetApplicationLocale())).Release(); 368 g_browser_process->GetApplicationLocale())).Release();
372 } 369 }
373 370
374 static jlong Init(JNIEnv* env, jobject obj) { 371 static jlong Init(JNIEnv* env, jobject obj) {
375 PersonalDataManagerAndroid* personal_data_manager_android = 372 PersonalDataManagerAndroid* personal_data_manager_android =
376 new PersonalDataManagerAndroid(env, obj); 373 new PersonalDataManagerAndroid(env, obj);
377 return reinterpret_cast<intptr_t>(personal_data_manager_android); 374 return reinterpret_cast<intptr_t>(personal_data_manager_android);
378 } 375 }
379 376
380 } // namespace autofill 377 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698