android: use AsyncImage for images

* Coil recommends using clip instead of CircleCropTransformation for compose.
* Enable crossfade by default
* Allow caching images
* Run spotlessApply

Closes #320

Signed-off-by: Rahul Krishna <Rahulkrishna585@gmail.com>
This commit is contained in:
Rahul Krishna 2022-05-07 14:01:19 +05:30 committed by Harsh Shandilya
parent bb2213ff86
commit 642484a9a9
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
4 changed files with 29 additions and 19 deletions

View file

@ -1,31 +1,20 @@
package dev.msfjarvis.claw.common.ui
import androidx.compose.foundation.Image
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import coil.annotation.ExperimentalCoilApi
import coil.compose.rememberAsyncImagePainter
import coil.request.ImageRequest
import coil.transform.CircleCropTransformation
import androidx.compose.ui.draw.clip
import coil.compose.AsyncImage
@Composable
@OptIn(ExperimentalCoilApi::class)
actual fun NetworkImage(
url: String,
contentDescription: String,
modifier: Modifier,
) {
Image(
painter =
rememberAsyncImagePainter(
ImageRequest.Builder(LocalContext.current)
.data(data = url)
.transformations(CircleCropTransformation())
.crossfade(true)
.build()
),
AsyncImage(
model = url,
contentDescription = contentDescription,
modifier = modifier,
modifier = modifier.clip(CircleShape)
)
}