From 203195bc34bb6434747e2b3d39e4c09d7bd0c743 Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Tue, 20 Sep 2022 21:35:45 -0700 Subject: [PATCH] pass labels and highlights to android web reader' --- .../app/omnivore/omnivore/models/Highlight.kt | 14 +++++++++++++ .../omnivore/ui/reader/WebReaderViewModel.kt | 20 ++++++++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 android/Omnivore/app/src/main/java/app/omnivore/omnivore/models/Highlight.kt 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 new file mode 100644 index 000000000..f7c4fe365 --- /dev/null +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/models/Highlight.kt @@ -0,0 +1,14 @@ +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/ui/reader/WebReaderViewModel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderViewModel.kt index 5987887f6..cc717e553 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderViewModel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderViewModel.kt @@ -7,6 +7,7 @@ import app.omnivore.omnivore.Constants import app.omnivore.omnivore.DatastoreKeys import app.omnivore.omnivore.DatastoreRepository 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 com.apollographql.apollo3.ApolloClient @@ -58,6 +59,21 @@ class WebReaderViewModel @Inject constructor( ) } + val highlights = article.highlights.map { + Highlight( + id = it.highlightFields.id, + shortId = it.highlightFields.shortId, + quote = it.highlightFields.quote, + prefix = it.highlightFields.prefix, + suffix = it.highlightFields.suffix, + patch = it.highlightFields.patch, + annotation = it.highlightFields.annotation, + createdAt = null, + updatedAt = it.highlightFields.updatedAt, + createdByMe = it.highlightFields.createdByMe, + ) + } + // TODO: handle errors val linkedItem = LinkedItem( @@ -85,7 +101,7 @@ class WebReaderViewModel @Inject constructor( val articleContent = ArticleContent( title = article.articleFields.title, htmlContent = article.articleFields.content ?: "", - highlightsJSONString = "[]", + highlightsJSONString = Gson().toJson(highlights), contentStatus = "SUCCEEDED", objectID = "", labelsJSONString = Gson().toJson(linkedItemLabels) @@ -99,5 +115,3 @@ class WebReaderViewModel @Inject constructor( webReaderParamsLiveData.value = null } } - -// TODO: add labels and highlights values