mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Minor changes
This commit is contained in:
		@@ -6,6 +6,7 @@ import com.pushtorefresh.storio.sqlite.queries.RawQuery
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.DbProvider
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.models.Manga
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.resolvers.LibraryMangaGetResolver
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.resolvers.MangaFlagsPutResolver
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.tables.ChapterTable
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.tables.MangaCategoryTable
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.tables.MangaTable
 | 
			
		||||
@@ -60,6 +61,11 @@ interface MangaQueries : DbProvider {
 | 
			
		||||
 | 
			
		||||
    fun insertMangas(mangas: List<Manga>) = db.put().objects(mangas).prepare()
 | 
			
		||||
 | 
			
		||||
    fun updateFlags(manga: Manga) = db.put()
 | 
			
		||||
            .`object`(manga)
 | 
			
		||||
            .withPutResolver(MangaFlagsPutResolver())
 | 
			
		||||
            .prepare()
 | 
			
		||||
 | 
			
		||||
    fun deleteManga(manga: Manga) = db.delete().`object`(manga).prepare()
 | 
			
		||||
 | 
			
		||||
    fun deleteMangas(mangas: List<Manga>) = db.delete().objects(mangas).prepare()
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
package eu.kanade.tachiyomi.data.database.resolvers
 | 
			
		||||
 | 
			
		||||
import android.content.ContentValues
 | 
			
		||||
import com.pushtorefresh.storio.sqlite.StorIOSQLite
 | 
			
		||||
import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 | 
			
		||||
import com.pushtorefresh.storio.sqlite.operations.put.PutResult
 | 
			
		||||
import com.pushtorefresh.storio.sqlite.queries.UpdateQuery
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.inTransactionReturn
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.models.Manga
 | 
			
		||||
import eu.kanade.tachiyomi.data.database.tables.MangaTable
 | 
			
		||||
 | 
			
		||||
class MangaFlagsPutResolver : PutResolver<Manga>() {
 | 
			
		||||
 | 
			
		||||
    override fun performPut(db: StorIOSQLite, manga: Manga) = db.inTransactionReturn {
 | 
			
		||||
        val updateQuery = mapToUpdateQuery(manga)
 | 
			
		||||
        val contentValues = mapToContentValues(manga)
 | 
			
		||||
 | 
			
		||||
        val numberOfRowsUpdated = db.internal().update(updateQuery, contentValues)
 | 
			
		||||
        PutResult.newUpdateResult(numberOfRowsUpdated, updateQuery.table())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun mapToUpdateQuery(manga: Manga) = UpdateQuery.builder()
 | 
			
		||||
            .table(MangaTable.TABLE)
 | 
			
		||||
            .where("${MangaTable.COL_ID} = ?")
 | 
			
		||||
            .whereArgs(manga.id)
 | 
			
		||||
            .build()
 | 
			
		||||
 | 
			
		||||
    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
 | 
			
		||||
        put(MangaTable.COL_CHAPTER_FLAGS, manga.chapter_flags)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -37,7 +37,7 @@ class Mangahere(context: Context, override val id: Int) : ParsedOnlineSource(con
 | 
			
		||||
    override fun searchMangaInitialUrl(query: String) =
 | 
			
		||||
            "$baseUrl/search.php?name=$query&page=1&sort=views&order=za"
 | 
			
		||||
 | 
			
		||||
    override fun searchMangaSelector() = "div.result_search > dl"
 | 
			
		||||
    override fun searchMangaSelector() = "div.result_search > dl:has(dt)"
 | 
			
		||||
 | 
			
		||||
    override fun searchMangaFromElement(element: Element, manga: Manga) {
 | 
			
		||||
        element.select("a.manga_info").first().let {
 | 
			
		||||
 
 | 
			
		||||
@@ -224,30 +224,30 @@ class ChaptersPresenter : BasePresenter<ChaptersFragment>() {
 | 
			
		||||
 | 
			
		||||
    fun revertSortOrder() {
 | 
			
		||||
        manga.setChapterOrder(if (sortDescending()) Manga.SORT_ASC else Manga.SORT_DESC)
 | 
			
		||||
        db.insertManga(manga).executeAsBlocking()
 | 
			
		||||
        db.updateFlags(manga).executeAsBlocking()
 | 
			
		||||
        refreshChapters()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setReadFilter(onlyUnread: Boolean) {
 | 
			
		||||
        manga.readFilter = if (onlyUnread) Manga.SHOW_UNREAD else Manga.SHOW_ALL
 | 
			
		||||
        db.insertManga(manga).executeAsBlocking()
 | 
			
		||||
        db.updateFlags(manga).executeAsBlocking()
 | 
			
		||||
        refreshChapters()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setDownloadedFilter(onlyDownloaded: Boolean) {
 | 
			
		||||
        manga.downloadedFilter = if (onlyDownloaded) Manga.SHOW_DOWNLOADED else Manga.SHOW_ALL
 | 
			
		||||
        db.insertManga(manga).executeAsBlocking()
 | 
			
		||||
        db.updateFlags(manga).executeAsBlocking()
 | 
			
		||||
        refreshChapters()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setDisplayMode(mode: Int) {
 | 
			
		||||
        manga.displayMode = mode
 | 
			
		||||
        db.insertManga(manga).executeAsBlocking()
 | 
			
		||||
        db.updateFlags(manga).executeAsBlocking()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun setSorting(mode: Int) {
 | 
			
		||||
        manga.sorting = mode
 | 
			
		||||
        db.insertManga(manga).executeAsBlocking()
 | 
			
		||||
        db.updateFlags(manga).executeAsBlocking()
 | 
			
		||||
        refreshChapters()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user