From 23366c8ea19660d7d873ccc931a00cadc2e75d79 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 3 Jul 2023 20:35:04 +0800 Subject: [PATCH] Workaround ComposeView in RVView --- app/src/main/java/com/hippo/ehviewer/ui/main/GalleryInfo.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/main/GalleryInfo.kt b/app/src/main/java/com/hippo/ehviewer/ui/main/GalleryInfo.kt index b93bd1f35..97db54423 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/main/GalleryInfo.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/main/GalleryInfo.kt @@ -111,7 +111,9 @@ fun GalleryInfoListItem( bottom.linkTo(if (showFav) favRef.top else postedRef.top) }, ) { - val download by produceState(DownloadManager.containDownloadInfo(info.gid)) { + val download by produceState(DownloadManager.containDownloadInfo(info.gid), info.gid) { + // Workaround ComposeView in RecyclerView, since view is reused, remembered value will not update when setContent with similar @Composable lambda, since composer group key is the same + value = DownloadManager.containDownloadInfo(info.gid) DownloadManager.stateFlow(info.gid).collect { value = DownloadManager.containDownloadInfo(info.gid) }