Commit Graph

36 Commits

Author SHA1 Message Date
Janez T
58d8ef0dae feat: Implement location tracking service and haptic feedback for device advertising 2025-10-16 21:27:22 +02:00
Janez T
c6c56f858d feat: Add localization support for contact and SAR marker display names 2025-10-16 21:09:33 +02:00
Janez T
abca014720 chore: Update project version to 14 in project.pbxproj and Info.plist; enhance connection provider to throttle sync and login requests 2025-10-16 18:07:12 +02:00
Janez T
09e53e579a feat: Implement notification service for SAR messages and add localization support 2025-10-16 16:31:35 +02:00
Janez T
f95edcb477 fix: Update import path for AppLocalizations in CompassSarList widget 2025-10-16 16:07:22 +02:00
Janez T
01a1bbec44 Refactor localization in UI components and error messages
- Updated various UI components to utilize AppLocalizations for better internationalization support.
- Replaced hardcoded strings with localized strings in home_screen.dart, ble_connection_manager.dart, contact_tile.dart, room_login_sheet.dart, compass widgets, and sar_update_sheet.dart.
- Improved user feedback messages by integrating localization for actions like pinging contacts, displaying connection statuses, and error notifications.
- Enhanced the clarity of UI elements by ensuring all text is translatable, improving the overall user experience for non-English speakers.
2025-10-16 15:39:48 +02:00
Janez T
23c439a92e Refactor message handling and enhance BLE connection management
- Cleaned up message formatting in MessagesTab for better readability.
- Improved SAR message parsing to include optional inline messages.
- Updated BLE connection manager to monitor RSSI values and added callback for RSSI updates.
- Adjusted drawing message parser to remove sender name from JSON and extract it from packet metadata.
- Enhanced drawing toolbar to reflect changes in message creation without sender name.
- Ensured consistent error handling and logging across BLE operations.
2025-10-16 13:32:58 +02:00
Janez T
5a096c048e feat: Implement compact JSON handling for map drawings and add chat notifications for sent/received drawings 2025-10-15 22:45:30 +02:00
Janez T
800786ec9c feat: Enhance drawing functionality with sender tracking and sharing capabilities 2025-10-15 22:41:57 +02:00
Janez T
6ee1c9ae79 feat: Update color handling in map drawings and enhance message sync functionality 2025-10-15 22:13:15 +02:00
Janez T
3651f53ef2 feat: Add drawing functionality with line and rectangle support, including toolbar and layer integration 2025-10-15 22:04:23 +02:00
Janez T
aab79a56ea feat: Implement advertisement path tracking with location history and UI integration 2025-10-15 21:59:04 +02:00
Janez T
6be182e20a feat: Add new contact and message tracking features, including unread status and removal functionality 2025-10-15 21:49:33 +02:00
Janez T
f5a6e1f9ab Fixes 2025-10-15 19:57:10 +02:00
Janez T
24234e7000 feat: Implement smart ping with automatic fallback and enhance telemetry handling 2025-10-15 19:37:37 +02:00
Janez T
91d9326804 Refactor contacts management and improve path handling
- Updated ContactsProvider to initialize with device public key for filtering out self contacts.
- Added methods to check if a contact has a learned routing path and to get path quality indicators.
- Enhanced AppProvider to initialize ContactsProvider with device public key.
- Modified ConnectionProvider to log path status when sending messages.
- Created ContactStorageService for persisting contacts to local storage.
- Removed import/export functionality from MapManagementScreen.
- Updated UI components in DirectMessageSheet and SarUpdateSheet to use theme colors.
- Removed file_picker dependency from pubspec.yaml and generated plugin registrant.
2025-10-15 19:20:46 +02:00
Janez T
52efa03d32 feat: Add message deletion functionality with confirmation dialog and options 2025-10-15 15:04:09 +02:00
Janez T
61d0b831ab feat: Enhance message sending feedback and improve reconnection logic with optimized delays 2025-10-15 14:59:00 +02:00
Janez T
829b8605eb feat: Implement automatic reconnection handling and enhance message processing with sender identification 2025-10-15 14:53:55 +02:00
Janez T
a6e317bc37 Enhance validation and error handling across various screens
- Updated ConnectionProvider to track pending messages before sending to avoid race conditions.
- Integrated ValidationService in DeviceConfigScreen for validating latitude, longitude, frequency, and TX power inputs.
- Added bounds and zoom level validation in MapManagementScreen using ValidationService.
- Refactored MapTab to utilize LocationTrackingService for location updates and removed deprecated location permission handling.
- Replaced BackgroundLocationService with LocationTrackingService in SettingsScreen, improving location update management and error handling.
- Enhanced SAR Update Sheet to validate coordinates, notes length, and location accuracy before sending SAR markers.
2025-10-15 11:09:34 +02:00
Janez T
276d0f4470 feat: Add LocationTrackingService for GPS tracking and mesh network integration
- Implemented LocationTrackingService to handle GPS tracking, distance thresholds, and location broadcasting.
- Added permission handling, SharedPreferences persistence, and real-time position updates via callbacks.

feat: Introduce MapMarkerService for managing map markers

- Created MapMarkerService to generate contact and SAR markers, calculate distances, and manage marker display.
- Included methods for user location markers and distance/bearing calculations.

feat: Implement ValidationService for input validation and sanitization

- Developed ValidationService to validate coordinates, radio parameters, distances, time intervals, and names.
- Added parse and sanitize methods for common input types, ensuring robust error handling and user feedback.
2025-10-15 10:55:11 +02:00
Janez T
86711dbb27 refactor: Improve connection and room login state management by utilizing helper methods 2025-10-15 10:34:50 +02:00
Janez T
e831612a1a Add CompassSarList widget and refactor DetailedCompassDialog
- Introduced CompassSarList widget to display filtered SAR markers with distance and bearing information.
- Refactored DetailedCompassDialog to integrate CompassSarList and CompassContactList for better organization.
- Removed the previous filter dialog implementation and replaced it with a more modular CompassFilters widget.
- Simplified the handling of zoom and scale updates in the compass view.
- Cleaned up unused code related to previous implementations of contact and SAR marker lists.
2025-10-15 10:30:21 +02:00
Janez T
9124b53073 feat: Enhance MeshCoreBleService with new callbacks and message handling
- Added new callback types for path updates, message sent, message delivered, status responses, binary responses, and battery/storage information.
- Implemented handling for binary responses and path updates, including parsing and notifying via callbacks.
- Updated message sending logic to include acknowledgment and delivery confirmation.
- Enhanced log parsing for received data, including detailed interpretations and analysis.
- Introduced status request functionality to query operational status from repeater or sensor nodes.
- Updated battery and storage information handling to provide detailed metrics and trigger callbacks.
- Deprecated legacy methods in favor of more robust alternatives.
2025-10-15 09:31:19 +02:00
Janez T
846cc9dce4 feat: Implement room login state management and enhance SAR message handling 2025-10-14 22:55:38 +02:00
Janez T
fd54392d3c feat: Implement self advertisement functionality and enhance location broadcasting settings 2025-10-14 21:36:50 +02:00
Janez T
2cb6c34167 feat: Add device info handling and improve UI for telemetry settings 2025-10-14 21:20:00 +02:00
Janez T
9238be1a59 feat: Enhance HomeScreen with RX/TX indicators and long press functionality
- Added GestureDetector to RX/TX indicators for long press to open PacketLogScreen.
- Refactored RX/TX indicator code for better readability.
- Updated disconnect button to maintain functionality.

feat: Extend MeshCoreBleService with new login and message handling features

- Introduced new callbacks for device info, message waiting, login success, and login fail.
- Implemented handling for new message waiting and login success/fail pushes.
- Enhanced device info parsing to include additional fields such as firmware version, max contacts, and more.

fix: Correct MeshCoreConstants response codes

- Added new response codes for custom variables, advertisement path, and tuning parameters.
2025-10-14 21:11:54 +02:00
Janez T
3bcf3fc59f feat: Enhance SAR message handling with improved parsing and object marker generation 2025-10-14 20:10:10 +02:00
Janez T
59de627289 feat: Add Packet Log Screen for BLE packet logging and exporting
- Implemented PacketLogScreen to display and filter BLE packet logs.
- Added functionality to export logs as CSV and text files.
- Introduced clipboard copy feature for hex data.
- Implemented clear logs functionality with confirmation dialog.
- Enhanced MeshCoreBleService to log TX and RX packets with descriptions.
- Added BufferReader methods for reading unsigned and signed 16-bit integers (big-endian).
- Updated CayenneLppParser to read values as big-endian.
- Created MessageStorageService for persisting messages to local storage.
- Enhanced map markers to display telemetry data including voltage, humidity, and pressure.
2025-10-14 15:27:18 +02:00
Janez T
ccec842672 feat: Add display name getter to DeviceInfo and update usage in HomeScreen; refactor contact type handling in MapMarkers 2025-10-14 11:18:59 +02:00
Janez T
373998bc7d feat: Add RX/TX activity indicators and packet counters; update GPS coordinate conversion 2025-10-14 10:46:07 +02:00
Janez T
62bbb342ec feat: Add detailed logging for BLE connection and scanning processes 2025-10-14 10:33:22 +02:00
Janez T
4fae6e4c55 feat: Implement background location tracking service
- Removed existing app icons from the asset catalog.
- Added new `Contents.json` for asset catalog.
- Updated `Info.plist` to include background modes and task scheduler identifiers.
- Exposed BLE service in `ConnectionProvider` for background tracking.
- Enhanced `MapTab` to support background location tracking with new service.
- Added `BackgroundLocationService` to manage location updates in the background.
- Updated `SettingsScreen` to allow users to configure GPS update distance and toggle background tracking.
- Implemented functionality to send location updates via BLE in `MeshCoreBleService`.
- Updated dependencies in `pubspec.yaml` for background service support.
- Adjusted `TileCacheService` to ensure ObjectBox is initialized only once.
2025-10-14 09:53:21 +02:00
Janez T
e2fc9bcccf feat: Enhance messaging and SAR marker functionalities
- Integrated SAR marker sending feature in MessagesTab with a dedicated dialog for user input.
- Updated message sending logic to default to the first available room if no contact is selected.
- Improved user feedback with SnackBars for connection issues and successful marker sends.
- Refactored contact selection to remove unused code and streamline the process.
- Added location fetching capabilities using Geolocator for SAR markers.
- Updated sample data with more relevant team names using emojis.
- Enhanced map markers to include rotation handling and improved display of contact information.
- Introduced color coding for location update age in map markers for better visibility.
2025-10-14 01:02:20 +02:00
Janez T
823a163123 initial commit 2025-10-13 22:28:20 +02:00