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

Commit 932f5f2d authored by cketti's avatar cketti
Browse files

Add 'isDeleteMoveToTrash' flag to Backend

parent cae0e22a
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2179,11 +2179,14 @@ public class MessagingController {
                }
            }

            Backend backend = getBackend(account);

            LocalStore localStore = localStoreProvider.getInstance(account);
            localFolder = localStore.getFolder(folder);
            Map<String, String> uidMap = null;
            if (folder.equals(account.getTrashFolder()) || !account.hasTrashFolder()) {
                Timber.d("Deleting messages in trash folder or trash set to -None-, not copying");
            if (folder.equals(account.getTrashFolder()) || !account.hasTrashFolder() ||
                    !backend.isDeleteMoveToTrash()) {
                Timber.d("Not moving deleted messages to local Trash folder. Removing local copies.");

                if (!localOnlyMessages.isEmpty()) {
                    localFolder.destroyMessages(localOnlyMessages);
@@ -2217,7 +2220,7 @@ public class MessagingController {
                processPendingCommands(account);
            } else if (!syncedMessageUids.isEmpty()) {
                if (account.getDeletePolicy() == DeletePolicy.ON_DELETE) {
                    if (folder.equals(account.getTrashFolder())) {
                    if (folder.equals(account.getTrashFolder()) || !backend.isDeleteMoveToTrash()) {
                        queueSetFlag(account, folder, true, Flag.DELETED, syncedMessageUids);
                    } else {
                        queueMoveOrCopy(account, folder, account.getTrashFolder(), false,
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ interface Backend {
    val supportsTrashFolder: Boolean
    val supportsSearchByDate: Boolean
    val isPushCapable: Boolean
    val isDeleteMoveToTrash: Boolean

    @Throws(MessagingException::class)
    fun refreshFolderList()
+5 −0
Original line number Diff line number Diff line
@@ -102,6 +102,11 @@ public class ImapBackend implements Backend {
        return true;
    }

    @Override
    public boolean isDeleteMoveToTrash() {
        return true;
    }

    @Override
    public void refreshFolderList() {
        commandRefreshFolderList.refreshFolderList();
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ class Pop3Backend(
    override val supportsTrashFolder = false
    override val supportsSearchByDate = false
    override val isPushCapable = false
    override val isDeleteMoveToTrash = false

    override fun refreshFolderList() {
        commandRefreshFolderList.refreshFolderList()
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ class WebDavBackend(
    override val supportsTrashFolder = true
    override val supportsSearchByDate = false
    override val isPushCapable = false
    override val isDeleteMoveToTrash = true

    override fun refreshFolderList() {
        commandGetFolders.refreshFolderList()