Update reader chapter list filtering to handle not downloaded/bookmarked (closes #5107)
(cherry picked from commit ce9fb2f1fe03e47c64f0f667a9f7ef040f46bb2f) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
This commit is contained in:
parent
ac7e2909ba
commit
de4e0abef4
@ -125,20 +125,16 @@ class ReaderPresenter(
|
|||||||
val selectedChapter = dbChapters.find { it.id == chapterId }
|
val selectedChapter = dbChapters.find { it.id == chapterId }
|
||||||
?: error("Requested chapter of id $chapterId not found in chapter list")
|
?: error("Requested chapter of id $chapterId not found in chapter list")
|
||||||
|
|
||||||
val chaptersForReader =
|
val chaptersForReader = when {
|
||||||
if (preferences.skipRead() || preferences.skipFiltered()) {
|
(preferences.skipRead() || preferences.skipFiltered()) -> {
|
||||||
val list = dbChapters
|
val list = dbChapters.filterNot {
|
||||||
.filter {
|
when {
|
||||||
if (preferences.skipRead() && it.read) {
|
preferences.skipRead() && it.read -> true
|
||||||
return@filter false
|
preferences.skipFiltered() -> {
|
||||||
} else if (preferences.skipFiltered()) {
|
|
||||||
if (
|
|
||||||
(manga.readFilter == Manga.CHAPTER_SHOW_READ && !it.read) ||
|
(manga.readFilter == Manga.CHAPTER_SHOW_READ && !it.read) ||
|
||||||
(manga.readFilter == Manga.CHAPTER_SHOW_UNREAD && it.read) ||
|
(manga.readFilter == Manga.CHAPTER_SHOW_UNREAD && it.read) ||
|
||||||
(
|
(manga.downloadedFilter == Manga.CHAPTER_SHOW_DOWNLOADED && !downloadManager.isChapterDownloaded(it, manga)) ||
|
||||||
manga.downloadedFilter == Manga.CHAPTER_SHOW_DOWNLOADED &&
|
(manga.downloadedFilter == Manga.CHAPTER_SHOW_NOT_DOWNLOADED && downloadManager.isChapterDownloaded(it, manga)) ||
|
||||||
!downloadManager.isChapterDownloaded(it, manga)
|
|
||||||
) ||
|
|
||||||
(manga.bookmarkedFilter == Manga.CHAPTER_SHOW_BOOKMARKED && !it.bookmark) ||
|
(manga.bookmarkedFilter == Manga.CHAPTER_SHOW_BOOKMARKED && !it.bookmark) ||
|
||||||
// SY -->
|
// SY -->
|
||||||
(filteredScanlators != null && MdUtil.getScanlators(it.scanlator).none { group -> filteredScanlators.contains(group) })
|
(filteredScanlators != null && MdUtil.getScanlators(it.scanlator).none { group -> filteredScanlators.contains(group) })
|
||||||
@ -147,8 +143,8 @@ class ReaderPresenter(
|
|||||||
return@filter false
|
return@filter false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else -> false
|
||||||
true
|
}
|
||||||
}
|
}
|
||||||
.toMutableList()
|
.toMutableList()
|
||||||
|
|
||||||
@ -157,8 +153,8 @@ class ReaderPresenter(
|
|||||||
list.add(selectedChapter)
|
list.add(selectedChapter)
|
||||||
}
|
}
|
||||||
list
|
list
|
||||||
} else {
|
}
|
||||||
dbChapters
|
else -> dbChapters
|
||||||
}
|
}
|
||||||
|
|
||||||
when (manga.sorting) {
|
when (manga.sorting) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user