kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
fix(MeshService): revert `myNodeInfo` to local variable
avoids performance issues and simplifies state management as `MyNodeInfo` is only relevant during an active sessionpull/1260/head
rodzic
21c1c1cbd6
commit
81d8a9f93f
|
@ -329,7 +329,7 @@ class MeshService : Service(), Logging {
|
|||
/// BEGINNING OF MODEL - FIXME, move elsewhere
|
||||
///
|
||||
|
||||
val myNodeInfo: MyNodeInfo? get() = radioConfigRepository.myNodeInfo.value
|
||||
private var myNodeInfo: MyNodeInfo? = null
|
||||
|
||||
private val configTotal by lazy { ConfigProtos.Config.getDescriptor().fields.size }
|
||||
private val moduleTotal by lazy { ModuleConfigProtos.ModuleConfig.getDescriptor().fields.size }
|
||||
|
@ -1517,15 +1517,11 @@ class MeshService : Service(), Logging {
|
|||
errormsg("Did not receive a valid config")
|
||||
} else {
|
||||
debug("Installing new node DB")
|
||||
myNodeInfo = newMyNodeInfo
|
||||
|
||||
radioConfigRepository.installNodeDB(newMyNodeInfo!!, newNodes.map { it.toEntity() })
|
||||
newNodes.clear() // Just to save RAM ;-)
|
||||
|
||||
withTimeoutOrNull(timeMillis = 5000) {
|
||||
while (myNodeInfo == null) {
|
||||
delay(100)
|
||||
}
|
||||
} ?: errormsg("Timeout: installNodeDB failed!")
|
||||
|
||||
haveNodeDB = true // we now have nodes from real hardware
|
||||
|
||||
sendToRadio(newMeshPacketTo(myNodeNum).buildAdminPacket {
|
||||
|
|
Ładowanie…
Reference in New Issue