The hardware information displayed in the NodeInfo view was incorrect. This commit fixes the issue by using the correct node
information to retrieve the hardware model string.
- Added `androidx.core:core-location-altitude:1.0.0-alpha02`;
- Implemented `AltitudeConverterCompat.addMslAltitudeToLocation(context, location)` to convert `altitude` (above the WGS84 reference ellipsoid) to Mean Sea Level (MSL) and add MSL altitude and accuracy to the location object.
Reference:
- https://issuetracker.google.com/issues/195660815
- Brian Julian and Michael Angermann. "Resource efficient and accurate altitude conversion to Mean Sea Level." [2023 IEEE/ION Position, Location and Navigation Symposium (PLANS)](https://www.ion.org/plans/abstracts.cfm?paperID=12011).
* Initial Hops Away feature
* Generate our own hopsAway, comparing hopStart to hopLimit
* Remove import of hopsAway from device nodeInfo, as this only shows 0 when hopStart isn't included on packets (with this info, we can't differentiate between a node which is Hops Away but on old firmware, or nodes which are on new firmware but direct. Both are 0)
Check if hopStart is 0 but hopLimit is not 0, if true set hopsAway to -1.
Show nodes with hopsAway with -1 with a (!) appended to the RSSI details, to show this probably isn't true. (eg they are using old firmware)
Change the default of hopsAway to -1, until we know it is direct (0) or hops away (1+)
* tidy up: move from nested if else to when
* Revert Project_Default.xml
* Move hopsAway when block in to updateNodeInfo() block above it.
Move hopsAway var to end of NodeInfo Class.
Schema update due to change above.
* hopsAway now follows firmware implementation.
hopsAway now imported from radio (installNodeInfo)
* reformat
---------
Co-authored-by: andrekir <andrekir@pm.me>