NetworkUsageRepositoryImpl

Room-backed implementation of network usage counters used by Settings.

Ktor calls publish byte deltas through NetworkUsageCounter, while model downloaders call increment directly. Both paths end up in the same Room table, which keeps the network usage screen observable and durable across process restarts until the user explicitly resets it.

Author

Dmitriy Moroz

Parameters

dao

Room DAO that owns atomic bucket increments and live traffic snapshots.

Constructors

Link copied to clipboard
constructor(dao: NetworkUsageDao)

Properties

Link copied to clipboard
private val dao: NetworkUsageDao
Link copied to clipboard
private val scope: CoroutineScope

Functions

Link copied to clipboard
open override fun enqueueIncrement(bucket: NetworkUsageBucket, bytes: Long)
Link copied to clipboard
open suspend override fun get(): NetworkUsage
Link copied to clipboard
open suspend override fun increment(bucket: NetworkUsageBucket, bytes: Long)
Link copied to clipboard
open override fun observe(): Flow<NetworkUsage>
Link copied to clipboard
open suspend override fun reset()