Meshtastic-Android/core/ui/src
James Rich e3a78f1afe feat(environment): add 1-Wire multi-thermometer (DS18B20) display support
Add charting, detail card display, and CSV export for up to 8 1-Wire
temperature sensor channels from the environment_metrics.one_wire_temperature
repeated field.

- EnvironmentMetricsState: ONE_WIRE_TEMP_1..8 enum entries with getOrNull()
  access (safely returns null when firmware does not populate the field)
- EnvironmentCharts: LEGEND_DATA_4 with per-channel labels and distinct colours
- CommonCharts: LegendData.labelOverride for per-instance legend labels
- EnvironmentMetrics: OneWireTemperatureDisplay composable in the detail card
- EnvironmentMetrics component: inline 1-Wire chip display with temp formatting
- MetricsViewModel: Fahrenheit conversion for one_wire_temperature in CSV export

No version gating needed — the proto field defaults to an empty list on older
firmware, so the UI elements are naturally hidden when no data is reported.
2026-04-14 13:13:06 -05:00
..
androidMain/kotlin/org/meshtastic/core/ui refactor: modern APIs — Koin 4.2, CMP 1.11, Ktor resilience, Room @Upsert, injected dispatchers (#5119) 2026-04-14 11:41:01 +00:00
commonMain/kotlin/org/meshtastic/core/ui feat(environment): add 1-Wire multi-thermometer (DS18B20) display support 2026-04-14 13:13:06 -05:00
commonTest/kotlin/org/meshtastic/core/ui refactor: leverage CMP 1.11 + Lifecycle 2.11 — v2 test API, Json privacy, dropUnlessResumed nav guards (#5112) 2026-04-13 20:02:31 +00:00
iosMain/kotlin/org/meshtastic/core/ui feat(core/ui): add safeLaunch, UiState, KMP permissions, and CMP lifecycle modernization (#5118) 2026-04-14 00:45:34 +00:00
jvmAndroidMain/kotlin/org/meshtastic/core/ui/component feat: introduce Desktop target and expand Kotlin Multiplatform (KMP) architecture (#4761) 2026-03-12 21:14:49 +00:00
jvmMain/kotlin/org/meshtastic/core/ui refactor: modern APIs — Koin 4.2, CMP 1.11, Ktor resilience, Room @Upsert, injected dispatchers (#5119) 2026-04-14 11:41:01 +00:00