diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-01 19:43:26 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-02 13:15:27 +0000 |
| commit | 31c77a24ca5372160a66985cda47b6b8c29c75e9 (patch) | |
| tree | 08333c1bd5f0941d1a04b046f19755045a97cf52 /android/src | |
| parent | b636f3d99f0d45707d3b86efdb1ff09f5de28368 (diff) | |
| download | mullvadvpn-31c77a24ca5372160a66985cda47b6b8c29c75e9.tar.xz mullvadvpn-31c77a24ca5372160a66985cda47b6b8c29c75e9.zip | |
Replace text watcher with a text changed event
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt | 23 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountInput.kt | 3 |
2 files changed, 8 insertions, 18 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt index ac89633db1..54f006f762 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt @@ -1,8 +1,6 @@ package net.mullvad.mullvadvpn.ui import android.content.Context -import android.text.Editable -import android.text.TextWatcher import android.view.View import android.widget.ArrayAdapter import android.widget.ListView @@ -44,6 +42,10 @@ class AccountInputController(val parentView: View, context: Context) { onFocusChanged.subscribe(this) { hasFocus -> inputHasFocus = hasFocus } + + onTextChanged.subscribe(this) { _ -> + leaveErrorState() + } } var accountHistory: ArrayList<String>? = null @@ -66,14 +68,9 @@ class AccountInputController(val parentView: View, context: Context) { get() = newInput.onLogin set(value) { newInput.onLogin = value } - init { - input.apply { - addTextChangedListener(InputWatcher()) - } - } - fun onDestroy() { newInput.onFocusChanged.unsubscribe(this) + newInput.onTextChanged.unsubscribe(this) } private fun loggingInState() { @@ -130,14 +127,4 @@ class AccountInputController(val parentView: View, context: Context) { usingErrorColor = false } } - - inner class InputWatcher : TextWatcher { - override fun beforeTextChanged(text: CharSequence, start: Int, count: Int, after: Int) {} - - override fun onTextChanged(text: CharSequence, start: Int, before: Int, count: Int) {} - - override fun afterTextChanged(text: Editable) { - leaveErrorState() - } - } } 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 f3e2d3493c..fd1c5a1e96 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 @@ -38,6 +38,7 @@ class AccountInput : LinearLayout { override fun afterTextChanged(text: Editable) { removeFormattingSpans(text) setButtonEnabled(text.length >= MIN_ACCOUNT_TOKEN_LENGTH) + onTextChanged.notify(Unit) } } @@ -58,6 +59,8 @@ class AccountInput : LinearLayout { val onFocusChanged = EventNotifier(false) private var hasFocus by onFocusChanged.notifiable() + val onTextChanged = EventNotifier(Unit) + var loginState by observable(LoginState.Initial) { _, _, state -> when (state) { LoginState.Initial -> initialState() |
