Allow user to read all read manga stats
This commit is contained in:
@@ -88,7 +88,7 @@ class AndroidDatabaseHandler(
|
||||
}
|
||||
|
||||
// SY -->
|
||||
fun getLibraryQuery() = LibraryQuery(driver)
|
||||
fun getLibraryQuery(condition: String = "M.favorite = 1") = LibraryQuery(driver, condition)
|
||||
|
||||
fun getUpdatesQuery(after: Long) = UpdatesQuery(driver, after)
|
||||
// SY <--
|
||||
|
||||
@@ -40,7 +40,10 @@ private val mapper = { cursor: SqlCursor ->
|
||||
)
|
||||
}
|
||||
|
||||
class LibraryQuery(val driver: SqlDriver) : Query<LibraryView>(copyOnWriteList(), mapper) {
|
||||
class LibraryQuery(
|
||||
val driver: SqlDriver,
|
||||
val condition: String = "M.favorite = 1",
|
||||
) : Query<LibraryView>(copyOnWriteList(), mapper) {
|
||||
override fun execute(): SqlCursor {
|
||||
return driver.executeQuery(
|
||||
null,
|
||||
@@ -72,7 +75,7 @@ class LibraryQuery(val driver: SqlDriver) : Query<LibraryView>(copyOnWriteList()
|
||||
ON M._id = C.manga_id
|
||||
LEFT JOIN mangas_categories AS MC
|
||||
ON MC.manga_id = M._id
|
||||
WHERE M.favorite = 1 AND M.source <> $MERGED_SOURCE_ID
|
||||
WHERE $condition AND M.source <> $MERGED_SOURCE_ID
|
||||
UNION
|
||||
SELECT
|
||||
M.*,
|
||||
@@ -109,7 +112,7 @@ class LibraryQuery(val driver: SqlDriver) : Query<LibraryView>(copyOnWriteList()
|
||||
ON ME.merge_id = C.merge_id
|
||||
LEFT JOIN mangas_categories AS MC
|
||||
ON MC.manga_id = M._id
|
||||
WHERE M.favorite = 1 AND M.source = $MERGED_SOURCE_ID;
|
||||
WHERE $condition AND M.source = $MERGED_SOURCE_ID;
|
||||
""".trimIndent(),
|
||||
1,
|
||||
)
|
||||
|
||||
@@ -179,5 +179,11 @@ class MangaRepositoryImpl(
|
||||
override suspend fun deleteManga(mangaId: Long) {
|
||||
handler.await { mangasQueries.deleteById(mangaId) }
|
||||
}
|
||||
|
||||
override suspend fun getReadMangaNotInLibrary(): List<LibraryManga> {
|
||||
return handler.awaitList {
|
||||
(handler as AndroidDatabaseHandler).getLibraryQuery("M.favorite = 0 AND C.readCount != 0")
|
||||
}.map(libraryViewMapper)
|
||||
}
|
||||
// SY <--
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user