@@ -2,21 +2,20 @@ package com.monstarlab.features.login
22
33import android.os.Bundle
44import android.view.View
5+ import androidx.core.view.isVisible
56import androidx.lifecycle.lifecycleScope
6- import androidx.lifecycle.viewModelScope
77import androidx.navigation.fragment.findNavController
88import androidx.transition.TransitionManager
99import com.google.android.material.snackbar.Snackbar
1010import com.monstarlab.R
1111import com.monstarlab.arch.base.BaseFragment
1212import com.monstarlab.arch.extensions.clicks
1313import com.monstarlab.arch.extensions.collectFlow
14- import com.monstarlab.arch.extensions.combineFlows
1514import com.monstarlab.arch.extensions.viewBinding
15+ import com.monstarlab.arch.extensions.visibilityFlow
1616import com.monstarlab.databinding.FragmentLoginBinding
1717import kotlinx.coroutines.flow.launchIn
1818import kotlinx.coroutines.flow.onEach
19- import kotlinx.coroutines.launch
2019
2120class LoginFragment : BaseFragment (R .layout.fragment_login) {
2221
@@ -28,8 +27,8 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
2827
2928 binding.loginButton.clicks().onEach {
3029 viewModel.login(
31- binding.loginEmailEditText.text.toString(),
32- binding.loginPasswordEditText.text.toString()
30+ binding.loginEmailEditText.text.toString(),
31+ binding.loginPasswordEditText.text.toString()
3332 )
3433 }.launchIn(lifecycleScope)
3534
@@ -41,12 +40,13 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
4140 Snackbar .make(view, viewError.message, Snackbar .LENGTH_SHORT ).show()
4241 }
4342
43+ visibilityFlow(viewModel.loadingFlow, binding.loginProgressBar)
44+
4445 collectFlow(viewModel.loadingFlow) { loading ->
4546 TransitionManager .beginDelayedTransition(binding.root)
4647 binding.loginEmailEditText.isEnabled = ! loading
4748 binding.loginPasswordEditText.isEnabled = ! loading
48- binding.loginButton.visibility = if (loading) View .GONE else View .VISIBLE
49- binding.loginProgressBar.visibility = if (loading) View .VISIBLE else View .GONE
49+ binding.loginButton.isVisible = ! loading
5050 }
5151 }
5252}
0 commit comments