Add toggle for special episodes for marin.moe (#1174)
Co-authored-by: jmir1 <jhmiramon@gmail.com>
This commit is contained in:
@ -6,7 +6,7 @@ ext {
|
|||||||
extName = 'marin.moe'
|
extName = 'marin.moe'
|
||||||
pkgNameSuffix = 'en.marinmoe'
|
pkgNameSuffix = 'en.marinmoe'
|
||||||
extClass = '.MarinMoe'
|
extClass = '.MarinMoe'
|
||||||
extVersionCode = 3
|
extVersionCode = 4
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,6 +75,7 @@ data class AnimeDetails(
|
|||||||
val title: String,
|
val title: String,
|
||||||
val sort: Float,
|
val sort: Float,
|
||||||
val slug: String,
|
val slug: String,
|
||||||
|
val type: Int,
|
||||||
val release_date: String,
|
val release_date: String,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import android.app.Application
|
|||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.PreferenceScreen
|
import androidx.preference.PreferenceScreen
|
||||||
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
|
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
|
||||||
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
|
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
|
||||||
import eu.kanade.tachiyomi.animesource.model.AnimesPage
|
import eu.kanade.tachiyomi.animesource.model.AnimesPage
|
||||||
@ -144,6 +145,7 @@ class MarinMoe : ConfigurableAnimeSource, AnimeHttpSource() {
|
|||||||
val dataPage = document.select("div#app").attr("data-page").replace(""", "\"")
|
val dataPage = document.select("div#app").attr("data-page").replace(""", "\"")
|
||||||
|
|
||||||
val dataJson = json.decodeFromString<AnimeDetails>(dataPage)
|
val dataJson = json.decodeFromString<AnimeDetails>(dataPage)
|
||||||
|
val includeSpecial = preferences.getBoolean("preferred_special", true)
|
||||||
|
|
||||||
dataJson.props.episode_list.data.forEach {
|
dataJson.props.episode_list.data.forEach {
|
||||||
val episode = SEpisode.create()
|
val episode = SEpisode.create()
|
||||||
@ -155,7 +157,7 @@ class MarinMoe : ConfigurableAnimeSource, AnimeHttpSource() {
|
|||||||
val parsedDate = parseDate(it.release_date)
|
val parsedDate = parseDate(it.release_date)
|
||||||
if (parsedDate.time != -1L) episode.date_upload = parsedDate.time
|
if (parsedDate.time != -1L) episode.date_upload = parsedDate.time
|
||||||
|
|
||||||
episodes.add(episode)
|
if (includeSpecial || it.type != 2) episodes.add(episode)
|
||||||
}
|
}
|
||||||
|
|
||||||
var next = dataJson.props.episode_list.links.next
|
var next = dataJson.props.episode_list.links.next
|
||||||
@ -327,8 +329,20 @@ class MarinMoe : ConfigurableAnimeSource, AnimeHttpSource() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val specialPref = SwitchPreferenceCompat(screen.context).apply {
|
||||||
|
key = "preferred_special"
|
||||||
|
title = "Include Special Episodes"
|
||||||
|
setDefaultValue(true)
|
||||||
|
|
||||||
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
|
val new = newValue as Boolean
|
||||||
|
preferences.edit().putBoolean(key, new).commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
screen.addPreference(videoQualityPref)
|
screen.addPreference(videoQualityPref)
|
||||||
screen.addPreference(groupPref)
|
screen.addPreference(groupPref)
|
||||||
screen.addPreference(subPref)
|
screen.addPreference(subPref)
|
||||||
|
screen.addPreference(specialPref)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user