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

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

Issue 1509373004: Pass method parameters as JavaParamRef in chrome/browser (part 2). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 : weak_java_obj_(env, obj), 162 : weak_java_obj_(env, obj),
163 personal_data_manager_(PersonalDataManagerFactory::GetForProfile( 163 personal_data_manager_(PersonalDataManagerFactory::GetForProfile(
164 ProfileManager::GetActiveUserProfile())) { 164 ProfileManager::GetActiveUserProfile())) {
165 personal_data_manager_->AddObserver(this); 165 personal_data_manager_->AddObserver(this);
166 } 166 }
167 167
168 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() { 168 PersonalDataManagerAndroid::~PersonalDataManagerAndroid() {
169 personal_data_manager_->RemoveObserver(this); 169 personal_data_manager_->RemoveObserver(this);
170 } 170 }
171 171
172 jint PersonalDataManagerAndroid::GetProfileCount(JNIEnv* unused_env, 172 jint PersonalDataManagerAndroid::GetProfileCount(
173 jobject unused_obj) { 173 JNIEnv* unused_env,
174 const JavaParamRef<jobject>& unused_obj) {
174 return personal_data_manager_->GetProfiles().size(); 175 return personal_data_manager_->GetProfiles().size();
175 } 176 }
176 177
177 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex( 178 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByIndex(
178 JNIEnv* env, 179 JNIEnv* env,
179 jobject unused_obj, 180 const JavaParamRef<jobject>& unused_obj,
180 jint index) { 181 jint index) {
181 const std::vector<AutofillProfile*>& profiles = 182 const std::vector<AutofillProfile*>& profiles =
182 personal_data_manager_->GetProfiles(); 183 personal_data_manager_->GetProfiles();
183 size_t index_size_t = static_cast<size_t>(index); 184 size_t index_size_t = static_cast<size_t>(index);
184 DCHECK_LT(index_size_t, profiles.size()); 185 DCHECK_LT(index_size_t, profiles.size());
185 return CreateJavaProfileFromNative(env, *profiles[index_size_t]); 186 return CreateJavaProfileFromNative(env, *profiles[index_size_t]);
186 } 187 }
187 188
188 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID( 189 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetProfileByGUID(
189 JNIEnv* env, 190 JNIEnv* env,
190 jobject unused_obj, 191 const JavaParamRef<jobject>& unused_obj,
191 jstring jguid) { 192 const JavaParamRef<jstring>& jguid) {
192 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID( 193 AutofillProfile* profile = personal_data_manager_->GetProfileByGUID(
193 ConvertJavaStringToUTF8(env, jguid)); 194 ConvertJavaStringToUTF8(env, jguid));
194 if (!profile) 195 if (!profile)
195 return ScopedJavaLocalRef<jobject>(); 196 return ScopedJavaLocalRef<jobject>();
196 197
197 return CreateJavaProfileFromNative(env, *profile); 198 return CreateJavaProfileFromNative(env, *profile);
198 } 199 }
199 200
200 ScopedJavaLocalRef<jstring> PersonalDataManagerAndroid::SetProfile( 201 ScopedJavaLocalRef<jstring> PersonalDataManagerAndroid::SetProfile(
201 JNIEnv* env, 202 JNIEnv* env,
202 jobject unused_obj, 203 const JavaParamRef<jobject>& unused_obj,
203 jobject jprofile) { 204 const JavaParamRef<jobject>& jprofile) {
204 std::string guid = ConvertJavaStringToUTF8( 205 std::string guid = ConvertJavaStringToUTF8(
205 env, 206 env,
206 Java_AutofillProfile_getGUID(env, jprofile).obj()); 207 Java_AutofillProfile_getGUID(env, jprofile).obj());
207 208
208 AutofillProfile profile; 209 AutofillProfile profile;
209 PopulateNativeProfileFromJava(jprofile, env, &profile); 210 PopulateNativeProfileFromJava(jprofile, env, &profile);
210 211
211 if (guid.empty()) { 212 if (guid.empty()) {
212 personal_data_manager_->AddProfile(profile); 213 personal_data_manager_->AddProfile(profile);
213 } else { 214 } else {
214 profile.set_guid(guid); 215 profile.set_guid(guid);
215 personal_data_manager_->UpdateProfile(profile); 216 personal_data_manager_->UpdateProfile(profile);
216 } 217 }
217 218
218 return ConvertUTF8ToJavaString(env, profile.guid()); 219 return ConvertUTF8ToJavaString(env, profile.guid());
219 } 220 }
220 221
221 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels( 222 ScopedJavaLocalRef<jobjectArray> PersonalDataManagerAndroid::GetProfileLabels(
222 JNIEnv* env, 223 JNIEnv* env,
223 jobject unused_obj) { 224 const JavaParamRef<jobject>& unused_obj) {
224 std::vector<base::string16> labels; 225 std::vector<base::string16> labels;
225 AutofillProfile::CreateInferredLabels( 226 AutofillProfile::CreateInferredLabels(
226 personal_data_manager_->GetProfiles(), NULL, NAME_FULL, 2, 227 personal_data_manager_->GetProfiles(), NULL, NAME_FULL, 2,
227 g_browser_process->GetApplicationLocale(), &labels); 228 g_browser_process->GetApplicationLocale(), &labels);
228 229
229 return base::android::ToJavaArrayOfStrings(env, labels); 230 return base::android::ToJavaArrayOfStrings(env, labels);
230 } 231 }
231 232
232 jint PersonalDataManagerAndroid::GetCreditCardCount(JNIEnv* unused_env, 233 jint PersonalDataManagerAndroid::GetCreditCardCount(
233 jobject unused_obj) { 234 JNIEnv* unused_env,
235 const JavaParamRef<jobject>& unused_obj) {
234 return personal_data_manager_->GetCreditCards().size(); 236 return personal_data_manager_->GetCreditCards().size();
235 } 237 }
236 238
237 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex( 239 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByIndex(
238 JNIEnv* env, 240 JNIEnv* env,
239 jobject unused_obj, 241 const JavaParamRef<jobject>& unused_obj,
240 jint index) { 242 jint index) {
241 const std::vector<CreditCard*>& credit_cards = 243 const std::vector<CreditCard*>& credit_cards =
242 personal_data_manager_->GetCreditCards(); 244 personal_data_manager_->GetCreditCards();
243 size_t index_size_t = static_cast<size_t>(index); 245 size_t index_size_t = static_cast<size_t>(index);
244 DCHECK_LT(index_size_t, credit_cards.size()); 246 DCHECK_LT(index_size_t, credit_cards.size());
245 return CreateJavaCreditCardFromNative(env, *credit_cards[index_size_t]); 247 return CreateJavaCreditCardFromNative(env, *credit_cards[index_size_t]);
246 } 248 }
247 249
248 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByGUID( 250 ScopedJavaLocalRef<jobject> PersonalDataManagerAndroid::GetCreditCardByGUID(
249 JNIEnv* env, 251 JNIEnv* env,
250 jobject unused_obj, 252 const JavaParamRef<jobject>& unused_obj,
251 jstring jguid) { 253 const JavaParamRef<jstring>& jguid) {
252 CreditCard* card = personal_data_manager_->GetCreditCardByGUID( 254 CreditCard* card = personal_data_manager_->GetCreditCardByGUID(
253 ConvertJavaStringToUTF8(env, jguid)); 255 ConvertJavaStringToUTF8(env, jguid));
254 if (!card) 256 if (!card)
255 return ScopedJavaLocalRef<jobject>(); 257 return ScopedJavaLocalRef<jobject>();
256 258
257 return CreateJavaCreditCardFromNative(env, *card); 259 return CreateJavaCreditCardFromNative(env, *card);
258 } 260 }
259 261
260 ScopedJavaLocalRef<jstring> PersonalDataManagerAndroid::SetCreditCard( 262 ScopedJavaLocalRef<jstring> PersonalDataManagerAndroid::SetCreditCard(
261 JNIEnv* env, 263 JNIEnv* env,
262 jobject unused_obj, 264 const JavaParamRef<jobject>& unused_obj,
263 jobject jcard) { 265 const JavaParamRef<jobject>& jcard) {
264 std::string guid = ConvertJavaStringToUTF8( 266 std::string guid = ConvertJavaStringToUTF8(
265 env, 267 env,
266 Java_CreditCard_getGUID(env, jcard).obj()); 268 Java_CreditCard_getGUID(env, jcard).obj());
267 269
268 CreditCard card; 270 CreditCard card;
269 PopulateNativeCreditCardFromJava(jcard, env, &card); 271 PopulateNativeCreditCardFromJava(jcard, env, &card);
270 272
271 if (guid.empty()) { 273 if (guid.empty()) {
272 personal_data_manager_->AddCreditCard(card); 274 personal_data_manager_->AddCreditCard(card);
273 } else { 275 } else {
274 card.set_guid(guid); 276 card.set_guid(guid);
275 personal_data_manager_->UpdateCreditCard(card); 277 personal_data_manager_->UpdateCreditCard(card);
276 } 278 }
277 return ConvertUTF8ToJavaString(env, card.guid()); 279 return ConvertUTF8ToJavaString(env, card.guid());
278 } 280 }
279 281
280 void PersonalDataManagerAndroid::RemoveByGUID(JNIEnv* env, 282 void PersonalDataManagerAndroid::RemoveByGUID(
281 jobject unused_obj, 283 JNIEnv* env,
282 jstring jguid) { 284 const JavaParamRef<jobject>& unused_obj,
285 const JavaParamRef<jstring>& jguid) {
283 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid)); 286 personal_data_manager_->RemoveByGUID(ConvertJavaStringToUTF8(env, jguid));
284 } 287 }
285 288
286 void PersonalDataManagerAndroid::ClearUnmaskedCache(JNIEnv* env, 289 void PersonalDataManagerAndroid::ClearUnmaskedCache(
287 jobject unused_obj, 290 JNIEnv* env,
288 jstring guid) { 291 const JavaParamRef<jobject>& unused_obj,
292 const JavaParamRef<jstring>& guid) {
289 personal_data_manager_->ResetFullServerCard( 293 personal_data_manager_->ResetFullServerCard(
290 ConvertJavaStringToUTF8(env, guid)); 294 ConvertJavaStringToUTF8(env, guid));
291 } 295 }
292 296
293 void PersonalDataManagerAndroid::OnPersonalDataChanged() { 297 void PersonalDataManagerAndroid::OnPersonalDataChanged() {
294 JNIEnv* env = base::android::AttachCurrentThread(); 298 JNIEnv* env = base::android::AttachCurrentThread();
295 if (weak_java_obj_.get(env).is_null()) 299 if (weak_java_obj_.get(env).is_null())
296 return; 300 return;
297 301
298 Java_PersonalDataManager_personalDataChanged(env, 302 Java_PersonalDataManager_personalDataChanged(env,
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 g_browser_process->GetApplicationLocale())); 359 g_browser_process->GetApplicationLocale()));
356 } 360 }
357 361
358 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 362 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
359 PersonalDataManagerAndroid* personal_data_manager_android = 363 PersonalDataManagerAndroid* personal_data_manager_android =
360 new PersonalDataManagerAndroid(env, obj); 364 new PersonalDataManagerAndroid(env, obj);
361 return reinterpret_cast<intptr_t>(personal_data_manager_android); 365 return reinterpret_cast<intptr_t>(personal_data_manager_android);
362 } 366 }
363 367
364 } // namespace autofill 368 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698