diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-01 20:46:51 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-02 13:15:27 +0000 |
| commit | beedf175fd2d8d65b3a603312b1ff7b31bbaaa55 (patch) | |
| tree | e14e7ac4f1bb082b548ad8edfc87d3104d5a4063 /android/src/main | |
| parent | de92a643db04a5ca53699f97cdc01a8a68c5150b (diff) | |
| download | mullvadvpn-beedf175fd2d8d65b3a603312b1ff7b31bbaaa55.tar.xz mullvadvpn-beedf175fd2d8d65b3a603312b1ff7b31bbaaa55.zip | |
Use the `observable` delegate in the controller
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt | 37 |
1 files changed, 17 insertions, 20 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 2d034a0448..9ed4d06f71 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt @@ -11,6 +11,7 @@ import android.widget.ArrayAdapter import android.widget.ImageButton import android.widget.ListView import android.widget.TextView +import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.ui.AccountInputContainer.BorderState @@ -23,30 +24,26 @@ class AccountInputController(val parentView: View, context: Context) { private val enabledTextColor = context.getColor(R.color.blue) private val errorTextColor = context.getColor(R.color.red) - private var inputHasFocus = false - set(value) { - field = value - updateBorder() - if (value == true) { - shouldShowAccountHistory = true - } - } + private var inputHasFocus by observable(false) { _, _, hasFocus -> + updateBorder() - private var usingErrorColor = false - set(value) { - field = value - updateBorder() + if (hasFocus) { + shouldShowAccountHistory = true } + } - var state = LoginState.Initial - set(value) { - when (value) { - LoginState.Initial -> initialState() - LoginState.InProgress -> loggingInState() - LoginState.Success -> successState() - LoginState.Failure -> failureState() - } + private var usingErrorColor by observable(false) { _, _, _ -> + updateBorder() + } + + var state by observable(LoginState.Initial) { _, _, newState -> + when (newState) { + LoginState.Initial -> initialState() + LoginState.InProgress -> loggingInState() + LoginState.Success -> successState() + LoginState.Failure -> failureState() } + } val container: AccountInputContainer = parentView.findViewById(R.id.account_input_container) val input: TextView = parentView.findViewById(R.id.login_input) |
