diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt | 7 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt | 10 |
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() { |
