Просмотр исходного кода

Merge branch 'gedoor:master' into master

ag2s20150909 4 лет назад
Родитель
Сommit
9d5f98f9a7

+ 3 - 2
app/src/main/java/io/legado/app/service/HttpReadAloudService.kt

@@ -25,7 +25,6 @@ import org.mozilla.javascript.WrappedException
 import java.io.File
 import java.net.ConnectException
 import java.net.SocketTimeoutException
-import java.util.*
 
 /**
  * 在线朗读
@@ -269,7 +268,9 @@ class HttpReadAloudService : BaseReadAloudService(),
     private fun removeCacheFile() {
         val titleMd5 = MD5Utils.md5Encode16(textChapter?.title ?: "")
         FileUtils.listDirsAndFiles(ttsFolderPath)?.forEach {
-            if (!it.name.startsWith(titleMd5) && Date().time - it.lastModified() > 600000) {
+            if (!it.name.startsWith(titleMd5)
+                && System.currentTimeMillis() - it.lastModified() > 600000
+            ) {
                 FileUtils.delete(it.absolutePath)
             }
         }

+ 15 - 11
app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@@ -15,7 +15,9 @@ import io.legado.app.model.localBook.EpubFile
 import io.legado.app.utils.BitmapUtils
 import io.legado.app.utils.FileUtils
 import io.legado.app.utils.isXml
+import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.withContext
 import splitties.init.appCtx
 import java.io.File
 import java.io.FileOutputStream
@@ -59,21 +61,23 @@ object ImageProvider {
         src: String,
         bookSource: BookSource?
     ): File {
-        val vFile = BookHelp.getImage(book, src)
-        if (!vFile.exists()) {
-            if (book.isEpub()) {
-                EpubFile.getImage(book, src)?.use { input ->
-                    val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath)
-                    @Suppress("BlockingMethodInNonBlockingContext")
-                    FileOutputStream(newFile).use { output ->
-                        input.copyTo(output)
+        return withContext(IO) {
+            val vFile = BookHelp.getImage(book, src)
+            if (!vFile.exists()) {
+                if (book.isEpub()) {
+                    EpubFile.getImage(book, src)?.use { input ->
+                        val newFile = FileUtils.createFileIfNotExist(vFile.absolutePath)
+                        @Suppress("BlockingMethodInNonBlockingContext")
+                        FileOutputStream(newFile).use { output ->
+                            input.copyTo(output)
+                        }
                     }
+                } else {
+                    BookHelp.saveImage(bookSource, book, src)
                 }
-            } else {
-                BookHelp.saveImage(bookSource, book, src)
             }
+            return@withContext vFile
         }
-        return vFile
     }
 
     /**