From d335afb686013ec16ccf866758e26dd755cdfc7e Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Mon, 9 Aug 2021 10:14:07 +0200
Subject: [PATCH] Move webserver to core

---
 mailbox-android/build.gradle                              | 5 -----
 .../org/briarproject/mailbox/android/MailboxService.kt    | 3 ++-
 mailbox-core/build.gradle                                 | 8 ++++++++
 .../java/org/briarproject/mailbox/core}/server/Routing.kt | 5 ++---
 .../briarproject/mailbox/core}/server/WebServerManager.kt | 8 ++------
 5 files changed, 14 insertions(+), 15 deletions(-)
 rename {mailbox-android/src/main/java/org/briarproject/mailbox/android => mailbox-core/src/main/java/org/briarproject/mailbox/core}/server/Routing.kt (65%)
 rename {mailbox-android/src/main/java/org/briarproject/mailbox/android => mailbox-core/src/main/java/org/briarproject/mailbox/core}/server/WebServerManager.kt (80%)

diff --git a/mailbox-android/build.gradle b/mailbox-android/build.gradle
index 983da37d..ca37ef77 100644
--- a/mailbox-android/build.gradle
+++ b/mailbox-android/build.gradle
@@ -66,11 +66,6 @@ dependencies {
     def multidex_version = "2.0.1"
     implementation "androidx.multidex:multidex:$multidex_version"
 
-    def ktorVersion = '1.6.2'
-    implementation "io.ktor:ktor-server-core:$ktorVersion"
-    implementation "io.ktor:ktor-server-netty:$ktorVersion"
-    implementation "ch.qos.logback:logback-classic:1.2.5"
-
     testImplementation 'junit:junit:4.13.2'
 
     androidTestImplementation 'androidx.test.ext:junit:1.1.3'
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
index 6c9505fc..b3b91e01 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
@@ -7,7 +7,7 @@ import android.os.IBinder
 import androidx.core.content.ContextCompat
 import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.android.MailboxNotificationManager.Companion.NOTIFICATION_MAIN_ID
-import org.briarproject.mailbox.server.WebServerManager
+import org.briarproject.mailbox.core.server.WebServerManager
 import javax.inject.Inject
 
 @AndroidEntryPoint
@@ -27,6 +27,7 @@ class MailboxService : Service() {
 
     @Inject
     internal lateinit var notificationManager: MailboxNotificationManager
+
     @Inject
     internal lateinit var webServerManager: WebServerManager
 
diff --git a/mailbox-core/build.gradle b/mailbox-core/build.gradle
index b6229d20..b61ec076 100644
--- a/mailbox-core/build.gradle
+++ b/mailbox-core/build.gradle
@@ -11,6 +11,14 @@ targetCompatibility = 1.8
 dependencies {
     api "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
 
+    implementation "com.google.dagger:dagger:$hilt_version"
+    kapt "com.google.dagger:dagger-compiler:$hilt_version"
+
+    def ktorVersion = '1.6.2'
+    implementation "io.ktor:ktor-server-core:$ktorVersion"
+    implementation "io.ktor:ktor-server-netty:$ktorVersion"
+    implementation "ch.qos.logback:logback-classic:1.2.5"
+
     testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version"
     testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version"
     testImplementation "org.junit.jupiter:junit-jupiter-engine:$junit_version"
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
similarity index 65%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt
rename to mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
index 0225cdc7..f4c9829b 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/Routing.kt
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
@@ -1,6 +1,5 @@
-package org.briarproject.mailbox.server
+package org.briarproject.mailbox.core.server
 
-import android.os.Build
 import io.ktor.application.Application
 import io.ktor.application.call
 import io.ktor.http.ContentType
@@ -10,6 +9,6 @@ import io.ktor.routing.routing
 
 internal fun Application.configureRouting() = routing {
     get("/") {
-        call.respondText("All good here in ${Build.MODEL}", ContentType.Text.Plain)
+        call.respondText("Hello world!", ContentType.Text.Plain)
     }
 }
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt
similarity index 80%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt
rename to mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt
index 13c5afc2..3466ed1c 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/server/WebServerManager.kt
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/WebServerManager.kt
@@ -1,7 +1,5 @@
-package org.briarproject.mailbox.server
+package org.briarproject.mailbox.core.server
 
-import android.content.Context
-import dagger.hilt.android.qualifiers.ApplicationContext
 import io.ktor.application.install
 import io.ktor.features.CallLogging
 import io.ktor.server.engine.embeddedServer
@@ -14,9 +12,7 @@ import javax.inject.Inject
 import javax.inject.Singleton
 
 @Singleton
-internal class WebServerManager @Inject constructor(
-    @ApplicationContext private val ctx: Context,
-) {
+class WebServerManager @Inject constructor() {
 
     internal companion object {
         private const val PORT = 8888
-- 
GitLab