diff options
author | acleung <acleung@chromium.org> | 2015-12-18 16:15:41 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-19 00:16:29 +0000 |
commit | ab2804846156bc0c8693b01406628c69dc15b7dd (patch) | |
tree | 023aab3f44f0a3346ecc5de19133c0f9142d51f2 /sync/android | |
parent | 9fced51633527d853467605eca94d992ab2a5f68 (diff) | |
download | chromium_src-ab2804846156bc0c8693b01406628c69dc15b7dd.zip chromium_src-ab2804846156bc0c8693b01406628c69dc15b7dd.tar.gz chromium_src-ab2804846156bc0c8693b01406628c69dc15b7dd.tar.bz2 |
Don't toggle sync on/off on account rename.
More detais in: crbug.com/524675.
What I have discovered is that AccountManager keeps the whole syncable and sync-enabled setting across rename events. We can leverage this by making this the source of truth for sync setting.
That way, no matter when then actual sign-in occurs, it can simply check the master setting and decide if sync should be on or off without racing against sync service or the setting's cache.
I tested this and it works 5/5 times. I don't know how good this solution is but at least the success rate is higher the current implementation of check right before signout.
BUG=524675
Review URL: https://codereview.chromium.org/1454563002
Cr-Commit-Position: refs/heads/master@{#366225}
Diffstat (limited to 'sync/android')
-rw-r--r-- | sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java b/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java index f00c971..426abc5 100644 --- a/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java +++ b/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java @@ -123,6 +123,7 @@ public class AndroidSyncSettings { * * @return true if sync is on, false otherwise */ + @VisibleForTesting public static boolean isChromeSyncEnabled(Context context) { ensureInitialized(context); return sInstance.mChromeSyncEnabled; |