Commit 40da1f32 authored by Marc Treib's avatar Marc Treib Committed by Commit Bot

Migrate ProfileSyncServiceAndroid to use SyncUserSettings

SyncUserSettings is a new class that encapsulates all the
user-configurable knobs for Sync. It replaces a bunch of setters
and getters directly on the SyncService.

Bug: 884159
Change-Id: I876c39d3f69f7d5e8ed3ead1f07660279e283eb0
Reviewed-on: https://chromium-review.googlesource.com/c/1286455Reviewed-by: default avatarMikel Astiz <mastiz@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607279}
parent 6da14681
...@@ -110,9 +110,8 @@ bool ProfileSyncServiceAndroid::Init() { ...@@ -110,9 +110,8 @@ bool ProfileSyncServiceAndroid::Init() {
if (sync_service_) { if (sync_service_) {
sync_service_->AddObserver(this); sync_service_->AddObserver(this);
return true; return true;
} else {
return false;
} }
return false;
} }
ProfileSyncServiceAndroid::~ProfileSyncServiceAndroid() { ProfileSyncServiceAndroid::~ProfileSyncServiceAndroid() {
...@@ -141,28 +140,26 @@ jboolean ProfileSyncServiceAndroid::IsSyncRequested( ...@@ -141,28 +140,26 @@ jboolean ProfileSyncServiceAndroid::IsSyncRequested(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
// Sync is considered requested if it's not explicitly disabled by the user. return sync_service_->GetUserSettings()->IsSyncRequested();
return !sync_service_->HasDisableReason(
syncer::SyncService::DISABLE_REASON_USER_CHOICE);
} }
void ProfileSyncServiceAndroid::RequestStart(JNIEnv* env, void ProfileSyncServiceAndroid::RequestStart(JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
sync_service_->RequestStart(); sync_service_->GetUserSettings()->SetSyncRequested(true);
} }
void ProfileSyncServiceAndroid::RequestStop(JNIEnv* env, void ProfileSyncServiceAndroid::RequestStop(JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
sync_service_->RequestStop(ProfileSyncService::KEEP_DATA); sync_service_->GetUserSettings()->SetSyncRequested(false);
} }
void ProfileSyncServiceAndroid::SetSyncAllowedByPlatform( void ProfileSyncServiceAndroid::SetSyncAllowedByPlatform(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
jboolean allowed) { jboolean allowed) {
sync_service_->SetSyncAllowedByPlatform(allowed); sync_service_->GetUserSettings()->SetSyncAllowedByPlatform(allowed);
} }
jboolean ProfileSyncServiceAndroid::IsSyncActive( jboolean ProfileSyncServiceAndroid::IsSyncActive(
...@@ -197,14 +194,14 @@ jboolean ProfileSyncServiceAndroid::IsFirstSetupComplete( ...@@ -197,14 +194,14 @@ jboolean ProfileSyncServiceAndroid::IsFirstSetupComplete(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return sync_service_->IsFirstSetupComplete(); return sync_service_->GetUserSettings()->IsFirstSetupComplete();
} }
void ProfileSyncServiceAndroid::SetFirstSetupComplete( void ProfileSyncServiceAndroid::SetFirstSetupComplete(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
sync_service_->SetFirstSetupComplete(); sync_service_->GetUserSettings()->SetFirstSetupComplete();
} }
ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes( ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes(
...@@ -233,7 +230,7 @@ void ProfileSyncServiceAndroid::SetPreferredDataTypes( ...@@ -233,7 +230,7 @@ void ProfileSyncServiceAndroid::SetPreferredDataTypes(
for (size_t i = 0; i < types_vector.size(); i++) { for (size_t i = 0; i < types_vector.size(); i++) {
types.Put(static_cast<syncer::ModelType>(types_vector[i])); types.Put(static_cast<syncer::ModelType>(types_vector[i]));
} }
sync_service_->OnUserChoseDatatypes(sync_everything, types); sync_service_->GetUserSettings()->SetChosenDataTypes(sync_everything, types);
} }
jboolean ProfileSyncServiceAndroid::IsCryptographerReady( jboolean ProfileSyncServiceAndroid::IsCryptographerReady(
...@@ -247,42 +244,43 @@ jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed( ...@@ -247,42 +244,43 @@ jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return sync_service_->IsEncryptEverythingAllowed(); return sync_service_->GetUserSettings()->IsEncryptEverythingAllowed();
} }
jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled( jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return sync_service_->IsEncryptEverythingEnabled(); return sync_service_->GetUserSettings()->IsEncryptEverythingEnabled();
} }
void ProfileSyncServiceAndroid::EnableEncryptEverything( void ProfileSyncServiceAndroid::EnableEncryptEverything(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
sync_service_->EnableEncryptEverything(); sync_service_->GetUserSettings()->EnableEncryptEverything();
} }
jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption( jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return sync_service_->IsPassphraseRequiredForDecryption(); return sync_service_->GetUserSettings()->IsPassphraseRequiredForDecryption();
} }
jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase( jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return sync_service_->IsUsingSecondaryPassphrase(); return sync_service_->GetUserSettings()->IsUsingSecondaryPassphrase();
} }
jint ProfileSyncServiceAndroid::GetPassphraseType( jint ProfileSyncServiceAndroid::GetPassphraseType(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
return static_cast<unsigned>(sync_service_->GetPassphraseType()); return static_cast<unsigned>(
sync_service_->GetUserSettings()->GetPassphraseType());
} }
void ProfileSyncServiceAndroid::SetEncryptionPassphrase( void ProfileSyncServiceAndroid::SetEncryptionPassphrase(
...@@ -291,7 +289,7 @@ void ProfileSyncServiceAndroid::SetEncryptionPassphrase( ...@@ -291,7 +289,7 @@ void ProfileSyncServiceAndroid::SetEncryptionPassphrase(
const JavaParamRef<jstring>& passphrase) { const JavaParamRef<jstring>& passphrase) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
std::string key = ConvertJavaStringToUTF8(env, passphrase); std::string key = ConvertJavaStringToUTF8(env, passphrase);
sync_service_->SetEncryptionPassphrase(key); sync_service_->GetUserSettings()->SetEncryptionPassphrase(key);
} }
jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase( jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase(
...@@ -300,14 +298,15 @@ jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase( ...@@ -300,14 +298,15 @@ jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase(
const JavaParamRef<jstring>& passphrase) { const JavaParamRef<jstring>& passphrase) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
std::string key = ConvertJavaStringToUTF8(env, passphrase); std::string key = ConvertJavaStringToUTF8(env, passphrase);
return sync_service_->SetDecryptionPassphrase(key); return sync_service_->GetUserSettings()->SetDecryptionPassphrase(key);
} }
jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime( jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); base::Time passphrase_time =
sync_service_->GetUserSettings()->GetExplicitPassphraseTime();
return !passphrase_time.is_null(); return !passphrase_time.is_null();
} }
...@@ -315,7 +314,8 @@ jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime( ...@@ -315,7 +314,8 @@ jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); base::Time passphrase_time =
sync_service_->GetUserSettings()->GetExplicitPassphraseTime();
return passphrase_time.ToJavaTime(); return passphrase_time.ToJavaTime();
} }
...@@ -418,7 +418,8 @@ ProfileSyncServiceAndroid::GetSyncEnterGooglePassphraseBodyWithDateText( ...@@ -418,7 +418,8 @@ ProfileSyncServiceAndroid::GetSyncEnterGooglePassphraseBodyWithDateText(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); base::Time passphrase_time =
sync_service_->GetUserSettings()->GetExplicitPassphraseTime();
base::string16 passphrase_time_str = base::string16 passphrase_time_str =
base::TimeFormatShortDate(passphrase_time); base::TimeFormatShortDate(passphrase_time);
return base::android::ConvertUTF16ToJavaString(env, return base::android::ConvertUTF16ToJavaString(env,
...@@ -432,7 +433,8 @@ ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyWithDateText( ...@@ -432,7 +433,8 @@ ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyWithDateText(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>&) { const JavaParamRef<jobject>&) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); base::Time passphrase_time =
sync_service_->GetUserSettings()->GetExplicitPassphraseTime();
base::string16 passphrase_time_str = base::string16 passphrase_time_str =
base::TimeFormatShortDate(passphrase_time); base::TimeFormatShortDate(passphrase_time);
return base::android::ConvertUTF16ToJavaString(env, return base::android::ConvertUTF16ToJavaString(env,
...@@ -497,8 +499,7 @@ static jlong JNI_ProfileSyncService_Init(JNIEnv* env, ...@@ -497,8 +499,7 @@ static jlong JNI_ProfileSyncService_Init(JNIEnv* env,
new ProfileSyncServiceAndroid(env, obj); new ProfileSyncServiceAndroid(env, obj);
if (profile_sync_service_android->Init()) { if (profile_sync_service_android->Init()) {
return reinterpret_cast<intptr_t>(profile_sync_service_android); return reinterpret_cast<intptr_t>(profile_sync_service_android);
} else {
delete profile_sync_service_android;
return 0;
} }
delete profile_sync_service_android;
return 0;
} }
...@@ -1470,11 +1470,6 @@ bool ProfileSyncService::IsCryptographerReady( ...@@ -1470,11 +1470,6 @@ bool ProfileSyncService::IsCryptographerReady(
return engine_ && engine_->IsCryptographerReady(trans); return engine_ && engine_->IsCryptographerReady(trans);
} }
void ProfileSyncService::SetSyncAllowedByPlatform(bool allowed) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
user_settings_.SetSyncAllowedByPlatform(allowed);
}
void ProfileSyncService::SyncAllowedByPlatformChanged(bool allowed) { void ProfileSyncService::SyncAllowedByPlatformChanged(bool allowed) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
......
...@@ -443,8 +443,6 @@ class ProfileSyncService : public syncer::SyncService, ...@@ -443,8 +443,6 @@ class ProfileSyncService : public syncer::SyncService,
// killed in the near future. // killed in the near future.
void FlushDirectory() const; void FlushDirectory() const;
// Set whether sync is currently allowed by the platform.
void SetSyncAllowedByPlatform(bool allowed);
void SyncAllowedByPlatformChanged(bool allowed); void SyncAllowedByPlatformChanged(bool allowed);
// Sometimes we need to wait for tasks on the sync thread in tests. // Sometimes we need to wait for tasks on the sync thread in tests.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment