File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed
app/src/main/java/com/monstarlab Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -5,9 +5,17 @@ import androidx.fragment.app.Fragment
55import androidx.lifecycle.DefaultLifecycleObserver
66import androidx.lifecycle.LifecycleOwner
77import androidx.lifecycle.lifecycleScope
8+ import com.google.android.material.snackbar.Snackbar
9+ import com.monstarlab.core.sharedui.errorhandling.ViewError
810import kotlinx.coroutines.channels.awaitClose
911import kotlinx.coroutines.flow.*
1012
13+ fun Fragment.snackErrorFlow (targetFlow : SharedFlow <ViewError >, root : View , length : Int = Snackbar .LENGTH_SHORT ) {
14+ collectFlow(targetFlow) { viewError ->
15+ Snackbar .make(root, viewError.message, length).show()
16+ }
17+ }
18+
1119fun <T > Fragment.collectFlow (targetFlow : Flow <T >, collectBlock : ((T ) -> Unit )) {
1220 safeViewCollect {
1321 viewLifecycleOwner.lifecycleScope.launchWhenCreated {
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import com.monstarlab.arch.base.BaseFragment
1212import com.monstarlab.arch.extensions.clicks
1313import com.monstarlab.arch.extensions.collectFlow
1414import com.monstarlab.arch.extensions.combineFlows
15+ import com.monstarlab.arch.extensions.snackErrorFlow
1516import com.monstarlab.arch.extensions.viewBinding
1617import com.monstarlab.databinding.FragmentLoginBinding
1718import kotlinx.coroutines.flow.launchIn
@@ -37,9 +38,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
3738 findNavController().navigate(R .id.resourceFragment)
3839 }
3940
40- collectFlow(viewModel.errorFlow) { viewError ->
41- Snackbar .make(view, viewError.message, Snackbar .LENGTH_SHORT ).show()
42- }
41+ snackErrorFlow(viewModel.errorFlow, view)
4342
4443 collectFlow(viewModel.loadingFlow) { loading ->
4544 TransitionManager .beginDelayedTransition(binding.root)
You can’t perform that action at this time.
0 commit comments