summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt12
1 files changed, 7 insertions, 5 deletions
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 3ba8b058a7..613ddd91e2 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/SettingsListener.kt
@@ -13,10 +13,6 @@ class SettingsListener(val daemon: MullvadDaemon, val initialSettings: Settings)
private val settingsNotifier: EventNotifier<Settings> = EventNotifier(settings)
- private val listenerId = daemon.onSettingsChange.subscribe { maybeSettings ->
- maybeSettings?.let { settings -> handleNewSettings(settings) }
- }
-
val accountNumberNotifier = EventNotifier(initialSettings.accountToken)
var onRelaySettingsChange: ((RelaySettings?) -> Unit)? = null
@@ -27,8 +23,14 @@ class SettingsListener(val daemon: MullvadDaemon, val initialSettings: Settings)
}
}
+ init {
+ daemon.onSettingsChange.subscribe(this) { maybeSettings ->
+ maybeSettings?.let { settings -> handleNewSettings(settings) }
+ }
+ }
+
fun onDestroy() {
- daemon.onSettingsChange.unsubscribe(listenerId)
+ daemon.onSettingsChange.unsubscribe(this)
accountNumberNotifier.unsubscribeAll()
settingsNotifier.unsubscribeAll()