From a31bbe2d873482988d2a96a64a9bac9cf395f875 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Sat, 29 Oct 2022 19:45:53 -0300 Subject: [PATCH] Feat(Vizer.tv): Add video and language preferences (#988) * feat(Vizer): Add player/language preferences * feat(Vizer): Respect player/language preferences * Vizer: bump version --- src/pt/vizer/build.gradle | 2 +- .../animeextension/pt/vizer/Vizer.kt | 67 ++++++++++++++++++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/src/pt/vizer/build.gradle b/src/pt/vizer/build.gradle index 44e26f574..30b7a6c12 100644 --- a/src/pt/vizer/build.gradle +++ b/src/pt/vizer/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Vizer.tv' pkgNameSuffix = 'pt.vizer' extClass = '.Vizer' - extVersionCode = 2 + extVersionCode = 3 libVersion = '13' containsNsfw = true } diff --git a/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt b/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt index 99cb4a96e..a960aafcb 100644 --- a/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt +++ b/src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt @@ -158,7 +158,7 @@ class Vizer : ConfigurableAnimeSource, AnimeHttpSource() { val players = client.newCall(apiRequest("getVideoPlayers=${videoObj.id}")) .execute() .parseAs() - val langPrefix = if (videoObj.lang == "1") "SUB" else "DUB" + val langPrefix = if (videoObj.lang == "1") "LEG" else "DUB" val videoList = players.iterator().mapNotNull loop@{ (name, status) -> if (status == "0") return@loop null val url = getPlayerUrl(videoObj.id, name) @@ -271,7 +271,40 @@ class Vizer : ConfigurableAnimeSource, AnimeHttpSource() { preferences.edit().putString(key, entry).commit() } } + + val preferredPlayer = ListPreference(screen.context).apply { + key = PREF_PLAYER_KEY + title = PREF_PLAYER_TITLE + entries = PREF_PLAYER_ARRAY + entryValues = PREF_PLAYER_ARRAY + setDefaultValue("MixDrop") + 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 preferredLanguage = ListPreference(screen.context).apply { + key = PREF_LANGUAGE_KEY + title = PREF_LANGUAGE_TITLE + entries = PREF_LANGUAGE_ENTRIES + entryValues = PREF_LANGUAGE_VALUES + setDefaultValue("LEG") + 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() + } + } + screen.addPreference(popularPage) + screen.addPreference(preferredPlayer) + screen.addPreference(preferredLanguage) } // ============================= Utilities ============================== @@ -289,6 +322,27 @@ class Vizer : ConfigurableAnimeSource, AnimeHttpSource() { return POST("$API_URL/publicFunctions.php", newHeaders, body = reqBody) } + private fun List