diff --git a/src/en/lunarscans/build.gradle b/src/en/lunarscans/build.gradle index cbf6e8b4e..d7228ca76 100644 --- a/src/en/lunarscans/build.gradle +++ b/src/en/lunarscans/build.gradle @@ -3,8 +3,12 @@ ext { extClass = '.LunarScans' themePkg = 'mangathemesia' baseUrl = 'https://lunarscan.org' - overrideVersionCode = 1 + overrideVersionCode = 2 isNsfw = true } apply from: "$rootDir/common.gradle" + +dependencies { + implementation project(':lib:randomua') +} diff --git a/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt b/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt index f3a95f697..9d9db7ab1 100644 --- a/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt +++ b/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt @@ -1,8 +1,15 @@ package eu.kanade.tachiyomi.extension.en.lunarscans +import android.app.Application +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen +import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA +import eu.kanade.tachiyomi.lib.randomua.getPrefUAType +import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page @@ -10,14 +17,25 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import okhttp3.Request import org.jsoup.nodes.Document +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get + +class LunarScans : + MangaThemesia( + "Lunar Scans", + "https://lunarscan.org", + "en", + "/series", + ), + ConfigurableSource { + + private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) -class LunarScans : MangaThemesia( - "Lunar Scans", - "https://lunarscan.org", - "en", - "/series", -) { override val client = super.client.newBuilder() + .setRandomUserAgent( + preferences.getPrefUAType(), + preferences.getPrefCustomUA(), + ) .rateLimit(1) .build() @@ -71,6 +89,10 @@ class LunarScans : MangaThemesia( return imageUrls.mapIndexed { index, imageUrl -> Page(index, document.location(), imageUrl) } } + override fun setupPreferenceScreen(screen: PreferenceScreen) { + addRandomUAPreferenceToScreen(screen) + } + @Serializable data class TSReader( val sources: List,