diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt index 7d755db33..e5d6c8fde 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt @@ -501,8 +501,6 @@ private fun AddedImageFeatures( ImageUrlWithDownloadButton(content.url, showImage) } } else { - var verifiedHash by remember(content.url) { mutableStateOf(null) } - when (painter.value) { null, is AsyncImagePainter.State.Loading, @@ -528,24 +526,32 @@ private fun AddedImageFeatures( } } is AsyncImagePainter.State.Success -> { - if (content.hash != null) { - LaunchedEffect(key1 = content.url) { - launch(Dispatchers.IO) { - val newVerifiedHash = verifyHash(content) - if (newVerifiedHash != verifiedHash) { - verifiedHash = newVerifiedHash - } - } - } - } - - verifiedHash?.let { HashVerificationSymbol(it, verifiedModifier) } + ShowHash(content, verifiedModifier) } else -> {} } } } +@Composable +fun ShowHash( + content: MediaUrlContent, + verifiedModifier: Modifier, +) { + var verifiedHash by remember(content.url) { mutableStateOf(null) } + + if (content.hash != null) { + LaunchedEffect(key1 = content.url) { + val newVerifiedHash = verifyHash(content) + if (newVerifiedHash != verifiedHash) { + verifiedHash = newVerifiedHash + } + } + } + + verifiedHash?.let { HashVerificationSymbol(it, verifiedModifier) } +} + fun aspectRatio(dim: String?): Float? { if (dim == null) return null if (dim == "0x0") return null