summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/SyncManager.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index 1e590f0f9e8b..7859d5a2fb29 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -583,13 +583,8 @@ class SyncManager implements OnAccountsUpdatedListener {
return;
}
- if (!getConnectivityManager().getBackgroundDataSetting()) {
- if (isLoggable) {
- Log.v(TAG, "not syncing because background data usage isn't allowed");
- }
- setStatusText("Sync is disabled.");
- return;
- }
+ final boolean backgroundDataUsageAllowed =
+ getConnectivityManager().getBackgroundDataSetting();
if (mAccounts == null) setStatusText("The accounts aren't known yet.");
if (!mDataConnectionIsConnected) setStatusText("No data connection");
@@ -686,7 +681,8 @@ class SyncManager implements OnAccountsUpdatedListener {
} else {
final boolean syncAutomatically = masterSyncAutomatically
&& mSyncStorageEngine.getSyncAutomatically(account, authority);
- boolean syncAllowed = manualSync || syncAutomatically;
+ boolean syncAllowed =
+ manualSync || (backgroundDataUsageAllowed && syncAutomatically);
if (!syncAllowed) {
if (isLoggable) {
Log.d(TAG, "scheduleSync: sync of " + account + ", " + authority