From 0c4ae364e6555b8457b9c2222f0ee932b234da7f Mon Sep 17 00:00:00 2001 From: jmir1 Date: Sun, 20 Mar 2022 22:39:22 +0100 Subject: [PATCH] gogo: add domain preference --- src/en/gogoanime/build.gradle | 2 +- .../animeextension/en/gogoanime/GogoAnime.kt | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/en/gogoanime/build.gradle b/src/en/gogoanime/build.gradle index f5fb9a4cb..47f07f36a 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 = 31 + extVersionCode = 32 libVersion = '12' } 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 5b3cc894e..ac45cbb00 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 @@ -32,7 +32,7 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "Gogoanime" - override val baseUrl = "https://gogoanime.fi" + override val baseUrl by lazy { preferences.getString("preferred_domain", "https://gogoanime.fi")!! } override val lang = "en" @@ -190,6 +190,21 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun latestUpdatesSelector(): String = "div.added_series_body.popular li a:has(div)" override fun setupPreferenceScreen(screen: PreferenceScreen) { + val domainPref = ListPreference(screen.context).apply { + key = "preferred_domain" + title = "Preferred domain (requires app restart)" + entries = arrayOf("gogoanime.fi", "gogoanime.gg") + entryValues = arrayOf("https://gogoanime.fi", "https://gogoanime.gg", "https://animepahe.org") + setDefaultValue("https://gogoanime.fi") + summary = "%s" + + setOnPreferenceChangeListener { _, newValue -> + val selected = newValue as String + val index = findIndexOfValue(selected) + val entry = entryValues[index] as String + preferences.edit().putString(key, entry).commit() + } + } val videoQualityPref = ListPreference(screen.context).apply { key = "preferred_quality" title = "Preferred quality" @@ -205,6 +220,7 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { preferences.edit().putString(key, entry).commit() } } + screen.addPreference(domainPref) screen.addPreference(videoQualityPref) }