diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt index 803d11a9a..69ea5ff42 100644 --- a/app/src/main/java/io/legado/app/help/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/BookHelp.kt @@ -148,7 +148,7 @@ object BookHelp { fun getChapterFiles(book: Book): List { val fileNameList = arrayListOf() - if (book.isLocalBook()) { + if (book.isLocalTxt()) { return fileNameList } FileUtils.createFolderIfNotExist( @@ -162,7 +162,7 @@ object BookHelp { // 检测该章节是否下载 fun hasContent(book: Book, bookChapter: BookChapter): Boolean { - return if (book.isLocalBook()) { + return if (book.isLocalTxt()) { true } else { FileUtils.exists( @@ -175,8 +175,19 @@ object BookHelp { } fun getContent(book: Book, bookChapter: BookChapter): String? { - if (book.isLocalBook()) { + if (book.isLocalTxt()) { return LocalBook.getContext(book, bookChapter) + } else if (book.isEpub() && !hasContent(book, bookChapter)) { + val string = LocalBook.getContext(book, bookChapter) + string?.let { + FileUtils.createFileIfNotExist( + downloadDir, + cacheFolderName, + book.getFolderName(), + bookChapter.getFileName(), + ).writeText(it) + } + return string } else { val file = FileUtils.getFile( downloadDir, @@ -211,7 +222,7 @@ object BookHelp { } fun delContent(book: Book, bookChapter: BookChapter) { - if (book.isLocalBook()) { + if (book.isLocalTxt()) { return } else { FileUtils.createFileIfNotExist( diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt index c269a7e55..c124d48a6 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt @@ -61,6 +61,7 @@ object ImageProvider { } } + @Synchronized fun clearAllCache() { cache.forEach { indexCache -> indexCache.value.forEach { @@ -70,6 +71,7 @@ object ImageProvider { cache.clear() } + @Synchronized fun clearOut(chapterIndex: Int) { cache.forEach { indexCache -> if (indexCache.key !in chapterIndex - 1..chapterIndex + 1) { diff --git a/app/src/main/java/io/legado/app/ui/book/toc/BookmarkFragment.kt b/app/src/main/java/io/legado/app/ui/book/toc/BookmarkFragment.kt index ee7e0e5b6..4c4188a3f 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/BookmarkFragment.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/BookmarkFragment.kt @@ -88,6 +88,10 @@ class BookmarkFragment : VMBaseFragment(R.layout.fragment_ val alertBinding = DialogBookmarkBinding.inflate(layoutInflater).apply { editBookText.setText(bookmark.bookText) editView.setText(bookmark.content) + editBookText.textSize = 15f + editView.textSize = 15f + editBookText.maxLines= 6 + editView.maxLines= 6 } customView { alertBinding.root } yesButton {