mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Refactor: Remove "include unmessageable" filter (#1889)
This commit is contained in:
parent
990cd103d7
commit
f6e75e970b
5 changed files with 3 additions and 53 deletions
|
|
@ -28,7 +28,6 @@ import com.geeksville.mesh.database.entity.MyNodeEntity
|
|||
import com.geeksville.mesh.database.entity.NodeEntity
|
||||
import com.geeksville.mesh.model.Node
|
||||
import com.geeksville.mesh.model.NodeSortOption
|
||||
import com.geeksville.mesh.model.isUnmessageableRole
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
|
@ -97,20 +96,13 @@ class NodeRepository @Inject constructor(
|
|||
sort: NodeSortOption = NodeSortOption.LAST_HEARD,
|
||||
filter: String = "",
|
||||
includeUnknown: Boolean = true,
|
||||
includeUnmessageable: Boolean = true,
|
||||
) = nodeInfoDao.getNodes(
|
||||
sort = sort.sqlValue,
|
||||
filter = filter,
|
||||
includeUnknown = includeUnknown,
|
||||
).mapLatest { list ->
|
||||
list.map { it.toModel() }.filter { node ->
|
||||
val isUnmessageable: Boolean = if (node.user.hasIsUnmessagable()) {
|
||||
node.user.isUnmessagable
|
||||
} else {
|
||||
// for older firmwares
|
||||
node.user.role?.isUnmessageableRole() == true
|
||||
}
|
||||
return@filter includeUnmessageable || !isUnmessageable
|
||||
list.map {
|
||||
it.toModel()
|
||||
}
|
||||
}.flowOn(dispatchers.io).conflate()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue