diff --git a/src/es/cuevana/src/eu/kanade/tachiyomi/animeextension/es/cuevana/CuevanaEu.kt b/src/es/cuevana/src/eu/kanade/tachiyomi/animeextension/es/cuevana/CuevanaEu.kt index 1fb5b789..45fc33b5 100644 --- a/src/es/cuevana/src/eu/kanade/tachiyomi/animeextension/es/cuevana/CuevanaEu.kt +++ b/src/es/cuevana/src/eu/kanade/tachiyomi/animeextension/es/cuevana/CuevanaEu.kt @@ -6,7 +6,6 @@ import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.es.cuevana.models.AnimeEpisodesList import eu.kanade.tachiyomi.animeextension.es.cuevana.models.PopularAnimeList -import eu.kanade.tachiyomi.animeextension.es.cuevana.models.Server import eu.kanade.tachiyomi.animeextension.es.cuevana.models.Videos import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilter @@ -33,7 +32,6 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat -import java.util.ArrayList class CuevanaEu(override val name: String, override val baseUrl: String) : ConfigurableAnimeSource, ParsedAnimeHttpSource() { diff --git a/src/es/metroseries/src/eu/kanade/tachiyomi/animeextension/es/metroseries/MetroSeries.kt b/src/es/metroseries/src/eu/kanade/tachiyomi/animeextension/es/metroseries/MetroSeries.kt index 910404a4..fe841e3c 100644 --- a/src/es/metroseries/src/eu/kanade/tachiyomi/animeextension/es/metroseries/MetroSeries.kt +++ b/src/es/metroseries/src/eu/kanade/tachiyomi/animeextension/es/metroseries/MetroSeries.kt @@ -49,6 +49,10 @@ class MetroSeries : ConfigurableAnimeSource, AnimeHttpSource() { } companion object { + private const val PREF_LANGUAGE_KEY = "preferred_language" + private const val PREF_LANGUAGE_DEFAULT = "[LAT]" + private val LANGUAGE_LIST = arrayOf("[LAT]", "[SUB]", "[CAST]") + private const val PREF_QUALITY_KEY = "preferred_quality" private const val PREF_QUALITY_DEFAULT = "1080" private val QUALITY_LIST = arrayOf("1080", "720", "480", "360") @@ -260,8 +264,10 @@ class MetroSeries : ConfigurableAnimeSource, AnimeHttpSource() { override fun List<Video>.sort(): List<Video> { val quality = preferences.getString(PREF_QUALITY_KEY, PREF_QUALITY_DEFAULT)!! val server = preferences.getString(PREF_SERVER_KEY, PREF_SERVER_DEFAULT)!! + val lang = preferences.getString(PREF_LANGUAGE_KEY, PREF_LANGUAGE_DEFAULT)!! return this.sortedWith( compareBy( + { it.quality.contains(lang) }, { it.quality.contains(server, true) }, { it.quality.contains(quality) }, { Regex("""(\d+)p""").find(it.quality)?.groupValues?.get(1)?.toIntOrNull() ?: 0 }, @@ -270,6 +276,22 @@ class MetroSeries : ConfigurableAnimeSource, AnimeHttpSource() { } override fun setupPreferenceScreen(screen: PreferenceScreen) { + ListPreference(screen.context).apply { + key = PREF_LANGUAGE_KEY + title = "Preferred language" + entries = LANGUAGE_LIST + entryValues = LANGUAGE_LIST + setDefaultValue(PREF_LANGUAGE_DEFAULT) + 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() + } + }.also(screen::addPreference) + ListPreference(screen.context).apply { key = PREF_QUALITY_KEY title = "Preferred quality"