Adjust library sorting by dates (closes #6954)

Ascending by date = oldest dates first. If no date is present, fallback to epoch 0 (i.e., oldest).

(cherry picked from commit 7773deabc03eb106798aed113341acf66a5f6a77)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
This commit is contained in:
arkon 2022-04-24 15:50:51 -04:00 committed by Jobobby04
parent da739dfc07
commit b2be36f432

View File

@ -389,12 +389,13 @@ class LibraryPresenter(
collator.compare(i1.manga.title.lowercase(locale), i2.manga.title.lowercase(locale)) collator.compare(i1.manga.title.lowercase(locale), i2.manga.title.lowercase(locale))
} }
SortModeSetting.LAST_READ -> { SortModeSetting.LAST_READ -> {
// Get index of manga, set equal to list if size unknown. val manga1LastRead = lastReadManga[i1.manga.id!!] ?: 0
val manga1LastRead = lastReadManga[i1.manga.id!!] ?: lastReadManga.size val manga2LastRead = lastReadManga[i2.manga.id!!] ?: 0
val manga2LastRead = lastReadManga[i2.manga.id!!] ?: lastReadManga.size
manga1LastRead.compareTo(manga2LastRead) manga1LastRead.compareTo(manga2LastRead)
} }
SortModeSetting.LAST_CHECKED -> i2.manga.last_update.compareTo(i1.manga.last_update) SortModeSetting.LAST_CHECKED -> {
i1.manga.last_update.compareTo(i2.manga.last_update)
}
SortModeSetting.UNREAD -> when { SortModeSetting.UNREAD -> when {
// Ensure unread content comes first // Ensure unread content comes first
i1.manga.unreadCount == i2.manga.unreadCount -> 0 i1.manga.unreadCount == i2.manga.unreadCount -> 0
@ -413,13 +414,13 @@ class LibraryPresenter(
manga1latestChapter.compareTo(manga2latestChapter) manga1latestChapter.compareTo(manga2latestChapter)
} }
SortModeSetting.DATE_FETCHED -> { SortModeSetting.DATE_FETCHED -> {
val manga1chapterFetchDate = chapterFetchDateManga[i1.manga.id!!] val manga1chapterFetchDate = chapterFetchDateManga[i1.manga.id!!] ?: 0
?: chapterFetchDateManga.size val manga2chapterFetchDate = chapterFetchDateManga[i2.manga.id!!] ?: 0
val manga2chapterFetchDate = chapterFetchDateManga[i2.manga.id!!]
?: chapterFetchDateManga.size
manga1chapterFetchDate.compareTo(manga2chapterFetchDate) manga1chapterFetchDate.compareTo(manga2chapterFetchDate)
} }
SortModeSetting.DATE_ADDED -> i2.manga.date_added.compareTo(i1.manga.date_added) SortModeSetting.DATE_ADDED -> {
i1.manga.date_added.compareTo(i2.manga.date_added)
}
// SY --> // SY -->
SortModeSetting.DRAG_AND_DROP -> { SortModeSetting.DRAG_AND_DROP -> {
0 0