summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Quintana <fredq@google.com>2010-02-16 16:53:44 -0800
committerFred Quintana <fredq@google.com>2010-02-16 16:53:44 -0800
commit5ae238080c1a48bd755858332bdae649e3a85231 (patch)
treeeeb8c8f3e82d3d33f50af50bd6295e7ae8ca9f21
parent6a10580caf2a9d79fed821f025d6627267cc4fa1 (diff)
downloadAccountsAndSyncSettings-5ae238080c1a48bd755858332bdae649e3a85231.tar.gz
- fx a bug where an account was marked as syncable if
the only enabled sync adapter was marked as not syncable http://b/2441374 - allow one shot syncing even if the specific sync adapter doesn't have sync enabled. http://b/2403633
-rw-r--r--src/com/android/settings/AccountSyncSettings.java13
-rw-r--r--src/com/android/settings/ManageAccountsSettings.java3
2 files changed, 7 insertions, 9 deletions
diff --git a/src/com/android/settings/AccountSyncSettings.java b/src/com/android/settings/AccountSyncSettings.java
index ea80c46..e42530a 100644
--- a/src/com/android/settings/AccountSyncSettings.java
+++ b/src/com/android/settings/AccountSyncSettings.java
@@ -174,7 +174,7 @@ public class AccountSyncSettings extends AccountPreferenceBase implements OnClic
updateAuthDescriptions();
onAccountsUpdated(AccountManager.get(this).getAccounts());
}
-
+
@Override
protected void onDestroy() {
super.onDestroy();
@@ -239,11 +239,7 @@ public class AccountSyncSettings extends AccountPreferenceBase implements OnClic
Account account = syncPref.getAccount();
boolean syncAutomatically = ContentResolver.getSyncAutomatically(account, authority);
if (syncPref.isOneTimeSyncMode()) {
- if (syncAutomatically) {
- requestOrCancelSync(account, authority, true);
- } else {
- showDialog(CANT_DO_ONETIME_SYNC_DIALOG);
- }
+ requestOrCancelSync(account, authority, true);
} else {
boolean syncOn = syncPref.isChecked();
boolean oldSyncState = syncAutomatically;
@@ -366,8 +362,9 @@ public class AccountSyncSettings extends AccountPreferenceBase implements OnClic
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
final boolean masterSyncAutomatically = ContentResolver.getMasterSyncAutomatically();
final boolean backgroundDataEnabled = connManager.getBackgroundDataSetting();
- syncPref.setOneTimeSyncMode(!masterSyncAutomatically || !backgroundDataEnabled);
- syncPref.setChecked(syncEnabled);
+ final boolean oneTimeSyncMode = !masterSyncAutomatically || !backgroundDataEnabled;
+ syncPref.setOneTimeSyncMode(oneTimeSyncMode);
+ syncPref.setChecked(oneTimeSyncMode || syncEnabled);
}
mErrorInfoView.setVisibility(syncIsFailing ? View.VISIBLE : View.GONE);
}
diff --git a/src/com/android/settings/ManageAccountsSettings.java b/src/com/android/settings/ManageAccountsSettings.java
index 4ffbf71..b9eae2c 100644
--- a/src/com/android/settings/ManageAccountsSettings.java
+++ b/src/com/android/settings/ManageAccountsSettings.java
@@ -191,7 +191,8 @@ public class ManageAccountsSettings extends AccountPreferenceBase implements Vie
SyncStatusInfo status = ContentResolver.getSyncStatus(account, authority);
boolean syncEnabled = ContentResolver.getSyncAutomatically(account, authority)
&& masterSyncAutomatically
- && backgroundDataSetting;
+ && backgroundDataSetting
+ && (ContentResolver.getIsSyncable(account, authority) > 0);
boolean authorityIsPending = ContentResolver.isSyncPending(account, authority);
boolean activelySyncing = activeSyncValues != null
&& activeSyncValues.authority.equals(authority)