API: simplify NetworkMonitor api

This commit is contained in:
ganfra
2023-06-22 15:47:15 +02:00
parent 8ce65b4429
commit 37174cf53c
5 changed files with 7 additions and 14 deletions

View File

@@ -16,9 +16,8 @@
package io.element.android.features.networkmonitor.api
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
interface NetworkMonitor {
val connectivity: Flow<NetworkStatus>
val currentConnectivityStatus: NetworkStatus
val connectivity: StateFlow<NetworkStatus>
}

View File

@@ -29,6 +29,7 @@ import io.element.android.libraries.di.ApplicationContext
import io.element.android.libraries.di.SingleIn
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import timber.log.Timber
import javax.inject.Inject
@@ -61,9 +62,7 @@ class NetworkMonitorImpl @Inject constructor(
}
private val _connectivity = MutableStateFlow(NetworkStatus.Online)
override val connectivity: Flow<NetworkStatus> = _connectivity
override val currentConnectivityStatus: NetworkStatus get() = _connectivity.value
override val connectivity: StateFlow<NetworkStatus> = _connectivity
init {
listenToConnectionChanges()

View File

@@ -18,13 +18,8 @@ package io.element.android.features.networkmonitor.test
import io.element.android.features.networkmonitor.api.NetworkMonitor
import io.element.android.features.networkmonitor.api.NetworkStatus
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
class FakeNetworkMonitor(initialStatus: NetworkStatus = NetworkStatus.Online) : NetworkMonitor {
override val currentConnectivityStatus: NetworkStatus
get() = _connectivityStatus.value
private val _connectivityStatus: MutableStateFlow<NetworkStatus> = MutableStateFlow(initialStatus)
override val connectivity: Flow<NetworkStatus> = _connectivityStatus
override val connectivity = MutableStateFlow(initialStatus)
}