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) {
}
// 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);
+ }
}
}
}
} else {
// keep track of invisible sync adapters, so sync now forces
// them to sync as well.
- mInvisibleAdapters.add(sa.authority);
+ mInvisibleAdapters.add(sa);
}
}