Update save message to include default broadcast node user, or other information if available.

This commit is contained in:
Garth Vander Houwen 2021-09-28 08:56:21 -07:00
parent 28bdd7a39a
commit 861cf3a1ae
2 changed files with 21 additions and 3 deletions

View file

@ -340,8 +340,22 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
print(messageText)
print(try decodedInfo.packet.jsonString())
let broadcastNodeId: UInt32 = 4294967295
let fromUser = meshData.nodes.first(where: { $0.id == decodedInfo.packet.from })
var toUserLongName: String = "Broadcast"
var toUserShortName: String = "BRD"
if decodedInfo.packet.to != broadcastNodeId {
let toUser = meshData.nodes.first(where: { $0.id == decodedInfo.packet.from })
toUserLongName = toUser?.user.longName ?? "Unknown"
toUserShortName = toUser?.user.shortName ?? "???"
}
messageData.messages.append(
MessageModel(messageId: decodedInfo.packet.id, messageTimeStamp: Int64(decodedInfo.packet.rxTime), fromUserId: decodedInfo.packet.from, toUserId: decodedInfo.packet.to, fromUserLongName: "From Long Name ", toUserLongName: "To Long Name", fromUserShortName: "FLN", toUserShortName: "TLN", receivedACK: decodedInfo.packet.decoded.wantResponse, messagePayload: messageText, direction: "IN"))
MessageModel(messageId: decodedInfo.packet.id, messageTimeStamp: Int64(decodedInfo.packet.rxTime), fromUserId: decodedInfo.packet.from, toUserId: decodedInfo.packet.to, fromUserLongName: fromUser?.user.longName ?? "Unknown", toUserLongName: toUserLongName, fromUserShortName: fromUser?.user.shortName ?? "???", toUserShortName: toUserShortName, receivedACK: decodedInfo.packet.decoded.wantResponse, messagePayload: messageText, direction: "IN"))
messageData.save()
} else {
print("not a valid UTF-8 sequence")
@ -349,8 +363,9 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
}
else if decodedInfo.packet.decoded.portnum == PortNum.nodeinfoApp {
if let nodeInfoPayload = String(bytes: decodedInfo.packet.decoded.payload, encoding: .utf8) {
if let nodeInfoPayload = String(bytes: decodedInfo.packet.decoded.payload, encoding: .unicode) {
print(nodeInfoPayload)
print(try decodedInfo.packet.jsonString())
} else {
print("not a valid UTF-8 sequence")
print(try decodedInfo.packet.jsonString())
@ -358,8 +373,9 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph
}
else if decodedInfo.packet.decoded.portnum == PortNum.positionApp {
if let nodeInfoPayload = String(bytes: decodedInfo.packet.decoded.payload, encoding: .utf8) {
if let nodeInfoPayload = String(bytes: decodedInfo.packet.decoded.payload, encoding: .ascii) {
print(nodeInfoPayload)
print(try decodedInfo.packet.jsonString())
} else {
print("not a valid UTF-8 sequence")
print(try decodedInfo.packet.jsonString())

View file

@ -20,6 +20,8 @@ struct Messages: View {
@EnvironmentObject var messageData: MessageData
@EnvironmentObject var bleManager: BLEManager
public var broadcastNodeId: UInt32 = 4294967295
var body: some View {
GeometryReader { bounds in