From 193821e6e850d1fb76d01e369856a35d00fc9bed Mon Sep 17 00:00:00 2001 From: Zhenguo Fu Date: Fri, 15 Apr 2011 11:24:31 +0800 Subject: Add account type check for invisible sync adapters. The invisible sync adapters array is modified to store the sync adapters instead of their authorities, so that "Sync now" function will only synchronize those with the same account type as the current account. Change-Id: If9b0b32db9828d8671f57a0d7a2f64712a7ebabf --- src/com/android/settings/accounts/AccountSyncSettings.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/com/android/settings/accounts') diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index 82f9844..6847607 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -81,7 +81,7 @@ public class AccountSyncSettings extends AccountPreferenceBase { private Account[] mAccounts; private ArrayList mCheckBoxes = new ArrayList(); - private ArrayList mInvisibleAdapters = Lists.newArrayList(); + private ArrayList 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); + } } } } @@ -449,7 +452,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); } } -- cgit v1.1