chore(deps): bump deps to take advantage of new functionality#4658
Merged
jamesarich merged 5 commits intomainfrom Feb 26, 2026
Merged
chore(deps): bump deps to take advantage of new functionality#4658jamesarich merged 5 commits intomainfrom
jamesarich merged 5 commits intomainfrom
Conversation
This commit corrects an issue where SVG images were not scaling properly according to the device's screen density. By setting `scaleToDensity = true` in the `SvgDecoder.Factory`, we ensure that SVGs are rendered at the appropriate size across different devices, improving visual consistency. The copyright year has also been updated. Signed-off-by: James Rich <[email protected]>
This commit moves the precision circle drawing logic inside the `clusterItemDecoration` of the `Clustering` composable. This is a more appropriate and efficient location, as the decoration is tied directly to the cluster item itself. This change also allows for the removal of the now-unnecessary `forEach` loop and `key` block that was previously used to render the circles, simplifying the code. Additionally, a `ClusteringMarkerProperties` with a `zIndex` of 1f is added to ensure markers are drawn above their corresponding precision circles. Signed-off-by: James Rich <[email protected]>
- Moved HttpClient provision from GoogleNetworkModule to the common NetworkModule to make it available across all flavors. - Replaced direct OkHttp usage in FirmwareFileHandler with Ktor's HttpClient for downloading and verifying URLs. - Leveraged bodyAsChannel() and toInputStream() for memory-efficient chunked file writing, preserving download progress tracking. - Added ktor-client-core to the version catalog and firmware feature dependencies. - Migrated legacy java.text.SimpleDateFormat to kotlinx.datetime in debug settings.
Signed-off-by: James Rich <[email protected]>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4658 +/- ##
==========================================
+ Coverage 15.34% 15.36% +0.01%
==========================================
Files 83 83
Lines 4347 4342 -5
Branches 742 734 -8
==========================================
Hits 667 667
+ Misses 3556 3551 -5
Partials 124 124 ☔ View full report in Codecov by Sentry. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request refactors the
LocalStatsWidgetto move string resource resolution and data formatting from the state provider into the UI layer, and restructuresLocalStatsWidgetUiStateto hold only raw data. This improves maintainability, simplifies localization, and makes the codebase more consistent with best practices for UI state management.UI Refactoring and String Resource Handling:
All string resource lookups (e.g., labels, status messages) and data formatting (e.g., percentages, uptime) are now performed directly in the UI composables using
stringResourceand helper functions, rather than being precomputed and stored in the state. This centralizes localization and formatting logic in the UI layer. [1] [2] [3] [4] [5] [6] [7] [8]The widget's status text is now derived from
connectionStatewithin the composable, improving clarity and reducing redundant state.State Data Model Simplification:
LocalStatsWidgetUiStatehas been refactored to remove all pre-resolved label and formatted string fields (e.g.,appName,batteryLabel,statusText, etc.). Instead, it holds only raw data (e.g.,batteryLevel,channelUtilization,numPacketsTx, etc.), making the state provider simpler and less coupled to presentation details.The mock state creation function has been updated to match the new data model, providing raw values instead of pre-formatted strings.
UI Improvements and Logic Updates:
The battery display logic now shows "Powered" if the battery level is above 100, and otherwise shows the percentage.
Traffic, relay, diagnostics, and heap stats are now formatted and displayed in the UI composable, including improved conditional logic for when to show certain diagnostics.
Code Clean-Up:
Other Minor Changes:
@Suppress("LongMethod")annotations to relevant composable functions to acknowledge their increased length due to inlined formatting and resource handling. [1] [2]References:
UI Refactoring and String Resource Handling: [1] [2] [3] [4] [5] [6] [7] [8]
State Data Model Simplification: [1] [2]
UI Improvements and Logic Updates: [1] [2]
Code Clean-Up:
Other Minor Changes: [1] [2]