mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-05 12:54:35 +00:00
API: simplify NetworkMonitor api
This commit is contained in:
+1
-1
@@ -96,7 +96,7 @@ class MessagesPresenter @Inject constructor(
|
|||||||
mutableStateOf(null)
|
mutableStateOf(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState(initial = networkMonitor.currentConnectivityStatus)
|
val networkConnectionStatus by networkMonitor.connectivity.collectAsState()
|
||||||
|
|
||||||
val snackbarMessage = handleSnackbarMessage(snackbarDispatcher)
|
val snackbarMessage = handleSnackbarMessage(snackbarDispatcher)
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -16,9 +16,8 @@
|
|||||||
|
|
||||||
package io.element.android.features.networkmonitor.api
|
package io.element.android.features.networkmonitor.api
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
||||||
interface NetworkMonitor {
|
interface NetworkMonitor {
|
||||||
val connectivity: Flow<NetworkStatus>
|
val connectivity: StateFlow<NetworkStatus>
|
||||||
val currentConnectivityStatus: NetworkStatus
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-3
@@ -29,6 +29,7 @@ import io.element.android.libraries.di.ApplicationContext
|
|||||||
import io.element.android.libraries.di.SingleIn
|
import io.element.android.libraries.di.SingleIn
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@@ -61,9 +62,7 @@ class NetworkMonitorImpl @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val _connectivity = MutableStateFlow(NetworkStatus.Online)
|
private val _connectivity = MutableStateFlow(NetworkStatus.Online)
|
||||||
override val connectivity: Flow<NetworkStatus> = _connectivity
|
override val connectivity: StateFlow<NetworkStatus> = _connectivity
|
||||||
|
|
||||||
override val currentConnectivityStatus: NetworkStatus get() = _connectivity.value
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
listenToConnectionChanges()
|
listenToConnectionChanges()
|
||||||
|
|||||||
+1
-6
@@ -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.NetworkMonitor
|
||||||
import io.element.android.features.networkmonitor.api.NetworkStatus
|
import io.element.android.features.networkmonitor.api.NetworkStatus
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
|
||||||
class FakeNetworkMonitor(initialStatus: NetworkStatus = NetworkStatus.Online) : NetworkMonitor {
|
class FakeNetworkMonitor(initialStatus: NetworkStatus = NetworkStatus.Online) : NetworkMonitor {
|
||||||
override val currentConnectivityStatus: NetworkStatus
|
override val connectivity = MutableStateFlow(initialStatus)
|
||||||
get() = _connectivityStatus.value
|
|
||||||
|
|
||||||
private val _connectivityStatus: MutableStateFlow<NetworkStatus> = MutableStateFlow(initialStatus)
|
|
||||||
override val connectivity: Flow<NetworkStatus> = _connectivityStatus
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@ class RoomListPresenter @Inject constructor(
|
|||||||
.roomList()
|
.roomList()
|
||||||
.collectAsState()
|
.collectAsState()
|
||||||
|
|
||||||
val networkConnectionStatus by networkMonitor.connectivity.collectAsState(initial = networkMonitor.currentConnectivityStatus)
|
val networkConnectionStatus by networkMonitor.connectivity.collectAsState()
|
||||||
|
|
||||||
Timber.v("RoomSummaries size = ${roomSummaries.size}")
|
Timber.v("RoomSummaries size = ${roomSummaries.size}")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user