diff --git a/android/Omnivore/app/build.gradle b/android/Omnivore/app/build.gradle index e2bbfb484..ec268a033 100644 --- a/android/Omnivore/app/build.gradle +++ b/android/Omnivore/app/build.gradle @@ -15,7 +15,7 @@ android { defaultConfig { applicationId "app.omnivore.omnivore" - minSdk 23 + minSdk 26 targetSdk 33 versionCode 19 versionName "0.0.19" diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/models/Highlight.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/models/Highlight.kt deleted file mode 100644 index 0a7c90423..000000000 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/models/Highlight.kt +++ /dev/null @@ -1,15 +0,0 @@ -package app.omnivore.omnivore.models - -data class Highlight( - val id: String, - val shortId: String, - val quote: String, - val prefix: String?, - val suffix: String?, - val patch: String, - val annotation: String?, - val createdAt: Any?, - val updatedAt: Any?, - val createdByMe : Boolean, -) - diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/HighlightMutations.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/HighlightMutations.kt index 4bc72d7fa..866b694e3 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/HighlightMutations.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/HighlightMutations.kt @@ -8,10 +8,10 @@ import app.omnivore.omnivore.graphql.generated.UpdateHighlightMutation import app.omnivore.omnivore.graphql.generated.type.CreateHighlightInput import app.omnivore.omnivore.graphql.generated.type.MergeHighlightInput import app.omnivore.omnivore.graphql.generated.type.UpdateHighlightInput -import app.omnivore.omnivore.models.Highlight +import app.omnivore.omnivore.persistence.entities.Highlight import com.apollographql.apollo3.api.Optional import com.google.gson.Gson -import com.pspdfkit.annotations.HighlightAnnotation +import java.time.LocalDate data class CreateHighlightParams( val shortId: String?, @@ -137,6 +137,8 @@ suspend fun Networker.createHighlight(input: CreateHighlightInput): Highlight? { val createdHighlight = result.data?.createHighlight?.onCreateHighlightSuccess?.highlight if (createdHighlight != null) { +// val updatedAtString = createdHighlight.highlightFields.updatedAt as? String + return Highlight( id = createdHighlight.highlightFields.id, shortId = createdHighlight.highlightFields.shortId, @@ -146,8 +148,10 @@ suspend fun Networker.createHighlight(input: CreateHighlightInput): Highlight? { patch = createdHighlight.highlightFields.patch, annotation = createdHighlight.highlightFields.annotation, createdAt = null, // TODO: update gql query to get this - updatedAt = createdHighlight.highlightFields.updatedAt, + updatedAt = null, // TODO: fix updatedAtString?.let { LocalDate.parse(it) }, createdByMe = createdHighlight.highlightFields.createdByMe, + markedForDeletion = false, + serverSyncStatus = 1 // TODO: create enum for this ) } else { return null diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/LinkedItemQuery.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/LinkedItemQuery.kt index 79e6c13ad..dbc3d6323 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/LinkedItemQuery.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/networking/LinkedItemQuery.kt @@ -1,9 +1,10 @@ package app.omnivore.omnivore.networking import app.omnivore.omnivore.graphql.generated.GetArticleQuery -import app.omnivore.omnivore.models.Highlight import app.omnivore.omnivore.models.LinkedItem import app.omnivore.omnivore.models.LinkedItemLabel +import app.omnivore.omnivore.persistence.entities.Highlight +import java.time.LocalDate data class LinkedItemQueryResponse( val item: LinkedItem?, @@ -39,6 +40,8 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse { } val highlights = article.highlights.map { +// val updatedAtString = it.highlightFields.updatedAt as? String + Highlight( id = it.highlightFields.id, shortId = it.highlightFields.shortId, @@ -48,8 +51,10 @@ suspend fun Networker.linkedItem(slug: String): LinkedItemQueryResponse { patch = it.highlightFields.patch, annotation = it.highlightFields.annotation, createdAt = null, // TODO: update gql query to get this - updatedAt = it.highlightFields.updatedAt, + updatedAt = null, //updatedAtString?.let { str -> LocalDate.parse(str) }, TODO: fix date parsing createdByMe = it.highlightFields.createdByMe, + markedForDeletion = false, + serverSyncStatus = 1 // TODO: create enum for this ) } diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt index 961c3cbab..3d4dc41c3 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/Highlight.kt @@ -2,6 +2,7 @@ package app.omnivore.omnivore.persistence.entities import androidx.room.Entity import androidx.room.PrimaryKey +import java.time.LocalDate import java.util.Date @Entity @@ -17,7 +18,8 @@ data class Highlight( val serverSyncStatus: Int, // default 0 val shortId: String, val suffix: String?, - val updatedAt: Date? + val updatedAt: LocalDate? // has many LinkedItems and LinkedItemLabels + // has a UserProfile ) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReader.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReader.kt index 65c71ad36..f5e1ef506 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReader.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReader.kt @@ -19,7 +19,7 @@ import androidx.core.content.ContextCompat import androidx.core.graphics.drawable.DrawableCompat import androidx.lifecycle.Observer import app.omnivore.omnivore.R -import app.omnivore.omnivore.models.Highlight +import app.omnivore.omnivore.persistence.entities.Highlight import com.pspdfkit.annotations.Annotation import com.pspdfkit.annotations.HighlightAnnotation import com.pspdfkit.configuration.PdfConfiguration diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReaderViewModel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReaderViewModel.kt index 620e333b0..d8bdeca7d 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReaderViewModel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/PDFReaderViewModel.kt @@ -12,6 +12,7 @@ import app.omnivore.omnivore.graphql.generated.type.MergeHighlightInput import app.omnivore.omnivore.graphql.generated.type.UpdateHighlightInput import app.omnivore.omnivore.models.LinkedItem import app.omnivore.omnivore.networking.* +import app.omnivore.omnivore.persistence.entities.Highlight import com.apollographql.apollo3.api.Optional import com.google.gson.Gson import com.pspdfkit.annotations.Annotation diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderContent.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderContent.kt index 55b1b85de..329dae762 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderContent.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderContent.kt @@ -1,8 +1,8 @@ package app.omnivore.omnivore.ui.reader import android.util.Log -import app.omnivore.omnivore.models.Highlight import app.omnivore.omnivore.models.LinkedItem +import app.omnivore.omnivore.persistence.entities.Highlight import com.google.gson.Gson enum class WebFont(val displayText: String, val rawValue: String) {