Skip to content

Instantly share code, notes, and snippets.

@dilrajsingh1997
Created April 19, 2022 07:53
Show Gist options
  • Save dilrajsingh1997/8e736b2e1532aca6480c587c45f70255 to your computer and use it in GitHub Desktop.
Save dilrajsingh1997/8e736b2e1532aca6480c587c45f70255 to your computer and use it in GitHub Desktop.
@Composable
fun ProductsScreen(
viewModel: ProductsViewModel = hiltViewModel(),
) {
val lifecycle = LocalLifecycleOwner.current.lifecycle
val latestLifecycleEvent = remember { mutableStateOf(Lifecycle.Event.ON_ANY) }
DisposableEffect(lifecycle) {
val observer = LifecycleEventObserver { _, event ->
latestLifecycleEvent.value = event
}
lifecycle.addObserver(observer)
onDispose {
lifecycle.removeObserver(observer)
}
}
LaunchedEffect(true) {
snapshotFlow { latestLifecycleEvent == Lifecycle.Event.ON_RESUME }.collect {
if (it) {
viewModel.fetchProducts()
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment