From 4904dd117c340d618239037432bea8964e2a56f6 Mon Sep 17 00:00:00 2001 From: hoodie13 <74173949+hoodie13@users.noreply.github.com> Date: Sat, 6 Mar 2021 19:03:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B9=A6=E7=B1=8D=E6=88=96=E8=80=85=E7=AB=A0=E8=8A=82=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E6=96=AD=E8=A8=80=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E3=80=82=E7=9C=8B=E6=BC=AB=E7=94=BB=E5=AE=B9=E6=98=93=E5=A4=8D?= =?UTF-8?q?=E7=8E=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit clearCache增加保护。因漫画图片loadContent耗时较长,此时其他操作启用新的协程loadContent容易撞到clear和setCache干扰导致signal 11崩溃。 --- .../io/legado/app/ui/book/read/page/provider/ImageProvider.kt | 2 ++ 1 file changed, 2 insertions(+) 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) { From 94aba75281d4691bbd5fabca0b76d9c3c00859a3 Mon Sep 17 00:00:00 2001 From: hoodie13 <74173949+hoodie13@users.noreply.github.com> Date: Sat, 6 Mar 2021 20:45:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B9=A6=E7=AD=BEalert=E7=9A=84=E6=AD=A3=E6=96=87=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E8=BE=83=E5=A4=9A=E6=97=B6=EF=BC=8C=E7=A1=AE=E5=AE=9A?= =?UTF-8?q?=E9=94=AE=E6=BA=A2=E5=87=BA=E5=B1=8F=E5=B9=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/ui/book/toc/BookmarkFragment.kt | 4 ++++ 1 file changed, 4 insertions(+) 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 { From 640aa297303a5dafc4643b5426a3ab3bf4dc75e4 Mon Sep 17 00:00:00 2001 From: hoodie13 <74173949+hoodie13@users.noreply.github.com> Date: Sat, 6 Mar 2021 20:51:48 +0800 Subject: [PATCH 3/3] =?UTF-8?q?epub=E4=B9=A6=E7=B1=8D=E5=A2=9E=E5=8A=A0cac?= =?UTF-8?q?he?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 有些epub书籍一本书只使用了一个html,加载将近10S,做成与网文一样存到本地cache,加速2次加载时间 --- .../main/java/io/legado/app/help/BookHelp.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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(