@@ -6,6 +6,7 @@ import androidx.core.view.isVisible
6
6
import androidx.fragment.app.activityViewModels
7
7
import androidx.lifecycle.lifecycleScope
8
8
import androidx.navigation.fragment.findNavController
9
+ import androidx.paging.LoadState
9
10
import com.google.android.material.snackbar.Snackbar
10
11
import com.whyranoid.presentation.R
11
12
import com.whyranoid.presentation.base.BaseFragment
@@ -109,6 +110,13 @@ internal class CommunityItemFragment :
109
110
viewModel.onGroupJoinButtonClicked(it)
110
111
}
111
112
)
113
+
114
+ viewLifecycleOwner.repeatWhenUiStarted {
115
+ postAdapter.loadStateFlow.collectLatest { loadStates ->
116
+ binding.shimmerCommunity.isVisible = loadStates.refresh is LoadState .Loading
117
+ }
118
+ }
119
+
112
120
binding.rvCommunity.adapter = postAdapter
113
121
114
122
viewLifecycleOwner.repeatWhenUiStarted {
@@ -119,7 +127,6 @@ internal class CommunityItemFragment :
119
127
120
128
viewLifecycleOwner.repeatWhenUiStarted {
121
129
viewModel.pagingPost.collectLatest { postList ->
122
- removeShimmer()
123
130
postAdapter.submitData(postList)
124
131
}
125
132
}
@@ -133,9 +140,9 @@ internal class CommunityItemFragment :
133
140
binding.rvCommunity.adapter = myGroupAdapter
134
141
135
142
viewLifecycleOwner.repeatWhenUiStarted {
136
- viewModel.myGroupList.collect { groupList ->
137
- removeShimmer()
143
+ viewModel.myGroupList.collectLatest { groupList ->
138
144
myGroupAdapter.submitList(groupList.sortedBy { it.name })
145
+ removeShimmer()
139
146
}
140
147
}
141
148
}
@@ -154,6 +161,13 @@ internal class CommunityItemFragment :
154
161
}.show()
155
162
}
156
163
)
164
+
165
+ viewLifecycleOwner.repeatWhenUiStarted {
166
+ postAdapter.loadStateFlow.collectLatest { loadStates ->
167
+ binding.shimmerCommunity.isVisible = loadStates.refresh is LoadState .Loading
168
+ }
169
+ }
170
+
157
171
binding.rvCommunity.adapter = postAdapter
158
172
159
173
viewLifecycleOwner.repeatWhenUiStarted {
@@ -164,7 +178,6 @@ internal class CommunityItemFragment :
164
178
165
179
viewLifecycleOwner.repeatWhenUiStarted {
166
180
viewModel.getMyPagingPostsUseCase().collectLatest { myPostList ->
167
- removeShimmer()
168
181
postAdapter.submitData(myPostList)
169
182
}
170
183
}
0 commit comments