kunfei 4 лет назад
Родитель
Сommit
391511af95
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      app/src/main/java/io/legado/app/help/book/BookExtensions.kt

+ 7 - 0
app/src/main/java/io/legado/app/help/book/BookExtensions.kt

@@ -10,6 +10,7 @@ import io.legado.app.data.entities.BookSource
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.config.AppConfig
 import io.legado.app.utils.*
+import splitties.init.appCtx
 import java.io.File
 import java.util.concurrent.ConcurrentHashMap
 
@@ -67,6 +68,12 @@ fun Book.getLocalUri(): Uri {
         } else {
             Uri.fromFile(File(bookUrl))
         }
+        //先检测uri是否有效,这个比较快
+        uri.inputStream(appCtx)?.use {
+            localUriCache[bookUrl] = uri
+        }?.let {
+            return uri
+        }
         //不同的设备书籍保存路径可能不一样 优先尝试寻找当前保存路径下的文件
         val defaultBookDir = AppConfig.defaultBookTreeUri
         if (defaultBookDir.isNullOrBlank()) {