[Sync] Finish cleaning ProfileSyncServiceAndroid.
This CL does several tasks to finish cleaning up PSSA:
- All redundant method comments are removed.
- Methods are reorganized into ones that call ProfileSyncService,
ones that call SyncPrefs, and a few other groups.
- Methods are organized within the PSS group into ones that deal with
the sync service state, the datatype state, encryption state, and
other miscellaneous things.
- Removes the unused isSyncKeystoreMigrationDone method.
- Merges RemoveObserver into the destructor.
- Moves ModelTypeSetToJavaIntArray to an anonymous namespace.
- Generally orders everything in the cc file to match the header.
BUG=497518
Review URL: https://codereview.chromium.org/1361823002
Cr-Commit-Position: refs/heads/master@{#351830}
diff --git a/chrome/browser/sync/profile_sync_service_android.cc b/chrome/browser/sync/profile_sync_service_android.cc
index 898371f0..9c14b45 100644
--- a/chrome/browser/sync/profile_sync_service_android.cc
+++ b/chrome/browser/sync/profile_sync_service_android.cc
@@ -65,6 +65,16 @@
java_json_string.obj());
}
+ScopedJavaLocalRef<jintArray> ModelTypeSetToJavaIntArray(
+ JNIEnv* env,
+ syncer::ModelTypeSet types) {
+ std::vector<int> type_vector;
+ for (syncer::ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) {
+ type_vector.push_back(it.Get());
+ }
+ return base::android::ToJavaIntArray(env, type_vector);
+}
+
} // namespace
ProfileSyncServiceAndroid::ProfileSyncServiceAndroid(JNIEnv* env, jobject obj)
@@ -94,16 +104,12 @@
sync_service_->AddObserver(this);
}
-void ProfileSyncServiceAndroid::RemoveObserver() {
+ProfileSyncServiceAndroid::~ProfileSyncServiceAndroid() {
if (sync_service_->HasObserver(this)) {
sync_service_->RemoveObserver(this);
}
}
-ProfileSyncServiceAndroid::~ProfileSyncServiceAndroid() {
- RemoveObserver();
-}
-
void ProfileSyncServiceAndroid::OnStateChanged() {
// Notify the java world that our sync state has changed.
JNIEnv* env = AttachCurrentThread();
@@ -111,15 +117,12 @@
env, weak_java_profile_sync_service_.get(env).obj());
}
-jboolean ProfileSyncServiceAndroid::IsPassphrasePrompted(JNIEnv* env,
- jobject obj) {
- return sync_prefs_->IsPassphrasePrompted();
-}
+// Pure ProfileSyncService calls.
-void ProfileSyncServiceAndroid::SetPassphrasePrompted(JNIEnv* env,
- jobject obj,
- jboolean prompted) {
- sync_prefs_->SetPassphrasePrompted(prompted);
+jboolean ProfileSyncServiceAndroid::IsSyncRequested(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsSyncRequested();
}
void ProfileSyncServiceAndroid::RequestStart(JNIEnv* env, jobject) {
@@ -138,6 +141,139 @@
sync_service_->RequestStop(ProfileSyncService::CLEAR_DATA);
}
+jboolean ProfileSyncServiceAndroid::IsSyncActive(JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsSyncActive();
+}
+
+jboolean ProfileSyncServiceAndroid::IsBackendInitialized(JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsBackendInitialized();
+}
+
+jboolean ProfileSyncServiceAndroid::IsFirstSetupInProgress(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsFirstSetupInProgress();
+}
+
+void ProfileSyncServiceAndroid::SetSetupInProgress(
+ JNIEnv* env, jobject obj, jboolean in_progress) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ sync_service_->SetSetupInProgress(in_progress);
+}
+
+jboolean ProfileSyncServiceAndroid::HasSyncSetupCompleted(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->HasSyncSetupCompleted();
+}
+
+void ProfileSyncServiceAndroid::SetSyncSetupCompleted(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ sync_service_->SetSyncSetupCompleted();
+}
+
+ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes(
+ JNIEnv* env, jobject obj) {
+ syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes();
+ return ModelTypeSetToJavaIntArray(env, types);
+}
+
+ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes(
+ JNIEnv* env, jobject obj) {
+ syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes();
+ return ModelTypeSetToJavaIntArray(env, types);
+}
+
+void ProfileSyncServiceAndroid::SetPreferredDataTypes(
+ JNIEnv* env, jobject obj,
+ jboolean sync_everything,
+ jintArray model_type_array) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ std::vector<int> types_vector;
+ base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector);
+ syncer::ModelTypeSet types;
+ for (size_t i = 0; i < types_vector.size(); i++) {
+ types.Put(static_cast<syncer::ModelType>(types_vector[i]));
+ }
+ sync_service_->OnUserChoseDatatypes(sync_everything, types);
+}
+
+jboolean ProfileSyncServiceAndroid::IsCryptographerReady(JNIEnv* env, jobject) {
+ syncer::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare());
+ return sync_service_->IsCryptographerReady(&trans);
+}
+
+jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsEncryptEverythingAllowed();
+}
+
+jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsEncryptEverythingEnabled();
+}
+
+void ProfileSyncServiceAndroid::EnableEncryptEverything(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ sync_service_->EnableEncryptEverything();
+}
+
+jboolean ProfileSyncServiceAndroid::IsPassphraseRequired(JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsPassphraseRequired();
+}
+
+jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption(
+ JNIEnv* env, jobject obj) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsPassphraseRequiredForDecryption();
+}
+
+jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->IsUsingSecondaryPassphrase();
+}
+
+jint ProfileSyncServiceAndroid::GetPassphraseType(JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->GetPassphraseType();
+}
+
+void ProfileSyncServiceAndroid::SetEncryptionPassphrase(
+ JNIEnv* env, jobject obj, jstring passphrase) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ std::string key = ConvertJavaStringToUTF8(env, passphrase);
+ sync_service_->SetEncryptionPassphrase(key, ProfileSyncService::EXPLICIT);
+}
+
+jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase(
+ JNIEnv* env, jobject obj, jstring passphrase) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ std::string key = ConvertJavaStringToUTF8(env, passphrase);
+ return sync_service_->SetDecryptionPassphrase(key);
+}
+
+jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime();
+ return !passphrase_time.is_null();
+}
+
+jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime();
+ return passphrase_time.ToJavaTime();
+}
+
void ProfileSyncServiceAndroid::FlushDirectory(JNIEnv* env, jobject) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
sync_service_->FlushDirectory();
@@ -162,6 +298,30 @@
sync_service_->GetAllNodes(native_callback);
}
+jint ProfileSyncServiceAndroid::GetAuthError(JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->GetAuthError().state();
+}
+
+jboolean ProfileSyncServiceAndroid::HasUnrecoverableError(
+ JNIEnv* env, jobject) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ return sync_service_->HasUnrecoverableError();
+}
+
+// Pure SyncPrefs calls.
+
+jboolean ProfileSyncServiceAndroid::IsPassphrasePrompted(JNIEnv* env,
+ jobject obj) {
+ return sync_prefs_->IsPassphrasePrompted();
+}
+
+void ProfileSyncServiceAndroid::SetPassphrasePrompted(JNIEnv* env,
+ jobject obj,
+ jboolean prompted) {
+ sync_prefs_->SetPassphrasePrompted(prompted);
+}
+
void ProfileSyncServiceAndroid::SetSyncSessionsId(
JNIEnv* env, jobject obj, jstring tag) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -170,88 +330,13 @@
sync_prefs_->SetSyncSessionsGUID(machine_tag);
}
-jint ProfileSyncServiceAndroid::GetAuthError(JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->GetAuthError().state();
-}
-
-jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled(
+jboolean ProfileSyncServiceAndroid::HasKeepEverythingSynced(
JNIEnv* env, jobject) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsEncryptEverythingEnabled();
+ return sync_prefs_->HasKeepEverythingSynced();
}
-jboolean ProfileSyncServiceAndroid::IsBackendInitialized(JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsBackendInitialized();
-}
-
-jboolean ProfileSyncServiceAndroid::IsFirstSetupInProgress(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsFirstSetupInProgress();
-}
-
-jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsEncryptEverythingAllowed();
-}
-
-jboolean ProfileSyncServiceAndroid::IsPassphraseRequired(JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsPassphraseRequired();
-}
-
-jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsPassphraseRequiredForDecryption();
-}
-
-jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsUsingSecondaryPassphrase();
-}
-
-jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase(
- JNIEnv* env, jobject obj, jstring passphrase) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::string key = ConvertJavaStringToUTF8(env, passphrase);
- return sync_service_->SetDecryptionPassphrase(key);
-}
-
-void ProfileSyncServiceAndroid::SetEncryptionPassphrase(
- JNIEnv* env, jobject obj, jstring passphrase) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::string key = ConvertJavaStringToUTF8(env, passphrase);
- sync_service_->SetEncryptionPassphrase(key, ProfileSyncService::EXPLICIT);
-}
-
-jboolean ProfileSyncServiceAndroid::IsCryptographerReady(JNIEnv* env, jobject) {
- syncer::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare());
- return sync_service_->IsCryptographerReady(&trans);
-}
-
-jint ProfileSyncServiceAndroid::GetPassphraseType(JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->GetPassphraseType();
-}
-
-jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime();
- return !passphrase_time.is_null();
-}
-
-jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime();
- return passphrase_time.ToJavaTime();
-}
+// UI string getters.
ScopedJavaLocalRef<jstring>
ProfileSyncServiceAndroid::GetSyncEnterGooglePassphraseBodyWithDateText(
@@ -300,86 +385,7 @@
env, l10n_util::GetStringUTF8(IDS_SYNC_ENTER_PASSPHRASE_BODY));
}
-jboolean ProfileSyncServiceAndroid::IsSyncKeystoreMigrationDone(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- syncer::SyncStatus status;
- bool is_status_valid = sync_service_->QueryDetailedSyncStatus(&status);
- return is_status_valid && !status.keystore_migration_time.is_null();
-}
-
-ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes(
- JNIEnv* env, jobject obj) {
- syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes();
- return ModelTypeSetToJavaIntArray(env, types);
-}
-
-ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes(
- JNIEnv* env, jobject obj) {
- syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes();
- return ModelTypeSetToJavaIntArray(env, types);
-}
-
-void ProfileSyncServiceAndroid::SetPreferredDataTypes(
- JNIEnv* env, jobject obj,
- jboolean sync_everything,
- jintArray model_type_array) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::vector<int> types_vector;
- base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector);
- syncer::ModelTypeSet types;
- for (size_t i = 0; i < types_vector.size(); i++) {
- types.Put(static_cast<syncer::ModelType>(types_vector[i]));
- }
- sync_service_->OnUserChoseDatatypes(sync_everything, types);
-}
-
-void ProfileSyncServiceAndroid::SetSetupInProgress(
- JNIEnv* env, jobject obj, jboolean in_progress) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- sync_service_->SetSetupInProgress(in_progress);
-}
-
-void ProfileSyncServiceAndroid::SetSyncSetupCompleted(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- sync_service_->SetSyncSetupCompleted();
-}
-
-jboolean ProfileSyncServiceAndroid::HasSyncSetupCompleted(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->HasSyncSetupCompleted();
-}
-
-jboolean ProfileSyncServiceAndroid::IsSyncRequested(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsSyncRequested();
-}
-
-jboolean ProfileSyncServiceAndroid::IsSyncActive(JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->IsSyncActive();
-}
-
-void ProfileSyncServiceAndroid::EnableEncryptEverything(
- JNIEnv* env, jobject obj) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- sync_service_->EnableEncryptEverything();
-}
-
-jboolean ProfileSyncServiceAndroid::HasKeepEverythingSynced(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_prefs_->HasKeepEverythingSynced();
-}
-
-jboolean ProfileSyncServiceAndroid::HasUnrecoverableError(
- JNIEnv* env, jobject) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- return sync_service_->HasUnrecoverableError();
-}
+// Functionality only available for testing purposes.
ScopedJavaLocalRef<jstring> ProfileSyncServiceAndroid::GetAboutInfoForTest(
JNIEnv* env, jobject) {
@@ -414,18 +420,6 @@
}
// static
-ScopedJavaLocalRef<jintArray>
-ProfileSyncServiceAndroid::ModelTypeSetToJavaIntArray(
- JNIEnv* env,
- syncer::ModelTypeSet types) {
- std::vector<int> type_vector;
- for (syncer::ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) {
- type_vector.push_back(it.Get());
- }
- return base::android::ToJavaIntArray(env, type_vector);
-}
-
-// static
ProfileSyncServiceAndroid*
ProfileSyncServiceAndroid::GetProfileSyncServiceAndroid() {
return reinterpret_cast<ProfileSyncServiceAndroid*>(
@@ -433,14 +427,14 @@
AttachCurrentThread()));
}
+// static
+bool ProfileSyncServiceAndroid::Register(JNIEnv* env) {
+ return RegisterNativesImpl(env);
+}
+
static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
ProfileSyncServiceAndroid* profile_sync_service_android =
new ProfileSyncServiceAndroid(env, obj);
profile_sync_service_android->Init();
return reinterpret_cast<intptr_t>(profile_sync_service_android);
}
-
-// static
-bool ProfileSyncServiceAndroid::Register(JNIEnv* env) {
- return RegisterNativesImpl(env);
-}