refactor(preferences): replace lazy initialization with getPreferencesLazy() (#261)

This commit is contained in:
Cuong-Tran
2025-07-06 20:17:52 +07:00
parent a7f998b332
commit 8ea2d72148
184 changed files with 373 additions and 1247 deletions

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.multisrc.animestream
import android.app.Application
import android.util.Base64
import android.util.Log
import androidx.preference.ListPreference
@@ -24,6 +23,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -33,8 +33,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -46,9 +44,7 @@ abstract class AnimeStream(
override val supportsLatest = true
protected open val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
protected open val preferences by getPreferencesLazy()
companion object {
const val PREFIX_SEARCH = "path:"

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.multisrc.datalifeengine
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
@@ -21,8 +21,6 @@ import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
abstract class DataLifeEngine(
override val name: String,
@@ -32,7 +30,7 @@ abstract class DataLifeEngine(
override val supportsLatest = false
private val preferences by lazy { Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000) }
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.multisrc.dooplay
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -15,12 +13,11 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -38,9 +35,7 @@ abstract class DooPlay(
override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl)
protected open val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
protected open val preferences by getPreferencesLazy()
companion object {
/**

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.multisrc.dopeflix
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -18,6 +16,7 @@ import eu.kanade.tachiyomi.multisrc.dopeflix.extractors.DopeFlixExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrl
@@ -25,8 +24,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
abstract class DopeFlix(
override val name: String,
@@ -41,9 +38,7 @@ abstract class DopeFlix(
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun headersBuilder() = super.headersBuilder().add("Referer", "$baseUrl/")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.multisrc.wcotheme
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
@@ -27,8 +27,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
abstract class WcoTheme : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -45,9 +43,7 @@ abstract class WcoTheme : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
open val json: Json by injectLazy()
open val playlistUtils by lazy { PlaylistUtils(client, headers) }
open val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
open val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET(baseUrl, headers)

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.multisrc.zorotheme
import android.app.Application
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.ListPreference
@@ -20,6 +19,7 @@ import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import eu.kanade.tachiyomi.util.parallelMapNotNull
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.Headers
import okhttp3.HttpUrl
@@ -28,8 +28,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
abstract class ZoroTheme(
@@ -43,9 +41,8 @@ abstract class ZoroTheme(
private val json: Json by injectLazy()
val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
.clearOldHosts()
val preferences by getPreferencesLazy {
clearOldHosts()
}
protected val docHeaders = headers.newBuilder().apply {

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.animeonsen
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.all.animeonsen.dto.AnimeDetails
@@ -19,13 +18,12 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.boolean
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.Headers
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AnimeOnsen : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -46,9 +44,7 @@ class AnimeOnsen : ConfigurableAnimeSource, AnimeHttpSource() {
.build()
}
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json: Json by injectLazy()

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.animeworldindia
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -11,15 +10,13 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AnimeWorldIndia(
@@ -35,9 +32,7 @@ class AnimeWorldIndia(
private val json: Json by injectLazy()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/advanced-search/page/$page/?s_lang=$lang&s_orderby=viewed")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.anizone
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -19,6 +18,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
@@ -37,8 +37,6 @@ import okhttp3.Response
import org.jsoup.Jsoup.parseBodyFragment
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.text.ParseException
import java.text.SimpleDateFormat
@@ -56,9 +54,7 @@ class AniZone : AnimeHttpSource(), ConfigurableAnimeSource {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private var token: String = ""

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.debridindex
import android.app.Application
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
@@ -17,13 +15,11 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.lang.Exception
import java.text.SimpleDateFormat
import java.util.Locale
@@ -39,9 +35,7 @@ class DebridIndex : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request {

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.googledrive
import android.app.Application
import android.content.SharedPreferences
import android.text.Editable
import android.text.TextWatcher
@@ -24,6 +23,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.commonEmptyRequestBody
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
@@ -33,8 +33,6 @@ import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import okio.ProtocolException
import org.jsoup.nodes.Document
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.net.URLEncoder
import java.security.MessageDigest
@@ -58,9 +56,7 @@ class GoogleDrive : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// Overriding headersBuilder() seems to cause issues with webview
private val getHeaders = headers.newBuilder().apply {

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.googledriveindex
import android.app.Application
import android.content.SharedPreferences
import android.text.Editable
import android.text.TextWatcher
@@ -24,6 +23,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.Credentials
@@ -33,8 +33,6 @@ import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.net.URLEncoder
@@ -54,9 +52,7 @@ class GoogleDriveIndex : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val client = network.client.newBuilder()
.addInterceptor { chain ->

View File

@@ -1,8 +1,6 @@
package eu.kanade.tachiyomi.animeextension.all.hentaitorrent
import android.annotation.SuppressLint
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -17,13 +15,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.torrentutils.TorrentUtils
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.SocketTimeoutException
import java.util.Locale
@@ -35,9 +32,7 @@ class HentaiTorrent : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val lang = "all"
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val supportsLatest = false

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.hikari
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
@@ -21,11 +20,10 @@ import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Hikari : AnimeHttpSource(), ConfigurableAnimeSource {
@@ -41,9 +39,7 @@ class Hikari : AnimeHttpSource(), ConfigurableAnimeSource {
override val supportsLatest = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.jable
import android.app.Application
import android.content.SharedPreferences
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
import eu.kanade.tachiyomi.animesource.model.AnimeUpdateStrategy
@@ -11,13 +10,12 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class Jable(override val lang: String) : AnimeHttpSource() {
@@ -28,9 +26,7 @@ class Jable(override val lang: String) : AnimeHttpSource() {
override val supportsLatest: Boolean
get() = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json by injectLazy<Json>()
private var tagsUpdated = false

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.javgg
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -19,11 +17,10 @@ import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Javgg : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -35,9 +32,7 @@ class Javgg : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.javguru
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -24,14 +23,13 @@ import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Call
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.Request
import okhttp3.Response
import org.jsoup.select.Elements
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.math.min
class JavGuru : AnimeHttpSource(), ConfigurableAnimeSource {
@@ -48,9 +46,7 @@ class JavGuru : AnimeHttpSource(), ConfigurableAnimeSource {
.followRedirects(false)
.build()
private val preference by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private lateinit var popularElements: Elements
@@ -204,7 +200,7 @@ class JavGuru : AnimeHttpSource(), ConfigurableAnimeSource {
document.selectFirst(".infoleft li:contains(actor)")?.text()?.let { append("$it\n") }
document.selectFirst(".infoleft li:contains(actress)")?.text()?.let { append("$it\n") }
}
thumbnail_url = if (preference.fetchHDCovers) {
thumbnail_url = if (preferences.fetchHDCovers) {
javId?.let { JavCoverFetcher.getCoverById(it) } ?: siteCover
} else {
siteCover
@@ -316,7 +312,7 @@ class JavGuru : AnimeHttpSource(), ConfigurableAnimeSource {
}
override fun List<Video>.sort(): List<Video> {
val quality = preference.getString(PREF_QUALITY, PREF_QUALITY_DEFAULT)!!
val quality = preferences.getString(PREF_QUALITY, PREF_QUALITY_DEFAULT)!!
return sortedWith(
compareBy { it.quality.contains(quality) },

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.jellyfin
import android.app.Application
import android.content.SharedPreferences
import android.text.InputType
import android.util.Log
@@ -19,6 +18,7 @@ import eu.kanade.tachiyomi.animesource.model.Track
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Dns
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
@@ -27,14 +27,10 @@ import okhttp3.Response
import org.apache.commons.text.StringSubstitutor
import rx.Single
import rx.schedulers.Schedulers
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.security.MessageDigest
class Jellyfin(private val suffix: String) : ConfigurableAnimeSource, AnimeHttpSource(), UnmeteredSource {
internal val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
internal val preferences by getPreferencesLazy()
private val displayName by lazy { preferences.getString(PREF_CUSTOM_LABEL_KEY, suffix)!!.ifBlank { suffix } }
private val userId by lazy { preferences.userId.ifBlank { authInterceptor.updateCredentials().second } }

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.missav
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,12 +15,11 @@ import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.lib.unpacker.Unpacker
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class MissAV : AnimeHttpSource(), ConfigurableAnimeSource {
@@ -40,9 +38,7 @@ class MissAV : AnimeHttpSource(), ConfigurableAnimeSource {
PlaylistUtils(client, headers)
}
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeRequest(page: Int) =
GET("$baseUrl/en/today-hot?page=$page", headers)

View File

@@ -18,6 +18,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrl
@@ -43,9 +44,7 @@ class NewGrounds : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
private val dateFormat = SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH)
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val context = Injekt.get<Application>()
private val handler by lazy { Handler(Looper.getMainLooper()) }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.nyaatorrent
import android.app.Application
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.EditTextPreference
import androidx.preference.PreferenceScreen
@@ -18,13 +16,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.torrentutils.TorrentUtils
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.SocketTimeoutException
import java.net.URLEncoder
import java.text.SimpleDateFormat
@@ -40,9 +37,7 @@ class NyaaTorrent(extName: String, private val extURL: String, private val extId
override val lang = "all"
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val supportsLatest = true

View File

@@ -1,8 +1,6 @@
package eu.kanade.tachiyomi.animeextension.all.ptorrent
import android.annotation.SuppressLint
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -17,13 +15,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.torrentutils.TorrentUtils
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.SocketTimeoutException
import java.util.Locale
@@ -35,9 +32,7 @@ class PTorrent : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val lang = "all"
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val supportsLatest = false

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.rouvideo
import android.app.Application
import android.content.SharedPreferences
import eu.kanade.tachiyomi.animeextension.all.rouvideo.RouVideoDto.toAnimePage
import eu.kanade.tachiyomi.animeextension.all.rouvideo.RouVideoFilter.ALL_VIDEOS
import eu.kanade.tachiyomi.animeextension.all.rouvideo.RouVideoFilter.FEATURED
@@ -21,6 +19,7 @@ import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.coroutineScope
@@ -30,8 +29,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
@@ -50,9 +47,7 @@ class RouVideo(
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val intl = Intl(
language = Locale.getDefault().language.takeIf { lang == "all" } ?: lang,

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.shabakatycinemana
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -15,6 +13,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.descriptors.buildClassSerialDescriptor
@@ -29,8 +28,6 @@ import kotlinx.serialization.json.jsonPrimitive
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
@@ -180,9 +177,7 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val IS_BROWSING_FILTER_NAME = "Browse"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.streamingcommunity
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import android.webkit.URLUtil
import android.widget.Toast
@@ -29,6 +27,7 @@ import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
@@ -40,8 +39,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.text.SimpleDateFormat
import java.util.Locale
@@ -50,9 +47,7 @@ class StreamingCommunity(override val lang: String, private val showType: String
override val name = "StreamingUnity (${showType.replaceFirstChar { it.uppercaseChar() }})"
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val client: OkHttpClient = network.client.newBuilder()
.followRedirects(false)

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.stremio
import android.app.Application
import android.content.SharedPreferences
import android.text.InputType
import android.util.Log
@@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -38,15 +38,9 @@ import okhttp3.Response
import org.apache.commons.text.StringSubstitutor
import rx.Single
import rx.schedulers.Schedulers
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.collections.any
import kotlin.collections.orEmpty
class Stremio : ConfigurableAnimeSource, AnimeHttpSource() {
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val baseUrl by lazy { preferences.getString(WEBUI_URL_KEY, WEBUI_URL_DEFAULT)!! }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.subsplease
import android.app.Application
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
@@ -15,17 +13,14 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.Exception
class Subsplease : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -37,11 +32,7 @@ class Subsplease : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
override val client: OkHttpClient = network.cloudflareClient
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json = Json {
isLenient = true

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.sudatchi
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -24,13 +23,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class Sudatchi : AnimeHttpSource(), ConfigurableAnimeSource {
@@ -51,9 +49,7 @@ class Sudatchi : AnimeHttpSource(), ConfigurableAnimeSource {
private val sudatchiFilters: SudatchiFilters by lazy { SudatchiFilters(baseUrl, client) }
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET(baseUrl, headers)

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.supjav
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -18,13 +17,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class SupJav(override val lang: String = "en") : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -43,9 +41,7 @@ class SupJav(override val lang: String = "en") : ConfigurableAnimeSource, Parsed
else -> "/$lang"
}
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl$langPath/popular/page/$page", headers)

View File

@@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.animeextension.all.torrentio
import android.app.Application
import android.content.SharedPreferences
import android.os.Handler
import android.os.Looper
import android.widget.Toast
@@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
@@ -46,9 +46,7 @@ class Torrentio : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val context = Injekt.get<Application>()
private val handler by lazy { Handler(Looper.getMainLooper()) }

View File

@@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.animeextension.all.torrentioanime
import android.app.Application
import android.content.SharedPreferences
import android.os.Handler
import android.os.Looper
import android.widget.Toast
@@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.add
@@ -53,9 +53,7 @@ class Torrentio : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val context = Injekt.get<Application>()
private val handler by lazy { Handler(Looper.getMainLooper()) }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.xnxx
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -13,13 +11,11 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Exception
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@@ -34,9 +30,7 @@ class Xnxx : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "div[id*='video_'].thumb-block"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.all.xvideos
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -13,13 +11,11 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Exception
class Xvideos : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -31,9 +27,7 @@ class Xvideos : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "div#main div#content div.mozaique.cust-nb-cols > div"

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.anime4up
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -22,17 +21,14 @@ import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.lang.Exception
class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -46,9 +42,7 @@ class Anime4Up : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun headersBuilder() = super.headersBuilder().add("Referer", "$baseUrl/")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.animeblkom
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,13 +13,11 @@ import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor
import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Exception
class AnimeBlkom : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -35,9 +32,7 @@ class AnimeBlkom : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun headersBuilder() = super.headersBuilder()
.add("referer", baseUrl)
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/animes-list/?sort_by=rate&page=$page", headers)

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.animeiat
import android.app.Application
import android.content.SharedPreferences
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.preference.ListPreference
@@ -20,11 +18,10 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.util.Base64
class Animeiat : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -41,9 +38,7 @@ class Animeiat : ConfigurableAnimeSource, AnimeHttpSource() {
ignoreUnknownKeys = true
}
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeParse(response: Response): AnimesPage {

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.animelek
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.ar.animelek.extractors.SharedExtractor
@@ -17,12 +15,11 @@ import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class AnimeLek : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -34,9 +31,7 @@ class AnimeLek : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeSelector() = "div.slider-episode-container div.episodes-card-container"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.animerco
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.ar.animerco.extractors.SharedExtractor
@@ -25,14 +23,13 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.math.roundToInt
class Animerco : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -45,9 +42,7 @@ class Animerco : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/trending/page/$page/")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.arabanime
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -19,13 +18,12 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.FormBody
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class ArabAnime : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -40,9 +38,7 @@ class ArabAnime : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/api?page=$page")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.arabseed
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,13 +15,11 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Exception
class ArabSeed : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -38,9 +35,7 @@ class ArabSeed : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl)
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeSelector() = "ul.Blocks-UL div.MovieBlock a"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.asia2tv
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -20,14 +18,12 @@ import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Exception
class Asia2TV : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -39,9 +35,7 @@ class Asia2TV : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeSelector(): String = "div.postmovie-photo a[title]"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.cimaleek
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.ar.cimaleek.interceptor.WebViewResolver
@@ -17,13 +15,12 @@ import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Cimaleek : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -35,9 +32,7 @@ class Cimaleek : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val webViewResolver by lazy { WebViewResolver(headers) }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.egydead
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -19,13 +17,12 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class EgyDead : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -39,9 +36,7 @@ class EgyDead : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ================================== popular ==================================

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.faselhd
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,14 +12,13 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class FASELHD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -33,9 +30,7 @@ class FASELHD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val webViewResolver by lazy { WebViewResolver() }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.mycima
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -18,12 +16,11 @@ import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class MyCima : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -37,9 +34,7 @@ class MyCima : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ==============================
override fun popularAnimeSelector(): String =

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.okanime
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -20,11 +19,10 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Okanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -36,9 +34,7 @@ class Okanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET(baseUrl)

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.ar.witanime
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -20,11 +19,10 @@ import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -38,9 +36,7 @@ class WitAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl)
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeSelector() = "div.anime-list-content div.row div.anime-card-poster div.ehover6"

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.animebase
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.de.animebase.extractors.UnpackerExtractor
@@ -18,13 +17,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class AnimeBase : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -36,9 +34,7 @@ class AnimeBase : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/favorites", headers)

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.animeloads
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
@@ -18,6 +16,7 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
@@ -26,10 +25,7 @@ import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.URLDecoder
import kotlin.Exception
class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -47,9 +43,7 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
.addInterceptor(DdosGuardInterceptor(network.client))
.build()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "div.row div.col-sm-6 div.panel-body"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.animetoast
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -17,13 +15,11 @@ import eu.kanade.tachiyomi.lib.mp4uploadextractor.Mp4uploadExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.Exception
class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -35,9 +31,7 @@ class AnimeToast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "div.row div.col-md-4 div.video-item"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.aniworld
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -19,6 +17,7 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonObject
@@ -30,8 +29,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AniWorld : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -46,10 +43,7 @@ class AniWorld : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val client = network.client.newBuilder()
.addInterceptor(DdosGuardInterceptor(network.client))
.build()

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.einfach
import android.app.Application
import android.util.Base64
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
@@ -25,12 +24,11 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -44,9 +42,7 @@ class Einfach : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
// Actually the source doesn't provide a popular entries page, and the

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.filmpalast
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -17,13 +15,12 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class FilmPalast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -35,9 +32,7 @@ class FilmPalast : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "article.liste > a"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.kool
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
@@ -19,6 +17,7 @@ import eu.kanade.tachiyomi.lib.filemoonextractor.FilemoonExtractor
import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.POST
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonObject
@@ -32,8 +31,6 @@ import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Kool : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -45,9 +42,7 @@ class Kool : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json = Json {
isLenient = true

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.moflixstream
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -26,13 +25,11 @@ import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.lib.vidguardextractor.VidGuardExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.Headers
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import kotlin.Exception
class MoflixStream : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -46,9 +43,7 @@ class MoflixStream : ConfigurableAnimeSource, AnimeHttpSource() {
override fun headersBuilder() = super.headersBuilder().add("Referer", "$baseUrl/")
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json: Json by injectLazy()

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.movie4k
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -18,7 +16,7 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import kotlinx.serialization.decodeFromString
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.float
@@ -29,8 +27,6 @@ import kotlinx.serialization.json.jsonPrimitive
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Movie4k : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -44,9 +40,7 @@ class Movie4k : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json = Json {
isLenient = true

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.de.serienstream
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.PreferenceScreen
@@ -18,6 +16,7 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonObject
@@ -29,8 +28,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class Serienstream : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -43,9 +40,7 @@ class Serienstream : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override val client = network.client.newBuilder()
.addInterceptor(DdosGuardInterceptor(network.client))

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.allanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
@@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import keiyoushi.utils.toJsonString
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@@ -39,8 +39,6 @@ import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import org.jsoup.Jsoup
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AllAnime : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -57,9 +55,7 @@ class AllAnime : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.allanimechi
import android.app.Application
import android.content.SharedPreferences
import android.util.Base64
import androidx.preference.ListPreference
@@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
@@ -39,8 +39,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.Request
import okhttp3.Response
import org.jsoup.Jsoup
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
@@ -57,9 +55,7 @@ class AllAnimeChi : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val apiHeaders = Headers.Builder().apply {
add("app-version", "android_c-253")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.anilist
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
@@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.interceptor.rateLimitHost
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.add
@@ -27,8 +27,6 @@ import okhttp3.FormBody
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AniList : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -49,9 +47,7 @@ class AniList : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val mappings by lazy {
client.newCall(

View File

@@ -1,8 +1,6 @@
package eu.kanade.tachiyomi.animeextension.en.animegg
import android.annotation.SuppressLint
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,14 +14,13 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
@@ -39,9 +36,7 @@ class AnimeGG : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_LANGUAGE_KEY = "preferred_language"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.animeowl
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.en.animeowl.extractors.OwlExtractor
@@ -17,6 +15,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelFlatMap
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.buildJsonObject
@@ -29,8 +28,6 @@ import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import kotlin.math.ceil
@@ -46,9 +43,7 @@ class AnimeOwl : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val owlServersExtractor by lazy { OwlExtractor(client, baseUrl) }

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.animepahe
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
@@ -20,12 +18,11 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
import kotlin.math.ceil
@@ -34,9 +31,7 @@ import kotlin.math.floor
/* API: https://gist.github.com/Ellivers/f7716b6b6895802058c367963f3a2c51 */
class AnimePahe : ConfigurableAnimeSource, AnimeHttpSource() {
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val interceptor = DdosGuardInterceptor(network.client)

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.animeparadise
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,12 +14,11 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AnimeParadise : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -38,9 +35,7 @@ class AnimeParadise : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val apiHeaders = headers.newBuilder().apply {
add("Accept", "application/json, text/plain, */*")

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.animetake
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -19,12 +17,11 @@ import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import eu.kanade.tachiyomi.util.parallelFlatMap
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -38,9 +35,7 @@ class AnimeTake : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/animelist/popular")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.aniplay
import android.app.Application
import android.net.Uri
import android.util.Base64
import android.util.Log
@@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.multisrc.anilist.AniListAnimeHttpSource
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.parallelFlatMap
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.SerializationException
import kotlinx.serialization.encodeToString
import okhttp3.Headers
@@ -26,8 +26,6 @@ import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.io.IOException
import java.text.SimpleDateFormat
import java.util.Date
@@ -44,9 +42,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
private val playlistUtils by lazy { PlaylistUtils(client, headers) }
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
/* ================================= AniList configurations ================================= */

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.aniwavese
import android.app.Application
import android.content.SharedPreferences
import android.webkit.URLUtil
import android.widget.Toast
import androidx.preference.EditTextPreference
@@ -22,13 +20,12 @@ import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelFlatMapBlocking
import eu.kanade.tachiyomi.util.parallelMapBlocking
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -51,9 +48,7 @@ class AniwaveSe : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val utils by lazy { AniwaveSeUtils() }
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val refererHeaders = headers.newBuilder().apply {
add("Referer", "$baseUrl/")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.asiaflix
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.en.asiaflix.dto.DetailsResponseDto
@@ -27,6 +26,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.decodeFromJsonElement
@@ -35,8 +35,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
import kotlin.math.min
@@ -64,9 +62,7 @@ class AsiaFlix : AnimeHttpSource(), ConfigurableAnimeSource {
.build()
}
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request {

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.bestdubbedanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -15,6 +13,7 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelMapBlocking
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
@@ -27,8 +26,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class BestDubbedAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -43,9 +40,7 @@ class BestDubbedAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.edytjedhgmdhm
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,13 +12,12 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.URI
import java.net.URISyntaxException
@@ -36,9 +33,7 @@ class Edytjedhgmdhm : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================ Initializers ============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.hahomoe
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -11,14 +10,13 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Cookie
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.URLEncoder
import java.text.SimpleDateFormat
import java.util.Locale
@@ -33,9 +31,7 @@ class HahoMoe : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
init {
// Save the cookie that enables thumbnails in results (popular, latest, search...)

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.hanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,6 +14,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrl
@@ -24,8 +23,6 @@ import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
@@ -43,9 +40,7 @@ class Hanime : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private fun searchRequestBody(query: String, page: Int, filters: AnimeFilterList): RequestBody {
val (includedTags, blackListedTags, brands, tagsMode, orderBy, ordering) = getSearchParameters(filters)

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.hentaimama
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,14 +12,13 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
@@ -35,9 +32,7 @@ class HentaiMama : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun headersBuilder(): Headers.Builder {
return super.headersBuilder()

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.hstream
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import okhttp3.HttpUrl.Companion.toHttpUrl
@@ -25,8 +25,6 @@ import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.net.URLDecoder
import java.text.SimpleDateFormat
@@ -48,9 +46,7 @@ class Hstream : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
// make aniyomi interpret it as a new source, forcing old users to migrate.
override val versionId = 2
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int) = GET("$baseUrl/search?order=view-count&page=$page")

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.jpfilms
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
@@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
@@ -22,8 +22,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class JPFilms : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val name = "JPFilms"
@@ -31,9 +29,7 @@ class JPFilms : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val lang = "en"
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular Anime ==============================
override fun popularAnimeSelector(): String =

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.kawaiifu
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,6 +12,7 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@@ -21,8 +20,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class Kawaiifu : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -37,9 +34,7 @@ class Kawaiifu : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.kayoanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
@@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import okhttp3.FormBody
@@ -28,8 +28,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.security.MessageDigest
@@ -55,9 +53,7 @@ class Kayoanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.kickassanime
import android.app.Application
import android.content.SharedPreferences
import android.util.Base64
import androidx.preference.ListPreference
@@ -27,6 +26,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.buildJsonObject
import kotlinx.serialization.json.put
@@ -35,8 +35,6 @@ import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Locale
@@ -52,9 +50,8 @@ class KickAssAnime : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
.clearBaseUrl()
private val preferences by getPreferencesLazy {
clearBaseUrl()
}
private val json: Json by injectLazy()

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.kissanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.en.kissanime.extractors.VodstreamExtractor
@@ -21,6 +19,7 @@ import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import okhttp3.Headers
@@ -32,8 +31,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.text.SimpleDateFormat
import java.util.Locale
@@ -50,9 +47,7 @@ class KissAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.moviesmod
import android.app.Application
import android.util.Base64
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
@@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -29,8 +29,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.net.URL
@@ -70,9 +68,7 @@ class MoviesMod : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request = GET("$currentBaseUrl/page/$page/")

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.myanime
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.en.myanime.extractors.YouTubeExtractor
@@ -18,12 +16,11 @@ import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Myanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -35,9 +32,7 @@ class Myanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.noobsubs
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -14,13 +12,12 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.awaitSuccess
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class NoobSubs : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -34,9 +31,7 @@ class NoobSubs : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.oppaistream
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import androidx.preference.SwitchPreferenceCompat
@@ -19,13 +18,12 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parseAs
import keiyoushi.utils.getPreferencesLazy
import okhttp3.FormBody
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.net.URLEncoder.encode
class OppaiStream : AnimeHttpSource(), ConfigurableAnimeSource {
@@ -40,9 +38,7 @@ class OppaiStream : AnimeHttpSource(), ConfigurableAnimeSource {
override fun headersBuilder() = super.headersBuilder().add("Referer", baseUrl)
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val searchAnimeSelector = "div.episode-shown > div > a"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.putlocker
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.en.putlocker.extractors.PutServerExtractor
@@ -15,6 +13,7 @@ import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@@ -25,8 +24,6 @@ import okhttp3.Response
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
@ExperimentalSerializationApi
@@ -42,9 +39,7 @@ class PutLocker : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val putServerExtractor by lazy { PutServerExtractor(client) }

View File

@@ -1,5 +1,4 @@
package eu.kanade.tachiyomi.animeextension.en.rule34video
import android.app.Application
import android.util.Log
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
@@ -14,12 +13,11 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Rule34Video : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -38,9 +36,7 @@ class Rule34Video : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
.addInterceptor(ddgInterceptor)
.build()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request {

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.subsplease
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -13,19 +11,16 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
import kotlin.Exception
class Subsplease : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -37,11 +32,7 @@ class Subsplease : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
override val client: OkHttpClient = network.cloudflareClient
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
private val json = Json {
isLenient = true

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.superstream
import android.app.Application
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -13,12 +11,11 @@ import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.util.Date
@@ -33,7 +30,7 @@ class SuperStream : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences = Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
private val preferences by getPreferencesLazy()
private val hideNsfw = if (preferences.getBoolean(PREF_HIDE_NSFW_KEY, PREF_HIDE_NSFW_DEFAULT)) 1 else 0

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.tokuzilla
import android.app.Application
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -13,12 +12,11 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.chillxextractor.ChillxExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Tokuzilla : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -30,9 +28,7 @@ class Tokuzilla : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeSelector() = "div.col-sm-4.col-xs-12.item"

View File

@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.animeextension.en.uhdmovies
import android.app.Application
import android.util.Base64
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
@@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMap
import keiyoushi.utils.getPreferencesLazy
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -28,8 +28,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -68,9 +66,7 @@ class UHDMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request = GET("$currentBaseUrl/page/$page/")

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animebum
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -20,12 +18,11 @@ import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.lib.vidguardextractor.VidGuardExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class AnimeBum : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -37,9 +34,7 @@ class AnimeBum : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
// ============================== Popular ===============================
override fun popularAnimeRequest(page: Int): Request {

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animefenix
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -29,12 +27,11 @@ import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Animefenix : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -46,9 +43,7 @@ class Animefenix : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animeflv
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -18,6 +16,7 @@ import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
@@ -25,10 +24,7 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import kotlin.Exception
class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -42,9 +38,7 @@ class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animeid
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -16,6 +14,7 @@ import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.lib.universalextractor.UniversalExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.jsonArray
@@ -25,8 +24,6 @@ import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.text.SimpleDateFormat
import java.util.Date
@@ -43,9 +40,7 @@ class AnimeID : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
override fun popularAnimeSelector(): String = "#result article.item"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animejl
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -22,13 +20,11 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import kotlin.Exception
class Animejl : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -40,9 +36,7 @@ class Animejl : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animelatinohd
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animeextension.es.animelatinohd.extractors.SolidFilesExtractor
@@ -20,6 +18,7 @@ import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonElement
@@ -30,8 +29,6 @@ import kotlinx.serialization.json.jsonPrimitive
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
class AnimeLatinoHD : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -46,9 +43,7 @@ class AnimeLatinoHD : ConfigurableAnimeSource, AnimeHttpSource() {
private val json: Json by injectLazy()
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animemovil
import android.app.Application
import android.content.SharedPreferences
import android.util.Log
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
@@ -28,6 +26,7 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
@@ -35,8 +34,6 @@ import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import java.io.UnsupportedEncodingException
import java.net.URLEncoder
@@ -53,9 +50,7 @@ class AnimeMovil : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animeyt
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -13,12 +11,11 @@ import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.lib.fastreamextractor.FastreamExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class Animeyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -30,9 +27,7 @@ class Animeyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.animeytes
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.model.Video
@@ -13,15 +11,14 @@ import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
import eu.kanade.tachiyomi.lib.universalextractor.UniversalExtractor
import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
import eu.kanade.tachiyomi.multisrc.animestream.AnimeStream
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import keiyoushi.utils.getPreferencesLazy
class AnimeYTES : AnimeStream(
"es",
"AnimeYT.es",
"https://animeyt.es",
) {
override val preferences: SharedPreferences by lazy { Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000) }
override val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.asialiveaction
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -19,12 +17,11 @@ import eu.kanade.tachiyomi.lib.vkextractor.VkExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.util.Calendar
class AsiaLiveAction : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@@ -37,9 +34,7 @@ class AsiaLiveAction : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override val supportsLatest = false
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

View File

@@ -1,7 +1,5 @@
package eu.kanade.tachiyomi.animeextension.es.cine24h
import android.app.Application
import android.content.SharedPreferences
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
@@ -21,10 +19,9 @@ import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.util.parallelCatchingFlatMapBlocking
import keiyoushi.utils.getPreferencesLazy
import okhttp3.Request
import okhttp3.Response
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.util.Calendar
open class Cine24h : ConfigurableAnimeSource, AnimeHttpSource() {
@@ -37,9 +34,7 @@ open class Cine24h : ConfigurableAnimeSource, AnimeHttpSource() {
override val supportsLatest = true
private val preferences: SharedPreferences by lazy {
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
}
private val preferences by getPreferencesLazy()
companion object {
private const val PREF_QUALITY_KEY = "preferred_quality"

Some files were not shown because too many files have changed in this diff Show More