parent
b2b8d45911
commit
6f936c377c
@ -0,0 +1,46 @@ |
|||||||
|
package io.legado.app.ui.book.read.page |
||||||
|
|
||||||
|
import android.graphics.Bitmap |
||||||
|
import io.legado.app.App |
||||||
|
import io.legado.app.data.entities.Book |
||||||
|
import io.legado.app.help.http.HttpHelper |
||||||
|
import io.legado.app.model.localBook.EPUBFile |
||||||
|
import io.legado.app.utils.BitmapUtils |
||||||
|
import io.legado.app.utils.FileUtils |
||||||
|
import io.legado.app.utils.MD5Utils |
||||||
|
import io.legado.app.utils.externalFilesDir |
||||||
|
import java.io.FileOutputStream |
||||||
|
|
||||||
|
object ImageProvider { |
||||||
|
|
||||||
|
|
||||||
|
fun getImage(book: Book, src: String): Bitmap? { |
||||||
|
val vFile = FileUtils.getFile( |
||||||
|
App.INSTANCE.externalFilesDir, |
||||||
|
"${MD5Utils.md5Encode16(src)}.jpg", |
||||||
|
"images", book.name |
||||||
|
) |
||||||
|
if (!vFile.exists()) { |
||||||
|
if (book.isEpub()) { |
||||||
|
EPUBFile.getImage(book, src).use { |
||||||
|
val out = FileOutputStream(FileUtils.createFileIfNotExist(vFile.absolutePath)) |
||||||
|
it?.copyTo(out) |
||||||
|
out.flush() |
||||||
|
out.close() |
||||||
|
} |
||||||
|
} else { |
||||||
|
HttpHelper.getBytes(src) |
||||||
|
} |
||||||
|
} |
||||||
|
return try { |
||||||
|
BitmapUtils.decodeBitmap( |
||||||
|
vFile.absolutePath, |
||||||
|
ChapterProvider.visibleWidth, |
||||||
|
ChapterProvider.visibleHeight |
||||||
|
) |
||||||
|
} catch (e: Exception) { |
||||||
|
null |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue