From 959f00fe8b207e9317c7bc3d9c90131a7b6ddbf3 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 14 Nov 2023 09:43:06 +0800 Subject: [PATCH] Set highlight position info on Android --- .../app/omnivore/omnivore/ui/reader/PDFReaderViewModel.kt | 6 ++++++ 1 file changed, 6 insertions(+) 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 97c2df4a2..0ead2f553 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 @@ -50,6 +50,7 @@ class PDFReaderViewModel @Inject constructor( var annotationUnderNoteEdit: Annotation? = null val pdfReaderParamsLiveData = MutableLiveData(null) private var currentReadingProgress = 0.0 + private var currentReadingPageIndex = 0 fun loadItem(slug: String, context: Context) { viewModelScope.launch { @@ -109,6 +110,8 @@ class PDFReaderViewModel @Inject constructor( ) currentReadingProgress = article.readingProgress + currentReadingPageIndex = article.readingProgressAnchor + pdfReaderParamsLiveData.postValue( PDFReaderParams( article, @@ -133,6 +136,7 @@ class PDFReaderViewModel @Inject constructor( val rawProgress = ((currentPageIndex + 1).toDouble() / totalPages.toDouble()) * 100 val percent = min(100.0, max(0.0, rawProgress)) currentReadingProgress = percent + currentReadingPageIndex = currentPageIndex viewModelScope.launch { val params = ReadingProgressParams( id = pdfReaderParamsLiveData.value?.item?.savedItemId, @@ -179,6 +183,8 @@ class PDFReaderViewModel @Inject constructor( patch = Optional.presentIfNotNull(newAnnotation.toInstantJson()), quote = Optional.presentIfNotNull(quote), shortId = shortId, + highlightPositionAnchorIndex = Optional.presentIfNotNull(currentReadingPageIndex), + highlightPositionPercent = Optional.presentIfNotNull(currentReadingProgress) ) viewModelScope.launch {