BaseScanningStateRepo
constructor(createNotInitializedState: () -> ScanningState.NotInitialized, createInitializingState: suspend ColdStateFlowRepo<ScanningState>.(ScanningState.Inactive) -> suspend () -> ScanningState, createDeinitializingState: suspend ColdStateFlowRepo<ScanningState>.(ScanningState.Active) -> suspend () -> ScanningState.Deinitialized, coroutineContext: CoroutineContext)
Parameters
createNotInitializedState
method for creating the initial ScanningState.NotInitialized State
createInitializingState
method for transitioning from a ScanningState.Inactive into a ScanningState.Initializing given an implementation of this ColdStateFlowRepo
createDeinitializingState
method for transitioning from a ScanningState.Active into a ScanningState.Deinitialized given an implementation of this ColdStateFlowRepo
coroutineContext
the CoroutineContext the CoroutineContext used to create a coroutine scope for this state machine.