summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-16 11:10:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-16 11:21:31 +0000
commit7df61fdc3eb9878b63a4ae6313085f25b18a0138 (patch)
tree6f38f36ad8da16e98dd28951d52256f717138fab
parent26b9d66572a8d0a1c088bb54eda2a387fb96ae47 (diff)
downloadmullvadvpn-7df61fdc3eb9878b63a4ae6313085f25b18a0138.tar.xz
mullvadvpn-7df61fdc3eb9878b63a4ae6313085f25b18a0138.zip
Implement `EventListener` for tunnel state changes
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt3
1 files changed, 3 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
index db19a80095..1919e2c820 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/ConnectionProxy.kt
@@ -30,6 +30,7 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>)
var state = initialState
set(value) {
field = value
+ onStateChange.notify(value)
uiState = value
}
@@ -40,6 +41,7 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>)
}
var onUiStateChange = EventNotifier(uiState)
+ var onStateChange = EventNotifier(state)
var vpnPermission = CompletableDeferred<Boolean>()
fun connect() {
@@ -71,6 +73,7 @@ class ConnectionProxy(val context: Context, val daemon: Deferred<MullvadDaemon>)
fun onDestroy() {
onUiStateChange.unsubscribeAll()
+ onStateChange.unsubscribeAll()
attachListenerJob.cancel()
detachListener()
fetchInitialStateJob.cancel()