diff options
author | Fred Quintana <fredq@google.com> | 2010-02-16 16:53:44 -0800 |
---|---|---|
committer | Fred Quintana <fredq@google.com> | 2010-02-16 16:53:44 -0800 |
commit | 5ae238080c1a48bd755858332bdae649e3a85231 (patch) | |
tree | eeb8c8f3e82d3d33f50af50bd6295e7ae8ca9f21 | |
parent | 6a10580caf2a9d79fed821f025d6627267cc4fa1 (diff) | |
download | AccountsAndSyncSettings-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.java | 13 | ||||
-rw-r--r-- | src/com/android/settings/ManageAccountsSettings.java | 3 |
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) |