refactor: migrate to Coil3

This commit is contained in:
Harsh Shandilya 2024-11-05 13:09:47 +05:30
parent e7e060e324
commit b24a180780
4 changed files with 19 additions and 14 deletions

View file

@ -52,8 +52,8 @@ dependencies {
implementation(libs.androidx.compose.runtime)
implementation(libs.androidx.compose.ui.text)
implementation(libs.androidx.core)
implementation(libs.coil)
implementation(libs.coil.compose)
implementation(libs.coil3.compose)
implementation(libs.coil3.network.okhttp)
implementation(libs.compose.richtext.markdown)
implementation(libs.compose.richtext.material3)
implementation(libs.compose.richtext.ui)

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2022 Harsh Shandilya.
* Copyright © 2022-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -7,10 +7,12 @@
package dev.msfjarvis.claw.common.injection
import android.app.Application
import coil.Coil
import coil.ImageLoader
import coil.disk.DiskCache
import coil.memory.MemoryCache
import coil3.ImageLoader
import coil3.SingletonImageLoader
import coil3.disk.DiskCache
import coil3.disk.directory
import coil3.memory.MemoryCache
import coil3.request.crossfade
import com.deliveryhero.whetstone.app.ApplicationScope
import com.squareup.anvil.annotations.ContributesMultibinding
import dev.msfjarvis.claw.core.injection.AppPlugin
@ -19,9 +21,11 @@ import javax.inject.Inject
@ContributesMultibinding(ApplicationScope::class)
class CoilAppPlugin @Inject constructor() : AppPlugin {
override fun apply(application: Application) {
Coil.setImageLoader {
SingletonImageLoader.setSafe {
ImageLoader.Builder(application)
.memoryCache { MemoryCache.Builder(application).maxSizePercent(MEMORY_CACHE_RATIO).build() }
.memoryCache {
MemoryCache.Builder().maxSizePercent(application, MEMORY_CACHE_RATIO).build()
}
.diskCache {
DiskCache.Builder()
.directory(application.cacheDir.resolve("image_cache"))

View file

@ -1,5 +1,5 @@
/*
* Copyright © 2021-2023 Harsh Shandilya.
* Copyright © 2021-2024 Harsh Shandilya.
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
@ -12,7 +12,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.RenderVectorGroup
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import coil.compose.AsyncImage
import coil3.compose.AsyncImage
@Composable
internal fun NetworkImage(