* Fix: Show 'unknown' for position logs older than 6 months
Display 'unknown' instead of the timestamp for position logs older than 6 months. This addresses an issue where unknown timestamps were incorrectly shown as 1970 (unix epoch).
* Fix: make detekt happy
* Replace "Unknown" with "Unknown Age" in position logs
The text displayed for positions older than six months in position logs has been changed from "Unknown" to "Unknown Age". This update adds clarity and context to the age of positions in the log.
* Add notification for new node seen
This change adds a new notification that is displayed when a new node is seen.
The notification includes the node's
name.
It also updates the message notification to include the node name.
* Show individual notification for each new node
* Add new nodes notifications
Adds a new notification channel for new nodes seen.
This channel is set to high importance with sound and light.
* Request user info
* safe calls
* Fix: Ensure NodeInfo is sent when requesting user info
The `requestUserInfo` function now correctly sends `NodeInfo` when requesting user info by using the `
toNodeInfo()` method on `ourNodeInfo`. This ensures the recipient receives the necessary information.
* fix: remove unused parameters, use service's node db for our node entity
---------
Co-authored-by: musznik <bymucha@gmail.com>
Adds Indoor Air Quality (IAQ) to the environment metrics chart and card.
The IAQ is displayed as a green line on the chart and as a dot with a numerical value on the card.
The IAQ scale is available as a legend in the IAQ component.
* Removed constants from CommonCharts only used in specific charts.
* Altered CommonCharts.ChartOverlay to take a list of colors for the lines. Adjusted the device metrics line colors for channel utilization.
* Started an info dialog in the device metric chart to help users better understand Meshtastic.
* Synced the string used for ChUtil and AirUtilTX in the NodeInfo and Device Metrics.
* Refactored NodeDetails to Metrics.
* Added string resources for "Hops Away".
* Move battery info to compose - always show voltage level and icons to match battery percentage
Use tool text in preview, rather than actually set text value
Simplify node info layout to avoid defining margins on everything
* Move node position to Compose
* Update hyperlink color to match previous value
* Use compose preview in layout editor
* Use compose preview in layout editor
* Add simple preview for use in layout
* Move last heard node info to Compose
Clean up layout of node info
* Move signal info to Compose and simplify bind
* Prevent long coordinates from colliding with signal info
* Move the rest of the node info card to compose
Breaks the blinking feature when navigating from chat
Wrap position to new line if overflow
* Adjust layout and text sizing to closer match original
* Use constraint layout for tighter display on busy nodes
* Construct environment metrics so that there aren't trailing spaces if current is zero
* Swap viewholder root for compose view rather than inflating layout
Fix padding lost when changing out view holder root
Intelligently update the list with only nodes that changed
* Remove unused method, and adjust replacement method to match the same decimal precisions as before
* Add elevation and number of GPS satellites to node info list
Add some extension functions for easier conversion between units and systems
* Dispose composition on recycle to avoid lingering spacing from previous layouts
Remove comments explaning adapter functionality
Remove unused methods
* Use previous string for denoting unknown node names
* Align properly if altitude but no signal info
* Move battery info to compose - always show voltage level and icons to match battery percentage
Use tool text in preview, rather than actually set text value
Simplify node info layout to avoid defining margins on everything
* Move node position to Compose
* Update hyperlink color to match previous value
* Use compose preview in layout editor
* Use compose preview in layout editor
* Add simple preview for use in layout
* Move last heard node info to Compose
Clean up layout of node info
* Move signal info to Compose and simplify bind
* Prevent long coordinates from colliding with signal info
* Move the rest of the node info card to compose
Breaks the blinking feature when navigating from chat
Wrap position to new line if overflow
* Adjust layout and text sizing to closer match original
* Use constraint layout for tighter display on busy nodes
* Construct environment metrics so that there aren't trailing spaces if current is zero
* Swap viewholder root for compose view rather than inflating layout
Fix padding lost when changing out view holder root
Intelligently update the list with only nodes that changed
* Remove unused method, and adjust replacement method to match the same decimal precisions as before
* Use previous string for denoting unknown node names
* Mark unknown short name as non-translatable
* Highlight the node in the node list tab when the user taps on the node chip in messages
* Represent main tabs as enum for more reliable referencing
* Extract tab labels to string resources for easier translation
Annotate resource IDs with their corresponding Android types
* Index off nodes actually in the adapter since they are sorted
* Update viewmodel when tab changes to prevent jumping to other tabs in onResume
* Mark strings as non-translatable for now