summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-10 11:23:38 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-10 11:23:38 -0300
commit537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2 (patch)
tree9c21ffcd4e0c02a3ea6e9d9f8a4e1b2c4c33a5ac /android/src/main
parent71a7b7abf7ec3584e41c251bc7d22c61850a47af (diff)
parentae334e93c1472ead1acc385f635a1a08a936f269 (diff)
downloadmullvadvpn-537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2.tar.xz
mullvadvpn-537eb7a60fdc4ec7c4abd9c5799f31b19782d5d2.zip
Merge branch 'fix-wireguard-key-verification'
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/KeyStatusListener.kt12
-rw-r--r--android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt6
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)
+ }
}