diff options
author | maxbogue <maxbogue@chromium.org> | 2015-05-19 13:02:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-19 20:02:48 +0000 |
commit | 20989a55f294c1b1643cbc2b80bf083de1dd7e36 (patch) | |
tree | ac7fe9111e6d102705d2679f7b84e7fa3f227e34 /sync/android/java | |
parent | 17ec17f1df5f8100af1e3923d40d34e0f931a7a2 (diff) | |
download | chromium_src-20989a55f294c1b1643cbc2b80bf083de1dd7e36.zip chromium_src-20989a55f294c1b1643cbc2b80bf083de1dd7e36.tar.gz chromium_src-20989a55f294c1b1643cbc2b80bf083de1dd7e36.tar.bz2 |
[Sync] Remove periodic sync for Chrome for Android
updateAccount() is always called on startup with the signed in account,
so the removePeriodicSync() call will be hit even for already signed in
users when the app restarts.
BUG=480688
Review URL: https://codereview.chromium.org/1148613002
Cr-Commit-Position: refs/heads/master@{#330588}
Diffstat (limited to 'sync/android/java')
3 files changed, 13 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 c36cef4..ab424e5 100644 --- a/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java +++ b/sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java @@ -8,6 +8,7 @@ import android.accounts.Account; import android.content.ContentResolver; import android.content.Context; import android.content.SyncStatusObserver; +import android.os.Bundle; import android.os.StrictMode; import org.chromium.base.ObserverList; @@ -221,6 +222,9 @@ public class AndroidSyncSettings { // Make account syncable if there is one. if (shouldBeSyncable) { mSyncContentResolverDelegate.setIsSyncable(mAccount, mContractAuthority, 1); + // This reduces unnecessary resource usage. See http://crbug.com/480688 for details. + mSyncContentResolverDelegate.removePeriodicSync( + mAccount, mContractAuthority, Bundle.EMPTY); } // Disable the syncability of Chrome for all other accounts. Don't use diff --git a/sync/android/java/src/org/chromium/sync/SyncContentResolverDelegate.java b/sync/android/java/src/org/chromium/sync/SyncContentResolverDelegate.java index 85ab19f..b5ea731 100644 --- a/sync/android/java/src/org/chromium/sync/SyncContentResolverDelegate.java +++ b/sync/android/java/src/org/chromium/sync/SyncContentResolverDelegate.java @@ -7,6 +7,7 @@ package org.chromium.sync; import android.accounts.Account; import android.content.SyncStatusObserver; +import android.os.Bundle; /** * Since the ContentResolver in Android has a lot of static methods, it is hard to @@ -30,4 +31,6 @@ public interface SyncContentResolverDelegate { void setIsSyncable(Account account, String authority, int syncable); int getIsSyncable(Account account, String authority); + + void removePeriodicSync(Account account, String authority, Bundle extras); } diff --git a/sync/android/java/src/org/chromium/sync/SystemSyncContentResolverDelegate.java b/sync/android/java/src/org/chromium/sync/SystemSyncContentResolverDelegate.java index 9e8cd7d..6d790da 100644 --- a/sync/android/java/src/org/chromium/sync/SystemSyncContentResolverDelegate.java +++ b/sync/android/java/src/org/chromium/sync/SystemSyncContentResolverDelegate.java @@ -8,6 +8,7 @@ package org.chromium.sync; import android.accounts.Account; import android.content.ContentResolver; import android.content.SyncStatusObserver; +import android.os.Bundle; /** * A SyncContentResolverDelegate that simply forwards calls to ContentResolver. @@ -53,4 +54,9 @@ public class SystemSyncContentResolverDelegate implements SyncContentResolverDel public int getIsSyncable(Account account, String authority) { return ContentResolver.getIsSyncable(account, authority); } + + @Override + public void removePeriodicSync(Account account, String authority, Bundle extras) { + ContentResolver.removePeriodicSync(account, authority, extras); + } } |