forked from melod1n/fast-messenger
temp
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package dev.meloda.fast.common
|
||||
|
||||
import dev.meloda.fast.common.model.NetworkState
|
||||
import dev.meloda.fast.common.model.NetworkStatus
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
|
||||
class NetworkStateListener {
|
||||
|
||||
private val networkStatus = MutableStateFlow(NetworkStatus.UNAVAILABLE)
|
||||
val networkStatusFlow = networkStatus.asStateFlow()
|
||||
|
||||
private val networkState = MutableStateFlow(NetworkState.DISCONNECTED)
|
||||
val networkStateFlow = networkState.asStateFlow()
|
||||
|
||||
fun updateNetworkState(state: NetworkState) {
|
||||
networkState.value = state
|
||||
networkStatus.value = when (state) {
|
||||
NetworkState.CONNECTED -> NetworkStatus.AVAILABLE
|
||||
NetworkState.DISCONNECTED -> NetworkStatus.UNAVAILABLE
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
package dev.meloda.fast.common.model
|
||||
|
||||
enum class NetworkState { CONNECTED, DISCONNECTED }
|
||||
@@ -0,0 +1,10 @@
|
||||
package dev.meloda.fast.common.model
|
||||
|
||||
enum class NetworkStatus {
|
||||
AVAILABLE, UNAVAILABLE, LOST, BLOCKED, UNBLOCKED;
|
||||
|
||||
fun isOk(): Boolean = when (this) {
|
||||
AVAILABLE, UNBLOCKED -> true
|
||||
UNAVAILABLE, LOST, BLOCKED -> false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package dev.meloda.fast.common.model
|
||||
|
||||
enum class NetworkType {
|
||||
CELLULAR, WIFI, UNKNOWN
|
||||
}
|
||||
@@ -3,9 +3,7 @@ package dev.meloda.fast.common.provider
|
||||
import android.content.res.Resources
|
||||
|
||||
interface ResourceProvider {
|
||||
|
||||
val resources: Resources
|
||||
|
||||
fun getString(resId: Int): String
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user