Migrate to Coil 2.x

This commit is contained in:
MM20 2022-07-31 22:42:49 +02:00
parent c423aa2fff
commit 6b33d4fcd7
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
7 changed files with 23 additions and 31 deletions

View File

@ -80,8 +80,8 @@ class LauncherApplication : Application(), CoroutineScope, ImageLoaderFactory {
override fun newImageLoader(): ImageLoader {
return ImageLoader.Builder(applicationContext)
.componentRegistry {
add(SvgDecoder(applicationContext))
.components {
add(SvgDecoder.Factory())
}
.crossfade(true)
.crossfade(200)

View File

@ -250,7 +250,7 @@ dependencyResolutionManagement {
alias("okhttp")
.to("com.squareup.okhttp3", "okhttp")
.version("4.9.1")
.version("4.10.0")
alias("retrofit.core")
.to("com.squareup.retrofit2", "retrofit")
@ -266,7 +266,7 @@ dependencyResolutionManagement {
)
)
version("coil", "1.4.0")
version("coil", "2.1.0")
alias("coil.core")
.to("io.coil-kt", "coil")
.versionRef("coil")

View File

@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import coil.compose.rememberImagePainter
import coil.compose.AsyncImage
import de.mm20.launcher2.ktx.tryStartActivity
import de.mm20.launcher2.preferences.LauncherDataStore
import de.mm20.launcher2.preferences.Settings.SearchBarSettings
@ -332,9 +332,9 @@ fun SearchBar(
)
)
} else {
Image(
AsyncImage(
modifier = Modifier.size(24.dp),
painter = rememberImagePainter(File(icon)),
model = File(icon),
contentDescription = null
)
}

View File

@ -21,7 +21,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.core.app.NotificationCompat
import androidx.lifecycle.lifecycleScope
import coil.compose.rememberImagePainter
import coil.compose.rememberAsyncImagePainter
import com.google.accompanist.flowlayout.FlowRow
import de.mm20.launcher2.search.data.Application
import de.mm20.launcher2.ui.R
@ -101,11 +101,8 @@ fun AppItem(
val icon =
remember { not.notification.smallIcon?.loadDrawable(context) }?.let {
rememberImagePainter(
it,
builder = {
crossfade(false)
}
rememberAsyncImagePainter(
it
)
}
@ -141,10 +138,7 @@ fun AppItem(
)
}
?.let {
rememberImagePainter(it,
builder = {
crossfade(false)
})
rememberAsyncImagePainter(it)
}
Chip(

View File

@ -23,7 +23,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import coil.compose.rememberImagePainter
import coil.compose.AsyncImage
import de.mm20.launcher2.search.data.Website
import de.mm20.launcher2.ui.component.DefaultToolbarAction
import de.mm20.launcher2.ui.component.Toolbar
@ -47,15 +47,14 @@ fun WebsiteItem(
}
) {
if (website.image.isNotBlank()) {
Image(
AsyncImage(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(16f / 9f)
.background(MaterialTheme.colorScheme.secondaryContainer),
painter = rememberImagePainter(website.image),
model = website.image,
contentScale = ContentScale.Crop,
contentDescription = null
)
contentDescription = null)
}
Column(
modifier = Modifier.padding(16.dp),

View File

@ -2,7 +2,6 @@ package de.mm20.launcher2.ui.launcher.search.wikipedia
import androidx.compose.animation.*
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -23,7 +22,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import coil.compose.rememberImagePainter
import coil.compose.AsyncImage
import de.mm20.launcher2.search.data.Wikipedia
import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.DefaultToolbarAction
@ -48,12 +47,12 @@ fun WikipediaItem(
}
) {
if (!wikipedia.image.isNullOrEmpty()) {
Image(
AsyncImage(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(16f / 9f)
.background(MaterialTheme.colorScheme.secondaryContainer),
painter = rememberImagePainter(wikipedia.image),
model = wikipedia.image,
contentScale = ContentScale.Crop,
contentDescription = null
)

View File

@ -23,7 +23,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import coil.compose.rememberImagePainter
import coil.compose.AsyncImage
import com.godaddy.android.colorpicker.ClassicColorPicker
import de.mm20.launcher2.search.data.Websearch
import de.mm20.launcher2.ui.R
@ -107,8 +107,8 @@ fun WebsearchPreference(
?: MaterialTheme.colorScheme.primary,
)
} else {
Image(
painter = rememberImagePainter(File(icon)),
AsyncImage(
model = File(icon),
contentDescription = null,
modifier = Modifier.sizeIn(maxWidth = 24.dp, maxHeight = 24.dp),
contentScale = ContentScale.Inside
@ -337,8 +337,8 @@ fun EditWebsearchDialog(
Row(
verticalAlignment = Alignment.CenterVertically
) {
Image(
painter = rememberImagePainter(icon?.let { File(it) }),
AsyncImage(
model = icon?.let { File(it) },
contentDescription = null,
modifier = Modifier
.padding(end = 16.dp)