|
|
@@ -133,25 +133,20 @@ object ImageProvider {
|
|
|
if (cacheBitmap != null) return cacheBitmap
|
|
|
if (height != null && AppConfig.asyncLoadImage && ReadBook.pageAnim() == PageAnim.scrollPageAnim) {
|
|
|
Coroutine.async {
|
|
|
- kotlin.runCatching {
|
|
|
- val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height)
|
|
|
- ?: throw NoStackTraceException(appCtx.getString(R.string.error_decode_bitmap))
|
|
|
- withContext(Main) {
|
|
|
- bitmapLruCache.put(vFile.absolutePath, bitmap)
|
|
|
- }
|
|
|
- }.onFailure {
|
|
|
- //错误图片占位,防止重复获取
|
|
|
- withContext(Main) {
|
|
|
- bitmapLruCache.put(vFile.absolutePath, errorBitmap)
|
|
|
- }
|
|
|
- putDebug(
|
|
|
- "ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it",
|
|
|
- it
|
|
|
- )
|
|
|
- }
|
|
|
+ val bitmap = BitmapUtils.decodeBitmap(vFile.absolutePath, width, height)
|
|
|
+ ?: throw NoStackTraceException(appCtx.getString(R.string.error_decode_bitmap))
|
|
|
withContext(Main) {
|
|
|
- block?.invoke()
|
|
|
+ bitmapLruCache.put(vFile.absolutePath, bitmap)
|
|
|
}
|
|
|
+ }.onError {
|
|
|
+ //错误图片占位,防止重复获取
|
|
|
+ bitmapLruCache.put(vFile.absolutePath, errorBitmap)
|
|
|
+ putDebug(
|
|
|
+ "ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it",
|
|
|
+ it
|
|
|
+ )
|
|
|
+ }.onFinally {
|
|
|
+ block?.invoke()
|
|
|
}
|
|
|
return null
|
|
|
}
|