summaryrefslogtreecommitdiffstats
path: root/sync/android/java
diff options
context:
space:
mode:
authormaxbogue <maxbogue@chromium.org>2015-05-19 13:02:46 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-19 20:02:48 +0000
commit20989a55f294c1b1643cbc2b80bf083de1dd7e36 (patch)
treeac7fe9111e6d102705d2679f7b84e7fa3f227e34 /sync/android/java
parent17ec17f1df5f8100af1e3923d40d34e0f931a7a2 (diff)
downloadchromium_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')
-rw-r--r--sync/android/java/src/org/chromium/sync/AndroidSyncSettings.java4
-rw-r--r--sync/android/java/src/org/chromium/sync/SyncContentResolverDelegate.java3
-rw-r--r--sync/android/java/src/org/chromium/sync/SystemSyncContentResolverDelegate.java6
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);
+ }
}