mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Set timezone in the right place
This commit is contained in:
parent
442ca03694
commit
72c23bf66d
2 changed files with 39 additions and 10 deletions
|
|
@ -821,6 +821,20 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate
|
|||
}
|
||||
}
|
||||
}
|
||||
if decodedInfo.config.payloadVariant == Config.OneOf_PayloadVariant.device(decodedInfo.config.device) {
|
||||
var dc = decodedInfo.config.device
|
||||
if dc.tzdef.isEmpty {
|
||||
dc.tzdef = TimeZone.current.posixDescription
|
||||
if let connectedNum = self.connectedPeripheral?.num, connectedNum > 0 {
|
||||
let adminMessageId = self.saveTimeZone(config: dc, user: connectedNum)
|
||||
}
|
||||
}
|
||||
|
||||
// let adminMessageId = self.saveDeviceConfig(config: dc, fromUser: connectedUser, toUser: connectedUser)
|
||||
// if adminMessageId > 0 {
|
||||
// Logger.admin.info("⌚ Device Config timezone was empty set timezone to \(dc.tzdef, privacy: .public)")
|
||||
// }
|
||||
}
|
||||
}
|
||||
// Device Metadata
|
||||
if decodedInfo.metadata.firmwareVersion.count > 0 && !invalidVersion {
|
||||
|
|
@ -2231,6 +2245,29 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate
|
|||
}
|
||||
return 0
|
||||
}
|
||||
public func saveTimeZone(config: Config.DeviceConfig, user: Int64) -> Int64 {
|
||||
|
||||
var adminPacket = AdminMessage()
|
||||
adminPacket.setConfig.device = config
|
||||
var meshPacket: MeshPacket = MeshPacket()
|
||||
meshPacket.to = UInt32(user)
|
||||
meshPacket.from = UInt32(user)
|
||||
meshPacket.id = UInt32.random(in: UInt32(UInt8.max)..<UInt32.max)
|
||||
meshPacket.priority = MeshPacket.Priority.reliable
|
||||
meshPacket.wantAck = true
|
||||
var dataMessage = DataMessage()
|
||||
guard let adminData: Data = try? adminPacket.serializedData() else {
|
||||
return 0
|
||||
}
|
||||
dataMessage.payload = adminData
|
||||
dataMessage.portnum = PortNum.adminApp
|
||||
meshPacket.decoded = dataMessage
|
||||
let messageDescription = "⌚ Device Config timezone was empty set timezone to \(config.tzdef)"
|
||||
if sendAdminMessageToRadio(meshPacket: meshPacket, adminDescription: messageDescription) {
|
||||
return Int64(meshPacket.id)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
public func saveDisplayConfig(config: Config.DisplayConfig, fromUser: UserEntity, toUser: UserEntity) -> Int64 {
|
||||
var adminPacket = AdminMessage()
|
||||
|
|
|
|||
|
|
@ -574,11 +574,7 @@ func upsertDeviceConfigPacket(config: Config.DeviceConfig, nodeNum: Int64, sessi
|
|||
newDeviceConfig.tripleClickAsAdHocPing = !config.disableTripleClick
|
||||
newDeviceConfig.ledHeartbeatEnabled = !config.ledHeartbeatDisabled
|
||||
newDeviceConfig.isManaged = config.isManaged
|
||||
if config.tzdef.isEmpty {
|
||||
newDeviceConfig.tzdef = TimeZone.current.posixDescription
|
||||
} else {
|
||||
newDeviceConfig.tzdef = config.tzdef
|
||||
}
|
||||
newDeviceConfig.tzdef = config.tzdef
|
||||
fetchedNode[0].deviceConfig = newDeviceConfig
|
||||
} else {
|
||||
fetchedNode[0].deviceConfig?.role = Int32(config.role.rawValue)
|
||||
|
|
@ -590,11 +586,7 @@ func upsertDeviceConfigPacket(config: Config.DeviceConfig, nodeNum: Int64, sessi
|
|||
fetchedNode[0].deviceConfig?.tripleClickAsAdHocPing = !config.disableTripleClick
|
||||
fetchedNode[0].deviceConfig?.ledHeartbeatEnabled = !config.ledHeartbeatDisabled
|
||||
fetchedNode[0].deviceConfig?.isManaged = config.isManaged
|
||||
if config.tzdef.isEmpty {
|
||||
fetchedNode[0].deviceConfig?.tzdef = TimeZone.current.posixDescription
|
||||
} else {
|
||||
fetchedNode[0].deviceConfig?.tzdef = config.tzdef
|
||||
}
|
||||
fetchedNode[0].deviceConfig?.tzdef = config.tzdef
|
||||
}
|
||||
if sessionPasskey != nil {
|
||||
fetchedNode[0].sessionPasskey = sessionPasskey
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue