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

Unverified Commit 4b738f78 authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #3732 from k9mail/no_inbox

Allow intermediate states where there's no Inbox folder
parents f168985b 0d6634d5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2727,7 +2727,7 @@ public class MessagingController {
        Folder folder = message.getFolder();
        if (folder != null) {
            String folderServerId = folder.getServerId();
            if (!account.getInboxFolder().equals(folderServerId) &&
            if (!folderServerId.equals(account.getInboxFolder()) &&
                    (folderServerId.equals(account.getTrashFolder())
                            || folderServerId.equals(account.getDraftsFolder())
                            || folderServerId.equals(account.getSpamFolder())
+5 −5
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ public class LocalFolder extends Folder<LocalMessage> {
        super.setType(type);
        attachmentInfoExtractor = localStore.getAttachmentInfoExtractor();

        if (getAccount().getInboxFolder().equals(getServerId())) {
        if (getServerId().equals(getAccount().getInboxFolder())) {
            syncClass =  FolderClass.FIRST_CLASS;
            pushClass =  FolderClass.FIRST_CLASS;
            isInTopGroup = true;
@@ -651,25 +651,25 @@ public class LocalFolder extends Folder<LocalMessage> {
        String id = getPrefId();

        // there can be a lot of folders.  For the defaults, let's not save prefs, saving space, except for INBOX
        if (displayClass == FolderClass.NO_CLASS && !getAccount().getInboxFolder().equals(getServerId())) {
        if (displayClass == FolderClass.NO_CLASS && !getServerId().equals(getAccount().getInboxFolder())) {
            editor.remove(id + ".displayMode");
        } else {
            editor.putString(id + ".displayMode", displayClass.name());
        }

        if (syncClass == FolderClass.INHERITED && !getAccount().getInboxFolder().equals(getServerId())) {
        if (syncClass == FolderClass.INHERITED && !getServerId().equals(getAccount().getInboxFolder())) {
            editor.remove(id + ".syncMode");
        } else {
            editor.putString(id + ".syncMode", syncClass.name());
        }

        if (notifyClass == FolderClass.INHERITED && !getAccount().getInboxFolder().equals(getServerId())) {
        if (notifyClass == FolderClass.INHERITED && !getServerId().equals(getAccount().getInboxFolder())) {
            editor.remove(id + ".notifyMode");
        } else {
            editor.putString(id + ".notifyMode", notifyClass.name());
        }

        if (pushClass == FolderClass.SECOND_CLASS && !getAccount().getInboxFolder().equals(getServerId())) {
        if (pushClass == FolderClass.SECOND_CLASS && !getServerId().equals(getAccount().getInboxFolder())) {
            editor.remove(id + ".pushMode");
        } else {
            editor.putString(id + ".pushMode", pushClass.name());
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ class SpecialFolderUpdater(
    }

    private fun updateInbox(folders: List<Folder>) {
        account.inboxFolder = folders.first { it.type == FolderType.INBOX }.serverId
        account.inboxFolder = folders.firstOrNull { it.type == FolderType.INBOX }?.serverId
    }

    private fun updateSpecialFolder(