Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saqib-github-commits/077ed380d51e955d38fb1e59c404e365 to your computer and use it in GitHub Desktop.
Save saqib-github-commits/077ed380d51e955d38fb1e59c404e365 to your computer and use it in GitHub Desktop.
@Composable
fun NewsScreen(
viewModel: NewsViewModel = NewsViewModel(),
lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current
) {
var lifecycleEvent by remember { mutableStateOf(Lifecycle.Event.ON_ANY) }
DisposableEffect(lifecycleOwner) {
val lifecycleObserver = LifecycleEventObserver { _, event ->
lifecycleEvent = event
}
lifecycleOwner.lifecycle.addObserver(lifecycleObserver)
onDispose {
lifecycleOwner.lifecycle.removeObserver(lifecycleObserver)
}
}
LaunchedEffect(lifecycleEvent) {
if (lifecycleEvent == Lifecycle.Event.ON_RESUME) {
viewModel.fetchNews()
}
}
// will use to display news
LazyColumn {
// list of news
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment