mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2026-05-09 18:11:26 +08:00
Feature: add prefer h3 dns
This commit is contained in:
@@ -93,6 +93,47 @@ class MetaFeatureSettingsDesign(
|
||||
title = R.string.enable_process,
|
||||
)
|
||||
|
||||
category(R.string.dns)
|
||||
|
||||
val dnsDependencies: MutableList<Preference> = mutableListOf()
|
||||
|
||||
val dns = selectableList(
|
||||
value = configuration.dns::enable,
|
||||
values = arrayOf(
|
||||
null,
|
||||
true,
|
||||
false
|
||||
),
|
||||
valuesText = arrayOf(
|
||||
R.string.dont_modify,
|
||||
R.string.force_enable,
|
||||
R.string.use_built_in,
|
||||
),
|
||||
title = R.string.strategy
|
||||
) {
|
||||
listener = OnChangedListener {
|
||||
if (configuration.dns.enable == false) {
|
||||
dnsDependencies.forEach {
|
||||
it.enabled = false
|
||||
}
|
||||
} else {
|
||||
dnsDependencies.forEach {
|
||||
it.enabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
selectableList(
|
||||
value = configuration.dns::preferH3,
|
||||
values = booleanValues,
|
||||
valuesText = booleanValuesText,
|
||||
title = R.string.prefer_h3,
|
||||
configure = dnsDependencies::add,
|
||||
)
|
||||
|
||||
dns.listener?.onChanged()
|
||||
|
||||
category(R.string.sniffer_setting)
|
||||
|
||||
val snifferDependencies: MutableList<Preference> = mutableListOf()
|
||||
@@ -148,8 +189,16 @@ class MetaFeatureSettingsDesign(
|
||||
configure = snifferDependencies::add,
|
||||
)
|
||||
|
||||
sniffer.listener?.onChanged()
|
||||
editableTextList(
|
||||
value = configuration.sniffer::portWhitelist,
|
||||
adapter = TextAdapter.String,
|
||||
title = R.string.port_whitelist,
|
||||
placeholder = R.string.dont_modify,
|
||||
configure = snifferDependencies::add,
|
||||
)
|
||||
|
||||
sniffer.listener?.onChanged()
|
||||
/*
|
||||
category(R.string.geox_url_setting)
|
||||
|
||||
val geoxurlDependencies: MutableList<Preference> = mutableListOf()
|
||||
@@ -180,6 +229,7 @@ class MetaFeatureSettingsDesign(
|
||||
empty = R.string.geosite_url,
|
||||
configure = geoxurlDependencies::add,
|
||||
)
|
||||
*/
|
||||
}
|
||||
|
||||
binding.content.addView(screen.root)
|
||||
|
||||
@@ -271,6 +271,14 @@ class OverrideSettingsDesign(
|
||||
}
|
||||
}
|
||||
|
||||
selectableList(
|
||||
value = configuration.dns::preferH3,
|
||||
values = booleanValues,
|
||||
valuesText = booleanValuesText,
|
||||
title = R.string.prefer_h3,
|
||||
configure = dnsDependencies::add,
|
||||
)
|
||||
|
||||
editableText(
|
||||
value = configuration.dns::listen,
|
||||
adapter = NullableTextAdapter.String,
|
||||
|
||||
@@ -228,4 +228,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
||||
@@ -228,4 +228,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
||||
|
||||
@@ -231,4 +231,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
||||
@@ -132,7 +132,7 @@
|
||||
|
||||
<string name="general">General</string>
|
||||
<string name="dns">DNS</string>
|
||||
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="http_port">HTTP Port</string>
|
||||
<string name="socks_port">Socks Port</string>
|
||||
<string name="redirect_port">Redirect Port</string>
|
||||
@@ -286,6 +286,7 @@
|
||||
<string name="sniffing">Sniffer Mode</string>
|
||||
<string name="force_domain">Force Domain</string>
|
||||
<string name="skip_domain">Skip Domain</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
<string name="disable_sniffer">Disable Sniffer</string>
|
||||
<string name="sniffer_config">Load Sniffer From Config</string>
|
||||
<string name="sniffer_override">Override Sniffer Config</string>
|
||||
|
||||
Reference in New Issue
Block a user