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/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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 ProfileManager::GetActiveUserProfile())) { | 183 ProfileManager::GetActiveUserProfile())) { |
184 personal_data_manager_->AddObserver(this); | 184 personal_data_manager_->AddObserver(this); |
185 } | 185 } |
186 | 186 |
187 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() { | 187 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() { |
188 personal_data_manager_->RemoveObserver(this); | 188 personal_data_manager_->RemoveObserver(this); |
189 } | 189 } |
190 | 190 |
191 jint PersonalDataManagerAndroid::GetProfileCount(JNIEnv* unused_env, | 191 jint PersonalDataManagerAndroid::GetProfileCount(JNIEnv* unused_env, |
192 jobject unused_obj) { | 192 jobject unused_obj) { |
193 return personal_data_manager_->GetProfiles().size(); | 193 return personal_data_manager_->web_profiles().size(); |
194 } | 194 } |
195 | 195 |
196 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex( | 196 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex( |
197 JNIEnv* env, | 197 JNIEnv* env, |
198 jobject unused_obj, | 198 jobject unused_obj, |
199 jint index) { | 199 jint index) { |
200 const std::vector<AutofillProfile*>& profiles = | 200 const std::vector<AutofillProfile*>& profiles = |
201 personal_data_manager_->GetProfiles(); | 201 personal_data_manager_->web_profiles(); |
202 size_t index_size_t = static_cast<size_t>(index); | 202 size_t index_size_t = static_cast<size_t>(index); |
203 DCHECK_LT(index_size_t, profiles.size()); | 203 DCHECK_LT(index_size_t, profiles.size()); |
204 return CreateJavaProfileFromNative(env, *profiles[index_size_t]); | 204 return CreateJavaProfileFromNative(env, *profiles[index_size_t]); |
205 } | 205 } |
206 | 206 |
207 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID( | 207 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID( |
208 JNIEnv* env, | 208 JNIEnv* env, |
209 jobject unused_obj, | 209 jobject unused_obj, |
210 jstring jguid) { | 210 jstring jguid) { |
211 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( | 211 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( |
(...skipping 18 matching lines...) Expand all Loading... |
230 if (guid.empty()) { | 230 if (guid.empty()) { |
231 personal_data_manager_->AddProfile(profile); | 231 personal_data_manager_->AddProfile(profile); |
232 } else { | 232 } else { |
233 profile.set_guid(guid); | 233 profile.set_guid(guid); |
234 personal_data_manager_->UpdateProfile(profile); | 234 personal_data_manager_->UpdateProfile(profile); |
235 } | 235 } |
236 | 236 |
237 return ConvertUTF8ToJavaString(env, profile.guid()); | 237 return ConvertUTF8ToJavaString(env, profile.guid()); |
238 } | 238 } |
239 | 239 |
| 240 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels( |
| 241 JNIEnv* env, |
| 242 jobject unused_obj) { |
| 243 std::vector<base::string16> labels; |
| 244 AutofillProfile::CreateInferredLabels( |
| 245 personal_data_manager_->web_profiles(), |
| 246 NULL, |
| 247 NAME_FULL, |
| 248 2, |
| 249 g_browser_process->GetApplicationLocale(), |
| 250 &labels); |
| 251 |
| 252 return base::android::ToJavaArrayOfStrings(env, labels); |
| 253 } |
| 254 |
240 jint PersonalDataManagerAndroid::GetCreditCardCount(JNIEnv* unused_env, | 255 jint PersonalDataManagerAndroid::GetCreditCardCount(JNIEnv* unused_env, |
241 jobject unused_obj) { | 256 jobject unused_obj) { |
242 return personal_data_manager_->GetLocalCreditCards().size(); | 257 return personal_data_manager_->GetLocalCreditCards().size(); |
243 } | 258 } |
244 | 259 |
245 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex( | 260 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex( |
246 JNIEnv* env, | 261 JNIEnv* env, |
247 jobject unused_obj, | 262 jobject unused_obj, |
248 jint index) { | 263 jint index) { |
249 const std::vector<CreditCard*>& credit_cards = | 264 const std::vector<CreditCard*>& credit_cards = |
(...skipping 28 matching lines...) Expand all Loading... |
278 | 293 |
279 if (guid.empty()) { | 294 if (guid.empty()) { |
280 personal_data_manager_->AddCreditCard(card); | 295 personal_data_manager_->AddCreditCard(card); |
281 } else { | 296 } else { |
282 card.set_guid(guid); | 297 card.set_guid(guid); |
283 personal_data_manager_->UpdateCreditCard(card); | 298 personal_data_manager_->UpdateCreditCard(card); |
284 } | 299 } |
285 return ConvertUTF8ToJavaString(env, card.guid()); | 300 return ConvertUTF8ToJavaString(env, card.guid()); |
286 } | 301 } |
287 | 302 |
288 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels( | |
289 JNIEnv* env, | |
290 jobject unused_obj) { | |
291 std::vector<base::string16> labels; | |
292 AutofillProfile::CreateInferredLabels( | |
293 personal_data_manager_->GetProfiles(), | |
294 NULL, | |
295 NAME_FULL, | |
296 2, | |
297 g_browser_process->GetApplicationLocale(), | |
298 &labels); | |
299 | |
300 return base::android::ToJavaArrayOfStrings(env, labels); | |
301 } | |
302 | |
303 void PersonalDataManagerAndroid::RemoveByGUID(JNIEnv* env, | 303 void PersonalDataManagerAndroid::RemoveByGUID(JNIEnv* env, |
304 jobject unused_obj, | 304 jobject unused_obj, |
305 jstring jguid) { | 305 jstring jguid) { |
306 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); | 306 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); |
307 } | 307 } |
308 | 308 |
309 void PersonalDataManagerAndroid::ClearUnmaskedCache(JNIEnv* env, | 309 void PersonalDataManagerAndroid::ClearUnmaskedCache(JNIEnv* env, |
310 jobject unused_obj) { | 310 jobject unused_obj) { |
311 personal_data_manager_->ResetFullServerCards(); | 311 personal_data_manager_->ResetFullServerCards(); |
312 } | 312 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 g_browser_process->GetApplicationLocale())).Release(); | 365 g_browser_process->GetApplicationLocale())).Release(); |
366 } | 366 } |
367 | 367 |
368 static jlong Init(JNIEnv* env, jobject obj) { | 368 static jlong Init(JNIEnv* env, jobject obj) { |
369 PersonalDataManagerAndroid* personal_data_manager_android = | 369 PersonalDataManagerAndroid* personal_data_manager_android = |
370 new PersonalDataManagerAndroid(env, obj); | 370 new PersonalDataManagerAndroid(env, obj); |
371 return reinterpret_cast<intptr_t>(personal_data_manager_android); | 371 return reinterpret_cast<intptr_t>(personal_data_manager_android); |
372 } | 372 } |
373 | 373 |
374 } // namespace autofill | 374 } // namespace autofill |
OLD | NEW |