diff --git a/src/vi/mimihentai/build.gradle b/src/vi/mimihentai/build.gradle index a3737d38e..46092426b 100644 --- a/src/vi/mimihentai/build.gradle +++ b/src/vi/mimihentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = "MiMiHentai" extClass = ".MiMiHentai" - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } apply from: "$rootDir/common.gradle" diff --git a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt index 7a8846146..e7a47e918 100644 --- a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt +++ b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/Dto.kt @@ -60,7 +60,13 @@ private val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS", Locale @Serializable class PageListDto( - val pages: List, + val pages: List, +) + +@Serializable +class ListPages( + val imageUrl: String, + val drm: String? = null, ) @Serializable diff --git a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt index 128a037b6..5f86e5659 100644 --- a/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt +++ b/src/vi/mimihentai/src/eu/kanade/tachiyomi/extension/vi/mimihentai/MiMiHentai.kt @@ -44,6 +44,7 @@ class MiMiHentai : HttpSource() { addPathSegments("tatcatruyen") addQueryParameter("page", (page - 1).toString()) addQueryParameter("sort", "updated_at") + addQueryParameter("ex", "196") }.build(), headers, ) @@ -101,7 +102,7 @@ class MiMiHentai : HttpSource() { override fun pageListParse(response: Response): List { val res = response.parseAs() return res.pages.mapIndexed { index, url -> - Page(index, imageUrl = url) + Page(index, imageUrl = url.imageUrl) } } @@ -112,6 +113,7 @@ class MiMiHentai : HttpSource() { addPathSegments("tatcatruyen") addQueryParameter("page", (page - 1).toString()) addQueryParameter("sort", "views") + addQueryParameter("ex", "196") }.build(), headers, ) @@ -156,8 +158,11 @@ class MiMiHentai : HttpSource() { val sort = getSortByList()[filters.state] addQueryParameter("sort", sort.id) } - is GenreList -> { - filters.state.forEach { genre -> if (genre.state) addQueryParameter("genre", genre.id) } + is GenreList -> filters.state.forEach { + when (it.state) { + Filter.TriState.STATE_INCLUDE -> addQueryParameter("genre", it.id) + Filter.TriState.STATE_EXCLUDE -> addQueryParameter("ex", it.id) + } } is TextField -> setQueryParameter(filters.key, filters.state) else -> {} @@ -197,7 +202,7 @@ class MiMiHentai : HttpSource() { private class GenreList(name: String, pairs: List>) : GenresFilter(name, pairs) private open class GenresFilter(title: String, pairs: List>) : Filter.Group(title, pairs.map { GenreCheckBox(it.second, it.first.toString()) }) - class GenreCheckBox(name: String, val id: String = name) : Filter.CheckBox(name) + class GenreCheckBox(name: String, val id: String = name) : Filter.TriState(name) private class SortByList(sort: Array) : Filter.Select("Sắp xếp", sort) private class SortBy(name: String, val id: String) : Filter.CheckBox(name) {