From e6bdbd23a908d1ef4e8d30a47bbf68a2a6839880 Mon Sep 17 00:00:00 2001 From: Mygod Date: Thu, 25 Oct 2018 11:16:07 +0800 Subject: [PATCH] Ensure onLost is called --- .../vpnhotspot/net/monitor/FallbackUpstreamMonitor.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/monitor/FallbackUpstreamMonitor.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/monitor/FallbackUpstreamMonitor.kt index 313b4f83..135e1594 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/monitor/FallbackUpstreamMonitor.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/monitor/FallbackUpstreamMonitor.kt @@ -23,17 +23,16 @@ abstract class FallbackUpstreamMonitor private constructor() : UpstreamMonitor() override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { if (key == KEY) synchronized(this) { val old = monitor - val (active, callbacks) = synchronized(old) { - val active = old.currentIface != null + val callbacks = synchronized(old) { val callbacks = old.callbacks.toList() old.callbacks.clear() old.destroyLocked() - Pair(active, callbacks) + callbacks } val new = generateMonitor() monitor = new for (callback in callbacks) { - if (active) callback.onLost() + callback.onLost() new.registerCallback(callback) } }