mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
fix: network discovery list remove method
This commit is contained in:
parent
f73e7fd301
commit
9583982e3f
2 changed files with 8 additions and 10 deletions
|
|
@ -14,7 +14,7 @@ import kotlinx.coroutines.flow.Flow
|
|||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
import kotlinx.coroutines.flow.update
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
|
@ -32,12 +32,12 @@ class NetworkRepository @Inject constructor(
|
|||
val callback = object : ConnectivityManager.NetworkCallback() {
|
||||
override fun onAvailable(network: Network) {
|
||||
availableNetworks.add(network)
|
||||
trySend(availableNetworks.isNotEmpty()).isSuccess
|
||||
trySend(availableNetworks.isNotEmpty())
|
||||
}
|
||||
|
||||
override fun onLost(network: Network) {
|
||||
availableNetworks.remove(network)
|
||||
trySend(availableNetworks.isNotEmpty()).isSuccess
|
||||
trySend(availableNetworks.isNotEmpty())
|
||||
}
|
||||
}
|
||||
val networkRequest = NetworkRequest.Builder().build()
|
||||
|
|
@ -51,12 +51,10 @@ class NetworkRepository @Inject constructor(
|
|||
init {
|
||||
processLifecycle.coroutineScope.launch(dispatchers.default) {
|
||||
nsdManagerLazy.get()?.let { manager ->
|
||||
manager.discoverServices(SERVICE_TYPE).collect { serviceList ->
|
||||
_resolvedList.update {
|
||||
serviceList
|
||||
.filter { it.serviceName == SERVICE_NAME }
|
||||
.mapNotNull { manager.resolveService(it) }
|
||||
}
|
||||
manager.discoverServices(SERVICE_TYPE).collectLatest { serviceList ->
|
||||
_resolvedList.value = serviceList
|
||||
.filter { it.serviceName.contains(SERVICE_NAME) }
|
||||
.mapNotNull { manager.resolveService(it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ internal fun NsdManager.discoverServices(
|
|||
}
|
||||
|
||||
override fun onServiceLost(serviceInfo: NsdServiceInfo) {
|
||||
serviceList -= serviceInfo
|
||||
serviceList.removeAll { it.serviceName == serviceInfo.serviceName }
|
||||
trySend(serviceList)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue