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 8aa8db913..77f1467fa 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 @@ -79,10 +79,10 @@ class EpubFile(var book: Book) { } return field } - private var epubBookContents: List? + private var epubBookContents: List? = null get() { if (field == null || fileDescriptor == null) { - field = epubBook.contents + field = epubBook?.contents } return field } @@ -153,6 +153,7 @@ class EpubFile(var book: Book) { val includeNextChapterResource = !endFragmentId.isNullOrBlank() /*一些书籍依靠href索引的resource会包含多个章节,需要依靠fragmentId来截取到当前章节的内容*/ /*注:这里较大增加了内容加载的时间,所以首次获取内容后可存储到本地cache,减少重复加载*/ + epubBookContents ?: return null for (res in epubBookContents) { if (!findChapterFirstSource) { if (currentChapterFirstResourceHref != res.href) continue diff --git a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt index adca4b378..6f05449b2 100644 --- a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import androidx.appcompat.widget.Toolbar import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.Lifecycle.repeatOnLifecycle +import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.Lifecycle.State.STARTED import androidx.recyclerview.widget.GridLayoutManager import io.legado.app.R @@ -20,6 +20,7 @@ import io.legado.app.utils.setLayout import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.launch /** * 换封面 diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt index 255383d4d..13f4fb6b0 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeBookSourceDialog.kt @@ -10,7 +10,7 @@ import androidx.appcompat.widget.Toolbar import androidx.core.os.bundleOf import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.Lifecycle.repeatOnLifecycle +import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.Lifecycle.State.STARTED import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView diff --git a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt index 8cd7df52a..dc14e1dc0 100644 --- a/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changesource/ChangeChapterSourceDialog.kt @@ -10,7 +10,7 @@ import androidx.core.os.bundleOf import androidx.core.view.isVisible import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.Lifecycle.repeatOnLifecycle +import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.Lifecycle.State.STARTED import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView