Add ability to sort library by date added (closes #1287)

This commit is contained in:
arkon
2020-07-10 13:08:21 -04:00
parent 339169b624
commit 1813dbbf59
14 changed files with 74 additions and 5 deletions
@@ -13,6 +13,7 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchCardItem
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchItem
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
import java.util.Date
import rx.Observable
import rx.android.schedulers.AndroidSchedulers
import rx.schedulers.Schedulers
@@ -147,6 +148,14 @@ class SearchPresenter(
manga.viewer = prevManga.viewer
db.updateMangaViewer(manga).executeAsBlocking()
// Update date added
if (replace) {
manga.date_added = prevManga.date_added
prevManga.date_added = 0
} else {
manga.date_added = Date().time
}
// SearchPresenter#networkToLocalManga may have updated the manga title, so ensure db gets updated title
db.updateMangaTitle(manga).executeAsBlocking()
}
@@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.ui.browse.source.filter.TextSectionItem
import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateItem
import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateSectionItem
import eu.kanade.tachiyomi.util.removeCovers
import java.util.Date
import kotlinx.coroutines.flow.subscribe
import rx.Observable
import rx.Subscription
@@ -260,9 +261,15 @@ open class BrowseSourcePresenter(
*/
fun changeMangaFavorite(manga: Manga) {
manga.favorite = !manga.favorite
manga.date_added = when (manga.favorite) {
true -> Date().time
false -> 0
}
if (!manga.favorite) {
manga.removeCovers(coverCache)
}
db.insertManga(manga).executeAsBlocking()
}