Skip to content

Instantly share code, notes, and snippets.

@zsoltk
Created December 22, 2019 12:56
Show Gist options
  • Save zsoltk/aa0bee66b8ef89e398edde0a6e2f058c to your computer and use it in GitHub Desktop.
Save zsoltk/aa0bee66b8ef89e398edde0a6e2f058c to your computer and use it in GitHub Desktop.
@Composable
fun RootBackHandler(rootHandler: ScopedBackPressHandler, children: @Composable() () -> Unit) {
val downstream = +memo { ScopedBackPressHandler() }
val handleBackPressHere: () -> Boolean = { downstream.handle() }
rootHandler.handlers.add(handleBackPressHere)
+onDispose { rootHandler.handlers.remove(handleBackPressHere) }
backPressHandler.Provider(value = downstream) {
children()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment