Commit graph

43 commits

Author SHA1 Message Date
Andre K
9d5cf47762
refactor: migrate MessagesFragment RecyclerView to Compose (#1133) 2024-09-09 06:15:27 -03:00
andrekir
300904d337 chore(detekt): enable UnusedImports rule 2024-08-31 09:00:15 -03:00
andrekir
7e0cfff67b feat: add methods to retrieve MeshPackets and Telemetry from specific nodes 2024-08-18 06:58:44 -03:00
James Rich
2109426243
feat: Add role to NodeInfo (#1174) 2024-08-10 08:17:51 -03:00
andrekir
d7013e1386 feat: add unread message count 2024-06-15 12:42:55 -03:00
Andre K
5b3c78316b
feat: support for switching between devices (#1078) 2024-06-08 10:25:47 -03:00
andrekir
4a9be026e2 chore: prepare new strings for translation 2024-06-03 10:40:49 -03:00
andrekir
88a6bcc09d feat: add hops_away sort option 2024-06-03 08:57:29 -03:00
andrekir
4ceb4c5199 feat: add nodelist sort options 2024-06-02 09:24:22 -03:00
Andre K
ecaf35d7f3
feat: add ActionMenu option to mute contacts (#1003) 2024-04-28 16:18:16 -03:00
Dayle Drinkwater
47b2ecc8aa
Hops Away implementation (#966)
* 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>
2024-04-21 08:14:35 -03:00
Jonathan Bennett
828696aca7
Add option to delete single node from nodeDB (#958) 2024-04-09 07:18:38 -03:00
andrekir
cb7ef639c0 refactor: sort node list by lastHeard in database query 2024-03-31 16:45:07 -03:00
Davis
4f9011fe57
Add number of GPS satellites in view to DB for later display (#883)
* Add a couple more fields to position
Use auto migration over manula migration
2024-02-29 11:18:02 -03:00
andrekir
1c5e2dbefc refactor: getContacts() DAO using Map return type 2024-02-11 07:51:41 -03:00
Andre K
c8f93db00d
refactor: implement repository pattern for NodeDB (#835)
- enforce Unidirectional Data Flow removing nodeDB updates via `MainActivity`/`UIState`
- merge `MyNodeInfoDao` into `NodeInfoDao`
- move node list re-indexing to database
2024-02-06 20:03:15 -03:00
Mike Cumings
e32a1dadea
Annotated debug panel of to/from fields with hex form (#830) 2024-02-02 23:55:41 -03:00
andrekir
c489717ad1 refactor: convert NodeDB to repository 2023-10-20 19:38:18 -03:00
andrekir
7869243290 refactor(config): move business logic to ViewModel 2023-09-17 06:18:46 -03:00
andrekir
a250555ee5 refactor: exclude ENROUTE packets from offline queue 2023-09-16 08:11:59 -03:00
Andre K
83722159be
refactor: migrate nodeDB to Room database (#717) 2023-09-05 08:19:26 -03:00
andrekir
ae949ad784 fix: limit number of parameters per delete operation
Splits the list of message UUIDs into smaller chunks to perform batch deletions with a maximum of 500 UUIDs per operation, avoiding `SQLiteException: too many SQL variables (code 1 SQLITE_ERROR)`.

fixes #711
2023-09-04 18:17:49 -03:00
andrekir
b0f990e42a refactor: improve packetResponse performance 2023-07-20 18:35:03 -03:00
Andre K
bb3b1eaa85
fix: replace duplicate packet IDs before sending queue (#646) 2023-06-20 08:22:10 -03:00
Andre K
da5f1d529d
feat: add traceroute (#620) 2023-04-16 06:16:41 -03:00
andrekir
ce66a9425d feat: edit waypoints 2023-02-03 19:33:50 -03:00
andrekir
62420132f1 feat: waypoints 2023-02-01 12:49:30 -03:00
andrekir
d23584c283 feat: get queued packets from database 2023-01-12 17:47:59 -03:00
Andre K
7c28c4091f
distinguish between implicit and real ACKs (#552) 2023-01-02 22:23:23 -03:00
andrekir
706c7d120e fix findDataPacket null object reference 2022-09-19 18:08:54 -03:00
andrekir
65e982ddd5 refactor messages to Room database 2022-09-15 22:24:04 -03:00
andrekir
ab7bf4922b create Room database for DataPacket 2022-09-14 01:54:13 -03:00
andrekir
a93d4e1dcd rename Packet to MeshLog 2022-09-13 22:49:38 -03:00
andrekir
8516eea9c5 replace deprecated onActivityResult 2022-08-30 22:20:44 -03:00
Douile
01e24ff6a4
Add position via dragging the recyclerview 2022-08-16 11:46:57 +01:00
Douile
1bdb6bf340
Add drag to re-arrange support for quick chat actions 2022-08-12 15:35:27 +01:00
Douile
7da224a1ce
Store QuickChatActions in the database 2022-08-11 16:43:26 +01:00
andrekir
1196eb6cc5 improve room database flow 2022-07-29 21:28:09 -03:00
Mike Cumings
16d2b2e5f3 CSV export improvements to make it more reliable 2022-02-25 14:14:50 -08:00
Mike Cumings
654a32c01c Introduce Hilt dependency injection
Uses Hilt to get the database initialization off of the
main thread.

The initial introduction always has a disproportionate
fan-out of boilerplate. In this case, all entry points which
were using UIViewModel needed to be annotated in order to let
the code gen know that they needed to support it.

The PacketRepository is injected into things via the main
thread (e.g., the MeshService) but due to the lazy declaration,
the database isn't hydrated until the DAO is access while on an
IO thread.
2022-02-08 13:57:04 -08:00
Mike Cumings
6012bddbdc Fixes #340 Improve CSV file export 2022-02-03 18:15:06 -08:00
Vadim Furman
78a08898fe Save messages in CSV and fix position broadcast 2021-03-17 21:00:01 -07:00
Ludovic Goix
6ec16073c1 Added a debug panel
final
2020-09-26 21:56:52 -04:00