diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt index 7e525bc4fe..797cd8a683 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt @@ -2,15 +2,20 @@ package net.mullvad.mullvadvpn.ui.customdns import android.text.Editable import android.text.TextWatcher +import android.view.KeyEvent import android.view.View import android.view.View.OnFocusChangeListener +import android.view.inputmethod.EditorInfo import android.widget.EditText import java.net.InetAddress import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.talpid.util.addressString -class EditCustomDnsServerHolder(view: View, adapter: CustomDnsAdapter) : CustomDnsItemHolder(view) { +class EditCustomDnsServerHolder( + view: View, + val adapter: CustomDnsAdapter +) : CustomDnsItemHolder(view) { private enum class State { Normal, Error, @@ -27,6 +32,14 @@ class EditCustomDnsServerHolder(view: View, adapter: CustomDnsAdapter) : CustomD } } } + + setOnEditorActionListener { _, action, event -> + if (action == EditorInfo.IME_ACTION_DONE || event?.keyCode == KeyEvent.KEYCODE_ENTER) { + saveDnsServer() + } + + false + } } private val watcher: TextWatcher = object : TextWatcher { @@ -71,9 +84,13 @@ class EditCustomDnsServerHolder(view: View, adapter: CustomDnsAdapter) : CustomD init { view.findViewById<View>(R.id.save).setOnClickListener { - val onFailCallback = { state = State.Error } - - adapter.saveDnsServer(input.text.toString(), onFailCallback) + saveDnsServer() } } + + private fun saveDnsServer() { + val onFailCallback = { state = State.Error } + + adapter.saveDnsServer(input.text.toString(), onFailCallback) + } } |
