pull/1977/head
kunfei 2 years ago
parent 646f892f3e
commit 36e8b7a9cc
  1. 3
      app/src/main/java/io/legado/app/data/dao/BookDao.kt
  2. 19
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

@ -88,6 +88,9 @@ interface BookDao {
@Query("select 1 from books where bookUrl = :bookUrl")
fun has(bookUrl: String): Boolean?
@Query("select 1 from books where bookUrl like '%' || :fileName")
fun hasFile(fileName: String): Boolean?
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(vararg book: Book)

@ -108,9 +108,7 @@ object LocalBook {
fileName: String,
source: BaseSource? = null,
): Book {
return saveBookFile(str, fileName, source).let {
importFile(it)
}
return importFile(saveBookFile(str, fileName, source))
}
/**
@ -275,20 +273,7 @@ object LocalBook {
fun isOnBookShelf(
fileName: String
): Boolean {
val defaultBookTreeUri = AppConfig.defaultBookTreeUri
if (defaultBookTreeUri.isNullOrBlank()) throw NoStackTraceException("没有设置书籍保存位置!")
val treeUri = Uri.parse(defaultBookTreeUri)
val bookUrl = if (treeUri.isContentScheme()) {
val treeDoc = DocumentFile.fromTreeUri(appCtx, treeUri)
val doc = treeDoc!!.findFile(fileName) ?: return false
doc.uri.toString()
} else {
val treeFile = File(treeUri.path!!)
val file = treeFile.getFile(fileName)
if (!file.exists()) return false
file.absolutePath
}
return appDb.bookDao.getBook(bookUrl) != null
return appDb.bookDao.hasFile(fileName) == true
}
//文件类书源 合并在线书籍信息 在线 > 本地

Loading…
Cancel
Save