Modified NodeDetail.kt to replace direct comparisons with 0f or 0 for sensor values with corresponding has*() functions.
This change improves code readability by clearly indicating the presence or absence of sensor data.
* Refactor: We can draw the horizontal lines for the graphs independent of min and max entries.
* Added navigation to the PowerMetrics log with a skeleton screen.
* Drew channel 1 voltage.
* Refactor: Assigned colors for the data within the enum instead of a list-ordinal combo.
* Plotted Ch1 current line.
* Refactor: Did not need the parameters being used to get the desired ui in the TimeLabels composable.
* Added a row to help distinguish between units.
* Refactor: MetricsTimeSelector.kt to SlidingSelector.kt; the new version allows for generic options.
* Added a sliding selector to choose between power channels and changed the legend data to instead display current and voltage.
* We now plot the line for which the user has selected a power channel option.
* Don't need the current line to be dotted anymore.
* Don't think we need to display an info dialog for voltage and current.
* Wrote card to display the power channel data entries.
* detekt
* Refactor: current color change to accommodate the themes better
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* feat(config): implement excluded modules validation
* feat: hide excluded configs from metadata
* refactor: save local metadata from WantConfig
* refactor: delete metadata from deleted nodes
* fix: always request metadata for admin routes
* feat: show node firmware when metadata is available
* refactor: rename filter function
* feat: add `ServiceAction` request metadata
- Device details section visible only if device hardware is available.
- Added spacing between icon, label, and value in node details rows.
- Right-aligned the values in node details rows for better readability.
* feat: add support for Device Hardware json and svg graphics
Allows for better hardware device display names, graphics, and indication of support.
* make detekt happy
* Fix: Use first image name to find vector drawable
Use the first image name from the `images` list (after removing the ".svg" suffix) to find the corresponding vector drawable resource.
* Refactor: Update device detail layout
Updated the device detail layout to group device-specific information under a "Device" category.
Added a circular background with device-specific color behind the device icon.
Moved hardware, support status details to the Device section.
* Refactor: Move device hardware logic to MetricsViewModel
Moves the logic for retrieving device hardware information and image resources from NodeDetail to MetricsViewModel.
Also replaces id lookup with when statement for image resource id mapping.
* fix: cache deviceHardwareList, add exception handling
* refactor: mutable list unnecessary
* default to hw_unknown device image
- Consolidates `MetricViewModel` back to a single state flow
- Introduces a `MutableStateFlow` for state updates, allowing more independent control
- Moves `Telemetry`, `MeshPacket`, and config updates into separate coroutines