summaryrefslogtreecommitdiff
path: root/app/k9mail/src/debug/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/k9mail/src/debug/java')
-rw-r--r--app/k9mail/src/debug/java/app/k9mail/dev/DebugConfig.kt12
-rw-r--r--app/k9mail/src/debug/java/app/k9mail/dev/DemoBackendFactory.kt14
2 files changed, 26 insertions, 0 deletions
diff --git a/app/k9mail/src/debug/java/app/k9mail/dev/DebugConfig.kt b/app/k9mail/src/debug/java/app/k9mail/dev/DebugConfig.kt
new file mode 100644
index 0000000..6d4b73b
--- /dev/null
+++ b/app/k9mail/src/debug/java/app/k9mail/dev/DebugConfig.kt
@@ -0,0 +1,12 @@
+package app.k9mail.dev
+
+import org.koin.core.module.Module
+import org.koin.core.scope.Scope
+
+fun Scope.developmentBackends() = mapOf(
+ "demo" to get<DemoBackendFactory>()
+)
+
+fun Module.developmentModuleAdditions() {
+ single { DemoBackendFactory(backendStorageFactory = get()) }
+}
diff --git a/app/k9mail/src/debug/java/app/k9mail/dev/DemoBackendFactory.kt b/app/k9mail/src/debug/java/app/k9mail/dev/DemoBackendFactory.kt
new file mode 100644
index 0000000..366fdc6
--- /dev/null
+++ b/app/k9mail/src/debug/java/app/k9mail/dev/DemoBackendFactory.kt
@@ -0,0 +1,14 @@
+package app.k9mail.dev
+
+import app.k9mail.backend.demo.DemoBackend
+import com.fsck.k9.Account
+import com.fsck.k9.backend.BackendFactory
+import com.fsck.k9.backend.api.Backend
+import com.fsck.k9.mailstore.K9BackendStorageFactory
+
+class DemoBackendFactory(private val backendStorageFactory: K9BackendStorageFactory) : BackendFactory {
+ override fun createBackend(account: Account): Backend {
+ val backendStorage = backendStorageFactory.createBackendStorage(account)
+ return DemoBackend(backendStorage)
+ }
+}