Commit graph

1950 commits

Author SHA1 Message Date
andrekir
1a67ea8ad4 refactor: add DTO mapper for DeviceHardware 2024-12-10 12:55:48 -03:00
andrekir
165f5a2b49 chore: enable detekt license header template 2024-12-10 12:14:21 -03:00
James Rich
993f659742
feat: add support for Device Hardware json and svg graphics (#1449)
* 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
2024-12-10 12:02:57 -03:00
andrekir
1ea55b2209 refactor: move ignore node to is_ignored field in NodeInfo 2024-12-07 08:18:18 -03:00
andrekir
4a1319a645 refactor: replace user with node in Message model 2024-12-05 19:50:15 -03:00
andrekir
746f155a99 feat: add Public Key to node key status dialog 2024-12-05 19:45:34 -03:00
andrekir
94dc3dead1 feat: add EnvironmentMetrics radiation to node detail 2024-12-05 19:39:37 -03:00
andrekir
dd3a77e2f7 feat: add reaction dialog with grouped emojis and user list 2024-12-03 17:47:22 -03:00
andrekir
797fc67982 refactor: move reaction button to MessageItem 2024-12-03 15:58:43 -03:00
andrekir
f9424f2abc feat: add Alert Bell to Quick Chat actions
closes #972
2024-12-03 10:23:27 -03:00
andrekir
ca8a49d862 fix: enforce single-line NodeSignalQuality text 2024-12-03 10:23:27 -03:00
andrekir
9cb7f89315 refactor: start DeviceMetrics chart at current time 2024-12-03 10:23:26 -03:00
andrekir
76454cc802 fix: missing radio config import/export buttons 2024-12-03 09:21:06 -03:00
andrekir
49ac8a432d fix: hide keyboard on send text message 2024-12-03 09:17:54 -03:00
andrekir
96087cca59 refactor: move message files to separate package 2024-12-03 09:14:32 -03:00
James Rich
2234f5a713
feat: add emoji reactions to message bubbles (#1421)
* Add tapback emojis to message bubbles

Added TapBackEmojiItem composable to display tapback emojis.
Included it in MessageItem composable for incoming messages.
Added a FlowRow to show tapback emojis below the message bubble.

* feat: Add EmojiPicker View

* feat: show emojis for local messages

* feat: Add emoji tapbacks to messages

This commit introduces the ability to send and receive emoji tapbacks for messages.

- Adds emoji and replyId fields to DataPacket.
- Adds emoji tapback support to the MeshService
- Modifies UIState to handle emojis in message lists.

* feat: store tapbacks in database

Store tapbacks in the database and display them in the message list.
- Add a new table to the database to store tapbacks.
- Add a new DAO method to insert and retrieve tapbacks.
- Update the message list UI to display tapbacks.

* refactor: relation db and other changes

---------

Co-authored-by: Andre K <andrekir@pm.me>
2024-12-03 08:57:35 -03:00
Robert-0410
b3f4929cf4
feat: Scrollable x axis (#1445)
* Started horizontal scrolling for DeviceMetrics. Drawing lines based on the TimeFrame and setting the dp.

* Wrote YAxisLabels(), it will replace the Y labels portion of the ChartOverlay(). The composable works for either side of the graph.

* Wrote HorizontalLinesOverlay(), it will replace the horizontal lines portion of the ChartOverlay().

* Updated the data points to use their actual x values.

* Based the width of the scrollable graph on time.

* Added a date label to the TimeAxisOverlay.
2024-12-01 07:22:54 -03:00
Andre K
3c581f81a8
refactor: migrate MessagesFragment to Compose (#1444) 2024-11-30 23:20:09 -03:00
andrekir
5d3b36532f refactor: move dialog into NodeKeyStatusIcon component 2024-11-30 21:10:54 -03:00
andrekir
f4c24dbfff fix: enforce SignalInfo single-line layout
closes #1441
2024-11-30 14:19:39 -03:00
draen
e412faecb9
feat: Copy message to clipboard (#1443) 2024-11-30 14:19:01 -03:00
Espié.R
d76eac258b
feat: add text/plain intent to send message (#1389) 2024-11-30 14:12:08 -03:00
andrekir
716a3f535f refactor: decouple NavGraph from ViewModel and NodeEntity 2024-11-30 08:05:48 -03:00
andrekir
6678df78b0 fix: text messages sent from connected standalone devices 2024-11-30 07:43:56 -03:00
andrekir
44d195a4a5 refactor: Messages navigation to single contactKey argument 2024-11-28 08:45:44 -03:00
andrekir
1c42bd262f fix: notification intents with immutable flags 2024-11-28 08:41:58 -03:00
andrekir
174a4d0771 refactor: ensure node database flows on IO thread 2024-11-26 09:57:23 -03:00
andrekir
6230f13bff refactor: add custom formatting to LocalStats fields 2024-11-26 09:00:44 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -03:00
andrekir
4e9055c9b1 fix: update channel URL to match channel selection 2024-11-25 20:09:50 -03:00
Tom Fifield
65d832ef99
Change max message length to 200 (#1429) 2024-11-25 19:57:10 -03:00
andrekir
c4b07af408 feat: add EnvironmentMetrics distance, lux, wind and weight to node detail
closes #1399
2024-11-23 07:16:35 -03:00
andrekir
80f8f2a591 refactor: implement repository pattern replacement for AIDL methods 2024-11-21 20:30:25 -03:00
andrekir
f73d909cd0 refactor: consolidate QR code scanning methods 2024-11-21 10:32:37 -03:00
Robert-0410
75003bb6f0
feat: Signal Quality in NodeItem (#1425)
* Composable that provides the snr and rssi within a row, along with docs for the two exposed functions in LoraSignalIndicator.kt.

* Fancied up the signal data within the NodeItem.
2024-11-21 07:52:54 -03:00
andrekir
e33cf85df6 refactor: migrate DebugPanel to Compose 2024-11-19 17:07:51 -03:00
andrekir
91c8c7809a fix: six-month comparison logic in PositionLog 2024-11-19 15:18:51 -03:00
Andre K
475e9fc22c
refactor: migrate QuickChat to Compose (#1419) 2024-11-19 11:59:28 -03:00
andrekir
4855576248 refactor: ensure NetworkRepository flows on IO thread 2024-11-19 10:53:27 -03:00
andrekir
c70b0d512a fix: remove SelectionContainer from NodeItem
Removes `SelectionContainer` from `LazyColumn` items causing a crash when calculating positions between nodes that are no longer part of the same layout hierarchy, resulting in:

Fatal Exception: java.lang.IllegalArgumentException: layouts are not part of the same hierarchy
       at androidx.compose.ui.node.NodeCoordinator.findCommonAncestor$ui_release(NodeCoordinator.kt:1210)
...

closes #1408
2024-11-19 10:43:17 -03:00
James Rich
158e67f859
Fix: Deduplicate position logs (#1417)
Deduplicate position logs by filtering out duplicates based on time and location.
2024-11-19 10:41:33 -03:00
James Rich
fb04805255
Fix: Show 'unknown' for position logs older than 6 months (#1416)
* 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.
2024-11-19 10:29:44 -03:00
andrekir
ee75ba3392 feat: pass users preferred tile source to MapViews 2024-11-15 07:10:01 -03:00
andrekir
aeedd4de43 feat: add tile source parameter to MapViewWithLifecycle 2024-11-15 06:52:45 -03:00
andrekir
30b7cc90ce feat: add new NeighborInfo config 2024-11-15 06:51:32 -03:00
andrekir
02af81aeb0 fix: nodelist sort by viaMqtt 2024-11-15 06:49:40 -03:00
Robert-0410
013e3de792
refactor: Conducting time filter at the component lvl to avoid metric nav cards from being disabled when we don't have recent data (#1402) 2024-11-13 07:24:40 -03:00
Abdelkader Boudih
f6af9b8782
fix: rename to quadraticTo for consistancy (#1397) 2024-11-13 07:21:22 -03:00
Andre K
a6e7a0ef4f
feat: add meshtastic service type to mDNS service discovery (#1401) 2024-11-12 17:14:58 -03:00
andrekir
d324f77d63 refactor: simplify ElevationInfo component 2024-11-12 09:40:57 -03:00