LoggerViewModel

class LoggerViewModel(val dispatchersProvider: DispatchersProvider, val logReader: LogReader, val router: LoggerRouter, val onError: (Throwable) -> Unit = {}) : BaseMviViewModel<LoggerState, LoggerIntent, EmptyEffect> (source)

Coordinates LoggerViewModel behavior in the SDAI presentation layer.

Author

Dmitriy Moroz

Constructors

Link copied to clipboard
constructor(dispatchersProvider: DispatchersProvider, logReader: LogReader, router: LoggerRouter, onError: (Throwable) -> Unit = {})

Properties

Link copied to clipboard
private val _effect: Channel<E>
Link copied to clipboard
private val _state: MutableStateFlow<S>
Link copied to clipboard
protected val currentState: LoggerState
Link copied to clipboard

Exposes the dispatchersProvider value used by the SDAI presentation layer.

Link copied to clipboard
open override val effect: Flow<EmptyEffect>
Link copied to clipboard
private val effectDispatcher: CoroutineDispatcher
Link copied to clipboard
private val logReader: LogReader

Exposes the logReader value used by the SDAI presentation layer.

Link copied to clipboard
private val onError: (Throwable) -> Unit

Exposes the onError value used by the SDAI presentation layer.

Link copied to clipboard
private val router: LoggerRouter

Exposes the router value used by the SDAI presentation layer.

Link copied to clipboard
open override val state: StateFlow<LoggerState>

Functions

Link copied to clipboard
expect open fun addCloseable(closeable: AutoCloseable)
expect fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
internal expect fun clear()
Link copied to clipboard
protected fun emitEffect(effect: EmptyEffect)
Link copied to clipboard
protected fun emitState(state: LoggerState)
Link copied to clipboard
expect fun <T : AutoCloseable> getCloseable(key: String): T?
Link copied to clipboard
protected fun launch(dispatcher: CoroutineDispatcher, start: CoroutineStart, block: suspend CoroutineScope.() -> Unit): Job
Link copied to clipboard
protected expect open fun onCleared()
Link copied to clipboard
open override fun processIntent(intent: LoggerIntent)
Link copied to clipboard
private fun readLogs()
Link copied to clipboard
protected fun updateState(mutation: (LoggerState) -> LoggerState)