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
5
5
import androidx.lifecycle.DefaultLifecycleObserver
6
6
import androidx.lifecycle.LifecycleOwner
7
7
import androidx.lifecycle.lifecycleScope
8
+ import com.google.android.material.snackbar.Snackbar
9
+ import com.monstarlab.core.sharedui.errorhandling.ViewError
8
10
import kotlinx.coroutines.channels.awaitClose
9
11
import kotlinx.coroutines.flow.*
10
12
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
+
11
19
fun <T > Fragment.collectFlow (targetFlow : Flow <T >, collectBlock : ((T ) -> Unit )) {
12
20
safeViewCollect {
13
21
viewLifecycleOwner.lifecycleScope.launchWhenCreated {
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import com.monstarlab.arch.base.BaseFragment
12
12
import com.monstarlab.arch.extensions.clicks
13
13
import com.monstarlab.arch.extensions.collectFlow
14
14
import com.monstarlab.arch.extensions.combineFlows
15
+ import com.monstarlab.arch.extensions.snackErrorFlow
15
16
import com.monstarlab.arch.extensions.viewBinding
16
17
import com.monstarlab.databinding.FragmentLoginBinding
17
18
import kotlinx.coroutines.flow.launchIn
@@ -37,9 +38,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
37
38
findNavController().navigate(R .id.resourceFragment)
38
39
}
39
40
40
- collectFlow(viewModel.errorFlow) { viewError ->
41
- Snackbar .make(view, viewError.message, Snackbar .LENGTH_SHORT ).show()
42
- }
41
+ snackErrorFlow(viewModel.errorFlow, view)
43
42
44
43
collectFlow(viewModel.loadingFlow) { loading ->
45
44
TransitionManager .beginDelayedTransition(binding.root)
You can’t perform that action at this time.
0 commit comments