Meshtastic-Android/app/src/main/java/com/geeksville/mesh/model/NodeDB.kt

54 lines
No EOL
1.4 KiB
Kotlin

package com.geeksville.mesh.model
import androidx.compose.frames.modelMapOf
import androidx.compose.mutableStateOf
import com.geeksville.android.BuildUtils.isEmulator
import com.geeksville.mesh.MeshUser
import com.geeksville.mesh.NodeInfo
import com.geeksville.mesh.Position
object NodeDB {
private val testPositions = arrayOf(
Position(32.776665, -96.796989, 35), // dallas
Position(32.960758, -96.733521, 35), // richardson
Position(
32.912901,
-96.781776,
35
) // north dallas
)
val testNodeNoPosition = NodeInfo(
8,
MeshUser(
"+16508765308".format(8),
"Kevin MesterNoLoc",
"KLO"
),
null
)
val testNodes = testPositions.mapIndexed { index, it ->
NodeInfo(
9 + index,
MeshUser(
"+165087653%02d".format(9 + index),
"Kevin Mester$index",
"KM$index"
),
it
)
}
private val seedWithTestNodes = isEmulator
/// The unique ID of our node
val myId = mutableStateOf(if (isEmulator) "+16508765309" else "invalid")
/// A map from nodeid to to nodeinfo
val nodes =
modelMapOf(* (if (isEmulator) testNodes else listOf()).map { it.user!!.id to it }.toTypedArray())
/// Could be null if we haven't received our node DB yet
val ourNodeInfo get() = nodes[myId.value]
}