diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-12-14 18:24:48 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-29 14:22:55 +0000 |
| commit | fc1f64225a976e6a5d357787dc6ed60f25377f0c (patch) | |
| tree | 35ffef70f6128e6850e29b8757cee7725e7fc5a0 /android/src | |
| parent | e0b414df08d5f5c4ee09b2b8d13248ee9bbcdee3 (diff) | |
| download | mullvadvpn-fc1f64225a976e6a5d357787dc6ed60f25377f0c.tar.xz mullvadvpn-fc1f64225a976e6a5d357787dc6ed60f25377f0c.zip | |
Create UI-side `KeyStatusListener` class
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/KeyStatusListener.kt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/KeyStatusListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/KeyStatusListener.kt new file mode 100644 index 0000000000..7f7425e9c7 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/KeyStatusListener.kt @@ -0,0 +1,33 @@ +package net.mullvad.mullvadvpn.ui.serviceconnection + +import android.os.Messenger +import net.mullvad.mullvadvpn.ipc.DispatchingHandler +import net.mullvad.mullvadvpn.ipc.Event +import net.mullvad.mullvadvpn.ipc.Request +import net.mullvad.mullvadvpn.model.KeygenEvent +import net.mullvad.talpid.util.EventNotifier + +class KeyStatusListener(val connection: Messenger, val eventDispatcher: DispatchingHandler<Event>) { + val onKeyStatusChange = EventNotifier<KeygenEvent?>(null) + + var keyStatus by onKeyStatusChange.notifiable() + private set + + init { + eventDispatcher.registerHandler(Event.WireGuardKeyStatus::class) { event -> + keyStatus = event.keyStatus + } + } + + fun generateKey() { + connection.send(Request.WireGuardGenerateKey.message) + } + + fun verifyKey() { + connection.send(Request.WireGuardVerifyKey.message) + } + + fun onDestroy() { + onKeyStatusChange.unsubscribeAll() + } +} |
