diff --git a/app/src/main/java/io/legado/app/model/ReadManga.kt b/app/src/main/java/io/legado/app/model/ReadManga.kt index bdde96a35..9f35ade2a 100644 --- a/app/src/main/java/io/legado/app/model/ReadManga.kt +++ b/app/src/main/java/io/legado/app/model/ReadManga.kt @@ -58,7 +58,6 @@ object ReadManga : CoroutineScope by MainScope() { private val loadingChapters = arrayListOf() var simulatedChapterSize = 0 var mCallback: Callback? = null - var mFirstLoading = false var gameOver = false var mTopChapter: BookChapter? = null var preDownloadTask: Job? = null @@ -251,7 +250,6 @@ object ReadManga : CoroutineScope by MainScope() { loadingChapters.clear() simulatedChapterSize = 0 mCallback = null - mFirstLoading = false gameOver = false mTopChapter = null preDownloadTask?.cancel() @@ -292,10 +290,10 @@ object ReadManga : CoroutineScope by MainScope() { }.distinctUntilChanged().mapIndexed { index, src -> MangaContent( chapterSize = chapterSize, - mChapterIndex = durChapterIndex.plus(1), + mChapterIndex = durChapterIndex, nextChapterIndex = durChapterIndex.plus(1), mImageUrl = src, - mDurChapterPos = index.plus(1), + mDurChapterPos = index, mChapterName = chapterTitle ) }.toList().apply { @@ -636,6 +634,5 @@ object ReadManga : CoroutineScope by MainScope() { fun noData() fun adjustmentProgress() fun sureNewProgress(progress: BookProgress) - val chapterList: MutableList } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt index 1300c1e3c..344dbb922 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt @@ -38,7 +38,6 @@ import io.legado.app.help.config.AppConfig import io.legado.app.help.storage.Backup import io.legado.app.lib.dialogs.alert import io.legado.app.model.ReadManga -import io.legado.app.model.ReadManga.mFirstLoading import io.legado.app.model.recyclerView.MangaContent import io.legado.app.model.recyclerView.ReaderLoading import io.legado.app.receiver.NetworkChangedListener @@ -154,7 +153,6 @@ class ReadMangaActivity : VMBaseActivity() binding.tvRetry.setOnClickListener { binding.llLoading.isVisible = true binding.llRetry.isGone = true - mFirstLoading = false ReadManga.loadContent() } @@ -216,11 +214,11 @@ class ReadMangaActivity : VMBaseActivity() try { val content = mAdapter.getCurrentList()[position] if (content is MangaContent) { - ReadManga.durChapterPos = content.mDurChapterPos.minus(1) + ReadManga.durChapterPos = content.mDurChapterPos upInfoBar( - content.mChapterIndex, + content.mChapterIndex + 1, content.chapterSize, - content.mDurChapterPos, + content.mDurChapterPos + 1, content.mDurChapterCount, content.mChapterName ) @@ -270,18 +268,17 @@ class ReadMangaActivity : VMBaseActivity() override fun loadContentFinish(list: MutableList) { if (!this.isDestroyed) { setTitle(ReadManga.book?.name) + val isEmpty = mAdapter.isEmpty() mAdapter.submitList(list) { - if (!mFirstLoading) { - if (list.size > 1) { - binding.infobar.isVisible = true - upInfoBar( - ReadManga.durChapterIndex.plus(1), - ReadManga.chapterSize, - ReadManga.durChapterPos.plus(1), - ReadManga.durChapterImageCount, - ReadManga.chapterTitle - ) - } + if (isEmpty) { + binding.infobar.isVisible = true + upInfoBar( + ReadManga.durChapterIndex.plus(1), + ReadManga.chapterSize, + ReadManga.durChapterPos.plus(1), + ReadManga.durChapterImageCount, + ReadManga.chapterTitle + ) if (ReadManga.durChapterPos + 2 > mAdapter.getCurrentList().size - 3) { val nextIndex = @@ -298,7 +295,6 @@ class ReadMangaActivity : VMBaseActivity() ReadManga.chapterChanged = false loadMoreView.visible() - mFirstLoading = true loadMoreView.stopLoad() } } @@ -380,7 +376,7 @@ class ReadMangaActivity : VMBaseActivity() } override fun loadFail(msg: String) { - if (!mFirstLoading || ReadManga.chapterChanged) { + if (mAdapter.isEmpty() || ReadManga.chapterChanged) { binding.llLoading.isGone = true binding.llRetry.isVisible = true binding.tvMsg.text = msg @@ -400,9 +396,6 @@ class ReadMangaActivity : VMBaseActivity() } } - override val chapterList: MutableList - get() = mAdapter.getCurrentList() - override fun onDestroy() { ReadManga.unregister() super.onDestroy() diff --git a/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt b/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt index c63ebd6a1..fd31cea88 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt @@ -63,6 +63,10 @@ class MangaAdapter(private val context: Context) : fun getCurrentList() = mDiffer.currentList + fun isEmpty() = mDiffer.currentList.isEmpty() + + fun isNotEmpty() = !isEmpty() + //全部替换数据 fun submitList(contents: MutableList, runnable: Runnable) { val list = if (ReadManga.chapterChanged) {