summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-20 21:12:47 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-30 16:46:26 +0000
commit9284e3c1de86a7ea0efbcdb50ea382242eb84b4a (patch)
tree5ce1b047f6aa4500940c2f7218c0e74ae348e683 /android
parent6e404e123634dd163ac89d3554ce0f695418bcf4 (diff)
downloadmullvadvpn-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.kt19
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 }
}
}