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/sync/profile_sync_service_android.h" | 5 #include "chrome/browser/sync/profile_sync_service_android.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 JNIEnv* env, jobject) { | 309 JNIEnv* env, jobject) { |
310 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 310 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
311 syncer::SyncStatus status; | 311 syncer::SyncStatus status; |
312 bool is_status_valid = sync_service_->QueryDetailedSyncStatus(&status); | 312 bool is_status_valid = sync_service_->QueryDetailedSyncStatus(&status); |
313 return is_status_valid && !status.keystore_migration_time.is_null(); | 313 return is_status_valid && !status.keystore_migration_time.is_null(); |
314 } | 314 } |
315 | 315 |
316 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes( | 316 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes( |
317 JNIEnv* env, jobject obj) { | 317 JNIEnv* env, jobject obj) { |
318 syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes(); | 318 syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes(); |
319 types.PutAll(syncer::ControlTypes()); | |
320 return ModelTypeSetToJavaIntArray(env, types); | 319 return ModelTypeSetToJavaIntArray(env, types); |
321 } | 320 } |
322 | 321 |
323 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes( | 322 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes( |
324 JNIEnv* env, jobject obj) { | 323 JNIEnv* env, jobject obj) { |
325 syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes(); | 324 syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes(); |
326 types.PutAll(syncer::ControlTypes()); | |
327 return ModelTypeSetToJavaIntArray(env, types); | 325 return ModelTypeSetToJavaIntArray(env, types); |
328 } | 326 } |
329 | 327 |
330 void ProfileSyncServiceAndroid::SetPreferredDataTypes( | 328 void ProfileSyncServiceAndroid::SetPreferredDataTypes( |
331 JNIEnv* env, jobject obj, | 329 JNIEnv* env, jobject obj, |
332 jboolean sync_everything, | 330 jboolean sync_everything, |
333 jintArray model_type_array) { | 331 jintArray model_type_array) { |
334 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 332 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
335 std::vector<int> types_vector; | 333 std::vector<int> types_vector; |
336 base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector); | 334 base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector); |
337 syncer::ModelTypeSet types; | 335 syncer::ModelTypeSet types; |
338 for (size_t i = 0; i < types_vector.size(); i++) { | 336 for (size_t i = 0; i < types_vector.size(); i++) { |
339 types.Put(static_cast<syncer::ModelType>(types_vector[i])); | 337 types.Put(static_cast<syncer::ModelType>(types_vector[i])); |
340 } | 338 } |
341 types.RetainAll(syncer::UserSelectableTypes()); | |
342 sync_service_->OnUserChoseDatatypes(sync_everything, types); | 339 sync_service_->OnUserChoseDatatypes(sync_everything, types); |
343 } | 340 } |
344 | 341 |
345 void ProfileSyncServiceAndroid::SetSetupInProgress( | 342 void ProfileSyncServiceAndroid::SetSetupInProgress( |
346 JNIEnv* env, jobject obj, jboolean in_progress) { | 343 JNIEnv* env, jobject obj, jboolean in_progress) { |
347 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 344 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
348 sync_service_->SetSetupInProgress(in_progress); | 345 sync_service_->SetSetupInProgress(in_progress); |
349 } | 346 } |
350 | 347 |
351 void ProfileSyncServiceAndroid::SetSyncSetupCompleted( | 348 void ProfileSyncServiceAndroid::SetSyncSetupCompleted( |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 ProfileSyncServiceAndroid* profile_sync_service_android = | 443 ProfileSyncServiceAndroid* profile_sync_service_android = |
447 new ProfileSyncServiceAndroid(env, obj); | 444 new ProfileSyncServiceAndroid(env, obj); |
448 profile_sync_service_android->Init(); | 445 profile_sync_service_android->Init(); |
449 return reinterpret_cast<intptr_t>(profile_sync_service_android); | 446 return reinterpret_cast<intptr_t>(profile_sync_service_android); |
450 } | 447 } |
451 | 448 |
452 // static | 449 // static |
453 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { | 450 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { |
454 return RegisterNativesImpl(env); | 451 return RegisterNativesImpl(env); |
455 } | 452 } |
OLD | NEW |