diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-06-10 11:23:38 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-06-10 11:23:38 -0300 |
| commit | 537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2 (patch) | |
| tree | 9c21ffcd4e0c02a3ea6e9d9f8a4e1b2c4c33a5ac /android/src | |
| parent | 71a7b7abf7ec3584e41c251bc7d22c61850a47af (diff) | |
| parent | ae334e93c1472ead1acc385f635a1a08a936f269 (diff) | |
| download | mullvadvpn-537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2.tar.xz mullvadvpn-537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2.zip | |
Merge branch 'fix-wireguard-key-verification'
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt | 12 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt index 302cb095e9..e3b6f56d0d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt @@ -9,14 +9,14 @@ import net.mullvad.talpid.util.EventNotifier class KeyStatusListener(val daemon: MullvadDaemon) { val onKeyStatusChange = EventNotifier(getInitialKeyStatus()) - var keyStatus: KeygenEvent? = null - private set(value) { - field = value - value?.let { newKeyStatus -> onKeyStatusChange.notify(newKeyStatus) } - } + var keyStatus by onKeyStatusChange.notifiable() init { - daemon.onKeygenEvent = { event -> keyStatus = event } + daemon.onKeygenEvent = { event -> + if (event != null) { + keyStatus = event + } + } } private fun getInitialKeyStatus(): KeygenEvent? { diff --git a/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt b/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt index bcd27820b8..395146b168 100644 --- a/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt +++ b/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt @@ -1,5 +1,7 @@ package net.mullvad.talpid.util +import kotlin.properties.Delegates.observable + // Manages listeners interested in receiving events of type T // // The listeners subscribe using an ID object. This ID is used later on for unsubscribing. The only @@ -47,4 +49,8 @@ class EventNotifier<T>(private val initialValue: T) { listeners.clear() } } + + fun notifiable() = observable(latestEvent) { _, _, newValue -> + notify(newValue) + } } |
