Merge pull request #120 from meshtastic/feature/module_settings

Check for nil nodes and config
This commit is contained in:
Garth Vander Houwen 2022-07-11 16:22:14 -07:00 committed by GitHub
commit b263bb85d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 145 additions and 50 deletions

View file

@ -185,15 +185,23 @@ struct DeviceConfig: View {
}
.onChange(of: deviceRole) { newRole in
if newRole != node!.deviceConfig!.role { hasChanges = true }
if node != nil && node!.deviceConfig != nil {
if newRole != node!.deviceConfig!.role { hasChanges = true }
}
}
.onChange(of: serialEnabled) { newSerial in
if node != nil && node!.deviceConfig != nil {
if newSerial != node!.deviceConfig!.serialEnabled { hasChanges = true }
if newSerial != node!.deviceConfig!.serialEnabled { hasChanges = true }
}
}
.onChange(of: debugLogEnabled) { newDebugLog in
if newDebugLog != node!.deviceConfig!.debugLogEnabled { hasChanges = true }
if node != nil && node!.deviceConfig != nil {
if newDebugLog != node!.deviceConfig!.debugLogEnabled { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())
}

View file

@ -240,23 +240,23 @@ struct DisplayConfig: View {
}
.onChange(of: screenOnSeconds) { newScreenSecs in
if newScreenSecs != node!.displayConfig!.screenOnSeconds {
if node != nil && node!.displayConfig != nil {
hasChanges = true
if newScreenSecs != node!.displayConfig!.screenOnSeconds { hasChanges = true }
}
}
.onChange(of: screenCarouselInterval) { newCarouselSecs in
if newCarouselSecs != node!.displayConfig!.screenCarouselInterval {
if node != nil && node!.displayConfig != nil {
hasChanges = true
if newCarouselSecs != node!.displayConfig!.screenCarouselInterval { hasChanges = true }
}
}
.onChange(of: gpsFormat) { newGpsFormat in
if newGpsFormat != node!.displayConfig!.gpsFormat {
hasChanges = true
if node != nil && node!.displayConfig != nil {
if newGpsFormat != node!.displayConfig!.gpsFormat { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())

View file

@ -299,19 +299,22 @@ struct LoRaConfig: View {
}
.onChange(of: region) { newRegion in
if node!.loRaConfig != nil {
if node != nil && node!.loRaConfig != nil {
if newRegion != node!.loRaConfig!.regionCode { hasChanges = true }
}
}
.onChange(of: modemPreset) { newModemPreset in
if node!.loRaConfig != nil {
if node != nil && node!.loRaConfig != nil {
if newModemPreset != node!.loRaConfig!.modemPreset { hasChanges = true }
}
}
.onChange(of: hopLimit) { newHopLimit in
if node!.loRaConfig != nil {
if node != nil && node!.loRaConfig != nil {
if newHopLimit != node!.loRaConfig!.hopLimit { hasChanges = true }
}
}

View file

@ -390,50 +390,77 @@ struct CannedMessagesConfig: View {
}
.onChange(of: enabled) { newEnabled in
if node!.cannedMessageConfig != nil {
if node != nil && node!.cannedMessageConfig != nil {
if newEnabled != node!.cannedMessageConfig!.enabled { hasChanges = true }
}
}
.onChange(of: sendBell) { newBell in
if newBell != node!.cannedMessageConfig!.sendBell { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newBell != node!.cannedMessageConfig!.sendBell { hasChanges = true }
}
}
.onChange(of: rotary1Enabled) { newRot1 in
if newRot1 != node!.cannedMessageConfig!.rotary1Enabled { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newRot1 != node!.cannedMessageConfig!.rotary1Enabled { hasChanges = true }
}
}
.onChange(of: updown1Enabled) { newUpDown in
if newUpDown != node!.cannedMessageConfig!.updown1Enabled { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newUpDown != node!.cannedMessageConfig!.updown1Enabled { hasChanges = true }
}
}
.onChange(of: inputbrokerPinA) { newPinA in
if newPinA != node!.cannedMessageConfig!.inputbrokerPinA { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newPinA != node!.cannedMessageConfig!.inputbrokerPinA { hasChanges = true }
}
}
.onChange(of: inputbrokerPinB) { newPinB in
if node != nil && node!.cannedMessageConfig != nil {
if newPinB != node!.cannedMessageConfig!.inputbrokerPinB { hasChanges = true }
if newPinB != node!.cannedMessageConfig!.inputbrokerPinB { hasChanges = true }
}
}
.onChange(of: inputbrokerPinPress) { newPinPress in
if node != nil && node!.cannedMessageConfig != nil {
if newPinPress != node!.cannedMessageConfig!.inputbrokerPinPress { hasChanges = true }
if newPinPress != node!.cannedMessageConfig!.inputbrokerPinPress { hasChanges = true }
}
}
.onChange(of: inputbrokerEventCw) { newKeyA in
if node != nil && node!.cannedMessageConfig != nil {
if newKeyA != node!.cannedMessageConfig!.inputbrokerEventCw { hasChanges = true }
if newKeyA != node!.cannedMessageConfig!.inputbrokerEventCw { hasChanges = true }
}
}
.onChange(of: inputbrokerEventCcw) { newKeyB in
if newKeyB != node!.cannedMessageConfig!.inputbrokerEventCcw { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newKeyB != node!.cannedMessageConfig!.inputbrokerEventCcw { hasChanges = true }
}
}
.onChange(of: inputbrokerEventPress) { newKeyPress in
if newKeyPress != node!.cannedMessageConfig!.inputbrokerEventPress { hasChanges = true }
if node != nil && node!.cannedMessageConfig != nil {
if newKeyPress != node!.cannedMessageConfig!.inputbrokerEventPress { hasChanges = true }
}
}
.onChange(of: messagesPart1) { newMessagesChanges in
hasMessagesChanges = true
if node != nil && node!.cannedMessageConfig != nil {
hasMessagesChanges = true
}
}
.navigationViewStyle(StackNavigationViewStyle())
}

View file

@ -198,27 +198,45 @@ struct ExternalNotificationConfig: View {
}
.onChange(of: enabled) { newEnabled in
if newEnabled != node!.externalNotificationConfig!.enabled { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newEnabled != node!.externalNotificationConfig!.enabled { hasChanges = true }
}
}
.onChange(of: alertBell) { newAlertBell in
if newAlertBell != node!.externalNotificationConfig!.alertBell { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newAlertBell != node!.externalNotificationConfig!.alertBell { hasChanges = true }
}
}
.onChange(of: alertMessage) { newAlertMessage in
if newAlertMessage != node!.externalNotificationConfig!.alertMessage { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newAlertMessage != node!.externalNotificationConfig!.alertMessage { hasChanges = true }
}
}
.onChange(of: active) { newActuve in
if newActuve != node!.externalNotificationConfig!.active { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newActuve != node!.externalNotificationConfig!.active { hasChanges = true }
}
}
.onChange(of: output) { newOutput in
if newOutput != node!.externalNotificationConfig!.output { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newOutput != node!.externalNotificationConfig!.output { hasChanges = true }
}
}
.onChange(of: outputMilliseconds) { newOutputMs in
if newOutputMs != node!.externalNotificationConfig!.outputMilliseconds { hasChanges = true }
if node != nil && node!.externalNotificationConfig != nil {
if newOutputMs != node!.externalNotificationConfig!.outputMilliseconds { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())
}

View file

@ -148,15 +148,24 @@ struct RangeTestConfig: View {
}
.onChange(of: enabled) { newEnabled in
if newEnabled != node!.rangeTestConfig!.enabled { hasChanges = true }
if node != nil && node!.rangeTestConfig != nil {
if newEnabled != node!.rangeTestConfig!.enabled { hasChanges = true }
}
}
.onChange(of: save) { newSave in
if newSave != node!.rangeTestConfig!.save { hasChanges = true }
if node != nil && node!.rangeTestConfig != nil {
if newSave != node!.rangeTestConfig!.save { hasChanges = true }
}
}
.onChange(of: sender) { newSender in
if newSender != node!.rangeTestConfig!.sender { hasChanges = true }
if node != nil && node!.rangeTestConfig != nil {
if newSender != node!.rangeTestConfig!.sender { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())
}

View file

@ -344,31 +344,52 @@ struct SerialConfig: View {
}
.onChange(of: enabled) { newEnabled in
if newEnabled != node!.serialConfig!.enabled { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newEnabled != node!.serialConfig!.enabled { hasChanges = true }
}
}
.onChange(of: echo) { newEcho in
if newEcho != node!.serialConfig!.echo { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newEcho != node!.serialConfig!.echo { hasChanges = true }
}
}
.onChange(of: rxd) { newRxd in
if newRxd != node!.serialConfig!.rxd { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newRxd != node!.serialConfig!.rxd { hasChanges = true }
}
}
.onChange(of: txd) { newTxd in
if newTxd != node!.serialConfig!.txd { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newTxd != node!.serialConfig!.txd { hasChanges = true }
}
}
.onChange(of: baudRate) { newBaud in
if newBaud != node!.serialConfig!.baudRate { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newBaud != node!.serialConfig!.baudRate { hasChanges = true }
}
}
.onChange(of: timeout) { newTimeout in
if newTimeout != node!.serialConfig!.timeout { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newTimeout != node!.serialConfig!.timeout { hasChanges = true }
}
}
.onChange(of: mode) { newMode in
if newMode != node!.serialConfig!.mode { hasChanges = true }
if node != nil && node!.serialConfig != nil {
if newMode != node!.serialConfig!.mode { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())
}

View file

@ -353,28 +353,28 @@ struct TelemetryConfig: View {
}
.onChange(of: deviceUpdateInterval) { newDeviceInterval in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newDeviceInterval != node!.telemetryConfig!.deviceUpdateInterval { hasChanges = true }
}
}
.onChange(of: environmentUpdateInterval) { newEnvInterval in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvInterval != node!.telemetryConfig!.environmentUpdateInterval { hasChanges = true }
}
}
.onChange(of: environmentMeasurementEnabled) { newEnvEnabled in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvEnabled != node!.telemetryConfig!.environmentMeasurementEnabled { hasChanges = true }
}
}
.onChange(of: environmentSensorType) { newEnvSensorType in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvSensorType != node!.telemetryConfig!.environmentSensorType { hasChanges = true }
}
@ -388,21 +388,21 @@ struct TelemetryConfig: View {
}
.onChange(of: environmentDisplayFahrenheit) { newEnvDisplayF in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvDisplayF != node!.telemetryConfig!.environmentDisplayFahrenheit { hasChanges = true }
}
}
.onChange(of: environmentRecoveryInterval) { newEnvRecoveryInterval in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvRecoveryInterval != node!.telemetryConfig!.environmentRecoveryInterval { hasChanges = true }
}
}
.onChange(of: environmentReadErrorCountThreshold) { newEnvReadErrorCountThreshold in
if node!.telemetryConfig != nil {
if node != nil && node!.telemetryConfig != nil {
if newEnvReadErrorCountThreshold != node!.telemetryConfig!.environmentReadErrorCountThreshold { hasChanges = true }
}

View file

@ -321,15 +321,24 @@ struct PositionConfig: View {
}
.onChange(of: smartPositionEnabled) { newSmartPosition in
if newSmartPosition != node!.positionConfig!.smartPositionEnabled { hasChanges = true }
if node != nil && node!.positionConfig != nil {
if newSmartPosition != node!.positionConfig!.smartPositionEnabled { hasChanges = true }
}
}
.onChange(of: deviceGpsEnabled) { newDeviceGps in
if newDeviceGps != node!.positionConfig!.deviceGpsEnabled { hasChanges = true }
if node != nil && node!.positionConfig != nil {
if newDeviceGps != node!.positionConfig!.deviceGpsEnabled { hasChanges = true }
}
}
.onChange(of: fixedPosition) { newFixed in
if newFixed != node!.positionConfig!.fixedPosition { hasChanges = true }
if node != nil && node!.positionConfig != nil {
if newFixed != node!.positionConfig!.fixedPosition { hasChanges = true }
}
}
.navigationViewStyle(StackNavigationViewStyle())
}