diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-25 19:46:28 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-27 12:44:41 +0000 |
| commit | d3d951c8fd861310c486d3dae07263f3797aafbd (patch) | |
| tree | a0f9011494ea8a788473a843e61811c6059930da /android | |
| parent | d241dd2c4611128f38e7986350d73945b9e1c0ff (diff) | |
| download | mullvadvpn-d3d951c8fd861310c486d3dae07263f3797aafbd.tar.xz mullvadvpn-d3d951c8fd861310c486d3dae07263f3797aafbd.zip | |
Refactor account input border updates
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt index eb666dc649..4abbbfe835 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/AccountInput.kt @@ -21,7 +21,16 @@ class AccountInput(val parentView: View, val context: Context) { private val focusedBorder = resources.getDrawable(R.drawable.account_input_border_focused, null) private val errorBorder = resources.getDrawable(R.drawable.account_input_border_error, null) + private var inputHasFocus = false + set(value) { + field = value + updateBorder() + } private var usingErrorColor = false + set(value) { + field = value + updateBorder() + } var state = LoginState.Initial set(value) { @@ -46,7 +55,7 @@ class AccountInput(val parentView: View, val context: Context) { input.apply { addTextChangedListener(InputWatcher()) onFocusChangeListener = OnFocusChangeListener { view, hasFocus -> - updateBorder(hasFocus && view.isEnabled()) + inputHasFocus = hasFocus && view.isEnabled() } } @@ -97,7 +106,6 @@ class AccountInput(val parentView: View, val context: Context) { } usingErrorColor = true - updateBorder(false) } private fun setButtonEnabled(enabled: Boolean) { @@ -110,7 +118,7 @@ class AccountInput(val parentView: View, val context: Context) { } } - private fun updateBorder(inputHasFocus: Boolean) { + private fun updateBorder() { if (usingErrorColor) { container.foreground = errorBorder } else { @@ -128,12 +136,12 @@ class AccountInput(val parentView: View, val context: Context) { override fun onTextChanged(text: CharSequence, start: Int, before: Int, count: Int) {} override fun afterTextChanged(text: Editable) { + inputHasFocus = true setButtonEnabled(text.length >= MIN_ACCOUNT_TOKEN_LENGTH) if (usingErrorColor) { input.setTextColor(enabledTextColor) usingErrorColor = false - updateBorder(true) } } } |
