diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-20 21:12:47 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-30 16:46:26 +0000 |
| commit | 9284e3c1de86a7ea0efbcdb50ea382242eb84b4a (patch) | |
| tree | 5ce1b047f6aa4500940c2f7218c0e74ae348e683 /android | |
| parent | 6e404e123634dd163ac89d3554ce0f695418bcf4 (diff) | |
| download | mullvadvpn-9284e3c1de86a7ea0efbcdb50ea382242eb84b4a.tar.xz mullvadvpn-9284e3c1de86a7ea0efbcdb50ea382242eb84b4a.zip | |
Add `hasFocus` property to `CellInput`
Diffstat (limited to 'android')
| -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 } } } |
