Browse Source

API: simplify NetworkMonitor api

jonny/proxy
ganfra 1 year ago
parent
commit
e0e50a97e9
  1. 2
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt
  2. 5
      features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/NetworkMonitor.kt
  3. 5
      features/networkmonitor/impl/src/main/kotlin/io/element/android/features/networkmonitor/impl/NetworkMonitorImpl.kt
  4. 7
      features/networkmonitor/test/src/main/kotlin/io/element/android/features/networkmonitor/test/FakeNetworkMonitor.kt
  5. 2
      features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt

2
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt

@ -96,7 +96,7 @@ class MessagesPresenter @Inject constructor( @@ -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)

5
features/networkmonitor/api/src/main/kotlin/io/element/android/features/networkmonitor/api/NetworkMonitor.kt

@ -16,9 +16,8 @@ @@ -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>
}

5
features/networkmonitor/impl/src/main/kotlin/io/element/android/features/networkmonitor/impl/NetworkMonitorImpl.kt

@ -29,6 +29,7 @@ import io.element.android.libraries.di.ApplicationContext @@ -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( @@ -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()

7
features/networkmonitor/test/src/main/kotlin/io/element/android/features/networkmonitor/test/FakeNetworkMonitor.kt

@ -18,13 +18,8 @@ package io.element.android.features.networkmonitor.test @@ -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)
}

2
features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt

@ -80,7 +80,7 @@ class RoomListPresenter @Inject constructor( @@ -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…
Cancel
Save