diff options
Diffstat (limited to 'src/com/android/settings/accounts')
-rw-r--r-- | src/com/android/settings/accounts/AccountSyncSettings.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 715108b..196908e 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -79,7 +79,7 @@ public class AccountSyncSettings extends AccountPreferenceBase { private Account[] mAccounts; private ArrayList<SyncStateCheckBoxPreference> mCheckBoxes = new ArrayList<SyncStateCheckBoxPreference>(); - private ArrayList<String> mInvisibleAdapters = Lists.newArrayList(); + private ArrayList<SyncAdapterType> mInvisibleAdapters = Lists.newArrayList(); @Override public Dialog onCreateDialog(final int id) { @@ -321,8 +321,11 @@ public class AccountSyncSettings extends AccountPreferenceBase { } // plus whatever the system needs to sync, e.g., invisible sync adapters if (mAccount != null) { - for (String authority : mInvisibleAdapters) { - requestOrCancelSync(mAccount, authority, startSync); + for (SyncAdapterType syncAdapter : mInvisibleAdapters) { + // invisible sync adapters' account type should be same as current account type + if (syncAdapter.accountType.equals(mAccount.type)) { + requestOrCancelSync(mAccount, syncAdapter.authority, startSync); + } } } } @@ -452,7 +455,7 @@ public class AccountSyncSettings extends AccountPreferenceBase { } else { // keep track of invisible sync adapters, so sync now forces // them to sync as well. - mInvisibleAdapters.add(sa.authority); + mInvisibleAdapters.add(sa); } } |