diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 2e69e743..56aa008e 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -14,6 +14,7 @@
+
diff --git a/lobsters-api/build.gradle b/lobsters-api/build.gradle
index 59b77399..d9cc1331 100644
--- a/lobsters-api/build.gradle
+++ b/lobsters-api/build.gradle
@@ -6,9 +6,7 @@ plugins {
dependencies {
def moshi_version = "1.9.3"
def retrofit_version = "2.9.0"
- kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
- implementation "com.squareup.moshi:moshi:$moshi_version"
- implementation "com.squareup.moshi:moshi-kotlin:$moshi_version"
+ implementation project(":model")
implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version"
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
kaptTest "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
diff --git a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/LobstersApi.kt b/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/LobstersApi.kt
index d4974963..5422bc7a 100644
--- a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/LobstersApi.kt
+++ b/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/LobstersApi.kt
@@ -1,10 +1,10 @@
package dev.msfjarvis.lobsters.api
-import dev.msfjarvis.lobsters.api.model.LobstersPost
+import dev.msfjarvis.lobsters.model.LobstersPost
import retrofit2.Call
import retrofit2.http.GET
interface LobstersApi {
@GET("hottest.json")
- fun getHottestPosts(): Call>
+ fun getHottestPosts(): Call>
}
diff --git a/lobsters-api/src/test/java/dev/msfjarvis/lobsters/api/LobstersApiTest.kt b/lobsters-api/src/test/java/dev/msfjarvis/lobsters/api/LobstersApiTest.kt
index f9c14cbb..2e0305b7 100644
--- a/lobsters-api/src/test/java/dev/msfjarvis/lobsters/api/LobstersApiTest.kt
+++ b/lobsters-api/src/test/java/dev/msfjarvis/lobsters/api/LobstersApiTest.kt
@@ -1,6 +1,6 @@
package dev.msfjarvis.lobsters.api
-import dev.msfjarvis.lobsters.api.model.LobstersPost
+import dev.msfjarvis.lobsters.model.LobstersPost
import okhttp3.mockwebserver.Dispatcher
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
@@ -31,17 +31,17 @@ class LobstersApiTest {
@Test
fun `api gets correct number of items`() {
- apiClient.getHottestPosts().enqueue(object : Callback> {
+ apiClient.getHottestPosts().enqueue(object : Callback> {
override fun onResponse(
- call: Call>,
- response: Response>
+ call: Call>,
+ response: Response>
) {
val posts = response.body()
require(posts != null)
assertEquals(25, posts.size)
}
- override fun onFailure(call: Call>, t: Throwable) {
+ override fun onFailure(call: Call>, t: Throwable) {
fail("Call cannot fail in tests")
}
})
diff --git a/model/.gitignore b/model/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/model/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/model/build.gradle b/model/build.gradle
new file mode 100644
index 00000000..1aad249d
--- /dev/null
+++ b/model/build.gradle
@@ -0,0 +1,11 @@
+plugins {
+ id 'kotlin-android'
+ id 'kotlin-kapt'
+}
+
+dependencies {
+ def moshi_version = "1.9.3"
+ kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
+ implementation "com.squareup.moshi:moshi:$moshi_version"
+ implementation "com.squareup.moshi:moshi-kotlin:$moshi_version"
+}
diff --git a/model/src/main/AndroidManifest.xml b/model/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..572208c0
--- /dev/null
+++ b/model/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/KeybaseSignature.kt b/model/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt
similarity index 85%
rename from lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/KeybaseSignature.kt
rename to model/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt
index d3ab83cc..6002a693 100644
--- a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/KeybaseSignature.kt
+++ b/model/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt
@@ -1,4 +1,4 @@
-package dev.msfjarvis.lobsters.api.model
+package dev.msfjarvis.lobsters.model
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
diff --git a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/LobstersPost.kt b/model/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt
similarity index 93%
rename from lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/LobstersPost.kt
rename to model/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt
index 19e5fbd7..ed0496c0 100644
--- a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/LobstersPost.kt
+++ b/model/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt
@@ -1,4 +1,4 @@
-package dev.msfjarvis.lobsters.api.model
+package dev.msfjarvis.lobsters.model
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
diff --git a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/Submitter.kt b/model/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt
similarity index 94%
rename from lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/Submitter.kt
rename to model/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt
index 06136f14..929bc520 100644
--- a/lobsters-api/src/main/java/dev/msfjarvis/lobsters/api/model/Submitter.kt
+++ b/model/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt
@@ -1,4 +1,4 @@
-package dev.msfjarvis.lobsters.api.model
+package dev.msfjarvis.lobsters.model
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
diff --git a/settings.gradle b/settings.gradle
index 7bbae65a..f1785d43 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,3 +2,4 @@ rootProject.name = "lobste.rs"
include ':app'
include ':data'
include ':lobsters-api'
+include ':model'