diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-01-05 20:47:56 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-13 17:21:48 +0000 |
| commit | b716e55d5822f09a8307b5c69b0763cb325c41c3 (patch) | |
| tree | 23e5106f85ab7a5fef32aa1d8d007fa3bce88c3d /android | |
| parent | 57a5481e5d4a6f18ec8d357013d8af004282919c (diff) | |
| download | mullvadvpn-b716e55d5822f09a8307b5c69b0763cb325c41c3.tar.xz mullvadvpn-b716e55d5822f09a8307b5c69b0763cb325c41c3.zip | |
Create initial UI-side `CustomDns` class
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/CustomDns.kt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/CustomDns.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/CustomDns.kt new file mode 100644 index 0000000000..7b2b506f29 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/CustomDns.kt @@ -0,0 +1,28 @@ +package net.mullvad.mullvadvpn.ui.serviceconnection + +import android.os.Messenger +import java.net.InetAddress +import net.mullvad.talpid.util.EventNotifier + +class CustomDns(val connection: Messenger, val settingsListener: SettingsListener) { + val onEnabledChanged = EventNotifier(false) + val onDnsServersChanged = EventNotifier<List<InetAddress>>(emptyList()) + + init { + settingsListener.dnsOptionsNotifier.subscribe(this) { maybeDnsOptions -> + maybeDnsOptions?.let { dnsOptions -> + synchronized(this) { + onEnabledChanged.notifyIfChanged(dnsOptions.custom) + onDnsServersChanged.notifyIfChanged(dnsOptions.addresses) + } + } + } + } + + fun onDestroy() { + onEnabledChanged.unsubscribeAll() + onDnsServersChanged.unsubscribeAll() + + settingsListener.dnsOptionsNotifier.unsubscribe(this) + } +} |
