GenzToons: Update theme and domain (#5587)
* update theme and domain * add paid chapters preference
This commit is contained in:
parent
033f5cb3e6
commit
38567075ae
|
@ -1,9 +1,9 @@
|
||||||
ext {
|
ext {
|
||||||
extName = 'Genz Toons'
|
extName = 'Genz Toons'
|
||||||
extClass = '.GenzToons'
|
extClass = '.GenzToons'
|
||||||
themePkg = 'mangathemesia'
|
themePkg = 'keyoapp'
|
||||||
baseUrl = 'https://genztoons.com'
|
baseUrl = 'https://genzupdates.com'
|
||||||
overrideVersionCode = 4
|
overrideVersionCode = 28
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: "$rootDir/common.gradle"
|
apply from: "$rootDir/common.gradle"
|
||||||
|
|
|
@ -1,16 +1,62 @@
|
||||||
package eu.kanade.tachiyomi.extension.en.suryascans
|
package eu.kanade.tachiyomi.extension.en.suryascans
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
import android.app.Application
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
import androidx.preference.PreferenceScreen
|
||||||
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
|
import eu.kanade.tachiyomi.multisrc.keyoapp.Keyoapp
|
||||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||||
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
import uy.kohesive.injekt.Injekt
|
||||||
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class GenzToons : MangaThemesia(
|
class GenzToons :
|
||||||
|
Keyoapp(
|
||||||
"Genz Toons",
|
"Genz Toons",
|
||||||
"https://genztoons.com",
|
"https://genztoons.com",
|
||||||
"en",
|
"en",
|
||||||
) {
|
),
|
||||||
override val id = 2909429739457928148
|
ConfigurableSource {
|
||||||
|
|
||||||
|
private val preferences: SharedPreferences =
|
||||||
|
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
||||||
|
|
||||||
override val client = super.client.newBuilder()
|
override val client = super.client.newBuilder()
|
||||||
.rateLimit(3)
|
.rateLimit(3)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
override fun chapterListSelector(): String {
|
||||||
|
if (!preferences.showPaidChapters) {
|
||||||
|
return "#chapters > a:not(:has(.text-sm span:matches(Upcoming))):not(:has(img[src*=Coin.svg]))"
|
||||||
|
}
|
||||||
|
return "#chapters > a:not(:has(.text-sm span:matches(Upcoming)))"
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun chapterFromElement(element: Element): SChapter {
|
||||||
|
return super.chapterFromElement(element).apply {
|
||||||
|
if (element.select("img[src*=Coin.svg]").isNotEmpty()) {
|
||||||
|
name = "🔒 $name"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||||
|
SwitchPreferenceCompat(screen.context).apply {
|
||||||
|
key = SHOW_PAID_CHAPTERS_PREF
|
||||||
|
title = "Display paid chapters"
|
||||||
|
summaryOn = "Paid chapters will appear."
|
||||||
|
summaryOff = "Only free chapters will be displayed."
|
||||||
|
setDefaultValue(SHOW_PAID_CHAPTERS_DEFAULT)
|
||||||
|
}.also(screen::addPreference)
|
||||||
|
}
|
||||||
|
|
||||||
|
private val SharedPreferences.showPaidChapters: Boolean
|
||||||
|
get() = getBoolean(SHOW_PAID_CHAPTERS_PREF, SHOW_PAID_CHAPTERS_DEFAULT)
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val SHOW_PAID_CHAPTERS_PREF = "pref_show_paid_chap"
|
||||||
|
private const val SHOW_PAID_CHAPTERS_DEFAULT = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue