Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4dbaf4ab authored by cketti's avatar cketti
Browse files

Access database in background thread when loading more messages

parent f6de8458
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -506,8 +506,11 @@ public class MessagingController {
        }
    }

    public void loadMoreMessages(Account account, long folderId) {
        putBackground("loadMoreMessages", null, () -> loadMoreMessagesSynchronous(account, folderId));
    }

    public void loadMoreMessages(Account account, long folderId, MessagingListener listener) {
    public void loadMoreMessagesSynchronous(Account account, long folderId) {
        MessageStore messageStore = messageStoreManager.getMessageStore(account);
        Integer visibleLimit = messageStore.getFolder(folderId, FolderDetailsAccessor::getVisibleLimit);
        if (visibleLimit == null) {
@@ -520,7 +523,7 @@ public class MessagingController {
            messageStore.setVisibleLimit(folderId, newVisibleLimit);
        }

        synchronizeMailbox(account, folderId, false, listener);
        synchronizeMailboxSynchronous(account, folderId, false, null, new NotificationState());
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -485,7 +485,7 @@ class MessageListFragment :

        if (currentFolder.moreMessages && !localSearch.isManualSearch) {
            val folderId = currentFolder.databaseId
            messagingController.loadMoreMessages(account, folderId, null)
            messagingController.loadMoreMessages(account, folderId)
        } else if (isRemoteSearch) {
            val additionalSearchResults = extraSearchResults ?: return
            if (additionalSearchResults.isEmpty()) return