diff --git a/app/src/main/java/com/geeksville/mesh/model/RadioConfigViewModel.kt b/app/src/main/java/com/geeksville/mesh/model/RadioConfigViewModel.kt index 61f7ff9db..a6b8a5e47 100644 --- a/app/src/main/java/com/geeksville/mesh/model/RadioConfigViewModel.kt +++ b/app/src/main/java/com/geeksville/mesh/model/RadioConfigViewModel.kt @@ -102,6 +102,15 @@ class RadioConfigViewModel @Inject constructor( val myNodeNum get() = myNodeInfo.value?.myNodeNum val maxChannels get() = myNodeInfo.value?.maxChannels ?: 8 + val hasPaFan: Boolean + get() = destNode.value?.user?.hwModel in setOf( + null, + MeshProtos.HardwareModel.UNSET, + MeshProtos.HardwareModel.BETAFPV_2400_TX, + MeshProtos.HardwareModel.RADIOMASTER_900_BANDIT_NANO, + MeshProtos.HardwareModel.RADIOMASTER_900_BANDIT, + ) + override fun onCleared() { super.onCleared() debug("RadioConfigViewModel cleared") diff --git a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt index 466fb79c9..fd3b02451 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt @@ -471,7 +471,8 @@ fun RadioConfigNavHost( onSaveClicked = { loraInput -> val config = config { lora = loraInput } viewModel.setRemoteConfig(destNum, config) - } + }, + hasPaFan = viewModel.hasPaFan, ) } composable(ConfigRoute.BLUETOOTH.name) { diff --git a/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt b/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt index 69c5315fa..dfd6537e0 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/components/config/LoRaConfigItemList.kt @@ -31,6 +31,7 @@ fun LoRaConfigItemList( primarySettings: ChannelSettings, enabled: Boolean, onSaveClicked: (LoRaConfig) -> Unit, + hasPaFan: Boolean = false, ) { val focusManager = LocalFocusManager.current var loraInput by rememberSaveable { mutableStateOf(loraConfig) } @@ -184,14 +185,16 @@ fun LoRaConfigItemList( onValueChanged = { loraInput = loraInput.copy { overrideFrequency = it } }) } - item { - SwitchPreference( - title = "PA fan disabled", - checked = loraInput.paFanDisabled, - enabled = enabled, - onCheckedChange = { loraInput = loraInput.copy { paFanDisabled = it } }) + if (hasPaFan) { + item { + SwitchPreference( + title = "PA fan disabled", + checked = loraInput.paFanDisabled, + enabled = enabled, + onCheckedChange = { loraInput = loraInput.copy { paFanDisabled = it } }) + } + item { Divider() } } - item { Divider() } item { SwitchPreference(title = "Ignore MQTT",