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
This commit is contained in:
committed by
Johan Redestig
parent
8ad7abbcf6
commit
193821e6e8
@@ -81,7 +81,7 @@ public class AccountSyncSettings extends AccountPreferenceBase {
|
|||||||
private Account[] mAccounts;
|
private Account[] mAccounts;
|
||||||
private ArrayList<SyncStateCheckBoxPreference> mCheckBoxes =
|
private ArrayList<SyncStateCheckBoxPreference> mCheckBoxes =
|
||||||
new ArrayList<SyncStateCheckBoxPreference>();
|
new ArrayList<SyncStateCheckBoxPreference>();
|
||||||
private ArrayList<String> mInvisibleAdapters = Lists.newArrayList();
|
private ArrayList<SyncAdapterType> mInvisibleAdapters = Lists.newArrayList();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(final int id) {
|
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
|
// plus whatever the system needs to sync, e.g., invisible sync adapters
|
||||||
if (mAccount != null) {
|
if (mAccount != null) {
|
||||||
for (String authority : mInvisibleAdapters) {
|
for (SyncAdapterType syncAdapter : mInvisibleAdapters) {
|
||||||
requestOrCancelSync(mAccount, authority, startSync);
|
// 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 {
|
} else {
|
||||||
// keep track of invisible sync adapters, so sync now forces
|
// keep track of invisible sync adapters, so sync now forces
|
||||||
// them to sync as well.
|
// them to sync as well.
|
||||||
mInvisibleAdapters.add(sa.authority);
|
mInvisibleAdapters.add(sa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user