gedoor 4 jaren geleden
bovenliggende
commit
c9bedf8090
1 gewijzigde bestanden met toevoegingen van 10 en 7 verwijderingen
  1. 10 7
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

+ 10 - 7
app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

@@ -81,38 +81,41 @@ object LocalBook {
     }
     }
 
 
     fun importFile(uri: Uri): Book {
     fun importFile(uri: Uri): Book {
-        val path: String
+        val bookUrl: String
         val updateTime: Long
         val updateTime: Long
         //这个变量不要修改,否则会导致读取不到缓存
         //这个变量不要修改,否则会导致读取不到缓存
         val fileName = (if (uri.isContentScheme()) {
         val fileName = (if (uri.isContentScheme()) {
-            path = uri.toString()
+            bookUrl = uri.toString()
             val doc = DocumentFile.fromSingleUri(appCtx, uri)!!
             val doc = DocumentFile.fromSingleUri(appCtx, uri)!!
             updateTime = doc.lastModified()
             updateTime = doc.lastModified()
             doc.name!!
             doc.name!!
         } else {
         } else {
-            path = uri.path!!
-            val file = File(path)
+            bookUrl = uri.path!!
+            val file = File(bookUrl)
             updateTime = file.lastModified()
             updateTime = file.lastModified()
             file.name
             file.name
         })
         })
-        var book = appDb.bookDao.getBook(path)
+        var book = appDb.bookDao.getBook(bookUrl)
         if (book == null) {
         if (book == null) {
             val nameAuthor = analyzeNameAuthor(fileName)
             val nameAuthor = analyzeNameAuthor(fileName)
             book = Book(
             book = Book(
-                bookUrl = path,
+                bookUrl = bookUrl,
                 name = nameAuthor.first,
                 name = nameAuthor.first,
                 author = nameAuthor.second,
                 author = nameAuthor.second,
                 originName = fileName,
                 originName = fileName,
                 coverUrl = FileUtils.getPath(
                 coverUrl = FileUtils.getPath(
                     appCtx.externalFiles,
                     appCtx.externalFiles,
                     "covers",
                     "covers",
-                    "${MD5Utils.md5Encode16(path)}.jpg"
+                    "${MD5Utils.md5Encode16(bookUrl)}.jpg"
                 ),
                 ),
                 latestChapterTime = updateTime
                 latestChapterTime = updateTime
             )
             )
             if (book.isEpub()) EpubFile.upBookInfo(book)
             if (book.isEpub()) EpubFile.upBookInfo(book)
             if (book.isUmd()) UmdFile.upBookInfo(book)
             if (book.isUmd()) UmdFile.upBookInfo(book)
             appDb.bookDao.insert(book)
             appDb.bookDao.insert(book)
+        } else {
+            //已有书籍说明是更新,删除原有目录
+            appDb.bookChapterDao.delByBook(bookUrl)
         }
         }
         return book
         return book
     }
     }