diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-11-10 21:40:37 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-12-10 12:55:06 +0000 |
| commit | 0c69a68d75de08031368e904bb9c8a8434221431 (patch) | |
| tree | 01c1c6eda5f6bcf0ce4375d23e1f97999119356f /android/src/main | |
| parent | 0a968d31292700f1f89b42d515b8d43ff1ffa7ec (diff) | |
| download | mullvadvpn-0c69a68d75de08031368e904bb9c8a8434221431.tar.xz mullvadvpn-0c69a68d75de08031368e904bb9c8a8434221431.zip | |
Add `CustomDns.replaceDnsServer` method
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt index 3bd1ae8cc8..9b41877f4c 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt @@ -56,6 +56,26 @@ class CustomDns(val daemon: MullvadDaemon, val settingsListener: SettingsListene return false } + fun replaceDnsServer(oldServer: InetAddress, newServer: InetAddress): Boolean { + synchronized(this) { + if (oldServer == newServer) { + return true + } else if (!dnsServers.contains(newServer)) { + val index = dnsServers.indexOf(oldServer) + + if (index >= 0) { + dnsServers.removeAt(index) + dnsServers.add(index, newServer) + changeDnsOptions(enabled, dnsServers) + + return true + } + } + } + + return false + } + fun removeDnsServer(server: InetAddress) { synchronized(this) { if (dnsServers.remove(server)) { |
