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