summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-12-14 20:10:06 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-23 12:36:35 +0000
commit5e458ba861d9d54154e535d8d9821660f132a443 (patch)
tree18142de5f26ef4504dec8f9c42957d3b6846e354 /android
parent240d46f4822f41e29ed6e772935aeb472e9b5f98 (diff)
downloadmullvadvpn-5e458ba861d9d54154e535d8d9821660f132a443.tar.xz
mullvadvpn-5e458ba861d9d54154e535d8d9821660f132a443.zip
Send settings update events
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt7
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt10
2 files changed, 13 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt
index 4a5190f2c3..1792599088 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt
@@ -16,7 +16,10 @@ import net.mullvad.mullvadvpn.ipc.Request
import net.mullvad.mullvadvpn.service.MullvadDaemon
import net.mullvad.mullvadvpn.util.Intermittent
-class ServiceEndpoint(looper: Looper, private val intermittentDaemon: Intermittent<MullvadDaemon>) {
+class ServiceEndpoint(
+ looper: Looper,
+ internal val intermittentDaemon: Intermittent<MullvadDaemon>
+) {
private val listeners = mutableSetOf<Messenger>()
private val registrationQueue: SendChannel<Messenger> = startRegistrator()
@@ -26,7 +29,7 @@ class ServiceEndpoint(looper: Looper, private val intermittentDaemon: Intermitte
val messenger = Messenger(dispatcher)
- val settingsListener = SettingsListener(intermittentDaemon)
+ val settingsListener = SettingsListener(this)
init {
dispatcher.registerHandler(Request.RegisterListener::class) { request ->
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
index 62c836122c..e1efe2f8c7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
@@ -1,13 +1,15 @@
package net.mullvad.mullvadvpn.service.endpoint
+import net.mullvad.mullvadvpn.ipc.Event
import net.mullvad.mullvadvpn.model.DnsOptions
import net.mullvad.mullvadvpn.model.RelaySettings
import net.mullvad.mullvadvpn.model.Settings
import net.mullvad.mullvadvpn.service.MullvadDaemon
-import net.mullvad.mullvadvpn.util.Intermittent
import net.mullvad.talpid.util.EventNotifier
-class SettingsListener(val daemon: Intermittent<MullvadDaemon>) {
+class SettingsListener(endpoint: ServiceEndpoint) {
+ private val daemon = endpoint.intermittentDaemon
+
val accountNumberNotifier = EventNotifier<String?>(null)
val dnsOptionsNotifier = EventNotifier<DnsOptions?>(null)
val relaySettingsNotifier = EventNotifier<RelaySettings?>(null)
@@ -23,6 +25,10 @@ class SettingsListener(val daemon: Intermittent<MullvadDaemon>) {
fetchInitialSettings(newDaemon)
}
}
+
+ settingsNotifier.subscribe(this) { settings ->
+ endpoint.sendEvent(Event.SettingsUpdate(settings))
+ }
}
fun onDestroy() {