Fix throttle setting label on K2 (#120)

This commit is contained in:
timklge 2025-05-05 15:31:03 +02:00 committed by GitHub
parent a0a1ad6f7b
commit cff4b07d7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 6 deletions

View File

@ -70,8 +70,8 @@ enum class RefreshRate(val id: String, val k2Ms: Long, val k3Ms: Long) {
SLOW("slow", 5_000L, 3_000L),
MINIMUM("minimum", 10_000L, 10_000L);
fun getDescription(karooSystemService: KarooSystemService): String {
return if (karooSystemService.hardwareType == HardwareType.K2) {
fun getDescription(isOnK2: Boolean): String {
return if (isOnK2) {
when (this) {
FAST -> "Fast (1s)"
STANDARD -> "Standard (2s)"

View File

@ -84,6 +84,7 @@ fun SettingsScreen(onFinish: () -> Unit) {
var selectedWeatherProvider by remember { mutableStateOf(WeatherDataProvider.OPEN_METEO) }
var openWeatherMapApiKey by remember { mutableStateOf("") }
var isK2 by remember { mutableStateOf(false) }
LaunchedEffect(Unit) {
ctx.streamSettings(karooSystem).collect { settings ->
@ -102,6 +103,7 @@ fun SettingsScreen(onFinish: () -> Unit) {
LaunchedEffect(Unit) {
karooSystem.connect { connected ->
karooConnected = connected
isK2 = karooSystem.hardwareType == io.hammerhead.karooext.models.HardwareType.K2
}
}
@ -151,8 +153,8 @@ fun SettingsScreen(onFinish: () -> Unit) {
.verticalScroll(rememberScrollState())
.fillMaxWidth(), verticalArrangement = Arrangement.spacedBy(10.dp)
) {
val refreshRateDropdownOptions = RefreshRate.entries.toList().map { unit -> DropdownOption(unit.id, unit.getDescription(karooSystem)) }
val refreshRateSelection by remember(refreshRateSetting) {
val refreshRateDropdownOptions = remember(isK2) { RefreshRate.entries.toList().map { unit -> DropdownOption(unit.id, unit.getDescription(isK2)) } }
val refreshRateSelection by remember(refreshRateSetting, isK2) {
mutableStateOf(refreshRateDropdownOptions.find { option -> option.id == refreshRateSetting.id }!!)
}
Dropdown(
@ -160,8 +162,7 @@ fun SettingsScreen(onFinish: () -> Unit) {
options = refreshRateDropdownOptions,
selected = refreshRateSelection
) { selectedOption ->
refreshRateSetting =
RefreshRate.entries.find { unit -> unit.id == selectedOption.id }!!
refreshRateSetting = RefreshRate.entries.find { unit -> unit.id == selectedOption.id }!!
}
val windDirectionIndicatorSettingDropdownOptions =