diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt index 582d6670b7..ed99b16e2e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt @@ -142,4 +142,35 @@ interface HistoryQueries : DbProvider { .build(), ) .prepare() + + /** + * Returns history of recent manga containing last read chapter in 25s + * @param date recent date range + * @offset offset the db by + */ + fun getAllRecentsTypes( + search: String = "", + includeRead: Boolean, + endless: Boolean, + offset: Int, + isResuming: Boolean, + ) = db.get() + .listOfObjects(MangaChapterHistory::class.java) + .withQuery( + RawQuery.builder() + .query( + getAllRecentsType( + search.sqLite, + includeRead, + endless, + offset, + isResuming, + ), + ) +// .args(date.time, startDate.time) + .observesTables(HistoryTable.TABLE) + .build(), + ) + .withGetResolver(MangaChapterHistoryGetResolver.INSTANCE) + .prepare() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt index ef8b06dd37..8d2f28b0c7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recents/RecentsPresenter.kt @@ -17,6 +17,7 @@ import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.ui.base.presenter.BaseCoroutinePresenter import eu.kanade.tachiyomi.util.chapter.ChapterFilter import eu.kanade.tachiyomi.util.chapter.ChapterSort +import eu.kanade.tachiyomi.util.system.executeOnIO import eu.kanade.tachiyomi.util.system.launchIO import eu.kanade.tachiyomi.util.system.launchUI import eu.kanade.tachiyomi.util.system.toast @@ -171,6 +172,8 @@ class RecentsPresenter( var extraCount = 0 val cReading: List = when (viewType) { RecentsViewType.GroupedAll, RecentsViewType.UngroupedAll -> { + // FIXME + /* getRecents.awaitAll( showRead, true, @@ -179,6 +182,14 @@ class RecentsPresenter( query, (if (isCustom) ENDLESS_LIMIT else pageOffset).toLong(), ) + */ + db.getAllRecentsTypes( + query, + showRead, + isEndless, + if (isCustom) ENDLESS_LIMIT else pageOffset, + !updatePageCount && !isOnFirstPage, + ).executeOnIO() } RecentsViewType.History -> { val items = if (groupChaptersHistory == GroupType.BySeries) { diff --git a/data/src/commonMain/sqldelight/tachiyomi/data/history.sq b/data/src/commonMain/sqldelight/tachiyomi/data/history.sq index dfdd0b31f6..1a91a79662 100644 --- a/data/src/commonMain/sqldelight/tachiyomi/data/history.sq +++ b/data/src/commonMain/sqldelight/tachiyomi/data/history.sq @@ -62,7 +62,7 @@ AND ( ORDER BY max_last_read.history_last_read DESC LIMIT :limit OFFSET :offset; -getRecentsAll: -- AKA insanity +getRecentsAll: -- FIXME: This is insanity, require refactoring SELECT * FROM ( SELECT mangas.*,