|
|
@ -16,7 +16,6 @@ import io.legado.app.utils.BitmapUtils |
|
|
|
import io.legado.app.utils.FileUtils |
|
|
|
import io.legado.app.utils.FileUtils |
|
|
|
import io.legado.app.utils.isXml |
|
|
|
import io.legado.app.utils.isXml |
|
|
|
import kotlinx.coroutines.Dispatchers.IO |
|
|
|
import kotlinx.coroutines.Dispatchers.IO |
|
|
|
import kotlinx.coroutines.runBlocking |
|
|
|
|
|
|
|
import kotlinx.coroutines.withContext |
|
|
|
import kotlinx.coroutines.withContext |
|
|
|
import splitties.init.appCtx |
|
|
|
import splitties.init.appCtx |
|
|
|
import java.io.File |
|
|
|
import java.io.File |
|
|
@ -108,14 +107,11 @@ object ImageProvider { |
|
|
|
book: Book, |
|
|
|
book: Book, |
|
|
|
src: String, |
|
|
|
src: String, |
|
|
|
width: Int, |
|
|
|
width: Int, |
|
|
|
height: Int? = null, |
|
|
|
height: Int? = null |
|
|
|
bookSource: BookSource? = null |
|
|
|
|
|
|
|
): Bitmap { |
|
|
|
): Bitmap { |
|
|
|
val cacheBitmap = bitmapLruCache.get(src) |
|
|
|
val cacheBitmap = bitmapLruCache.get(src) |
|
|
|
if (cacheBitmap != null) return cacheBitmap |
|
|
|
if (cacheBitmap != null) return cacheBitmap |
|
|
|
val vFile = runBlocking { |
|
|
|
val vFile = BookHelp.getImage(book, src) |
|
|
|
cacheImage(book, src, bookSource) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Suppress("BlockingMethodInNonBlockingContext") |
|
|
|
@Suppress("BlockingMethodInNonBlockingContext") |
|
|
|
return kotlin.runCatching { |
|
|
|
return kotlin.runCatching { |
|
|
|
val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height) |
|
|
|
val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height) |
|
|
|