summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-01 20:46:51 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-02 13:15:27 +0000
commitbeedf175fd2d8d65b3a603312b1ff7b31bbaaa55 (patch)
treee14e7ac4f1bb082b548ad8edfc87d3104d5a4063 /android
parentde92a643db04a5ca53699f97cdc01a8a68c5150b (diff)
downloadmullvadvpn-beedf175fd2d8d65b3a603312b1ff7b31bbaaa55.tar.xz
mullvadvpn-beedf175fd2d8d65b3a603312b1ff7b31bbaaa55.zip
Use the `observable` delegate in the controller
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputController.kt37
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)