From cf7446489d1cf492dcdf980b69ed9ed290ce2cf0 Mon Sep 17 00:00:00 2001 From: manti <133025162+manti-X@users.noreply.github.com> Date: Mon, 27 Oct 2025 13:12:50 +0100 Subject: [PATCH] Fix MagazinePocket (#11266) * fix MagazinePocket * Update src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/MagazinePocket.kt --- src/ja/magazinepocket/build.gradle | 4 +- .../res/mipmap-hdpi/ic_launcher.png | Bin 5423 -> 7646 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 2769 -> 3938 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 7053 -> 10858 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 13837 -> 21238 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 20025 -> 33952 bytes .../extension/ja/magazinepocket/Dto.kt | 72 +++ .../ja/magazinepocket/ImageInterceptor.kt | 95 ++++ .../ja/magazinepocket/MagazinePocket.kt | 466 +++++++++++++++++- 9 files changed, 610 insertions(+), 27 deletions(-) create mode 100644 src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/Dto.kt create mode 100644 src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/ImageInterceptor.kt diff --git a/src/ja/magazinepocket/build.gradle b/src/ja/magazinepocket/build.gradle index 57d270764..3216b4e3e 100644 --- a/src/ja/magazinepocket/build.gradle +++ b/src/ja/magazinepocket/build.gradle @@ -1,9 +1,7 @@ ext { extName = 'Magazine Pocket' extClass = '.MagazinePocket' - themePkg = 'gigaviewer' - baseUrl = 'https://pocket.shonenmagazine.com' - overrideVersionCode = 0 + extVersionCode = 9 isNsfw = false } diff --git a/src/ja/magazinepocket/res/mipmap-hdpi/ic_launcher.png b/src/ja/magazinepocket/res/mipmap-hdpi/ic_launcher.png index 71b561beb22d42f979a3c7b211dd9e53aef93c93..c3f697b975cff697c0eabfefc705f6863f73a69d 100644 GIT binary patch literal 7646 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 M07*qoM6N<$f?<`=^8f$< literal 5423 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 Z{0}tAYVI}}LO=ij002ovPDHLkV1iA1OP~M% diff --git a/src/ja/magazinepocket/res/mipmap-mdpi/ic_launcher.png b/src/ja/magazinepocket/res/mipmap-mdpi/ic_launcher.png index cda8755b78660e7b9537666918e2925ee5fa21fb..12bb9eabf5317a797ae6b45fa95139eaa6da313c 100644 GIT binary patch literal 3938 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 Q^Z)<=07*qoM6N<$f_&jRGynhq diff --git a/src/ja/magazinepocket/res/mipmap-xhdpi/ic_launcher.png b/src/ja/magazinepocket/res/mipmap-xhdpi/ic_launcher.png index 0956945147875ba286ddb587d88e0a2fce3b2b8b..83fdca2503c9dee877251cd3720769a294093eb9 100644 GIT binary patch literal 10858 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 diff --git a/src/ja/magazinepocket/res/mipmap-xxhdpi/ic_launcher.png b/src/ja/magazinepocket/res/mipmap-xxhdpi/ic_launcher.png index 91dd77058749246912e33c5d847766fa5f56be8e..25485e24c1671032accf86f7463f8fd9c340b538 100644 GIT binary patch literal 21238 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 ljk>>I00006Nkl@&dc)$-VZZVQ+2Cu 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 b0A_{_#ZjxeKk!@yiZFP(`njxgN@xNA?$}>8 literal 20025 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 X, +) + +@Serializable +class RankingTitleId( + val id: Int, +) + +@Serializable +class TitleListResponse( + @SerialName("title_list") val titleList: List, +) + +@Serializable +class TitleDetail( + @SerialName("title_id") val titleId: Int, + @SerialName("title_name") val titleName: String, + @SerialName("thumbnail_image_url") val thumbnailImageUrl: String? = null, +) + +@Serializable +class LatestTitleListResponse( + @SerialName("title_list") val titleList: List, +) + +@Serializable +class LatestTitleDetail( + @SerialName("title_id") val titleId: Int, + @SerialName("title_name") val titleName: String, + @SerialName("thumbnail_rect_image_url") val thumbnailImageUrl: String? = null, +) + +@Serializable +class EpisodeListResponse( + @SerialName("episode_list") val episodeList: List, +) + +@Serializable +class Episode( + @SerialName("episode_id") val episodeId: Int, + @SerialName("episode_name") val episodeName: String, + @SerialName("start_time") val startTime: String, + val point: Int, + @SerialName("title_id") val titleId: Int, + val badge: Int, + @SerialName("rental_finish_time") val rentalFinishTime: String? = null, +) + +@Serializable +class ViewerApiResponse( + @SerialName("page_list") val pageList: List, + @SerialName("scramble_seed") val scrambleSeed: Long, +) + +@Serializable +class SearchApiResponse( + @SerialName("search_title_list") val searchTitleList: List, +) + +@Serializable +class SearchTitleDetail( + @SerialName("title_id") val titleId: Int, + @SerialName("title_name") val titleName: String, + @SerialName("banner_image_url") val bannerImageUrl: String? = null, +) diff --git a/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/ImageInterceptor.kt b/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/ImageInterceptor.kt new file mode 100644 index 000000000..22901bbc0 --- /dev/null +++ b/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/ImageInterceptor.kt @@ -0,0 +1,95 @@ +package eu.kanade.tachiyomi.extension.ja.magazinepocket + +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.Canvas +import android.graphics.Rect +import okhttp3.Interceptor +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.Response +import okhttp3.ResponseBody +import okhttp3.ResponseBody.Companion.toResponseBody +import java.io.ByteArrayOutputStream + +class ImageInterceptor : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val request = chain.request() + val fragment = request.url.fragment + if (fragment.isNullOrEmpty() || !fragment.startsWith("scramble_seed=")) { + return chain.proceed(request) + } + + val seed = fragment.substringAfter("scramble_seed=").toLong() + val response = chain.proceed(request) + val descrambledBody = descrambleImage(response.body, seed) + + return response.newBuilder().body(descrambledBody).build() + } + + private class Coord(val x: Int, val y: Int) + + private class CoordPair(val source: Coord, val dest: Coord) + + private fun xorshift32(seed: UInt): UInt { + var n = seed + n = n xor (n shl 13) + n = n xor (n shr 17) + n = n xor (n shl 5) + return n + } + + private fun getUnscrambledCoords(seed: Long): List { + var seed32 = seed.toUInt() + val pairs = mutableListOf>() + + for (i in 0 until 16) { + seed32 = xorshift32(seed32) + pairs.add(seed32 to i) + } + + pairs.sortBy { it.first } + val sortedVal = pairs.map { it.second } + + return sortedVal.mapIndexed { i, e -> + CoordPair( + source = Coord(x = e % 4, y = e / 4), + dest = Coord(x = i % 4, y = i / 4), + ) + } + } + + private fun descrambleImage(responseBody: ResponseBody, seed: Long): ResponseBody { + val unscrambledCoords = getUnscrambledCoords(seed) + val originalBitmap = BitmapFactory.decodeStream(responseBody.byteStream()) + ?: throw Exception("Failed to decode image stream") + + val originalWidth = originalBitmap.width + val originalHeight = originalBitmap.height + + val descrambledBitmap = Bitmap.createBitmap(originalWidth, originalHeight, originalBitmap.config) + val canvas = Canvas(descrambledBitmap) + + val getTileDimension = { size: Int -> (size / 8 * 8) / 4 } + val tileWidth = getTileDimension(originalWidth) + val tileHeight = getTileDimension(originalHeight) + + unscrambledCoords.forEach { coord -> + val sx = coord.source.x * tileWidth + val sy = coord.source.y * tileHeight + val dx = coord.dest.x * tileWidth + val dy = coord.dest.y * tileHeight + + val srcRect = Rect(sx, sy, sx + tileWidth, sy + tileHeight) + val destRect = Rect(dx, dy, dx + tileWidth, dy + tileHeight) + + canvas.drawBitmap(originalBitmap, srcRect, destRect, null) + } + originalBitmap.recycle() + + val outputStream = ByteArrayOutputStream() + descrambledBitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream) + descrambledBitmap.recycle() + + return outputStream.toByteArray().toResponseBody("image/jpeg".toMediaType()) + } +} diff --git a/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/MagazinePocket.kt b/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/MagazinePocket.kt index 581ae2733..0ef35f98f 100644 --- a/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/MagazinePocket.kt +++ b/src/ja/magazinepocket/src/eu/kanade/tachiyomi/extension/ja/magazinepocket/MagazinePocket.kt @@ -1,36 +1,454 @@ package eu.kanade.tachiyomi.extension.ja.magazinepocket -import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.network.asObservable +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga -import okhttp3.OkHttpClient -import org.jsoup.nodes.Element +import eu.kanade.tachiyomi.source.online.HttpSource +import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.firstInstance +import keiyoushi.utils.parseAs +import keiyoushi.utils.tryParse +import kotlinx.serialization.json.JsonArray +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.jsonPrimitive +import okhttp3.FormBody +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import okio.ByteString.Companion.encodeUtf8 +import rx.Observable +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Date +import java.util.GregorianCalendar +import java.util.Locale +import java.util.TimeZone -class MagazinePocket : GigaViewer( - "Magazine Pocket", - "https://pocket.shonenmagazine.com", - "ja", - "https://cdn-img.pocket.shonenmagazine.com/public/page", -) { +class MagazinePocket : HttpSource() { + override val name = "Magazine Pocket" + override val baseUrl = "https://pocket.shonenmagazine.com" + override val lang = "ja" + override val supportsLatest = true + override val versionId = 2 - override val client: OkHttpClient = super.client.newBuilder() - .addInterceptor(::imageIntercept) + private val apiUrl = "https://api.pocket.shonenmagazine.com" + private val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.JAPAN) + private val pageLimit = 25 + + override fun headersBuilder() = super.headersBuilder() + .add("Referer", "$baseUrl/") + + override val client = network.cloudflareClient.newBuilder() + .addInterceptor(ImageInterceptor()) .build() - override val publisher: String = "講談社" - - override fun popularMangaSelector(): String = "ul.daily-series li.daily-series-item > a" - - override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply { - title = element.selectFirst("h4.daily-series-title")!!.text() - thumbnail_url = element.selectFirst("div.daily-series-thumb img")!!.attr("data-src") - setUrlWithoutDomain(element.attr("href")!!) + // Popular + override fun popularMangaRequest(page: Int): Request { + val offset = (page - 1) * pageLimit + val url = apiUrl.toHttpUrl().newBuilder() + .addPathSegments("ranking/all") + .addQueryParameter("platform", "3") + .addQueryParameter("ranking_id", "30") + .addQueryParameter("offset", offset.toString()) + .addQueryParameter("limit", "26") + .build() + return hashedGet(url) } - override fun latestUpdatesSelector(): String = "section.daily.$dayOfWeek " + popularMangaSelector() + override fun popularMangaParse(response: Response): MangasPage { + val rankingResult = response.parseAs() + val titleIds = rankingResult.rankingTitleList.map { it.id.toString().padStart(5, '0') } + if (titleIds.isEmpty()) { + return MangasPage(emptyList(), false) + } - override fun getCollections(): List = listOf( - Collection("マガポケ連載一覧", ""), - Collection("週刊少年マガジン連載一覧", "smaga"), - Collection("別冊少年マガジン連載一覧", "bmaga"), + val hasNextPage = titleIds.size > pageLimit + val mangaIdsToFetch = if (hasNextPage) titleIds.dropLast(1) else titleIds + val detailsUrl = apiUrl.toHttpUrl().newBuilder() + .addPathSegments("title/list") + .addQueryParameter("platform", "3") + .addQueryParameter("title_id_list", mangaIdsToFetch.joinToString(",")) + .build() + + val detailsRequest = hashedGet(detailsUrl) + val detailsResponse = client.newCall(detailsRequest).execute() + if (!detailsResponse.isSuccessful) { + throw Exception("Failed to fetch title details: ${detailsResponse.code} - ${detailsResponse.body.string()}") + } + + val detailsResult = detailsResponse.parseAs() + val mangas = detailsResult.titleList.map { manga -> + SManga.create().apply { + val paddedId = manga.titleId.toString().padStart(5, '0') + url = "/title/$paddedId" + title = manga.titleName + thumbnail_url = manga.thumbnailImageUrl + } + } + return MangasPage(mangas, hasNextPage) + } + + // Latest + override fun latestUpdatesRequest(page: Int): Request { + val calendar = GregorianCalendar(TimeZone.getTimeZone("Asia/Tokyo")).apply { + time = Date() + add(Calendar.DAY_OF_MONTH, -(page - 1)) + } + + val dateString = buildString { + append(calendar.get(Calendar.YEAR)) + append('-') + append((calendar.get(Calendar.MONTH) + 1).toString().padStart(2, '0')) + append('-') + append(calendar.get(Calendar.DAY_OF_MONTH).toString().padStart(2, '0')) + } + + val url = apiUrl.toHttpUrl().newBuilder() + .addPathSegments("web/top/updated/title") + .addQueryParameter("base_date", dateString) + .addQueryParameter("platform", "3") + .build() + return hashedGet(url) + } + + override fun latestUpdatesParse(response: Response): MangasPage { + val result = response.parseAs() + val manga = result.titleList.map { manga -> + SManga.create().apply { + val paddedId = manga.titleId.toString().padStart(5, '0') + url = "/title/$paddedId" + title = manga.titleName + thumbnail_url = manga.thumbnailImageUrl + } + } + return MangasPage(manga, true) + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + if (query.isNotBlank()) { + val url = apiUrl.toHttpUrl().newBuilder() + .addPathSegments("web/search/title") + .addQueryParameter("keyword", query) + .addQueryParameter("limit", "99999") + .addQueryParameter("platform", "3") + .build() + return hashedGet(url) + } + + val genreFilter = filters.firstInstance() + val uriPart = genreFilter.toUriPart() + if (uriPart.startsWith("/search/genre/")) { + val url = baseUrl.toHttpUrl().newBuilder() + .addPathSegments(uriPart.removePrefix("/")) + .build() + return GET(url, headers) + } + + val rankingId = uriPart.substringAfter("/ranking/") + val offset = (page - 1) * pageLimit + val url = apiUrl.toHttpUrl().newBuilder() + .addPathSegments("ranking/all") + .addQueryParameter("platform", "3") + .addQueryParameter("ranking_id", rankingId) + .addQueryParameter("offset", offset.toString()) + .addQueryParameter("limit", "26") + .build() + return hashedGet(url) + } + + override fun searchMangaParse(response: Response): MangasPage { + val requestUrl = response.request.url.toString() + if (requestUrl.contains("/web/search/")) { + val result = response.parseAs() + val mangas = result.searchTitleList.map { manga -> + SManga.create().apply { + val paddedId = manga.titleId.toString().padStart(5, '0') + url = "/title/$paddedId" + title = manga.titleName + thumbnail_url = manga.bannerImageUrl + } + } + return MangasPage(mangas.reversed(), false) + } + + if (response.request.url.toString().contains("/search/genre/")) { + val document = response.asJsoup() + val nuxtData = document.selectFirst("script#__NUXT_DATA__")?.data() + ?: return MangasPage(emptyList(), false) + + val rootArray = nuxtData.parseAs() + fun resolve(ref: JsonElement): JsonElement = rootArray[ref.jsonPrimitive.content.toInt()] + + val genreResultObject = rootArray.firstOrNull { it is JsonObject && "search_title_list" in it.jsonObject } + ?: return MangasPage(emptyList(), false) + + val mangaRefs = resolve(genreResultObject.jsonObject["search_title_list"]!!).jsonArray + + val mangas = mangaRefs.map { ref -> + val mangaObject = resolve(ref).jsonObject + val id = resolve(mangaObject["title_id"]!!).jsonPrimitive + SManga.create().apply { + val paddedId = id.toString().padStart(5, '0') + url = "/title/$paddedId" + title = resolve(mangaObject["title_name"]!!).jsonPrimitive.content + thumbnail_url = mangaObject["banner_image_url"]?.let { resolve(it).jsonPrimitive.content } + } + } + return MangasPage(mangas, false) + } + return popularMangaParse(response) + } + + // Details + override fun mangaDetailsParse(response: Response): SManga { + val document = response.asJsoup() + val nuxtData = document.selectFirst("script#__NUXT_DATA__")?.data() + ?: throw Exception("Could not find Nuxt data") + val rootArray = nuxtData.parseAs() + + fun resolve(ref: JsonElement): JsonElement = rootArray[ref.jsonPrimitive.content.toInt()] + + val titleDetailsObject = rootArray + .filterIsInstance() + .findLast { "title_name" in it && "author_text" in it && "introduction_text" in it && "genre_id_list" in it } + ?.jsonObject + + val genreMap = buildMap { + rootArray.forEach { element -> + if (element is JsonObject && element.jsonObject.containsKey("genre_id")) { + val genreObject = element.jsonObject + val id = resolve(genreObject["genre_id"]!!).jsonPrimitive.content.toInt() + val name = resolve(genreObject["genre_name"]!!).jsonPrimitive.content + put(id, name) + } + } + } + + return SManga.create().apply { + title = resolve(titleDetailsObject?.get("title_name")!!).jsonPrimitive.content + author = resolve(titleDetailsObject["author_text"]!!).jsonPrimitive.content + description = resolve(titleDetailsObject["introduction_text"]!!).jsonPrimitive.content + val genreIdRefs = resolve(titleDetailsObject["genre_id_list"]!!).jsonArray + val genreIds = genreIdRefs.map { resolve(it).jsonPrimitive.content.toInt() } + genre = genreIds.mapNotNull { genreMap[it] }.joinToString() + } + } + + // Chapters + override fun chapterListRequest(manga: SManga): Request { + return GET(baseUrl + manga.url, headers) + } + + override fun chapterListParse(response: Response): List { + val document = response.asJsoup() + val nuxtData = document.selectFirst("script#__NUXT_DATA__")?.data() + ?: throw Exception("Could not find Nuxt data") + + val rootArray = nuxtData.parseAs() + fun resolve(ref: JsonElement): JsonElement = rootArray[ref.jsonPrimitive.content.toInt()] + + val titleDetailsObject = rootArray.first { it is JsonObject && it.jsonObject.containsKey("episode_id_list") }.jsonObject + val episodeIdRefs = resolve(titleDetailsObject["episode_id_list"]!!).jsonArray + val episodeIds = episodeIdRefs.map { resolve(it).jsonPrimitive.content } + + val formBody = FormBody.Builder() + .add("platform", "3") + .add("episode_id_list", episodeIds.joinToString(",")) + .build() + + val params = (0 until formBody.size).associate { formBody.name(it) to formBody.value(it) } + val hash = generateHash(params) + + val postHeaders = headersBuilder() + .add("Origin", baseUrl) + .add("x-manga-is-crawler", "false") + .add("x-manga-hash", hash) + .build() + + val apiRequest = POST("$apiUrl/episode/list", postHeaders, formBody) + val apiResponse = client.newCall(apiRequest).execute() + + if (!apiResponse.isSuccessful) { + throw Exception("API request failed with code ${apiResponse.code}: ${apiResponse.body.string()}") + } + + val result = apiResponse.parseAs() + + return result.episodeList.map { chapter -> + SChapter.create().apply { + val paddedId = chapter.titleId.toString().padStart(5, '0') + url = "/title/$paddedId/episode/${chapter.episodeId}" + name = if (chapter.point > 0 && chapter.badge != 3 && chapter.rentalFinishTime == null) { + "🔒 ${chapter.episodeName}" + } else { + chapter.episodeName + } + date_upload = dateFormat.tryParse(chapter.startTime) + } + }.reversed() + } + + // Pages + override fun fetchPageList(chapter: SChapter): Observable> { + return client.newCall(pageListRequest(chapter)) + .asObservable() + .map { response -> + if (!response.isSuccessful) { + if (response.code == 400) { + throw Exception("This chapter is locked. Log in via WebView and rent or purchase this chapter to read.") + } + throw Exception("HTTP error ${response.code}") + } + pageListParse(response) + } + } + + override fun pageListParse(response: Response): List { + val apiResponse = response.parseAs() + val seed = apiResponse.scrambleSeed + return apiResponse.pageList.mapIndexed { index, imageUrl -> + Page(index, imageUrl = "$imageUrl#scramble_seed=$seed") + } + } + + override fun pageListRequest(chapter: SChapter): Request { + val episodeId = chapter.url.substringAfter("episode/") + val url = "$apiUrl/web/episode/viewer".toHttpUrl().newBuilder() + .addQueryParameter("platform", "3") + .addQueryParameter("episode_id", episodeId) + .build() + return hashedGet(url) + } + + private fun generateHash(params: Map, birthday: String = "", expires: String = ""): String { + val paramStrings = params.toSortedMap().map { (key, value) -> + getHashedParam(key, value) + } + + val joinedParams = paramStrings.joinToString(",") + val hash1 = joinedParams.encodeUtf8().sha256().hex() + val cookieHash = getHashedParam(birthday, expires) + val finalString = "$hash1$cookieHash" + return finalString.encodeUtf8().sha512().hex() + } + + private fun getHashedParam(key: String, value: String): String { + val keyHash = key.encodeUtf8().sha256().hex() + val valueHash = value.encodeUtf8().sha512().hex() + return "${keyHash}_$valueHash" + } + + private fun hashedGet(url: HttpUrl): Request { + val queryParams = url.queryParameterNames.associateWith { url.queryParameter(it)!! } + val hash = generateHash(queryParams) + val newHeaders = headersBuilder() + .add("x-manga-hash", hash) + .build() + return GET(url, newHeaders) + } + + override fun getFilterList() = FilterList( + Filter.Header("NOTE: Search query will ignore genre filter"), + GenreFilter(getGenreList()), ) + + private class GenreFilter(private val genres: Array>) : + Filter.Select("Filter by", genres.map { it.first }.toTypedArray()) { + fun toUriPart() = genres[state].second + } + + private fun getGenreList() = arrayOf( + Pair("(ランキング) すべて", "/ranking/30"), + Pair("(ランキング) まずはコレ!", "/ranking/2"), + Pair("(ランキング) オリジナル", "/ranking/1"), + Pair("(ランキング) 新作", "/ranking/31"), + Pair("(ランキング) アクション", "/ranking/21"), + Pair("(ランキング) スポーツ", "/ranking/22"), + Pair("(ランキング) 恋愛", "/ranking/23"), + Pair("(ランキング) 異世界", "/ranking/24"), + Pair("(ランキング) サスペンス", "/ranking/25"), + Pair("(ランキング) 裏社会・ヤンキー", "/ranking/26"), + Pair("(ランキング) ドラマ", "/ranking/27"), + Pair("(ランキング) ファンタジー", "/ranking/28"), + Pair("(ランキング) 日常", "/ranking/29"), + Pair("恋愛・ラブコメ", "/search/genre/1"), + Pair("ホラー・ミステリー・サスペンス", "/search/genre/2"), + Pair("ギャグ・コメディー・日常", "/search/genre/3"), + Pair("SF・ファンタジー", "/search/genre/4"), + Pair("スポーツ", "/search/genre/5"), + Pair("ヒューマンドラマ", "/search/genre/6"), + Pair("裏社会・アングラ・ヤンキー", "/search/genre/7"), + Pair("アクション・バトル", "/search/genre/8"), + Pair("異世界・異能力", "/search/genre/9"), + Pair("読切", "/search/genre/10"), + Pair("MGP", "/search/genre/11"), + Pair("第98回新人漫画賞", "/search/genre/12"), + Pair("第99回新人漫画賞", "/search/genre/13"), + Pair("第100回新人漫画賞", "/search/genre/14"), + Pair("第101回新人漫画賞", "/search/genre/15"), + Pair("第102回新人漫画賞", "/search/genre/16"), + Pair("第103回新人漫画賞", "/search/genre/17"), + Pair("第104回新人漫画賞", "/search/genre/18"), + Pair("第105回新人漫画賞", "/search/genre/19"), + Pair("第106回新人漫画賞", "/search/genre/20"), + Pair("第107回新人漫画賞", "/search/genre/21"), + Pair("第108回新人漫画賞", "/search/genre/22"), + Pair("第109回新人漫画賞", "/search/genre/23"), + Pair("第110回新人漫画賞", "/search/genre/24"), + Pair("2023真夏の読み切り15連弾", "/search/genre/25"), + Pair("マガジンライズ", "/search/genre/26"), + Pair("第111回新人漫画賞", "/search/genre/27"), + Pair("少女/女性", "/search/genre/28"), + Pair("新人漫画大賞", "/search/genre/29"), + Pair("第75回新人漫画賞", "/search/genre/30"), + Pair("第79回新人漫画賞", "/search/genre/31"), + Pair("第85回新人漫画賞", "/search/genre/32"), + Pair("第88回新人漫画賞", "/search/genre/33"), + Pair("第89回新人漫画賞", "/search/genre/34"), + Pair("第91回新人漫画賞", "/search/genre/35"), + Pair("第92回新人漫画賞", "/search/genre/36"), + Pair("第94回新人漫画賞", "/search/genre/37"), + Pair("第95回新人漫画賞", "/search/genre/38"), + Pair("第96回新人漫画賞", "/search/genre/39"), + Pair("第97回新人漫画賞", "/search/genre/40"), + Pair("第112回新人漫画賞", "/search/genre/41"), + Pair("第113回新人漫画大賞", "/search/genre/42"), + Pair("サッカー", "/search/genre/43"), + Pair("テニス", "/search/genre/44"), + Pair("バスケ", "/search/genre/45"), + Pair("格闘技", "/search/genre/46"), + Pair("野球", "/search/genre/47"), + Pair("女性向け異世界", "/search/genre/48"), + Pair("アニメ化", "/search/genre/49"), + Pair("実写化", "/search/genre/50"), + Pair("車・バイク", "/search/genre/51"), + Pair("グルメ・料理", "/search/genre/52"), + Pair("医療", "/search/genre/53"), + Pair("頭脳戦", "/search/genre/54"), + Pair("サバイバル", "/search/genre/55"), + Pair("復讐劇", "/search/genre/56"), + Pair("70~80年代", "/search/genre/57"), + Pair("90年代", "/search/genre/58"), + Pair("金田一シリーズ", "/search/genre/59"), + Pair("第114回新人漫画大賞", "/search/genre/60"), + Pair("連載獲得ダービー", "/search/genre/61"), + Pair("有名漫画賞", "/search/genre/62"), + Pair("探偵・警察", "/search/genre/63"), + Pair("歴史・時代", "/search/genre/64"), + Pair("不倫・浮気", "/search/genre/65"), + Pair("犬・猫", "/search/genre/66"), + ) + + // Unsupported + override fun imageUrlParse(response: Response): String = throw UnsupportedOperationException() }