From baa79b2c73f450aec087114545406b90dac68f3b Mon Sep 17 00:00:00 2001 From: Mygod Date: Tue, 21 Jan 2020 05:50:21 +0800 Subject: [PATCH] Add missing onFallback --- .../vpnhotspot/preference/UpstreamsPreference.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/preference/UpstreamsPreference.kt b/mobile/src/main/java/be/mygod/vpnhotspot/preference/UpstreamsPreference.kt index e87867ee..e8bde193 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/preference/UpstreamsPreference.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/preference/UpstreamsPreference.kt @@ -22,9 +22,9 @@ class UpstreamsPreference(context: Context, attrs: AttributeSet) : Preference(co private val internetAddress = parseNumericAddress("8.8.8.8") } - private data class Interface(val ifname: String, val internet: Boolean) - private inner class Monitor : UpstreamMonitor.Callback { - private var currentInterface: Interface? = null + private data class Interface(val ifname: String, val internet: Boolean = true) + private open inner class Monitor : UpstreamMonitor.Callback { + protected var currentInterface: Interface? = null val charSequence get() = currentInterface?.run { if (internet) SpannableStringBuilder(ifname).apply { setSpan(StyleSpan(Typeface.BOLD), 0, length, 0) @@ -43,7 +43,12 @@ class UpstreamsPreference(context: Context, attrs: AttributeSet) : Preference(co } private val primary = Monitor() - private val fallback = Monitor() + private val fallback: Monitor = object : Monitor() { + override fun onFallback() { + currentInterface = Interface("") + onUpdate() + } + } init { (context as LifecycleOwner).lifecycle.addObserver(this)