Update domain TruyenGG & TruyenQQ (#8538)

* TruyenGG update domain

* TruyenQQ update domain & add option domain switch

* fix buid
This commit is contained in:
are-are-are 2025-04-20 08:28:25 +07:00 committed by Draff
parent b59238f938
commit 2dcd6d13a0
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
4 changed files with 52 additions and 5 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'TruyenGG' extName = 'TruyenGG'
extClass = '.TruyenGG' extClass = '.TruyenGG'
extVersionCode = 5 extVersionCode = 6
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -31,7 +31,7 @@ class TruyenGG : ParsedHttpSource(), ConfigurableSource {
override val lang = "vi" override val lang = "vi"
private val defaultBaseUrl = "https://truyengg.com" private val defaultBaseUrl = "https://truyengg.net"
override val supportsLatest = true override val supportsLatest = true

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'TruyenQQ' extName = 'TruyenQQ'
extClass = '.TruyenQQ' extClass = '.TruyenQQ'
extVersionCode = 18 extVersionCode = 19
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View File

@ -1,13 +1,19 @@
package eu.kanade.tachiyomi.extension.vi.truyenqq package eu.kanade.tachiyomi.extension.vi.truyenqq
import android.content.SharedPreferences
import android.widget.Toast
import androidx.preference.EditTextPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.interceptor.rateLimitHost import eu.kanade.tachiyomi.network.interceptor.rateLimitHost
import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.Filter
import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import keiyoushi.utils.getPreferences
import okhttp3.CacheControl import okhttp3.CacheControl
import okhttp3.Headers import okhttp3.Headers
import okhttp3.HttpUrl import okhttp3.HttpUrl
@ -21,13 +27,17 @@ import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
class TruyenQQ : ParsedHttpSource() { class TruyenQQ : ParsedHttpSource(), ConfigurableSource {
override val name: String = "TruyenQQ" override val name: String = "TruyenQQ"
override val lang: String = "vi" override val lang: String = "vi"
override val baseUrl: String = "https://truyenqqto.com" private val defaultBaseUrl = "https://truyenqqgo.com"
private val preferences: SharedPreferences = getPreferences()
override val baseUrl by lazy { getPrefBaseUrl() }
override val supportsLatest: Boolean = true override val supportsLatest: Boolean = true
@ -280,4 +290,41 @@ class TruyenQQ : ParsedHttpSource() {
Genre("Webtoon", "55"), Genre("Webtoon", "55"),
Genre("Xuyên Không", "88"), Genre("Xuyên Không", "88"),
) )
init {
preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl ->
if (prefDefaultBaseUrl != defaultBaseUrl) {
preferences.edit()
.putString(BASE_URL_PREF, defaultBaseUrl)
.putString(DEFAULT_BASE_URL_PREF, defaultBaseUrl)
.apply()
}
}
}
override fun setupPreferenceScreen(screen: PreferenceScreen) {
EditTextPreference(screen.context).apply {
key = BASE_URL_PREF
title = BASE_URL_PREF_TITLE
summary = BASE_URL_PREF_SUMMARY
setDefaultValue(defaultBaseUrl)
dialogTitle = BASE_URL_PREF_TITLE
dialogMessage = "Default: $defaultBaseUrl"
setOnPreferenceChangeListener { _, _ ->
Toast.makeText(screen.context, RESTART_APP, Toast.LENGTH_LONG).show()
true
}
}.let(screen::addPreference)
}
private fun getPrefBaseUrl(): String = preferences.getString(BASE_URL_PREF, defaultBaseUrl)!!
companion object {
private const val DEFAULT_BASE_URL_PREF = "defaultBaseUrl"
private const val RESTART_APP = "Khởi chạy lại ứng dụng để áp dụng thay đổi."
private const val BASE_URL_PREF_TITLE = "Ghi đè URL cơ sở"
private const val BASE_URL_PREF = "overrideBaseUrl"
private const val BASE_URL_PREF_SUMMARY =
"Dành cho sử dụng tạm thời, cập nhật tiện ích sẽ xóa cài đặt."
}
} }