3191 Commits

Author SHA1 Message Date
James Rich 6bb282f901 2.5.25 (#1831) 2025-05-08 11:26:02 -05:00
github-actions[bot] 7f42ffcda7 chore(l10n): New Crowdin Translations by GitHub Action (#1832)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-08 11:12:17 -05:00
github-actions[bot] b81a485b2f chore: update device hardware list from Meshtastic API (#1830)
Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com>
2025-05-08 10:39:07 -05:00
github-actions[bot] 87f084e3ce chore(l10n): New Crowdin Translations by GitHub Action (#1811)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-08 10:38:51 -05:00
Robert-0410 309ce27268 refactor(graphs): Missing iaq (#1752) 2025-05-08 10:31:07 -05:00
James Rich d9f9756c4b fix(gradle): resourceConfigurations replaces resconfigs (#1824) 2025-05-07 09:31:54 -05:00
James Rich cc88487500 chore: extract string resources for import and export config (#1822) 2025-05-05 18:20:49 -05:00
renovate[bot] db0a942fdf chore(deps): update app/src/main/proto digest to 078ac8d (#1817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-04 17:10:55 -05:00
James Rich 9648d0af77 refactor: extract more hardcoded strings (#1814) 2025-05-01 19:05:32 -05:00
James Rich e9588c74b4 refactor: Remove automatic short name generation from long name. (#1813) 2025-05-01 18:15:22 -05:00
github-actions[bot] 7279b286d5 chore(l10n): New Crowdin Translations by GitHub Action (#1807)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-04-30 18:21:19 -05:00
github-actions[bot] ab711cc06e chore: update device hardware list from Meshtastic API (#1806)
Co-authored-by: jamesarich <jamesarich@users.noreply.github.com>
2025-04-30 17:04:16 -05:00
github-actions[bot] fbf9f0075c chore(l10n): New Crowdin translations by GitHub Action (#1803)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-04-30 16:59:25 -05:00
James Rich ace756b96a fix (#1647): Satellite icon sizing 2025-04-29 15:45:31 -05:00
Crowdin Bot 8e21ab69dc New Crowdin translations by GitHub Action 2025-04-29 18:00:55 +00:00
James Rich 0f9f00843f Update version to 2.5.24, versionCode 30524 (#1795) 2025-04-28 18:25:47 -05:00
James Rich 9c51245003 refactor (i18n): extract string resources from config for translation (#1794) 2025-04-28 18:09:16 -05:00
James Rich 2a710ba85f Fix: actually copy public key (#1793) 2025-04-28 14:57:15 -05:00
James Rich fd709addc8 2.5.23 (#1792) 2025-04-28 13:48:54 -05:00
James Rich 5da7c66ea5 chore(translations): update crowdin translations (#1791) 2025-04-28 13:32:46 -05:00
James Rich 1bd6173f9f fix(#1787): handle unknown hardware details crash (#1789) 2025-04-26 19:37:49 -05:00
James Rich 53a8fd2579 feat: Add copy button to public/private key fields (#1782) 2025-04-25 16:39:35 -05:00
James Rich 18c204741a feat: Update connected count string in strings.xml and MeshService.kt (#1776) 2025-04-22 09:54:10 -05:00
Joshua Soberg edb514af64 Remove imePadding modifier to internal scaffold box (#1771) 2025-04-21 17:11:56 -05:00
James Rich d3cfc46148 2.5.22 (#1775) 2025-04-21 15:05:55 -05:00
James Rich 5d5a4938a2 fix: clear local DB after reset (#1746) 2025-04-21 13:52:41 -05:00
renovate[bot] a28b03fde7 chore(deps): update com.google.devtools.ksp to v2.1.20-2.0.0 (#1756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-04-19 02:33:27 -05:00
Robert-0410 25fe0a1e05 fix: avoiding NaN values for temperature readings (#1744) 2025-04-05 12:22:53 -04:00
James Rich b6876bba64 fix: disable editing of Public Key field (#1737) 2025-03-31 12:18:13 -05:00
James Rich d0816d3495 fix: Remove nodeDb size from status string (#1734) 2025-03-31 12:17:33 -05:00
James Rich e9d6916529 fix: remove notification grouping (#1735) 2025-03-31 12:16:22 -05:00
James Rich ba1416e95a 2.5.21 (#1729) 2025-03-29 07:01:12 -05:00
James Rich b20fb93e8f fix: udp toggle display logic (#1728) 2025-03-27 20:40:25 -05:00
Robert-0410 5379f9dede fix: use the appropriate min when scaling the barometric pressure data (#1719) 2025-03-27 20:27:30 -05:00
James Rich a28dc377ae fix: Handle node public key mismatch and show warning (#1720)
* Handle node public key mismatch and show warning

- Add a mismatchKey flag to Node and MessageTopBar to indicate a public key mismatch.
- Set the public key to a default error value (all zeros) when a node's public key changes.
- Display a warning in the MessageTopBar when a key mismatch is detected in PKC.
- Only clear all nodes when a different mynode number is present.

* feat: Add key mismatch detection to NodeInfoDao

This commit introduces a new feature to the `NodeInfoDao` that detects and handles public key mismatches for existing nodes.

-   A new function `upsertCheckKeyMatch` is added to `NodeInfoDao` that checks for public key changes when upserting a node. If a mismatch is detected, the public key is set to `ERROR_BYTE_STRING`, and a warning is logged.
- The function `upsertCheckKeyMatch` is used instead of `upsert` in `NodeRepository` and in `putAll` inside of `NodeInfoDao`.
-   A new test `testPkcMismatch` is added to `NodeInfoDaoTest` to verify the key mismatch detection.
- Changed `testNodes` to have unique public keys.
- Added `mismatchKey` state to the node model.

* detekt spacing

* Refactor: Correctly handle different node installations in NodeRepository

The logic for detecting different node installations in `NodeRepository.kt` was inverted, this commit fixes the logic to use `!=` instead of `==` to detect if the node number has changed.
2025-03-27 15:58:43 -05:00
James Rich 53c240198c 2.5.20 2025-03-23 22:26:20 -05:00
todd2982 7902e21a4a feat #1632: Accessibility updates (#1705)
* Add description for node sort option button

* Add description for location view button

* Update description for channel url copy button

* appease detekt

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-23 20:26:28 -05:00
niccellular 3bc4454c0e Expose wantAck in Mesh Packet (#1703)
* Expose wantAck in Mesh Packet

* Update DataPacket.kt

* Update DataPacket.kt

* Update DataPacket.kt

* Update DataPacket.kt

* Refactor: Change wantAck field type in DataPacket

- Changed the `wantAck` field in `DataPacket` from `Int` to `Boolean`.
- Updated read/write and equals/hashcode functions accordingly.

* Update MeshService.kt

* Update MeshService.kt

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-21 20:51:52 -05:00
todd2982 123b296b6c fix #1692: Clarify request options to exchange. (#1701) 2025-03-21 16:21:58 -05:00
todd2982 0a7d0ff4be feat: Allow sorting by favorite nodes (#1700) 2025-03-21 16:16:54 -05:00
James Rich 8a8ee27ad9 fix: Conditionally show UDP settings (#1702)
Only show UDP settings if the device has both Ethernet and WiFi.
2025-03-21 15:33:32 -05:00
Ken Piper 373cfe7838 feat: Add a bit more info to the node marker popup (#1691) 2025-03-19 10:02:58 -05:00
James Rich c4ef442037 chore(protos): Meshtastic Protobufs v2.6.2 (#1693) 2025-03-19 10:00:32 -05:00
Ken Piper ff261c2304 fix: Add some smarts to low battery notification triggers (#1686)
* Add some smarts to low battery notification triggers

* Always bypass cooldown on critically-low battery

* thx detekt

* revert whitespace changes

* Switch newer timestamp code to more widely-compatible version

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-19 04:39:52 -05:00
Robert-0410 e839c43542 feat: Graph Barometric Pressure (#1684)
* refactor: condensed the process of drawing the lines in the env metrics

* feat: only include iaq in the env metric graph when we have actual values

* feat: plotting barometric pressure when we have actual values

* detekt: spacing after (

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-18 19:37:16 -05:00
James Rich 451be0b98c feat #1688: Add UDP mesh toggle (#1689)
Adds a toggle to enable or disable mesh via UDP.
2025-03-18 18:44:39 -05:00
Andre K 6720764ed4 feat: support custom ports in TCP interface (#1534) 2025-03-17 18:13:27 -05:00
James Rich f3ba084d5b fix #1678: Update MeshService.kt to store the channel for received packets. (#1683)
* Update MeshService.kt to store the channel for received packets.

The channel for received packets is now stored, allowing for better tracking and management.

* Update node info creation to include channel data

- Updates `getOrCreateNodeInfo` to accept a channel parameter and to save the channel to the node info during instantiation of a new/unknown node.
- Updates `updateNodeInfo` to accept a channel parameter and pass it to the updated function.
- Updates call to `updateNodeInfo` in `handleReceivedData` to pass the packet channel data to it.
2025-03-17 17:47:48 -05:00
James Rich 8e5accd518 fix #1484: Filter out ignored nodes from map (#1676)
* fix #1484: Filter out ignored nodes from map

- Created a new `filteredNodeList` `StateFlow` in `UIState.kt` that filters out nodes marked as ignored.
- Updated `MapFragment.kt` to use `filteredNodeList` instead of `nodeList`, ensuring that ignored nodes are not displayed on the map.

* Refactor: Remove ExperimentalCoroutinesApi opt-in and add it to compiler args

- Removes the `@OptIn(ExperimentalCoroutinesApi::class)` annotation from multiple files.
- Adds `-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi` to the `freeCompilerArgs` in the `build.gradle` file, enabling the use of Experimental Coroutines API project-wide without the need for per-file opt-ins.
- The coroutine api is now applied globally.

Signed-off-by: James Rich <james.a.rich@gmail.com>

* detekt

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>

---------

Signed-off-by: James Rich <james.a.rich@gmail.com>
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-17 11:40:08 -05:00
renovate[bot] 559b47355d chore(deps): update com.github.mik3y:usb-serial-for-android to v3.9.0 - abandoned (#1666)
* chore(deps): update com.github.mik3y:usb-serial-for-android to v3.9.0

* fix: Use SerialInputOutputManager.start() according to change https://github.com/mik3y/usb-serial-for-android/releases/tag/v3.9.0

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-14 06:14:24 -05:00