From 95318e6e56ef2b1c8f6e5fdf2a86e0839b8be914 Mon Sep 17 00:00:00 2001 From: Secozzi <49240133+Secozzi@users.noreply.github.com> Date: Thu, 12 Jan 2023 15:03:51 +0100 Subject: [PATCH] Updated domains, added filters for Gogoanime (#1159) --- src/en/gogoanime/build.gradle | 2 +- .../animeextension/en/gogoanime/GogoAnime.kt | 104 +++++++++++++++++- 2 files changed, 100 insertions(+), 6 deletions(-) diff --git a/src/en/gogoanime/build.gradle b/src/en/gogoanime/build.gradle index 297405356..7dc8e4de7 100644 --- a/src/en/gogoanime/build.gradle +++ b/src/en/gogoanime/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Gogoanime' pkgNameSuffix = 'en.gogoanime' extClass = '.GogoAnime' - extVersionCode = 52 + extVersionCode = 53 libVersion = '13' } diff --git a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt index a7afc2999..fc32ad607 100644 --- a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt +++ b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt @@ -142,10 +142,14 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { val filterList = if (filters.isEmpty()) getFilterList() else filters val genreFilter = filterList.find { it is GenreFilter } as GenreFilter + val recentFilter = filterList.find { it is RecentFilter } as RecentFilter + val seasonFilter = filterList.find { it is SeasonFilter } as SeasonFilter return when { query.isNotBlank() -> GET("$baseUrl/search.html?keyword=$query&page=$page", headers) genreFilter.state != 0 -> GET("$baseUrl/genre/${genreFilter.toUriPart()}?page=$page") + recentFilter.state != 0 -> GET("https://ajax.gogo-load.com/ajax/page-recent-release.html?page=$page&type=${recentFilter.toUriPart()}") + seasonFilter.state != 0 -> GET("$baseUrl/${seasonFilter.toUriPart()}?page=$page", headers) else -> GET("$baseUrl/popular.html?page=$page") } } @@ -198,9 +202,9 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val domainPref = ListPreference(screen.context).apply { key = "preferred_domain" title = "Preferred domain (requires app restart)" - entries = arrayOf("gogoanime.lu", "gogoanime.gg") - entryValues = arrayOf("https://gogoanime.lu", "https://gogoanime.gg") - setDefaultValue("https://gogoanime.lu") + entries = arrayOf("gogoanime.tel", "gogoanime.ar") + entryValues = arrayOf("https://gogoanime.tel", "https://gogoanime.ar") + setDefaultValue("https://gogoanime.tel") summary = "%s" setOnPreferenceChangeListener { _, newValue -> @@ -248,7 +252,9 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { // Filters override fun getFilterList(): AnimeFilterList = AnimeFilterList( AnimeFilter.Header("Text search ignores filters"), - GenreFilter() + GenreFilter(), + RecentFilter(), + SeasonFilter() ) private class GenreFilter : UriPartFilter( @@ -256,34 +262,61 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { arrayOf( Pair("", ""), + Pair("Recent Release", "1"), + Pair("Recent Dub", "2"), + Pair("Recent Chinese", "3") + ) + ) + + private class SeasonFilter : UriPartFilter( + "Season", + arrayOf( + Pair("