@@ -33,41 +33,49 @@ private inline fun Fragment.safeViewCollect(crossinline viewOwner: LifecycleOwne
3333}
3434
3535fun <T1 , T2 > Fragment.combineFlows (flow1 : Flow <T1 >, flow2 : Flow <T2 >, collectBlock : ((T1 , T2 ) -> Unit )) {
36- viewLifecycleOwner.lifecycleScope.launchWhenCreated {
37- flow1.combine(flow2) { v1, v2 ->
38- collectBlock.invoke(v1, v2)
39- }.collect {
40- // Empty collect block to trigger ^
36+ safeViewCollect {
37+ viewLifecycleOwner.lifecycleScope.launchWhenCreated {
38+ flow1.combine(flow2) { v1, v2 ->
39+ collectBlock.invoke(v1, v2)
40+ }.collect {
41+ // Empty collect block to trigger ^
42+ }
4143 }
4244 }
4345}
4446
4547fun <T1 , T2 , T3 > Fragment.combineFlows (flow1 : Flow <T1 >, flow2 : Flow <T2 >, flow3 : Flow <T3 >, collectBlock : ((T1 , T2 , T3 ) -> Unit )) {
46- viewLifecycleOwner.lifecycleScope.launchWhenCreated {
47- combine(flow1, flow2, flow3) { v1, v2, v3 ->
48- collectBlock.invoke(v1, v2, v3)
49- }.collect {
50- // Empty collect block to trigger ^
48+ safeViewCollect {
49+ viewLifecycleOwner.lifecycleScope.launchWhenCreated {
50+ combine(flow1, flow2, flow3) { v1, v2, v3 ->
51+ collectBlock.invoke(v1, v2, v3)
52+ }.collect {
53+ // Empty collect block to trigger ^
54+ }
5155 }
5256 }
5357}
5458
5559fun <T1 , T2 , T3 , T4 > Fragment.combineFlows (flow1 : Flow <T1 >, flow2 : Flow <T2 >, flow3 : Flow <T3 >, flow4 : Flow <T4 >, collectBlock : ((T1 , T2 , T3 , T4 ) -> Unit )) {
56- viewLifecycleOwner.lifecycleScope.launchWhenCreated {
57- combine(flow1, flow2, flow3, flow4) { v1, v2, v3, v4 ->
58- collectBlock.invoke(v1, v2, v3, v4)
59- }.collect {
60- // Empty collect block to trigger ^
60+ safeViewCollect {
61+ viewLifecycleOwner.lifecycleScope.launchWhenCreated {
62+ combine(flow1, flow2, flow3, flow4) { v1, v2, v3, v4 ->
63+ collectBlock.invoke(v1, v2, v3, v4)
64+ }.collect {
65+ // Empty collect block to trigger ^
66+ }
6167 }
6268 }
6369}
6470
6571fun <T1 , T2 > Fragment.zipFlows (flow1 : Flow <T1 >, flow2 : Flow <T2 >, collectBlock : ((T1 , T2 ) -> Unit )) {
66- viewLifecycleOwner.lifecycleScope.launchWhenCreated {
67- flow1.zip(flow2) { v1, v2 ->
68- collectBlock.invoke(v1, v2)
69- }.collect {
70- // Empty collect block to trigger ^
72+ safeViewCollect {
73+ viewLifecycleOwner.lifecycleScope.launchWhenCreated {
74+ flow1.zip(flow2) { v1, v2 ->
75+ collectBlock.invoke(v1, v2)
76+ }.collect {
77+ // Empty collect block to trigger ^
78+ }
7179 }
7280 }
7381}
0 commit comments