diff options
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt | 19 |
1 files changed, 14 insertions, 5 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 129b895946..fe7c3c357d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt @@ -19,15 +19,24 @@ class CellInput(val input: EditText, val minValue: Int, val maxValue: Int) { var onSubmit: ((Int?) -> Unit)? = null + var hasFocus = false + private set(value) { + if (field != value) { + field = value + + if (value == false) { + val inputValue = this@CellInput.value + + onSubmit?.invoke(inputValue) + } + } + } + init { input.apply { addTextChangedListener(InputWatcher()) - setOnFocusChangeListener { _, hasFocus -> - if (!hasFocus) { - onSubmit?.invoke(value) - } - } + setOnFocusChangeListener { _, newHasFocus -> hasFocus = newHasFocus } } } |
