* 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
* 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>