summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-10 21:40:37 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-12-10 12:55:06 +0000
commit0c69a68d75de08031368e904bb9c8a8434221431 (patch)
tree01c1c6eda5f6bcf0ce4375d23e1f97999119356f
parent0a968d31292700f1f89b42d515b8d43ff1ffa7ec (diff)
downloadmullvadvpn-0c69a68d75de08031368e904bb9c8a8434221431.tar.xz
mullvadvpn-0c69a68d75de08031368e904bb9c8a8434221431.zip
Add `CustomDns.replaceDnsServer` method
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/CustomDns.kt20
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)) {