Spracherkennung für: .kt vermutete Sprache: Fortran {Fortran[10] [0] [0]} [Methode: maximale Elemente, drei Dimensionen]
package com.fsck.k9
import android.app.Application
import androidx.work.WorkManager
import app.k9mail.core.android.common.provider.NotificationIconResourceProvider
import app.k9mail.feature.telemetry.telemetryModule
import app.k9mail.legacy.di.DI
import com.fsck.k9.backend.BackendManager
import com.fsck.k9.controller.ControllerExtension
import com.fsck.k9.crypto.EncryptionExtractor
import com.fsck.k9.notification.NotificationActionCreator
import com.fsck.k9.notification.NotificationResourceProvider
import com.fsck.k9.notification.NotificationStrategy
import com.fsck.k9.notification.TestNotificationIconResourceProvider
import com.fsck.k9.storage.storageModule
import net.thunderbird.core.android.account.AccountDefaultsProvider
import net.thunderbird.core.android.account.LegacyAccountManager
import net.thunderbird.core.android.preferences.TestStoragePersister
import net.thunderbird.components.core.logging.LogLevel
import net.thunderbird.components.core.logging.LogLevelProvider
import net.thunderbird.components.core.logging.Logger
import net.thunderbird.components.core.logging.LoggingControl
import net.thunderbird.core.common.appConfig.PlatformConfigProvider
import net.thunderbird.core.common.inject.factoryListOf
import net.thunderbird.components.core.logging.testing.TestLogger
import net.thunderbird.core.logging.DebugLogConfigurator
import net.thunderbird.core.preference.storage.StoragePersister
import net.thunderbird.feature.account.avatar.AvatarImageRepository
import net.thunderbird.feature.mail.folder.api.OutboxFolderManager
import net.thunderbird.feature.mail.message.list.LocalMessageUidPrefixProvider
import net.thunderbird.feature.mail.message.reader.api.css.CssClassNameProvider
import net.thunderbird.feature.mail.message.reader.api.css.CssStyleProvider
import net.thunderbird.feature.mail.message.reader.api.css.CssVariableNameProvider
import net.thunderbird.legacy.core.FakeAccountDefaultsProvider
import net.thunderbird.legacy.core.mailstore.folder.FakeLocalMessageUidPrefixProvider
import net.thunderbird.legacy.core.mailstore.folder.FakeOutboxFolderManager
import net.thunderbird.legacy.logging.Log
import org.koin.core.qualifier.named
import org.koin.dsl.module
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever
class TestApp : Application() {
override fun onCreate() {
Core.earlyInit()
super.onCreate()
Log.logger = logger
DI.start(
application = this,
modules = legacyCoreModule + storageModule + telemetryModule + testModule,
allowOverride = true,
)
K9.init(this)
Core.init(this)
}
companion object {
val logger: Logger = TestLogger()
}
}
val testModule = module {
single<Logger> { TestApp.logger }
single<LogLevelProvider> { LogLevelProvider { LogLevel.DEBUG } }
single<Logger>(named("syncDebug")) { TestApp.logger }
single<DebugLogConfigurator> { mock() }
single<LoggingControl> { mock() }
single<AppConfig> { DefaultAppConfig(emptyList()) }
single { mock<CoreResourceProvider>() }
single { mock<EncryptionExtractor>() }
single<StoragePersister> { TestStoragePersister(logger = get()) }
single { mock<BackendManager>() }
single { mock<NotificationResourceProvider>() }
single { mock<NotificationActionCreator>() }
single { mock<NotificationStrategy>() }
single(named("controllerExtensions")) { emptyList<ControllerExtension>() }
single<AccountDefaultsProvider> { FakeAccountDefaultsProvider() }
single { mock<WorkManager>() }
single<OutboxFolderManager> { FakeOutboxFolderManager() }
single<LegacyAccountManager> { mock() }
single<AvatarImageRepository> { mock() }
single<NotificationIconResourceProvider> { TestNotificationIconResourceProvider() }
single<PlatformConfigProvider> { FakePlatformConfigProvider() }
single<CssVariableNameProvider> { mock() }
single<CssClassNameProvider> {
mock {
whenever(it.plainTextMessagePreClassName).doReturn("k9mail")
}
}
factoryListOf<CssStyleProvider>()
single<NotificationResourceProvider> { mock() }
single<LocalMessageUidPrefixProvider> { FakeLocalMessageUidPrefixProvider() }
}
class FakePlatformConfigProvider : PlatformConfigProvider {
override val isDebug: Boolean
get() = true
}
[Dauer der Verarbeitung: 0.2 Sekunden, vorverarbeitet 2026-10-25]