summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/EditCustomDnsServerHolder.kt11
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt10
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/util/EditTextExt.kt15
3 files changed, 24 insertions, 12 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 797cd8a683..5e62f47209 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,14 +2,13 @@ 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.mullvadvpn.util.setOnEnterOrDoneAction
import net.mullvad.talpid.util.addressString
class EditCustomDnsServerHolder(
@@ -33,13 +32,7 @@ class EditCustomDnsServerHolder(
}
}
- setOnEditorActionListener { _, action, event ->
- if (action == EditorInfo.IME_ACTION_DONE || event?.keyCode == KeyEvent.KEYCODE_ENTER) {
- saveDnsServer()
- }
-
- false
- }
+ setOnEnterOrDoneAction(::saveDnsServer)
}
private val watcher: TextWatcher = object : TextWatcher {
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
index e9e05234f2..d2de7c4334 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt
@@ -16,6 +16,7 @@ import kotlin.properties.Delegates.observable
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.ui.LoginState
import net.mullvad.mullvadvpn.util.SegmentedInputFormatter
+import net.mullvad.mullvadvpn.util.setOnEnterOrDoneAction
import net.mullvad.talpid.util.EventNotifier
const val MIN_ACCOUNT_TOKEN_LENGTH = 10
@@ -46,6 +47,7 @@ class AccountInput : LinearLayout {
private val input = container.findViewById<EditText>(R.id.login_input).apply {
addTextChangedListener(inputWatcher)
+ setOnEnterOrDoneAction(::login)
onFocusChangeListener = OnFocusChangeListener { view, inputHasFocus ->
hasFocus = inputHasFocus && view.isEnabled
@@ -63,9 +65,7 @@ class AccountInput : LinearLayout {
}
private val button = container.findViewById<ImageButton>(R.id.login_button).apply {
- setOnClickListener {
- onLogin?.invoke(input.text.replace(Regex("[^0-9]"), ""))
- }
+ setOnClickListener { login() }
}
val onFocusChanged = EventNotifier(false)
@@ -110,6 +110,10 @@ class AccountInput : LinearLayout {
onLogin?.invoke(accountNumber)
}
+ private fun login() {
+ onLogin?.invoke(input.text.replace(Regex("[^0-9]"), ""))
+ }
+
private fun initialState() {
input.apply {
setTextColor(enabledTextColor)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/EditTextExt.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/EditTextExt.kt
new file mode 100644
index 0000000000..b90201edfe
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/EditTextExt.kt
@@ -0,0 +1,15 @@
+package net.mullvad.mullvadvpn.util
+
+import android.view.KeyEvent
+import android.view.inputmethod.EditorInfo
+import android.widget.EditText
+
+fun EditText.setOnEnterOrDoneAction(callback: () -> Unit) {
+ setOnEditorActionListener { _, action, event ->
+ if (action == EditorInfo.IME_ACTION_DONE || event?.keyCode == KeyEvent.KEYCODE_ENTER) {
+ callback()
+ }
+
+ false
+ }
+}