From 77f0310bd24f9afb9385e7cddc4b68cb3006ec15 Mon Sep 17 00:00:00 2001 From: Iamlooker Date: Sun, 10 Apr 2022 19:49:35 +0530 Subject: [PATCH] Fix ScreenshotList.kt --- .../ui/compose/components/ScreenshotList.kt | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/com/looker/droidify/ui/compose/components/ScreenshotList.kt b/src/main/kotlin/com/looker/droidify/ui/compose/components/ScreenshotList.kt index 87d98ddb..164ed6d1 100644 --- a/src/main/kotlin/com/looker/droidify/ui/compose/components/ScreenshotList.kt +++ b/src/main/kotlin/com/looker/droidify/ui/compose/components/ScreenshotList.kt @@ -8,22 +8,30 @@ import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.runtime.* import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp -import androidx.core.net.toUri +import com.looker.droidify.database.entity.Repository import com.looker.droidify.entity.Screenshot +import com.looker.droidify.network.CoilDownloader import com.looker.droidify.ui.compose.theme.LocalShapes import com.looker.droidify.ui.compose.utils.NetworkImage +data class ScreenshotItem( + val screenShot: Screenshot, + val repository: Repository, + val packageName: String +) + +fun Screenshot.toScreenshotItem(packageName: String, repository: Repository) = + ScreenshotItem(this, repository, packageName) + @Composable fun ScreenshotList( modifier: Modifier = Modifier, - screenShots: List, - onScreenShotClick: (Screenshot) -> Unit + screenShots: List, + onScreenShotClick: (Screenshot) -> Unit = {} ) { val screenShotList by remember { mutableStateOf(screenShots) } LazyRow( @@ -31,13 +39,24 @@ fun ScreenshotList( horizontalArrangement = Arrangement.spacedBy(8.dp) ) { items(screenShotList) { + + var image by remember { mutableStateOf(null) } + + SideEffect { + image = CoilDownloader.createScreenshotUri( + it.repository, + it.packageName, + it.screenShot + ).toString() + } + NetworkImage( modifier = Modifier .wrapContentWidth() - .requiredHeight(120.dp) - .clickable { onScreenShotClick(it) }, - data = it.path, - shape = RoundedCornerShape(LocalShapes.current.large) + .requiredHeight(300.dp) + .clip(RoundedCornerShape(LocalShapes.current.large)) + .clickable { onScreenShotClick(it.screenShot) }, + data = image ) } }