Merge pull request #1595 from Xwite/master

优化
pull/1596/head
kunfei 3 years ago committed by GitHub
commit c06990c918
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      app/src/main/java/io/legado/app/api/controller/BookController.kt
  2. 14
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt
  3. 4
      app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt

@ -7,6 +7,7 @@ import io.legado.app.api.ReturnData
import io.legado.app.constant.PreferKey import io.legado.app.constant.PreferKey
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.Book import io.legado.app.data.entities.Book
import io.legado.app.help.AppConfig
import io.legado.app.help.BookHelp import io.legado.app.help.BookHelp
import io.legado.app.help.CacheManager import io.legado.app.help.CacheManager
import io.legado.app.help.ContentProcessor import io.legado.app.help.ContentProcessor
@ -206,7 +207,9 @@ object BookController {
?: return returnData.setErrorMsg("fileName 不能为空") ?: return returnData.setErrorMsg("fileName 不能为空")
val fileData = parameters["fileData"]?.firstOrNull() val fileData = parameters["fileData"]?.firstOrNull()
?: return returnData.setErrorMsg("fileData 不能为空") ?: return returnData.setErrorMsg("fileData 不能为空")
val file = FileUtils.createFileIfNotExist(LocalBook.cacheFolder, fileName) if (AppConfig.defaultBookTreeUri == null) return returnData.setErrorMsg("没有设置书籍保存位置!")
val bookFolder = FileUtils.createFolderIfNotExist(AppConfig.defaultBookTreeUri!!)
val file = FileUtils.createFileIfNotExist(bookFolder, fileName)
val fileBytes = Base64.decode(fileData.substringAfter("base64,"), Base64.DEFAULT) val fileBytes = Base64.decode(fileData.substringAfter("base64,"), Base64.DEFAULT)
file.writeBytes(fileBytes) file.writeBytes(fileBytes)
val nameAuthor = LocalBook.analyzeNameAuthor(fileName) val nameAuthor = LocalBook.analyzeNameAuthor(fileName)

@ -24,11 +24,6 @@ import javax.script.SimpleBindings
object LocalBook { object LocalBook {
private const val folderName = "bookTxt"
val cacheFolder: File by lazy {
FileUtils.createFolderIfNotExist(appCtx.externalFiles, folderName)
}
@Throws(FileNotFoundException::class, SecurityException::class) @Throws(FileNotFoundException::class, SecurityException::class)
fun getBookInputStream(book: Book): InputStream { fun getBookInputStream(book: Book): InputStream {
val uri = Uri.parse(book.bookUrl) val uri = Uri.parse(book.bookUrl)
@ -168,15 +163,6 @@ object LocalBook {
fun deleteBook(book: Book, deleteOriginal: Boolean) { fun deleteBook(book: Book, deleteOriginal: Boolean) {
kotlin.runCatching { kotlin.runCatching {
if (book.isLocalTxt() || book.isUmd()) {
cacheFolder.getFile(book.originName).delete()
}
if (book.isEpub()) {
FileUtils.delete(
cacheFolder.getFile(book.getFolderName())
)
}
if (deleteOriginal) { if (deleteOriginal) {
if (book.bookUrl.isContentScheme()) { if (book.bookUrl.isContentScheme()) {
val uri = Uri.parse(book.bookUrl) val uri = Uri.parse(book.bookUrl)

@ -127,8 +127,10 @@ class BookInfoActivity :
viewModel.bookSource != null viewModel.bookSource != null
menu.findItem(R.id.menu_set_book_variable)?.isVisible = menu.findItem(R.id.menu_set_book_variable)?.isVisible =
viewModel.bookSource != null viewModel.bookSource != null
menu.findItem(R.id.menu_can_update)?.isVisible =
viewModel.bookSource != null
menu.findItem(R.id.menu_limit_content_length)?.isVisible = menu.findItem(R.id.menu_limit_content_length)?.isVisible =
viewModel.bookSource == null viewModel.bookData.value?.isLocalTxt() ?: false
return super.onMenuOpened(featureId, menu) return super.onMenuOpened(featureId, menu)
} }

Loading…
Cancel
Save