From 8dd6a0b0d0070f55f297d2605c65bd04438c8702 Mon Sep 17 00:00:00 2001 From: adhu2018 <41824074+adhu2018@users.noreply.github.com> Date: Sat, 7 Oct 2023 16:06:43 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/bookshelf/BaseBookshelfFragment.kt | 3 +-- .../bookshelf/style1/BookshelfFragment1.kt | 3 +-- .../bookshelf/style1/books/BooksFragment.kt | 5 +---- .../bookshelf/style2/BookshelfFragment2.kt | 21 ++++++++++--------- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt index c4a18d6fa..bdc5d5f4e 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt @@ -9,7 +9,6 @@ import androidx.lifecycle.LiveData import io.legado.app.R import io.legado.app.base.VMBaseFragment import io.legado.app.constant.EventBus -import io.legado.app.constant.PreferKey import io.legado.app.data.appDb import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookGroup @@ -137,7 +136,7 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment() - private val bookshelfLayout by lazy { - getPrefInt(PreferKey.bookshelfLayout) - } + private val bookshelfLayout by lazy { AppConfig.bookshelfLayout } private val booksAdapter: BaseBooksAdapter<*> by lazy { if (bookshelfLayout == 0) { BooksAdapterList(requireContext(), this) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt index 38fcf7c3b..a3bdf239b 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt @@ -12,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView import io.legado.app.R import io.legado.app.constant.AppLog import io.legado.app.constant.EventBus -import io.legado.app.constant.PreferKey import io.legado.app.data.appDb import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookGroup @@ -53,9 +52,7 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) } private val binding by viewBinding(FragmentBookshelf2Binding::bind) - private val bookshelfLayout by lazy { - getPrefInt(PreferKey.bookshelfLayout) - } + private val bookshelfLayout by lazy { AppConfig.bookshelfLayout } private val booksAdapter: BaseBooksAdapter<*> by lazy { if (bookshelfLayout == 0) { BooksAdapterList(requireContext(), this) @@ -123,8 +120,10 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) @SuppressLint("NotifyDataSetChanged") private fun initBooksData() { if (groupId == -100L) { - binding.titleBar.title = getString(R.string.bookshelf) - binding.refreshLayout.isEnabled = true + if (isAdded) { + binding.titleBar.title = getString(R.string.bookshelf) + binding.refreshLayout.isEnabled = true + } } else { bookGroups.firstOrNull { groupId == it.groupId @@ -156,10 +155,12 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) }.flowOn(Dispatchers.Default).catch { AppLog.put("书架更新出错", it) }.conflate().collect { list -> - books = list - booksAdapter.notifyDataSetChanged() - binding.tvEmptyMsg.isGone = getItemCount() > 0 - delay(100) + if (isAdded) { + books = list + booksAdapter.notifyDataSetChanged() + binding.tvEmptyMsg.isGone = getItemCount() > 0 + delay(100) + } } } } From 8620dfd56084976fa83b582a6d2c7d9015f9555c Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sat, 7 Oct 2023 17:06:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/src/main/java/me/ag2s/epublib/domain/MediaTypes.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/book/src/main/java/me/ag2s/epublib/domain/MediaTypes.java b/modules/book/src/main/java/me/ag2s/epublib/domain/MediaTypes.java index ff6233d15..227409590 100644 --- a/modules/book/src/main/java/me/ag2s/epublib/domain/MediaTypes.java +++ b/modules/book/src/main/java/me/ag2s/epublib/domain/MediaTypes.java @@ -1,6 +1,6 @@ package me.ag2s.epublib.domain; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import me.ag2s.epublib.util.StringUtil; @@ -60,7 +60,7 @@ public class MediaTypes { SMIL, PLS, JAVASCRIPT, MP3, MP4, OGG, UNKNOWN }; - public static final Map mediaTypesByName = new HashMap<>(); + public static final Map mediaTypesByName = new LinkedHashMap<>(); static { for (MediaType mediaType : mediaTypes) { From e30d2a9ca73b42959982e9b7723a59a6f0bbd9c6 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Sat, 7 Oct 2023 17:17:29 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/model/localBook/EpubFile.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt index 506331ca8..f71ee340e 100644 --- a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt +++ b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt @@ -348,7 +348,10 @@ class EpubFile(var book: Book) { durIndex = 0 while (i < contents.size) { val content = contents[i] - if (!content.mediaType.toString().contains("htm")) continue + if (!content.mediaType.toString().contains("htm")) { + i++ + continue + } /** * 检索到第一章href停止 * completeHref可能有fragment(#id) 必须去除