11package com.mikepenz.markdown.coil3
22
3- import androidx.compose.runtime.Composable
4- import androidx.compose.runtime.LaunchedEffect
5- import androidx.compose.runtime.collectAsState
6- import androidx.compose.runtime.getValue
7- import androidx.compose.runtime.mutableStateOf
8- import androidx.compose.runtime.remember
9- import androidx.compose.runtime.setValue
3+ import androidx.compose.runtime.*
104import androidx.compose.ui.geometry.Size
115import androidx.compose.ui.graphics.painter.Painter
126import coil3.compose.AsyncImagePainter
@@ -19,7 +13,7 @@ import com.mikepenz.markdown.model.ImageTransformer
1913object Coil3ImageTransformerImpl : ImageTransformer {
2014
2115 @Composable
22- override fun transform (link : String ): ImageData ? {
16+ override fun transform (link : String ): ImageData {
2317 return rememberAsyncImagePainter(
2418 model = ImageRequest .Builder (LocalPlatformContext .current)
2519 .data(link)
@@ -33,13 +27,9 @@ object Coil3ImageTransformerImpl : ImageTransformer {
3327 var size by remember(painter) { mutableStateOf(painter.intrinsicSize) }
3428 if (painter is AsyncImagePainter ) {
3529 val painterState = painter.state.collectAsState()
36- LaunchedEffect (painterState) {
37- painterState.value.painter?.let {
38- size = it.intrinsicSize
39- }
40- }
30+ val intrinsicSize = painterState.value.painter?.intrinsicSize
31+ intrinsicSize?.also { size = it }
4132 }
42-
4333 return size
4434 }
4535}
0 commit comments