0
0
mirror of https://github.com/thunderbird/thunderbird-android.git synced 2024-09-20 12:12:15 +02:00

Extract values from ServerSettings when creating an IMAP account

This commit is contained in:
cketti 2023-07-17 13:00:51 +02:00
parent 8c35dd5b34
commit 0392f86a63

View File

@ -1,6 +1,7 @@
package com.fsck.k9.account
import android.content.Context
import app.k9mail.core.common.mail.Protocols
import app.k9mail.feature.account.setup.AccountSetupExternalContract
import app.k9mail.feature.account.setup.AccountSetupExternalContract.AccountCreator.AccountCreatorResult
import app.k9mail.feature.account.setup.domain.entity.Account
@ -8,6 +9,11 @@ import com.fsck.k9.Account.FolderMode
import com.fsck.k9.Core
import com.fsck.k9.Preferences
import com.fsck.k9.logging.Timber
import com.fsck.k9.mail.store.imap.ImapStoreSettings.autoDetectNamespace
import com.fsck.k9.mail.store.imap.ImapStoreSettings.createExtra
import com.fsck.k9.mail.store.imap.ImapStoreSettings.isSendClientId
import com.fsck.k9.mail.store.imap.ImapStoreSettings.isUseCompression
import com.fsck.k9.mail.store.imap.ImapStoreSettings.pathPrefix
import com.fsck.k9.mailstore.SpecialLocalFoldersCreator
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
@ -37,7 +43,20 @@ class AccountCreator(
newAccount.email = account.emailAddress
newAccount.incomingServerSettings = account.incomingServerSettings
val incomingServerSettings = account.incomingServerSettings
if (incomingServerSettings.type == Protocols.IMAP) {
newAccount.useCompression = incomingServerSettings.isUseCompression
newAccount.isSendClientIdEnabled = incomingServerSettings.isSendClientId
newAccount.incomingServerSettings = incomingServerSettings.copy(
extra = createExtra(
autoDetectNamespace = incomingServerSettings.autoDetectNamespace,
pathPrefix = incomingServerSettings.pathPrefix,
),
)
} else {
newAccount.incomingServerSettings = incomingServerSettings
}
newAccount.outgoingServerSettings = account.outgoingServerSettings
newAccount.name = account.options.accountName
@ -51,9 +70,7 @@ class AccountCreator(
newAccount.displayCount = account.options.messageDisplayCount
newAccount.folderPushMode = FolderMode.NONE
newAccount.deletePolicy = accountCreatorHelper.getDefaultDeletePolicy(
newAccount.incomingServerSettings.type,
)
newAccount.deletePolicy = accountCreatorHelper.getDefaultDeletePolicy(incomingServerSettings.type)
newAccount.chipColor = accountCreatorHelper.pickColor()
localFoldersCreator.createSpecialLocalFolders(newAccount)