diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt index 5a582216da..b6c2e13610 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt @@ -11,8 +11,18 @@ class CellInput(val input: EditText, val minValue: Int, val maxValue: Int) { private val validInputColor = resources.getColor(R.color.white) private val invalidInputColor = resources.getColor(R.color.red) + var onSubmit: ((Int?) -> Unit)? = null + init { - input.addTextChangedListener(InputWatcher()) + input.apply { + addTextChangedListener(InputWatcher()) + + setOnFocusChangeListener { _, hasFocus -> + if (!hasFocus) { + onSubmit?.invoke(input.text.toString().trim().toIntOrNull()) + } + } + } } inner class InputWatcher : TextWatcher { |
