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:
parent
8c35dd5b34
commit
0392f86a63
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user