kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
fix: add nodeDBbyNodeNum temp var to avoid concurrent modifications
rodzic
8154d3a10f
commit
e6d19d9e6d
|
@ -309,6 +309,7 @@ class MeshService : Service(), Logging {
|
||||||
/// Save information about our mesh to disk, so we will have it when we next start the service (even before we hear from our device)
|
/// Save information about our mesh to disk, so we will have it when we next start the service (even before we hear from our device)
|
||||||
private fun saveSettings() {
|
private fun saveSettings() {
|
||||||
myNodeInfo?.let { myInfo ->
|
myNodeInfo?.let { myInfo ->
|
||||||
|
val nodeDBbyNodeNum = nodeDBbyNodeNum.toMap()
|
||||||
val settings = MeshServiceSettingsData(
|
val settings = MeshServiceSettingsData(
|
||||||
myInfo = myInfo,
|
myInfo = myInfo,
|
||||||
nodeDB = nodeDBbyNodeNum.values.toTypedArray(),
|
nodeDB = nodeDBbyNodeNum.values.toTypedArray(),
|
||||||
|
@ -392,17 +393,6 @@ class MeshService : Service(), Logging {
|
||||||
/// Map a nodenum to a node, or throw an exception if not found
|
/// Map a nodenum to a node, or throw an exception if not found
|
||||||
private fun toNodeInfo(n: Int) = nodeDBbyNodeNum[n] ?: throw NodeNumNotFoundException(n)
|
private fun toNodeInfo(n: Int) = nodeDBbyNodeNum[n] ?: throw NodeNumNotFoundException(n)
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the nodeinfo for the local node, or null if not found
|
|
||||||
*/
|
|
||||||
private val localNodeInfo
|
|
||||||
get(): NodeInfo? =
|
|
||||||
try {
|
|
||||||
toNodeInfo(myNodeNum)
|
|
||||||
} catch (ex: Exception) {
|
|
||||||
null
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Map a nodeNum to the nodeId string
|
/** Map a nodeNum to the nodeId string
|
||||||
If we have a NodeInfo for this ID we prefer to return the string ID inside the user record.
|
If we have a NodeInfo for this ID we prefer to return the string ID inside the user record.
|
||||||
but some nodes might not have a user record at all (because not yet received), in that case, we return
|
but some nodes might not have a user record at all (because not yet received), in that case, we return
|
||||||
|
|
Ładowanie…
Reference in New Issue