File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed
app/src/main/java/com/monstarlab Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -6,9 +6,17 @@ import androidx.fragment.app.Fragment
66import androidx.lifecycle.DefaultLifecycleObserver
77import androidx.lifecycle.LifecycleOwner
88import androidx.lifecycle.lifecycleScope
9+ import com.google.android.material.snackbar.Snackbar
10+ import com.monstarlab.core.sharedui.errorhandling.ViewError
911import kotlinx.coroutines.channels.awaitClose
1012import kotlinx.coroutines.flow.*
1113
14+ fun Fragment.snackErrorFlow (targetFlow : SharedFlow <ViewError >, root : View , length : Int = Snackbar .LENGTH_SHORT ) {
15+ collectFlow(targetFlow) { viewError ->
16+ Snackbar .make(root, viewError.message, length).show()
17+ }
18+ }
19+
1220fun Fragment.visibilityFlow (targetFlow : Flow <Boolean >, vararg view : View ) {
1321 collectFlow(targetFlow) { loading ->
1422 view.forEach { it.isVisible = loading }
Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ import com.google.android.material.snackbar.Snackbar
1010import com.monstarlab.R
1111import com.monstarlab.arch.base.BaseFragment
1212import com.monstarlab.arch.extensions.collectFlow
13+ import com.monstarlab.arch.extensions.combineFlows
14+ import com.monstarlab.arch.extensions.snackErrorFlow
1315import com.monstarlab.arch.extensions.onClick
1416import com.monstarlab.arch.extensions.viewBinding
1517import com.monstarlab.arch.extensions.visibilityFlow
@@ -34,9 +36,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
3436 findNavController().navigate(R .id.resourceFragment)
3537 }
3638
37- collectFlow(viewModel.errorFlow) { viewError ->
38- Snackbar .make(view, viewError.message, Snackbar .LENGTH_SHORT ).show()
39- }
39+ snackErrorFlow(viewModel.errorFlow, view)
4040
4141 visibilityFlow(viewModel.loadingFlow, binding.loginProgressBar)
4242
You can’t perform that action at this time.
0 commit comments