diff --git a/src/pt/animesup/build.gradle b/src/pt/animesup/build.gradle index 1eb306478..edc173f81 100644 --- a/src/pt/animesup/build.gradle +++ b/src/pt/animesup/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'AnimesUP' pkgNameSuffix = 'pt.animesup' extClass = '.AnimesUp' - extVersionCode = 1 + extVersionCode = 2 libVersion = '13' } diff --git a/src/pt/animesup/src/eu/kanade/tachiyomi/animeextension/pt/animesup/AnimesUp.kt b/src/pt/animesup/src/eu/kanade/tachiyomi/animeextension/pt/animesup/AnimesUp.kt index 96f485f8c..64db210e7 100644 --- a/src/pt/animesup/src/eu/kanade/tachiyomi/animeextension/pt/animesup/AnimesUp.kt +++ b/src/pt/animesup/src/eu/kanade/tachiyomi/animeextension/pt/animesup/AnimesUp.kt @@ -1,8 +1,13 @@ package eu.kanade.tachiyomi.animeextension.pt.animesup +import android.app.Application +import android.content.SharedPreferences import android.net.Uri +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.pt.animesup.extractors.AnimesUpExtractor import eu.kanade.tachiyomi.animeextension.pt.animesup.extractors.LegacyFunExtractor +import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.AnimesPage import eu.kanade.tachiyomi.animesource.model.SAnime @@ -19,10 +24,11 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable +import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.lang.Exception -class AnimesUp : ParsedAnimeHttpSource() { +class AnimesUp : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "AnimesUp" @@ -37,6 +43,10 @@ class AnimesUp : ParsedAnimeHttpSource() { override fun headersBuilder(): Headers.Builder = Headers.Builder() .add("Referer", baseUrl) + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + // ============================== Popular =============================== override fun popularAnimeSelector(): String = "article.w_item_b > a" @@ -230,6 +240,26 @@ class AnimesUp : ParsedAnimeHttpSource() { override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/episodios/page/$page", headers) + // ============================== Settings ============================== + override fun setupPreferenceScreen(screen: PreferenceScreen) { + val videoQualityPref = ListPreference(screen.context).apply { + key = PREF_QUALITY_KEY + title = PREF_QUALITY_TITLE + entries = PREF_QUALITY_ENTRIES + entryValues = PREF_QUALITY_VALUES + setDefaultValue(PREF_QUALITY_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() + } + } + + screen.addPreference(videoQualityPref) + } + // ============================= Utilities ============================== private val animeMenuSelector = "div.pag_episodes div.item a[href] i.icon-bars" @@ -263,7 +293,28 @@ class AnimesUp : ParsedAnimeHttpSource() { return Uri.parse(this).getQueryParameter(param) } + override fun List