Migrate to Coil 2.x
This commit is contained in:
parent
c423aa2fff
commit
6b33d4fcd7
@ -80,8 +80,8 @@ class LauncherApplication : Application(), CoroutineScope, ImageLoaderFactory {
|
|||||||
|
|
||||||
override fun newImageLoader(): ImageLoader {
|
override fun newImageLoader(): ImageLoader {
|
||||||
return ImageLoader.Builder(applicationContext)
|
return ImageLoader.Builder(applicationContext)
|
||||||
.componentRegistry {
|
.components {
|
||||||
add(SvgDecoder(applicationContext))
|
add(SvgDecoder.Factory())
|
||||||
}
|
}
|
||||||
.crossfade(true)
|
.crossfade(true)
|
||||||
.crossfade(200)
|
.crossfade(200)
|
||||||
|
|||||||
@ -250,7 +250,7 @@ dependencyResolutionManagement {
|
|||||||
|
|
||||||
alias("okhttp")
|
alias("okhttp")
|
||||||
.to("com.squareup.okhttp3", "okhttp")
|
.to("com.squareup.okhttp3", "okhttp")
|
||||||
.version("4.9.1")
|
.version("4.10.0")
|
||||||
|
|
||||||
alias("retrofit.core")
|
alias("retrofit.core")
|
||||||
.to("com.squareup.retrofit2", "retrofit")
|
.to("com.squareup.retrofit2", "retrofit")
|
||||||
@ -266,7 +266,7 @@ dependencyResolutionManagement {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
version("coil", "1.4.0")
|
version("coil", "2.1.0")
|
||||||
alias("coil.core")
|
alias("coil.core")
|
||||||
.to("io.coil-kt", "coil")
|
.to("io.coil-kt", "coil")
|
||||||
.versionRef("coil")
|
.versionRef("coil")
|
||||||
|
|||||||
@ -38,7 +38,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import coil.compose.rememberImagePainter
|
import coil.compose.AsyncImage
|
||||||
import de.mm20.launcher2.ktx.tryStartActivity
|
import de.mm20.launcher2.ktx.tryStartActivity
|
||||||
import de.mm20.launcher2.preferences.LauncherDataStore
|
import de.mm20.launcher2.preferences.LauncherDataStore
|
||||||
import de.mm20.launcher2.preferences.Settings.SearchBarSettings
|
import de.mm20.launcher2.preferences.Settings.SearchBarSettings
|
||||||
@ -332,9 +332,9 @@ fun SearchBar(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Image(
|
AsyncImage(
|
||||||
modifier = Modifier.size(24.dp),
|
modifier = Modifier.size(24.dp),
|
||||||
painter = rememberImagePainter(File(icon)),
|
model = File(icon),
|
||||||
contentDescription = null
|
contentDescription = null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import coil.compose.rememberImagePainter
|
import coil.compose.rememberAsyncImagePainter
|
||||||
import com.google.accompanist.flowlayout.FlowRow
|
import com.google.accompanist.flowlayout.FlowRow
|
||||||
import de.mm20.launcher2.search.data.Application
|
import de.mm20.launcher2.search.data.Application
|
||||||
import de.mm20.launcher2.ui.R
|
import de.mm20.launcher2.ui.R
|
||||||
@ -101,11 +101,8 @@ fun AppItem(
|
|||||||
|
|
||||||
val icon =
|
val icon =
|
||||||
remember { not.notification.smallIcon?.loadDrawable(context) }?.let {
|
remember { not.notification.smallIcon?.loadDrawable(context) }?.let {
|
||||||
rememberImagePainter(
|
rememberAsyncImagePainter(
|
||||||
it,
|
it
|
||||||
builder = {
|
|
||||||
crossfade(false)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,10 +138,7 @@ fun AppItem(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
?.let {
|
?.let {
|
||||||
rememberImagePainter(it,
|
rememberAsyncImagePainter(it)
|
||||||
builder = {
|
|
||||||
crossfade(false)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Chip(
|
Chip(
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import androidx.compose.ui.layout.ContentScale
|
|||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
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.search.data.Website
|
||||||
import de.mm20.launcher2.ui.component.DefaultToolbarAction
|
import de.mm20.launcher2.ui.component.DefaultToolbarAction
|
||||||
import de.mm20.launcher2.ui.component.Toolbar
|
import de.mm20.launcher2.ui.component.Toolbar
|
||||||
@ -47,15 +47,14 @@ fun WebsiteItem(
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
if (website.image.isNotBlank()) {
|
if (website.image.isNotBlank()) {
|
||||||
Image(
|
AsyncImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.aspectRatio(16f / 9f)
|
.aspectRatio(16f / 9f)
|
||||||
.background(MaterialTheme.colorScheme.secondaryContainer),
|
.background(MaterialTheme.colorScheme.secondaryContainer),
|
||||||
painter = rememberImagePainter(website.image),
|
model = website.image,
|
||||||
contentScale = ContentScale.Crop,
|
contentScale = ContentScale.Crop,
|
||||||
contentDescription = null
|
contentDescription = null)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.padding(16.dp),
|
modifier = Modifier.padding(16.dp),
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package de.mm20.launcher2.ui.launcher.search.wikipedia
|
|||||||
|
|
||||||
import androidx.compose.animation.*
|
import androidx.compose.animation.*
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.foundation.Image
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
import androidx.compose.foundation.layout.*
|
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.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
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.search.data.Wikipedia
|
||||||
import de.mm20.launcher2.ui.R
|
import de.mm20.launcher2.ui.R
|
||||||
import de.mm20.launcher2.ui.component.DefaultToolbarAction
|
import de.mm20.launcher2.ui.component.DefaultToolbarAction
|
||||||
@ -48,12 +47,12 @@ fun WikipediaItem(
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
if (!wikipedia.image.isNullOrEmpty()) {
|
if (!wikipedia.image.isNullOrEmpty()) {
|
||||||
Image(
|
AsyncImage(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.aspectRatio(16f / 9f)
|
.aspectRatio(16f / 9f)
|
||||||
.background(MaterialTheme.colorScheme.secondaryContainer),
|
.background(MaterialTheme.colorScheme.secondaryContainer),
|
||||||
painter = rememberImagePainter(wikipedia.image),
|
model = wikipedia.image,
|
||||||
contentScale = ContentScale.Crop,
|
contentScale = ContentScale.Crop,
|
||||||
contentDescription = null
|
contentDescription = null
|
||||||
)
|
)
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import androidx.compose.ui.layout.ContentScale
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import coil.compose.rememberImagePainter
|
import coil.compose.AsyncImage
|
||||||
import com.godaddy.android.colorpicker.ClassicColorPicker
|
import com.godaddy.android.colorpicker.ClassicColorPicker
|
||||||
import de.mm20.launcher2.search.data.Websearch
|
import de.mm20.launcher2.search.data.Websearch
|
||||||
import de.mm20.launcher2.ui.R
|
import de.mm20.launcher2.ui.R
|
||||||
@ -107,8 +107,8 @@ fun WebsearchPreference(
|
|||||||
?: MaterialTheme.colorScheme.primary,
|
?: MaterialTheme.colorScheme.primary,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Image(
|
AsyncImage(
|
||||||
painter = rememberImagePainter(File(icon)),
|
model = File(icon),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
modifier = Modifier.sizeIn(maxWidth = 24.dp, maxHeight = 24.dp),
|
modifier = Modifier.sizeIn(maxWidth = 24.dp, maxHeight = 24.dp),
|
||||||
contentScale = ContentScale.Inside
|
contentScale = ContentScale.Inside
|
||||||
@ -337,8 +337,8 @@ fun EditWebsearchDialog(
|
|||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
Image(
|
AsyncImage(
|
||||||
painter = rememberImagePainter(icon?.let { File(it) }),
|
model = icon?.let { File(it) },
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(end = 16.dp)
|
.padding(end = 16.dp)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user