diff options
Diffstat (limited to 'android/src/main')
| -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() |
