update coil api

This commit is contained in:
Owen LeJeune
2022-03-14 21:31:28 -04:00
parent 4001f2d0ea
commit 1f8eeb6f2b
3 changed files with 57 additions and 77 deletions

View File

@@ -13,16 +13,16 @@ import androidx.compose.material.Card
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.dp
import androidx.core.content.ContextCompat
import coil.compose.rememberImagePainter
import coil.transform.RoundedCornersTransformation
import coil.compose.AsyncImage
import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.rememberPagerState
@@ -157,25 +157,30 @@ fun PosterItem(
.size(width = width, height = height),
shape = RoundedCornerShape(5.dp)
) {
Image(
painter = if (url != null) {
rememberImagePainter(
data = url ?: noDataImage,
builder = {
transformations(RoundedCornersTransformation(5f.dpToPx(context)))
placeholder(placeholder)
}
)
} else {
rememberImagePainter(ContextCompat.getDrawable(context, R.drawable.placeholder))
},
contentDescription = contentDescription,
modifier = Modifier
.size(width = width, height = height)
.clickable(
onClick = onClick
)
)
if (url != null) {
AsyncImage(
modifier = Modifier
.size(width = width, height = height)
.clip(RoundedCornerShape(5f.dpToPx(context)))
.clickable(
onClick = onClick
),
model = url,
placeholder = painterResource(id = placeholder),
contentDescription = contentDescription
)
} else {
Image(
modifier = Modifier
.size(width = width, height = height)
.clip(RoundedCornerShape(5f.dpToPx(context)))
.clickable(
onClick = onClick
),
painter = painterResource(id = noDataImage),
contentDescription = contentDescription
)
}
}
}
@@ -205,36 +210,28 @@ fun BackdropImage(
val pagerState = rememberPagerState()
HorizontalPager(count = collection.backdrops.size, state = pagerState) { page ->
val backdrop = collection.backdrops[page]
Image(
painter = rememberImagePainter(
data = TmdbUtils.getFullBackdropPath(backdrop),
builder = {
placeholder(R.drawable.placeholder)
}
),
AsyncImage(
model = TmdbUtils.getFullBackdropPath(backdrop),
placeholder = painterResource(id = R.drawable.placeholder),
contentDescription = "",
modifier = Modifier.onGloballyPositioned {
sizeImage = it.size
}
modifier = Modifier.onGloballyPositioned { sizeImage = it.size }
)
}
} else {
Image(
painter = if (imageUrl != null) {
rememberImagePainter(
data = imageUrl,
builder = {
placeholder(R.drawable.placeholder)
}
)
} else {
rememberImagePainter(ContextCompat.getDrawable(context, R.drawable.placeholder))
},
contentDescription = contentDescription,
modifier = Modifier.onGloballyPositioned {
sizeImage = it.size
}
)
if (imageUrl != null) {
AsyncImage(
model = imageUrl,
placeholder = painterResource(id = R.drawable.placeholder),
contentDescription = contentDescription,
modifier = Modifier.onGloballyPositioned { sizeImage = it.size }
)
} else {
Image(
painter = painterResource(id = R.drawable.placeholder),
contentDescription = contentDescription,
modifier = Modifier.onGloballyPositioned { sizeImage = it.size }
)
}
}
Box(
modifier = Modifier

View File

@@ -62,8 +62,7 @@ import androidx.compose.ui.viewinterop.AndroidView
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import androidx.core.text.HtmlCompat
import coil.compose.rememberImagePainter
import coil.transform.CircleCropTransformation
import coil.compose.AsyncImage
import com.google.accompanist.flowlayout.FlowRow
import com.owenlejeune.tvtime.R
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.AuthorDetails
@@ -545,20 +544,14 @@ fun FullScreenThumbnailVideoPlayer(
val showFullscreenView = remember { mutableStateOf(false) }
Image(
AsyncImage(
modifier = modifier
.clickable(
onClick = {
showFullscreenView.value = true
}
onClick = { showFullscreenView.value = true }
),
painter = rememberImagePainter(
data = "https://img.youtube.com/vi/${key}/hqdefault.jpg",
builder = {
placeholder(R.drawable.placeholder)
}
),
contentDescription = ""
model = "https://img.youtube.com/vi/${key}/hqdefault.jpg",
contentDescription = "",
placeholder = painterResource(id = R.drawable.placeholder)
)
if (showFullscreenView.value) {
@@ -694,14 +687,9 @@ fun AvatarImage(
modifier: Modifier = Modifier
) {
if (author.avatarPath != null) {
Image(
modifier = modifier.size(size),
painter = rememberImagePainter(
data = TmdbUtils.getFullAvatarPath(author),
builder = {
transformations(CircleCropTransformation())
}
),
AsyncImage(
modifier = modifier.size(size).clip(CircleShape),
model = TmdbUtils.getFullAvatarPath(author),
contentDescription = ""
)
} else {

View File

@@ -1,6 +1,5 @@
package com.owenlejeune.tvtime.ui.screens.tabs.bottom
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -23,7 +22,6 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.navigation.NavHostController
import coil.compose.AsyncImage
import coil.compose.rememberImagePainter
import com.google.accompanist.pager.ExperimentalPagerApi
import com.google.accompanist.pager.HorizontalPager
import com.google.accompanist.pager.PagerState
@@ -208,13 +206,10 @@ private fun MediaItemRow(
}
)
) {
Image(
AsyncImage(
modifier = Modifier
.width(60.dp)
.height(80.dp),
painter = rememberImagePainter(
data = posterPath
),
.size(width = 60.dp, height = 80.dp),
model = posterPath,
contentDescription = ""
)