From f7b11f2ce92627cbea713c200ed23ec596499d4f Mon Sep 17 00:00:00 2001 From: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com> Date: Tue, 9 Aug 2022 20:11:12 +0700 Subject: [PATCH] MangaPresenter: Fix incorrect range selection (#7709) --- .../eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt index 29947300b5..10de78ff6f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt @@ -753,13 +753,13 @@ class MangaPresenter( fromLongPress: Boolean = false, ) { updateSuccessState { successState -> - val modifiedIndex = successState.chapters.indexOfFirst { it.chapter.id == item.chapter.id } - if (modifiedIndex < 0) return@updateSuccessState successState + val newChapters = successState.processedChapters.toMutableList().apply { + val modifiedIndex = successState.processedChapters.indexOfFirst { it == item } + if (modifiedIndex < 0) return@apply - val oldItem = successState.chapters[modifiedIndex] - if ((oldItem.selected && selected) || (!oldItem.selected && !selected)) return@updateSuccessState successState + val oldItem = get(modifiedIndex) + if ((oldItem.selected && selected) || (!oldItem.selected && !selected)) return@apply - val newChapters = successState.chapters.toMutableList().apply { val firstSelection = none { it.selected } var newItem = removeAt(modifiedIndex) add(modifiedIndex, newItem.copy(selected = selected))