diff --git a/src/zh/happymh/build.gradle b/src/zh/happymh/build.gradle index 3fc5540bc..31cd6cb7a 100644 --- a/src/zh/happymh/build.gradle +++ b/src/zh/happymh/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Happymh' pkgNameSuffix = 'zh.happymh' extClass = '.Happymh' - extVersionCode = 3 + extVersionCode = 4 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt b/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt index 96c3723f8..7cd4851fa 100644 --- a/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt +++ b/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.extension.zh.happymh import android.app.Application +import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -139,10 +140,22 @@ class Happymh : HttpSource(), ConfigurableSource { override fun imageUrlParse(response: Response): String = throw Exception("Not Used") override fun setupPreferenceScreen(screen: PreferenceScreen) { - EditTextPreference(screen.context).apply { + val context = screen.context + + EditTextPreference(context).apply { key = USER_AGENT_PREF title = "User Agent" - summary = "留空则使用应用设置中的默认 User Agent" + summary = "留空则使用应用设置中的默认 User Agent,重启生效" + + setOnPreferenceChangeListener { _, newValue -> + try { + Headers.Builder().add("User-Agent", newValue as String) + true + } catch (e: Throwable) { + Toast.makeText(context, "User Agent 无效:${e.message}", Toast.LENGTH_LONG).show() + false + } + } }.let(screen::addPreference) }