oday
03/15/2021, 7:37 PM@Composable
internal fun Handler(
enabled: Boolean = true,
onBackPressed: () -> Unit
) {
val dispatcher =
(AmbientBackPressedDispatcher.current ?: return).onBackPressedDispatcher
val handler = remember { ComposableBackHandler(enabled) }
onCommit(dispatcher) {
dispatcher.addCallback(handler)
onDispose { handler.remove() }
}
onCommit(enabled) {
handler.isEnabled = enabled
handler.onBackPressed = onBackPressed
}
}
the onCommit
and onDispose
methods are now unresolved, not sure what to replace them with or howIan Lake
03/15/2021, 7:38 PMBackHandler
is a part of the activity-compose
artifact, you don't need to write this code at all anymore: https://developer.android.com/reference/kotlin/androidx/activity/compose/package-summary#backhandlerIan Lake
03/15/2021, 7:40 PMIan Lake
03/15/2021, 7:40 PMby rememberUpdatedState
for the callback and SideEffect
for the enabled
state updateoday
03/15/2021, 7:40 PMIan Lake
03/15/2021, 7:41 PMDisposableEffect
for the `addCallback`/`remove` pairnglauber
03/15/2021, 8:13 PM