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
6
6
import androidx.lifecycle.DefaultLifecycleObserver
7
7
import androidx.lifecycle.LifecycleOwner
8
8
import androidx.lifecycle.lifecycleScope
9
+ import com.google.android.material.snackbar.Snackbar
10
+ import com.monstarlab.core.sharedui.errorhandling.ViewError
9
11
import kotlinx.coroutines.channels.awaitClose
10
12
import kotlinx.coroutines.flow.*
11
13
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
+
12
20
fun Fragment.visibilityFlow (targetFlow : Flow <Boolean >, vararg view : View ) {
13
21
collectFlow(targetFlow) { loading ->
14
22
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
10
10
import com.monstarlab.R
11
11
import com.monstarlab.arch.base.BaseFragment
12
12
import com.monstarlab.arch.extensions.collectFlow
13
+ import com.monstarlab.arch.extensions.combineFlows
14
+ import com.monstarlab.arch.extensions.snackErrorFlow
13
15
import com.monstarlab.arch.extensions.onClick
14
16
import com.monstarlab.arch.extensions.viewBinding
15
17
import com.monstarlab.arch.extensions.visibilityFlow
@@ -34,9 +36,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
34
36
findNavController().navigate(R .id.resourceFragment)
35
37
}
36
38
37
- collectFlow(viewModel.errorFlow) { viewError ->
38
- Snackbar .make(view, viewError.message, Snackbar .LENGTH_SHORT ).show()
39
- }
39
+ snackErrorFlow(viewModel.errorFlow, view)
40
40
41
41
visibilityFlow(viewModel.loadingFlow, binding.loginProgressBar)
42
42
You can’t perform that action at this time.
0 commit comments