diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderLoadingContainer.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderLoadingContainer.kt index e14807717..ca85a41fd 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderLoadingContainer.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReaderLoadingContainer.kt @@ -130,7 +130,6 @@ fun WebReaderLoadingContainer(slug: String? = null, requestID: String? = null, val currentTheme = Themes.values().find { it.themeKey == currentThemeKey.value } val webReaderParams: WebReaderParams? by webReaderViewModel.webReaderParamsLiveData.observeAsState(null) - val annotation: String? by webReaderViewModel.annotationLiveData.observeAsState(null) val shouldPopView: Boolean by webReaderViewModel.shouldPopViewLiveData.observeAsState(false) val toolbarHeightPx: Float by webReaderViewModel.currentToolbarHeightLiveData.observeAsState(0.0f) @@ -227,7 +226,7 @@ fun WebReaderLoadingContainer(slug: String? = null, requestID: String? = null, } } BottomSheetState.HIGHLIGHTNOTE -> { - annotation?.let { annotation -> + webReaderViewModel.annotation?.let { annotation -> BottomSheetUI(title = "Note") { AnnotationEditView( initialAnnotation = annotation, 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 fb96c4dc1..c4d124b77 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 @@ -59,7 +59,7 @@ class WebReaderViewModel @Inject constructor( var maxToolbarHeightPx = 0.0f val webReaderParamsLiveData = MutableLiveData(null) - val annotationLiveData = MutableLiveData(null) + var annotation: String? = null val javascriptActionLoopUUIDLiveData = MutableLiveData(lastJavascriptActionLoopUUID) val shouldPopViewLiveData = MutableLiveData(false) val hasFetchError = MutableLiveData(false) @@ -237,10 +237,10 @@ class WebReaderViewModel @Inject constructor( } "annotate" -> { viewModelScope.launch { - val annotation = Gson() + val annotationStr = Gson() .fromJson(jsonString, AnnotationWebViewMessage::class.java) .annotation ?: "" - annotationLiveData.value = annotation + annotation = annotationStr bottomSheetStateLiveData.postValue(BottomSheetState.HIGHLIGHTNOTE) } } @@ -270,7 +270,8 @@ class WebReaderViewModel @Inject constructor( } fun cancelAnnotationEdit() { - annotationLiveData.value = null + annotation = null + resetBottomSheet() } private fun enqueueScript(javascript: String) {