[优化] 增加Coil图片组件的SVG、GIF等格式的支持 #698

This commit is contained in:
HapeLee committed 2026-03-10 19:11:54 +08:00
1 parent f363424769
commit 901ff29efd
8 files changed
+95 -57

No files matched your search

+2
View File
@@ -251,6 +251,8 @@ dependencies {
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.coil.compose)
implementation(libs.coil.gif)
implementation(libs.coil.svg)
implementation(libs.accompanist.webview)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.androidx.lifecycle.viewmodel.compose)
@@ -1,5 +1,10 @@
package io.legado.app.di
import android.os.Build
import coil.ImageLoader
import coil.decode.GifDecoder
import coil.decode.ImageDecoderDecoder
import coil.decode.SvgDecoder
import io.legado.app.data.AppDatabase
import io.legado.app.data.repository.BookRepository
import io.legado.app.data.repository.DirectLinkUploadRepository
@@ -9,6 +14,10 @@ import io.legado.app.data.repository.ReadRecordRepository
import io.legado.app.data.repository.RemoteBookRepository
import io.legado.app.data.repository.SearchContentRepository
import io.legado.app.data.repository.UploadRepository
import io.legado.app.help.coil.CoverFetcher
import io.legado.app.help.coil.CoverInterceptor
import io.legado.app.help.http.okHttpClient
import io.legado.app.help.http.okHttpClientManga
import io.legado.app.ui.book.bookmark.AllBookmarkViewModel
import io.legado.app.ui.book.explore.ExploreShowViewModel
import io.legado.app.ui.book.import.remote.RemoteBookViewModel
@@ -44,6 +53,22 @@ val appModule = module {
single<UploadRepository> { DirectLinkUploadRepository() }
single<ExploreRepository> { ExploreRepositoryImpl(get()) }
single<ImageLoader> {
ImageLoader.Builder(get())
.components {
if (Build.VERSION.SDK_INT >= 28) {
add(ImageDecoderDecoder.Factory())
} else {
add(GifDecoder.Factory())
}
add(SvgDecoder.Factory())
add(CoverInterceptor())
add(CoverFetcher.Factory(okHttpClient, okHttpClientManga))
}
.crossfade(true)
.build()
}
viewModelOf(::DictRuleViewModel)
viewModelOf(::RssSourceViewModel)
viewModelOf(::ReadRecordViewModel)
@@ -1,6 +1,7 @@
package io.legado.app.help.coil
import android.net.Uri
import android.util.Base64
import coil.ImageLoader
import coil.decode.DataSource
import coil.decode.ImageSource