Xwite hace 3 años
padre
commit
6b3594d121

+ 3 - 2
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<Resource>?
+    private var epubBookContents: List<Resource>? = 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

+ 2 - 1
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
 
 /**
  * 换封面

+ 1 - 1
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

+ 1 - 1
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