summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-01-12 21:31:52 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-23 12:36:34 +0000
commit9df8d92796af7ac0c6de747951e449eaf499fe26 (patch)
tree79cf1b83d4e1323ea2529b40c90cda3754d04d42 /android/src
parentb22e0df01ba6d94325ae0c2a59101ead3b35712c (diff)
downloadmullvadvpn-9df8d92796af7ac0c6de747951e449eaf499fe26.tar.xz
mullvadvpn-9df8d92796af7ac0c6de747951e449eaf499fe26.zip
Replace relay settings callback with a notifier
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt13
2 files changed, 5 insertions, 12 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
index af60840cc9..2da59a528b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
@@ -34,14 +34,14 @@ class RelayListListener(val daemon: MullvadDaemon, val settingsListener: Setting
}
init {
- settingsListener.onRelaySettingsChange = { newRelaySettings ->
+ settingsListener.relaySettingsNotifier.subscribe(this) { newRelaySettings ->
relaySettingsChanged(newRelaySettings)
}
}
fun onDestroy() {
setUpJob.cancel()
- settingsListener.onRelaySettingsChange = null
+ settingsListener.relaySettingsNotifier.unsubscribe(this)
daemon.onRelayListChange = null
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt
index 5ffe9a1a2f..384841c7de 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt
@@ -1,6 +1,5 @@
package net.mullvad.mullvadvpn.service
-import net.mullvad.mullvadvpn.model.RelaySettings
import net.mullvad.mullvadvpn.model.Settings
import net.mullvad.talpid.util.EventNotifier
@@ -15,14 +14,7 @@ class SettingsListener(val daemon: MullvadDaemon, val initialSettings: Settings)
val accountNumberNotifier = EventNotifier(initialSettings.accountToken)
val dnsOptionsNotifier = EventNotifier(initialSettings.tunnelOptions.dnsOptions)
-
- var onRelaySettingsChange: ((RelaySettings?) -> Unit)? = null
- set(value) {
- synchronized(this) {
- field = value
- value?.invoke(settings.relaySettings)
- }
- }
+ val relaySettingsNotifier = EventNotifier(initialSettings.relaySettings)
init {
daemon.onSettingsChange.subscribe(this) { maybeSettings ->
@@ -34,6 +26,7 @@ class SettingsListener(val daemon: MullvadDaemon, val initialSettings: Settings)
daemon.onSettingsChange.unsubscribe(this)
accountNumberNotifier.unsubscribeAll()
+ relaySettingsNotifier.unsubscribeAll()
settingsNotifier.unsubscribeAll()
}
@@ -56,7 +49,7 @@ class SettingsListener(val daemon: MullvadDaemon, val initialSettings: Settings)
}
if (settings.relaySettings != newSettings.relaySettings) {
- onRelaySettingsChange?.invoke(newSettings.relaySettings)
+ relaySettingsNotifier.notify(newSettings.relaySettings)
}
settings = newSettings