This commit is contained in:
Xwite
2023-03-13 05:46:31 +08:00
parent fe152079ce
commit 5b7117597a
2 changed files with 6 additions and 26 deletions
@@ -156,20 +156,13 @@ object LocalBook {
* 导入本地文件 * 导入本地文件
*/ */
fun importFile(uri: Uri): Book { fun importFile(uri: Uri): Book {
val bookUrl: String val fileDoc = FileDoc.fromUri(uri)
val updateTime: Long val fileName = fileDoc.name
val bookUrl = fileDoc.toString()
//这个变量不要修改,否则会导致读取不到缓存 //这个变量不要修改,否则会导致读取不到缓存
val fileName = if (uri.isContentScheme()) { val updateTime = fileDoc.lastModified
bookUrl = uri.toString() //空文件不导入
val doc = DocumentFile.fromSingleUri(appCtx, uri)!! if (fileDoc.size == 0) throw EmptyFileException("Unexpected empty File")
updateTime = doc.lastModified()
doc.name!!
} else {
bookUrl = uri.path!!
val file = File(bookUrl)
updateTime = file.lastModified()
file.name
}
var book = appDb.bookDao.getBook(bookUrl) var book = appDb.bookDao.getBook(bookUrl)
if (book == null) { if (book == null) {
val nameAuthor = analyzeNameAuthor(fileName) val nameAuthor = analyzeNameAuthor(fileName)
@@ -291,7 +284,6 @@ object LocalBook {
fileName: String fileName: String
): Uri { ): Uri {
inputStream.use { inputStream.use {
if (it.isEmpty()) throw EmptyFileException("Unexpected empty inputStream")
val defaultBookTreeUri = AppConfig.defaultBookTreeUri val defaultBookTreeUri = AppConfig.defaultBookTreeUri
if (defaultBookTreeUri.isNullOrBlank()) throw NoStackTraceException("没有设置书籍保存位置!") if (defaultBookTreeUri.isNullOrBlank()) throw NoStackTraceException("没有设置书籍保存位置!")
val treeUri = Uri.parse(defaultBookTreeUri) val treeUri = Uri.parse(defaultBookTreeUri)
@@ -23,15 +23,3 @@ fun InputStream?.contains(str: String): Boolean {
return scanner.findWithinHorizon(str, 0) != null return scanner.findWithinHorizon(str, 0) != null
} }
} }
fun InputStream?.isEmpty(): Boolean {
this ?: return true
return if (markSupported()) {
mark(0)
val isEmpty = read(ByteArray(1)) == -1
reset()
isEmpty
} else {
available() == 0
}
}