diff options
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)) { |
