Commit 445461f3 authored by Mygod's avatar Mygod

Enable hosts and local DNS settings always

parent b4b038a2
...@@ -91,25 +91,17 @@ class GlobalSettingsPreferenceFragment : PreferenceFragmentCompat() { ...@@ -91,25 +91,17 @@ class GlobalSettingsPreferenceFragment : PreferenceFragmentCompat() {
val portTransproxy = findPreference<EditTextPreference>(Key.portTransproxy)!! val portTransproxy = findPreference<EditTextPreference>(Key.portTransproxy)!!
portTransproxy.setOnBindEditTextListener(EditTextPreferenceModifiers.Port) portTransproxy.setOnBindEditTextListener(EditTextPreferenceModifiers.Port)
val onServiceModeChange = Preference.OnPreferenceChangeListener { _, newValue -> val onServiceModeChange = Preference.OnPreferenceChangeListener { _, newValue ->
val (enabledLocalDns, enabledTransproxy) = when (newValue as String?) { portTransproxy.isEnabled = newValue as String? == Key.modeTransproxy
Key.modeProxy -> Pair(false, false)
Key.modeVpn -> Pair(true, false)
Key.modeTransproxy -> Pair(true, true)
else -> throw IllegalArgumentException("newValue: $newValue")
}
hosts.isEnabled = enabledLocalDns
portLocalDns.isEnabled = enabledLocalDns
portTransproxy.isEnabled = enabledTransproxy
true true
} }
val listener: (BaseService.State) -> Unit = { val listener: (BaseService.State) -> Unit = {
val stopped = it == BaseService.State.Stopped val stopped = it == BaseService.State.Stopped
tfo.isEnabled = stopped tfo.isEnabled = stopped
hosts.isEnabled = stopped
serviceMode.isEnabled = stopped serviceMode.isEnabled = stopped
portProxy.isEnabled = stopped portProxy.isEnabled = stopped
portLocalDns.isEnabled = stopped
if (stopped) onServiceModeChange.onPreferenceChange(null, DataStore.serviceMode) else { if (stopped) onServiceModeChange.onPreferenceChange(null, DataStore.serviceMode) else {
hosts.isEnabled = false
portLocalDns.isEnabled = false
portTransproxy.isEnabled = false portTransproxy.isEnabled = false
} }
} }
......
...@@ -76,15 +76,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -76,15 +76,7 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
private lateinit var portLocalDns: EditTextPreference private lateinit var portLocalDns: EditTextPreference
private lateinit var portTransproxy: EditTextPreference private lateinit var portTransproxy: EditTextPreference
private val onServiceModeChange = Preference.OnPreferenceChangeListener { _, newValue -> private val onServiceModeChange = Preference.OnPreferenceChangeListener { _, newValue ->
val (enabledLocalDns, enabledTransproxy) = when (newValue as String?) { portTransproxy.isEnabled = newValue as String? == Key.modeTransproxy
Key.modeProxy -> Pair(false, false)
Key.modeVpn -> Pair(true, false)
Key.modeTransproxy -> Pair(true, true)
else -> throw IllegalArgumentException("newValue: $newValue")
}
hosts.isEnabled = enabledLocalDns
portLocalDns.isEnabled = enabledLocalDns
portTransproxy.isEnabled = enabledTransproxy
true true
} }
private val tester by viewModels<HttpsTest>() private val tester by viewModels<HttpsTest>()
...@@ -125,11 +117,12 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo ...@@ -125,11 +117,12 @@ class MainPreferenceFragment : LeanbackPreferenceFragmentCompat(), ShadowsocksCo
val stopped = state == BaseService.State.Stopped val stopped = state == BaseService.State.Stopped
controlImport.isEnabled = stopped controlImport.isEnabled = stopped
tfo.isEnabled = stopped tfo.isEnabled = stopped
hosts.isEnabled = stopped
serviceMode.isEnabled = stopped serviceMode.isEnabled = stopped
shareOverLan.isEnabled = stopped shareOverLan.isEnabled = stopped
portProxy.isEnabled = stopped portProxy.isEnabled = stopped
portLocalDns.isEnabled = stopped
if (stopped) onServiceModeChange.onPreferenceChange(null, DataStore.serviceMode) else { if (stopped) onServiceModeChange.onPreferenceChange(null, DataStore.serviceMode) else {
portLocalDns.isEnabled = false
portTransproxy.isEnabled = false portTransproxy.isEnabled = false
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment