Commit 625a2eb4 authored by Tim Schumann's avatar Tim Schumann Committed by Commit Bot

Extend SyncPrefs to hold poll intervals.

BUG=832019

Change-Id: I593499bea1ccaad680d96d572f119b19c8fdc6aa
Reviewed-on: https://chromium-review.googlesource.com/1010344
Commit-Queue: Tim Schumann <tschumann@chromium.org>
Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550642}
parent 0ade0386
...@@ -14,6 +14,11 @@ const char kSyncLastSyncedTime[] = "sync.last_synced_time"; ...@@ -14,6 +14,11 @@ const char kSyncLastSyncedTime[] = "sync.last_synced_time";
// 64-bit integer serialization of the base::Time of the last sync poll. // 64-bit integer serialization of the base::Time of the last sync poll.
const char kSyncLastPollTime[] = "sync.last_poll_time"; const char kSyncLastPollTime[] = "sync.last_poll_time";
// 64-bit integer serialization of base::TimeDelta storing poll intervals
// received by the server (in seconds).
const char kSyncShortPollIntervalSeconds[] = "sync.short_poll_interval";
const char kSyncLongPollIntervalSeconds[] = "sync.long_poll_interval";
// Boolean specifying whether the user finished setting up sync at least once. // Boolean specifying whether the user finished setting up sync at least once.
const char kSyncFirstSetupComplete[] = "sync.has_setup_completed"; const char kSyncFirstSetupComplete[] = "sync.has_setup_completed";
......
...@@ -13,6 +13,8 @@ namespace prefs { ...@@ -13,6 +13,8 @@ namespace prefs {
extern const char kSyncLastSyncedTime[]; extern const char kSyncLastSyncedTime[];
extern const char kSyncLastPollTime[]; extern const char kSyncLastPollTime[];
extern const char kSyncShortPollIntervalSeconds[];
extern const char kSyncLongPollIntervalSeconds[];
extern const char kSyncHasAuthError[]; extern const char kSyncHasAuthError[];
extern const char kSyncFirstSetupComplete[]; extern const char kSyncFirstSetupComplete[];
extern const char kSyncKeepEverythingSynced[]; extern const char kSyncKeepEverythingSynced[];
......
...@@ -48,6 +48,8 @@ void SyncPrefs::RegisterProfilePrefs( ...@@ -48,6 +48,8 @@ void SyncPrefs::RegisterProfilePrefs(
registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0);
registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0); registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0);
registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0); registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0);
registry->RegisterInt64Pref(prefs::kSyncShortPollIntervalSeconds, 0);
registry->RegisterInt64Pref(prefs::kSyncLongPollIntervalSeconds, 0);
// All datatypes are on by default, but this gets set explicitly // All datatypes are on by default, but this gets set explicitly
// when you configure sync (when turning it on), in // when you configure sync (when turning it on), in
...@@ -112,6 +114,8 @@ void SyncPrefs::ClearPreferences() { ...@@ -112,6 +114,8 @@ void SyncPrefs::ClearPreferences() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
pref_service_->ClearPref(prefs::kSyncLastSyncedTime); pref_service_->ClearPref(prefs::kSyncLastSyncedTime);
pref_service_->ClearPref(prefs::kSyncLastPollTime); pref_service_->ClearPref(prefs::kSyncLastPollTime);
pref_service_->ClearPref(prefs::kSyncShortPollIntervalSeconds);
pref_service_->ClearPref(prefs::kSyncLongPollIntervalSeconds);
pref_service_->ClearPref(prefs::kSyncFirstSetupComplete); pref_service_->ClearPref(prefs::kSyncFirstSetupComplete);
pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken); pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken);
pref_service_->ClearPref(prefs::kSyncKeystoreEncryptionBootstrapToken); pref_service_->ClearPref(prefs::kSyncKeystoreEncryptionBootstrapToken);
...@@ -183,6 +187,30 @@ void SyncPrefs::SetLastPollTime(base::Time time) { ...@@ -183,6 +187,30 @@ void SyncPrefs::SetLastPollTime(base::Time time) {
pref_service_->SetInt64(prefs::kSyncLastPollTime, time.ToInternalValue()); pref_service_->SetInt64(prefs::kSyncLastPollTime, time.ToInternalValue());
} }
base::TimeDelta SyncPrefs::GetShortPollInterval() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return base::TimeDelta::FromSeconds(
pref_service_->GetInt64(prefs::kSyncShortPollIntervalSeconds));
}
void SyncPrefs::SetShortPollInterval(base::TimeDelta interval) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
pref_service_->SetInt64(prefs::kSyncShortPollIntervalSeconds,
interval.InSeconds());
}
base::TimeDelta SyncPrefs::GetLongPollInterval() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return base::TimeDelta::FromSeconds(
pref_service_->GetInt64(prefs::kSyncLongPollIntervalSeconds));
}
void SyncPrefs::SetLongPollInterval(base::TimeDelta interval) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
pref_service_->SetInt64(prefs::kSyncLongPollIntervalSeconds,
interval.InSeconds());
}
bool SyncPrefs::HasKeepEverythingSynced() const { bool SyncPrefs::HasKeepEverythingSynced() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
......
...@@ -98,6 +98,12 @@ class SyncPrefs : public SessionSyncPrefs, ...@@ -98,6 +98,12 @@ class SyncPrefs : public SessionSyncPrefs,
base::Time GetLastPollTime() const; base::Time GetLastPollTime() const;
void SetLastPollTime(base::Time time); void SetLastPollTime(base::Time time);
base::TimeDelta GetShortPollInterval() const;
void SetShortPollInterval(base::TimeDelta interval);
base::TimeDelta GetLongPollInterval() const;
void SetLongPollInterval(base::TimeDelta interval);
bool HasKeepEverythingSynced() const; bool HasKeepEverythingSynced() const;
void SetKeepEverythingSynced(bool keep_everything_synced); void SetKeepEverythingSynced(bool keep_everything_synced);
......
...@@ -250,6 +250,26 @@ TEST_F(SyncPrefsTest, InvalidationVersions) { ...@@ -250,6 +250,26 @@ TEST_F(SyncPrefsTest, InvalidationVersions) {
} }
} }
TEST_F(SyncPrefsTest, ShortPollInterval) {
SyncPrefs sync_prefs(&pref_service_);
EXPECT_TRUE(sync_prefs.GetShortPollInterval().is_zero());
sync_prefs.SetShortPollInterval(base::TimeDelta::FromMinutes(30));
EXPECT_FALSE(sync_prefs.GetShortPollInterval().is_zero());
EXPECT_EQ(sync_prefs.GetShortPollInterval().InMinutes(), 30);
}
TEST_F(SyncPrefsTest, LongPollInterval) {
SyncPrefs sync_prefs(&pref_service_);
EXPECT_TRUE(sync_prefs.GetLongPollInterval().is_zero());
sync_prefs.SetLongPollInterval(base::TimeDelta::FromMinutes(60));
EXPECT_FALSE(sync_prefs.GetLongPollInterval().is_zero());
EXPECT_EQ(sync_prefs.GetLongPollInterval().InMinutes(), 60);
}
} // namespace } // namespace
} // namespace syncer } // namespace syncer
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