fun StateMachine.stateFlow() = callbackFlow {
val stateListener = object : StateMachine.Listener {
override fun onStateChanged(newState: IState) {
trySendBlocking(newState)
}
}
addListener(stateListener)
val finishListener = object : IState.Listener {
override fun onFinished(transitionParams: TransitionParams<*>) {
channel.close()
}
}
addListener(finishListener)
awaitClose {
removeListener(stateListener)
removeListener(finishListener)
}
}
Following code does not pass finalState notification.
It is critcal bug, because it is not possible to create any reliable flow of states, rxjava observable, etc..
Following code does not pass finalState notification. It is critcal bug, because it is not possible to create any reliable flow of states, rxjava observable, etc..