diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-04 11:03:18 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-23 12:36:35 +0000 |
| commit | 9950eae2b40539c29eccfd113e97449a130f40c6 (patch) | |
| tree | 8e345bc12c7088512c9adc5b9124f93062aa5794 /android/src | |
| parent | 09952cb091b033a98f7bd631b2c948544fa7d73a (diff) | |
| download | mullvadvpn-9950eae2b40539c29eccfd113e97449a130f40c6.tar.xz mullvadvpn-9950eae2b40539c29eccfd113e97449a130f40c6.zip | |
Refactor `null` handling in `SettingsListener`
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt | 36 |
1 files changed, 16 insertions, 20 deletions
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 d048a11175..62c836122c 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 @@ -47,36 +47,32 @@ class SettingsListener(val daemon: Intermittent<MullvadDaemon>) { } private fun registerListener(daemon: MullvadDaemon) { - daemon.onSettingsChange.subscribe(this) { maybeSettings -> - synchronized(this) { - maybeSettings?.let { newSettings -> handleNewSettings(newSettings) } - } - } + daemon.onSettingsChange.subscribe(this, ::handleNewSettings) } private fun fetchInitialSettings(daemon: MullvadDaemon) { synchronized(this) { - daemon.getSettings()?.let { newSettings -> - handleNewSettings(newSettings) - } + handleNewSettings(daemon.getSettings()) } } - private fun handleNewSettings(newSettings: Settings) { - synchronized(this) { - if (settings?.accountToken != newSettings.accountToken) { - accountNumberNotifier.notify(newSettings.accountToken) - } + private fun handleNewSettings(newSettings: Settings?) { + if (newSettings != null) { + synchronized(this) { + if (settings?.accountToken != newSettings.accountToken) { + accountNumberNotifier.notify(newSettings.accountToken) + } - if (settings?.tunnelOptions?.dnsOptions != newSettings.tunnelOptions.dnsOptions) { - dnsOptionsNotifier.notify(newSettings.tunnelOptions.dnsOptions) - } + if (settings?.tunnelOptions?.dnsOptions != newSettings.tunnelOptions.dnsOptions) { + dnsOptionsNotifier.notify(newSettings.tunnelOptions.dnsOptions) + } - if (settings?.relaySettings != newSettings.relaySettings) { - relaySettingsNotifier.notify(newSettings.relaySettings) - } + if (settings?.relaySettings != newSettings.relaySettings) { + relaySettingsNotifier.notify(newSettings.relaySettings) + } - settings = newSettings + settings = newSettings + } } } } |
