NetworkUsageViewModel
class NetworkUsageViewModel(dispatchersProvider: DispatchersProvider, val observeNetworkUsageUseCase: ObserveNetworkUsageUseCase, val resetNetworkUsageUseCase: ResetNetworkUsageUseCase, val router: NetworkUsageRouter, val onError: (Throwable) -> Unit = {}) : BaseMviViewModel<NetworkUsageState, NetworkUsageIntent, EmptyEffect> (source)
ViewModel for the standalone network usage screen.
It subscribes to persisted traffic counters through ObserveNetworkUsageUseCase so the screen updates when Ktor calls or model downloads report bytes. Resetting statistics clears Room data and briefly switches to the shimmer state while the new zero snapshot is emitted.
Author
Dmitriy Moroz
Parameters
dispatchersProvider
App coroutine dispatchers used by the MVI base class and IO work.
observeNetworkUsageUseCase
Live Room-backed traffic counter stream.
resetNetworkUsageUseCase
Use case that clears all persisted network counters.
router
Standalone route navigation contract.
onError
Error callback forwarded to the app-level error handling pipeline.
Constructors
Link copied to clipboard
constructor(dispatchersProvider: DispatchersProvider, observeNetworkUsageUseCase: ObserveNetworkUsageUseCase, resetNetworkUsageUseCase: ResetNetworkUsageUseCase, router: NetworkUsageRouter, onError: (Throwable) -> Unit = {})