Skip polling of on demand accounts

pull/172/head
M66B 6 years ago
parent 8b76023b1b
commit 3ed182530d

@ -37,6 +37,13 @@ public interface DaoAccount {
" ORDER BY `order`, `primary` DESC, name COLLATE NOCASE") " ORDER BY `order`, `primary` DESC, name COLLATE NOCASE")
List<EntityAccount> getSynchronizingAccounts(); List<EntityAccount> getSynchronizingAccounts();
@Query("SELECT * FROM account" +
" WHERE (:id IS NULL OR id = :id)" +
" AND synchronize" +
" AND NOT ondemand" +
" ORDER BY `order`, `primary` DESC, name COLLATE NOCASE")
List<EntityAccount> getPollAccounts(Long id);
@Query("SELECT * FROM account WHERE synchronize") @Query("SELECT * FROM account WHERE synchronize")
LiveData<List<EntityAccount>> liveSynchronizingAccounts(); LiveData<List<EntityAccount>> liveSynchronizingAccounts();

@ -445,9 +445,8 @@ public class ServiceUI extends IntentService {
try { try {
db.beginTransaction(); db.beginTransaction();
List<EntityAccount> accounts = db.account().getSynchronizingAccounts(); List<EntityAccount> accounts = db.account().getPollAccounts(aid < 0 ? null : aid);
for (EntityAccount account : accounts) for (EntityAccount account : accounts) {
if (aid < 0 || account.id.equals(aid)) {
List<EntityFolder> folders = db.folder().getSynchronizingFolders(account.id); List<EntityFolder> folders = db.folder().getSynchronizingFolders(account.id);
if (folders.size() > 0) if (folders.size() > 0)
Collections.sort(folders, folders.get(0).getComparator(this)); Collections.sort(folders, folders.get(0).getComparator(this));

Loading…
Cancel
Save