Merge "Add account type check for invisible sync adapters."
This commit is contained in:
@@ -81,7 +81,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user