更新 google 登录

This commit is contained in:
2024-08-23 18:31:14 +08:00
parent 5e65b7fe4d
commit 2dd2ee0281
21 changed files with 301 additions and 83 deletions

View File

@@ -1,12 +1,45 @@
package com.aiosman.riderpro.ui.composables
import android.content.Context
import android.graphics.Bitmap
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.core.graphics.drawable.toBitmap
import coil.ImageLoader
import coil.compose.AsyncImage
import coil.request.ImageRequest
import coil.request.SuccessResult
import com.aiosman.riderpro.utils.Utils.getImageLoader
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@Composable
fun rememberImageBitmap(imageUrl: String, imageLoader: ImageLoader): Bitmap? {
val context = LocalContext.current
var bitmap by remember { mutableStateOf<Bitmap?>(null) }
LaunchedEffect(imageUrl) {
val request = ImageRequest.Builder(context)
.data(imageUrl)
.crossfade(true)
.build()
val result = withContext(Dispatchers.IO) {
(imageLoader.execute(request) as? SuccessResult)?.drawable?.toBitmap()
}
bitmap = result
}
return bitmap
}
@Composable
fun CustomAsyncImage(
context: Context,
@@ -15,9 +48,10 @@ fun CustomAsyncImage(
modifier: Modifier = Modifier,
contentScale: ContentScale = ContentScale.Crop
) {
val bitmap = rememberImageBitmap(imageUrl, getImageLoader(context))
val imageLoader = getImageLoader(context)
AsyncImage(
model = imageUrl,
model = bitmap,
contentDescription = contentDescription,
modifier = modifier,
contentScale = contentScale,