Fixes#1561
* Add large font preview
* Adjust default min size such that the filter input will accomodate larger fonts. Also, align the dropdown icon and use body1 typography for input text
* Add license and newline to fix detekt issues
* Changed the humidity color on the graph to the same blue used for current in the power graph.
* Refactor: Centralized the blue used in both the Env and Pow metrics in CommonCharts.kt.
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Add dependency to KotlinX immutable collections
* Build a Compose-stable UI state vs using a database model. Move appropriate mapping logic for converting database model -> UI state into the view model. Introduce animations to new log placement and automated scroll.
* Center the top card row vertically
* Move log message generation into separate method
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Implement initial support for adding and removing nodes from favorites
* Make favorite nodes' names show up bold in the node list
* Forgot to add this here when I was fixing the previous merge conflicts. Whoops!
* Make detekt happy
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* 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>
* Filter out emojis from text when finding initials
* Confirm non-English non-emoji unicde isn't filtered
* Remove unused example unit test
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Removed repeated calculation.
* Centralized the radius used to plot points and draw lines within GraphUtil.kt.
* Updated the signal metrics chart to use the scroll features.
* SignalMetricsChart long method warning suppression.
* 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.
* Trap code 147 on BT disconnect
If we trap code 147 on BT disconnect and then call lostConnection(), the app will attempt reconnect every 30 seconds and autoreconnect works even after prolonged disconnect.