diff --git a/app/src/main/java/com/hippo/ehviewer/preference/DohPreference.kt b/app/src/main/java/com/hippo/ehviewer/preference/DohPreference.kt new file mode 100644 index 000000000..36074285d --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/preference/DohPreference.kt @@ -0,0 +1,19 @@ +package com.hippo.ehviewer.preference + +import android.content.Context +import android.util.AttributeSet +import androidx.preference.Preference +import com.hippo.ehviewer.R +import com.hippo.ehviewer.Settings +import com.hippo.ehviewer.ui.legacy.EditTextDialogBuilder + +class DohPreference @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, +) : Preference(context, attrs) { + override fun onClick() { + val builder = EditTextDialogBuilder(context, Settings.dohUrl, context.getString(R.string.settings_advanced_dns_over_http_hint)) + builder.setTitle(R.string.settings_advanced_dns_over_http_title) + builder.setPositiveButton(android.R.string.ok) { _, _ -> Settings.putDohUrl(builder.text.trim()) }.show() + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 02daad691..17469314c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -423,6 +423,8 @@ %1$s %2$s:%3$d %1$s Built-in hosts.txt + DNS Over HTTPS + Server URL, blank: disable Apply the built-in host-to-IP mapping provided by the app.\nIt can be overridden by custom hosts.txt. Domain fronting Bypass SNI blocking. diff --git a/app/src/main/res/xml/advanced_settings.xml b/app/src/main/res/xml/advanced_settings.xml index 18d7c82e4..79f6575fb 100644 --- a/app/src/main/res/xml/advanced_settings.xml +++ b/app/src/main/res/xml/advanced_settings.xml @@ -63,10 +63,13 @@ + +