diff --git a/app-feature-preview/src/main/java/app/k9mail/feature/preview/FeatureApplication.kt b/app-feature-preview/src/main/java/app/k9mail/feature/preview/FeatureApplication.kt index 00c415908a..0b8fcaa69b 100644 --- a/app-feature-preview/src/main/java/app/k9mail/feature/preview/FeatureApplication.kt +++ b/app-feature-preview/src/main/java/app/k9mail/feature/preview/FeatureApplication.kt @@ -10,6 +10,7 @@ class FeatureApplication : Application() { super.onCreate() startKoin { + allowOverride(false) androidContext(this@FeatureApplication) modules(featureModule) } diff --git a/app-ui-catalog/src/main/java/app/k9mail/ui/catalog/CatalogApplication.kt b/app-ui-catalog/src/main/java/app/k9mail/ui/catalog/CatalogApplication.kt index f351adcbd8..f0703f6a78 100644 --- a/app-ui-catalog/src/main/java/app/k9mail/ui/catalog/CatalogApplication.kt +++ b/app-ui-catalog/src/main/java/app/k9mail/ui/catalog/CatalogApplication.kt @@ -11,6 +11,7 @@ class CatalogApplication : Application() { super.onCreate() startKoin { + allowOverride(false) androidContext(this@CatalogApplication) modules(catalogUiModule) } diff --git a/app/core/src/main/java/com/fsck/k9/DI.kt b/app/core/src/main/java/com/fsck/k9/DI.kt index 0b36927452..56c1120964 100644 --- a/app/core/src/main/java/com/fsck/k9/DI.kt +++ b/app/core/src/main/java/com/fsck/k9/DI.kt @@ -15,8 +15,10 @@ object DI { private const val DEBUG = false @JvmStatic - fun start(application: Application, modules: List) { + fun start(application: Application, modules: List, allowOverride: Boolean = false) { startKoin { + allowOverride(allowOverride) + if (BuildConfig.DEBUG && DEBUG) { androidLogger() } diff --git a/app/core/src/main/java/com/fsck/k9/KoinModule.kt b/app/core/src/main/java/com/fsck/k9/KoinModule.kt index d3ad9c079c..e5acb60d7f 100644 --- a/app/core/src/main/java/com/fsck/k9/KoinModule.kt +++ b/app/core/src/main/java/com/fsck/k9/KoinModule.kt @@ -10,7 +10,6 @@ import com.fsck.k9.mail.ssl.TrustedSocketFactory import com.fsck.k9.mailstore.LocalStoreProvider import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.GlobalScope -import kotlinx.datetime.Clock import org.koin.core.qualifier.named import org.koin.dsl.module @@ -32,7 +31,6 @@ val mainModule = module { single { TrustManagerFactory.createInstance(get()) } single { LocalKeyStoreManager(get()) } single { DefaultTrustedSocketFactory(get(), get()) } - single { Clock.System } factory { EmailAddressValidator() } factory { ServerSettingsSerializer() } } diff --git a/app/core/src/test/java/com/fsck/k9/TestApp.kt b/app/core/src/test/java/com/fsck/k9/TestApp.kt index 7f6f0f8867..1702a3f319 100644 --- a/app/core/src/test/java/com/fsck/k9/TestApp.kt +++ b/app/core/src/test/java/com/fsck/k9/TestApp.kt @@ -20,7 +20,11 @@ class TestApp : Application() { Core.earlyInit() super.onCreate() - DI.start(this, coreModules + storageModule + testModule) + DI.start( + application = this, + modules = coreModules + storageModule + testModule, + allowOverride = true, + ) K9.init(this) Core.init(this) diff --git a/app/ui/legacy/src/test/java/com/fsck/k9/TestApp.kt b/app/ui/legacy/src/test/java/com/fsck/k9/TestApp.kt index f120993250..9efed4e16b 100644 --- a/app/ui/legacy/src/test/java/com/fsck/k9/TestApp.kt +++ b/app/ui/legacy/src/test/java/com/fsck/k9/TestApp.kt @@ -11,7 +11,11 @@ class TestApp : Application() { Core.earlyInit() super.onCreate() - DI.start(this, coreModules + storageModule + testModule) + DI.start( + application = this, + modules = coreModules + storageModule + testModule, + allowOverride = true, + ) K9.init(this) Core.init(this)