android: Delay collecting UI state in games fragment

This commit is contained in:
Charles Lombardo 2023-09-14 20:02:48 -04:00
parent 5eceab3ce6
commit b394389170

View file

@ -93,12 +93,12 @@ class GamesFragment : Fragment() {
viewLifecycleOwner.lifecycleScope.apply { viewLifecycleOwner.lifecycleScope.apply {
launch { launch {
repeatOnLifecycle(Lifecycle.State.CREATED) { repeatOnLifecycle(Lifecycle.State.RESUMED) {
gamesViewModel.isReloading.collect { binding.swipeRefresh.isRefreshing = it } gamesViewModel.isReloading.collect { binding.swipeRefresh.isRefreshing = it }
} }
} }
launch { launch {
repeatOnLifecycle(Lifecycle.State.CREATED) { repeatOnLifecycle(Lifecycle.State.RESUMED) {
gamesViewModel.games.collect { gamesViewModel.games.collect {
(binding.gridGames.adapter as GameAdapter).submitList(it) (binding.gridGames.adapter as GameAdapter).submitList(it)
if (it.isEmpty()) { if (it.isEmpty()) {
@ -110,7 +110,7 @@ class GamesFragment : Fragment() {
} }
} }
launch { launch {
repeatOnLifecycle(Lifecycle.State.CREATED) { repeatOnLifecycle(Lifecycle.State.RESUMED) {
gamesViewModel.shouldSwapData.collect { gamesViewModel.shouldSwapData.collect {
if (it) { if (it) {
(binding.gridGames.adapter as GameAdapter).submitList( (binding.gridGames.adapter as GameAdapter).submitList(
@ -122,7 +122,7 @@ class GamesFragment : Fragment() {
} }
} }
launch { launch {
repeatOnLifecycle(Lifecycle.State.CREATED) { repeatOnLifecycle(Lifecycle.State.RESUMED) {
gamesViewModel.shouldScrollToTop.collect { gamesViewModel.shouldScrollToTop.collect {
if (it) { if (it) {
scrollToTop() scrollToTop()