Try and make temp have even less digits, make another attempt at clearing the database with less crashing

This commit is contained in:
Garth Vander Houwen 2024-02-16 10:01:08 -08:00
parent 61ad8c0f38
commit 524103f5ec
4 changed files with 15 additions and 12 deletions

View file

@ -11,7 +11,7 @@ extension Float {
func formattedTemperature() -> String {
let temperature = Measurement<UnitTemperature>(value: Double(self), unit: .celsius)
return temperature.formatted(.measurement(width: .abbreviated, usage: .weather))
return temperature.formatted(.measurement(width: .narrow, usage: .weather))
}
func localeTemperature() -> Double {
let temperature = Measurement<UnitTemperature>(value: Double(self), unit: .celsius)

View file

@ -562,7 +562,7 @@ class BLEManager: NSObject, CBPeripheralDelegate, MqttClientProxyManagerDelegate
// Module Config
if decodedInfo.moduleConfig.isInitialized && !invalidVersion && self.connectedPeripheral?.num != 0{
nowKnown = true
moduleConfig(config: decodedInfo.moduleConfig, context: context!, nodeNum: Int64(truncatingIfNeeded: self.connectedPeripheral.num), nodeLongName: self.connectedPeripheral.longName)
moduleConfig(config: decodedInfo.moduleConfig, context: context!, nodeNum: Int64(truncatingIfNeeded: self.connectedPeripheral?.num ?? 0), nodeLongName: self.connectedPeripheral.longName)
if decodedInfo.moduleConfig.payloadVariant == ModuleConfig.OneOf_PayloadVariant.cannedMessage(decodedInfo.moduleConfig.cannedMessage) {
if decodedInfo.moduleConfig.cannedMessage.enabled {
_ = self.getCannedMessageModuleMessages(destNum: self.connectedPeripheral.num, wantResponse: true)

View file

@ -213,18 +213,12 @@ struct Connect: View {
Button("Connect to new radio?", role: .destructive) {
UserDefaults.preferredPeripheralId = selectedPeripherialId
UserDefaults.preferredPeripheralNum = 0
if bleManager.connectedPeripheral != nil && bleManager.connectedPeripheral.peripheral.state == CBPeripheralState.connected {
bleManager.disconnectPeripheral()
}
do {
clearCoreDataDatabase(context: context)
PersistenceController.shared.clearDatabase()
context.reset()
UserDefaults.standard.reset()
} catch let error {
print("💣 Failed to re-create CoreData database: " + error.localizedDescription)
}
clearCoreDataDatabase(context: context)
UserDefaults.standard.reset()
let radio = bleManager.peripherals.first(where: { $0.peripheral.identifier.uuidString == selectedPeripherialId })
if radio != nil {

View file

@ -311,8 +311,17 @@ struct Settings: View {
}
}
}
.onChange(of: UserDefaults.preferredPeripheralNum ) { newConnectedNode in
if nodes.count > 1 {
if selectedNode == 0 {
self.selectedNode = Int(bleManager.connectedPeripheral != nil ? newConnectedNode : 0)
}
} else {
self.selectedNode = Int(bleManager.connectedPeripheral != nil ? newConnectedNode: 0)
}
}
.onAppear {
if self.preferredNodeNum == 0 {
if self.preferredNodeNum <= 0 {
self.preferredNodeNum = UserDefaults.preferredPeripheralNum
if nodes.count > 1 {
if selectedNode == 0 {