API: simplify NetworkMonitor api
This commit is contained in:
parent
ef8dc6ea7a
commit
e0e50a97e9
5 changed files with 7 additions and 14 deletions
|
|
@ -96,7 +96,7 @@ class MessagesPresenter @Inject constructor(
|
|||
mutableStateOf(null)
|
||||
}
|
||||
|
||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState(initial = networkMonitor.currentConnectivityStatus)
|
||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState()
|
||||
|
||||
val snackbarMessage = handleSnackbarMessage(snackbarDispatcher)
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ class RoomListPresenter @Inject constructor(
|
|||
.roomList()
|
||||
.collectAsState()
|
||||
|
||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState(initial = networkMonitor.currentConnectivityStatus)
|
||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState()
|
||||
|
||||
Timber.v("RoomSummaries size = ${roomSummaries.size}")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue