Only update in-library manga chapter settings instead of all

This commit is contained in:
arkon 2021-07-07 18:05:29 -04:00
parent ed80ee98a7
commit 776194f5b2
2 changed files with 28 additions and 30 deletions

View file

@ -1,5 +1,6 @@
package eu.kanade.tachiyomi.data.database.queries package eu.kanade.tachiyomi.data.database.queries
import com.pushtorefresh.storio.sqlite.operations.get.PreparedGetListOfObjects
import com.pushtorefresh.storio.sqlite.queries.DeleteQuery import com.pushtorefresh.storio.sqlite.queries.DeleteQuery
import com.pushtorefresh.storio.sqlite.queries.Query import com.pushtorefresh.storio.sqlite.queries.Query
import com.pushtorefresh.storio.sqlite.queries.RawQuery import com.pushtorefresh.storio.sqlite.queries.RawQuery
@ -14,15 +15,6 @@ import eu.kanade.tachiyomi.data.database.tables.MangaTable
interface MangaQueries : DbProvider { interface MangaQueries : DbProvider {
fun getMangas() = db.get()
.listOfObjects(Manga::class.java)
.withQuery(
Query.builder()
.table(MangaTable.TABLE)
.build()
)
.prepare()
fun getLibraryMangas() = db.get() fun getLibraryMangas() = db.get()
.listOfObjects(LibraryManga::class.java) .listOfObjects(LibraryManga::class.java)
.withQuery( .withQuery(
@ -34,17 +26,21 @@ interface MangaQueries : DbProvider {
.withGetResolver(LibraryMangaGetResolver.INSTANCE) .withGetResolver(LibraryMangaGetResolver.INSTANCE)
.prepare() .prepare()
fun getFavoriteMangas() = db.get() fun getFavoriteMangas(sortByTitle: Boolean = true): PreparedGetListOfObjects<Manga> {
.listOfObjects(Manga::class.java) var queryBuilder = Query.builder()
.withQuery(
Query.builder()
.table(MangaTable.TABLE) .table(MangaTable.TABLE)
.where("${MangaTable.COL_FAVORITE} = ?") .where("${MangaTable.COL_FAVORITE} = ?")
.whereArgs(1) .whereArgs(1)
.orderBy(MangaTable.COL_TITLE)
.build() if (sortByTitle) {
) queryBuilder = queryBuilder.orderBy(MangaTable.COL_TITLE)
}
return db.get()
.listOfObjects(Manga::class.java)
.withQuery(queryBuilder.build())
.prepare() .prepare()
}
fun getManga(url: String, sourceId: Long) = db.get() fun getManga(url: String, sourceId: Long) = db.get()
.`object`(Manga::class.java) .`object`(Manga::class.java)

View file

@ -44,7 +44,9 @@ object ChapterSettingsHelper {
*/ */
fun updateAllMangasWithGlobalDefaults() { fun updateAllMangasWithGlobalDefaults() {
launchIO { launchIO {
val updatedMangas = db.getMangas().executeAsBlocking().map { manga -> val updatedMangas = db.getFavoriteMangas(sortByTitle = false)
.executeAsBlocking()
.map { manga ->
with(manga) { with(manga) {
readFilter = prefs.filterChapterByRead() readFilter = prefs.filterChapterByRead()
downloadedFilter = prefs.filterChapterByDownloaded() downloadedFilter = prefs.filterChapterByDownloaded()