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

Commit a6f75dc5 authored by cketti's avatar cketti
Browse files

Remove StoreConfig.getMaximumAutoDownloadMessageSize()

parent d7d1fe0c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -562,7 +562,8 @@ public class MessagingController {
            LocalMessage localMessage = localFolder.getMessage(messageServerId);

            if (localMessage == null) {
                Message message = backend.fetchMessage(folderServerId, messageServerId, fetchProfile);
                int maxDownloadSize = account.getMaximumAutoDownloadMessageSize();
                Message message = backend.fetchMessage(folderServerId, messageServerId, fetchProfile, maxDownloadSize);
                localFolder.appendMessages(Collections.singletonList(message));
            }
        }
@@ -1259,7 +1260,8 @@ public class MessagingController {
                    FetchProfile fp = new FetchProfile();
                    fp.add(FetchProfile.Item.BODY);
                    fp.add(FetchProfile.Item.FLAGS);
                    Message remoteMessage = backend.fetchMessage(folder, uid, fp);
                    int maxDownloadSize = account.getMaximumAutoDownloadMessageSize();
                    Message remoteMessage = backend.fetchMessage(folder, uid, fp, maxDownloadSize);
                    localFolder.appendMessages(Collections.singletonList(remoteMessage));
                }

+6 −3
Original line number Diff line number Diff line
@@ -269,7 +269,8 @@ public class MessagingControllerTest extends K9RobolectricTest {
        }).when(backend).fetchMessage(
            eq(FOLDER_NAME),
            eq("newMessageUid2"),
            any(FetchProfile.class));
            any(FetchProfile.class),
            eq(MAXIMUM_SMALL_MESSAGE_SIZE));
        reqFlags = Collections.singleton(Flag.ANSWERED);
        forbiddenFlags = Collections.singleton(Flag.DELETED);

@@ -327,7 +328,8 @@ public class MessagingControllerTest extends K9RobolectricTest {

        controller.searchRemoteMessagesSynchronous(ACCOUNT_UUID, FOLDER_NAME, "query", reqFlags, forbiddenFlags, listener);

        verify(backend).fetchMessage(eq(FOLDER_NAME), eq("newMessageUid2"), fetchProfileCaptor.capture());
        verify(backend).fetchMessage(eq(FOLDER_NAME), eq("newMessageUid2"), fetchProfileCaptor.capture(),
                eq(MAXIMUM_SMALL_MESSAGE_SIZE));
    }

    @Test
@@ -336,7 +338,8 @@ public class MessagingControllerTest extends K9RobolectricTest {

        controller.searchRemoteMessagesSynchronous(ACCOUNT_UUID, FOLDER_NAME, "query", reqFlags, forbiddenFlags, listener);

        verify(backend, never()).fetchMessage(eq(FOLDER_NAME), eq("newMessageUid1"), fetchProfileCaptor.capture());
        verify(backend, never()).fetchMessage(eq(FOLDER_NAME), eq("newMessageUid1"), fetchProfileCaptor.capture(),
                eq(MAXIMUM_SMALL_MESSAGE_SIZE));
    }

    @Test
+6 −1
Original line number Diff line number Diff line
@@ -76,7 +76,12 @@ interface Backend {
    ): List<String>

    @Throws(MessagingException::class)
    fun fetchMessage(folderServerId: String, messageServerId: String, fetchProfile: FetchProfile): Message
    fun fetchMessage(
        folderServerId: String,
        messageServerId: String,
        fetchProfile: FetchProfile,
        maxDownloadSize: Int
    ): Message

    @Throws(MessagingException::class)
    fun fetchPart(folderServerId: String, messageServerId: String, part: Part, bodyFactory: BodyFactory)
+17 −7
Original line number Diff line number Diff line
@@ -10,7 +10,12 @@ import com.fsck.k9.mail.store.imap.ImapStore

internal class CommandFetchMessage(private val imapStore: ImapStore) {

    fun fetchMessage(folderServerId: String, messageServerId: String, fetchProfile: FetchProfile): Message {
    fun fetchMessage(
        folderServerId: String,
        messageServerId: String,
        fetchProfile: FetchProfile,
        maxDownloadSize: Int
    ): Message {
        val folder = imapStore.getFolder(folderServerId)
        try {
            folder.open(ImapFolder.OPEN_MODE_RO)
@@ -23,10 +28,10 @@ internal class CommandFetchMessage(private val imapStore: ImapStore) {
                val headerFetchProfile = fetchProfile.without(FetchProfile.Item.STRUCTURE)
                val structureFetchProfile = FetchProfile().apply { add(FetchProfile.Item.STRUCTURE) }

                fetchMessage(folder, message, headerFetchProfile)
                fetchMessage(folder, message, structureFetchProfile)
                fetchMessage(folder, message, headerFetchProfile, maxDownloadSize)
                fetchMessage(folder, message, structureFetchProfile, maxDownloadSize)
            } else {
                fetchMessage(folder, message, fetchProfile)
                fetchMessage(folder, message, fetchProfile, maxDownloadSize)
            }

            return message
@@ -41,14 +46,19 @@ internal class CommandFetchMessage(private val imapStore: ImapStore) {
            folder.open(ImapFolder.OPEN_MODE_RW)

            val message = folder.getMessage(messageServerId)
            folder.fetchPart(message, part, null, bodyFactory)
            folder.fetchPart(message, part, null, bodyFactory, -1)
        } finally {
            folder.close()
        }
    }

    private fun fetchMessage(remoteFolder: ImapFolder, message: ImapMessage, fetchProfile: FetchProfile) {
        remoteFolder.fetch(listOf(message), fetchProfile, null)
    private fun fetchMessage(
        remoteFolder: ImapFolder,
        message: ImapMessage,
        fetchProfile: FetchProfile,
        maxDownloadSize: Int
    ) {
        remoteFolder.fetch(listOf(message), fetchProfile, null, maxDownloadSize)
    }

    private fun FetchProfile.without(item: FetchProfile.Item) = FetchProfile().apply {
+2 −2
Original line number Diff line number Diff line
@@ -190,8 +190,8 @@ public class ImapBackend implements Backend {
    @NotNull
    @Override
    public Message fetchMessage(@NotNull String folderServerId, @NotNull String messageServerId,
            @NotNull FetchProfile fetchProfile) throws MessagingException {
        return commandFetchMessage.fetchMessage(folderServerId, messageServerId, fetchProfile);
            @NotNull FetchProfile fetchProfile, int maxDownloadSize) {
        return commandFetchMessage.fetchMessage(folderServerId, messageServerId, fetchProfile, maxDownloadSize);
    }

    @Override
Loading