Fix url(s) (#1327)
This commit is contained in:
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Wcofun'
|
||||
pkgNameSuffix = 'en.wcofun'
|
||||
extClass = '.Wcofun'
|
||||
extVersionCode = 7
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ import uy.kohesive.injekt.api.get
|
||||
import java.util.concurrent.CountDownLatch
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class RedirectInterceptor : Interceptor {
|
||||
class RedirectInterceptor(private val baseUrl: String) : Interceptor {
|
||||
|
||||
private val context = Injekt.get<Application>()
|
||||
private val handler by lazy { Handler(Looper.getMainLooper()) }
|
||||
@ -63,7 +63,7 @@ class RedirectInterceptor : Interceptor {
|
||||
view: WebView,
|
||||
request: WebResourceRequest,
|
||||
): WebResourceResponse? {
|
||||
if (request.url.toString().contains("https://www.wcofun.net")) {
|
||||
if (request.url.toString().contains(baseUrl)) {
|
||||
newRequest = GET(request.url.toString(), request.requestHeaders.toHeaders())
|
||||
latch.countDown()
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
override val name = "Wcofun"
|
||||
|
||||
override val baseUrl = "https://www.wcofun.net"
|
||||
override val baseUrl by lazy { preferences.getString("preferred_domain", "https://www.wcofun.com")!! }
|
||||
|
||||
override val lang = "en"
|
||||
|
||||
@ -53,7 +53,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun popularAnimeSelector(): String = "#sidebar_right2 ul.items li"
|
||||
|
||||
override fun popularAnimeRequest(page: Int): Request {
|
||||
val interceptor = client.newBuilder().addInterceptor(RedirectInterceptor()).build()
|
||||
val interceptor = client.newBuilder().addInterceptor(RedirectInterceptor(baseUrl)).build()
|
||||
val headers = interceptor.newCall(GET(baseUrl)).execute().request.headers
|
||||
return GET(baseUrl, headers = headers)
|
||||
}
|
||||
@ -233,6 +233,21 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun latestUpdatesSelector(): String = throw Exception("Not used")
|
||||
|
||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||
val domainPref = ListPreference(screen.context).apply {
|
||||
key = "preferred_domain"
|
||||
title = "Preferred domain (requires app restart)"
|
||||
entries = arrayOf("www.wcofun.com", "www.wcofun.net", "www.wcofun.tv")
|
||||
entryValues = arrayOf("https://www.wcofun.com", "https://www.wcofun.net", "https://www.wcofun.tv")
|
||||
setDefaultValue("https://www.wcofun.com")
|
||||
summary = "%s"
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val selected = newValue as String
|
||||
val index = findIndexOfValue(selected)
|
||||
val entry = entryValues[index] as String
|
||||
preferences.edit().putString(key, entry).commit()
|
||||
}
|
||||
}
|
||||
val videoQualityPref = ListPreference(screen.context).apply {
|
||||
key = "preferred_quality"
|
||||
title = "Preferred quality"
|
||||
@ -248,6 +263,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
preferences.edit().putString(key, entry).commit()
|
||||
}
|
||||
}
|
||||
screen.addPreference(domainPref)
|
||||
screen.addPreference(videoQualityPref)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user