Commit Graph

25 Commits

Author SHA1 Message Date
Janez T
021ce21cbe Refactor SAR marker handling and add template management
- Updated CompassSarList and DetailedCompassDialog to use marker.displayName instead of marker.type.displayName.
- Enhanced DrawingLayer and DrawingMarkersLayer to support simple mode for drawing visibility and interaction.
- Added toggle switches in DrawingToolbar for showing/hiding received drawings and SAR markers.
- Modified MapMarkers to utilize custom emojis and display names for markers.
- Introduced RecipientSelectorSheet for selecting message recipients with search functionality.
- Refactored SarUpdateSheet to use SAR templates instead of marker types, allowing for emoji and name customization.
- Created SarTemplateEditDialog for adding and editing SAR templates with color selection and preview.
2025-10-21 23:44:49 +02:00
Janez T
5315e58247 feat: Enhance message synchronization with response handling and improve logging in MessagesTab 2025-10-18 23:05:00 +02:00
Janez T
27ed4b0486 Refactor logging to use debugPrint for better performance in debug mode
- Updated all print statements in services and widgets to use debugPrint.
- This change improves logging performance and ensures that debug messages are only shown in debug builds.
- Removed unnecessary transitive dependencies from pubspec.lock.
- Cleaned up pubspec.yaml by removing integration_test from dev_dependencies.
2025-10-18 22:50:57 +02:00
Janez T
52b2f4ede1 Add localization support for German, Spanish, French, and Italian
- Updated localization files for French, Croatian, Italian, Slovenian to include translations for German, Spanish, French, and Italian.
- Added new methods for handling drawing messages sent to the public channel in multiple languages.
- Enhanced the Contact model to identify public channels using a dedicated method.
- Implemented echo detection for public channel messages, including tracking and reporting of echoes.
- Updated BLE response handling to support echo detection and tracking of sent messages.
- Modified UI components to reflect new localization strings and echo statuses.
2025-10-18 22:39:26 +02:00
Janez T
da03592980 Add Slovenian localization for trail management and device configuration
- Updated `app_localizations_sl.dart` with new strings for trail management, device information, and error messages.
- Enhanced `app_sl.arb` with corresponding translations for the new strings.
- Refactored `device_config_screen.dart` to utilize localized strings for device information and error handling.
- Modified `map_tab.dart` to remove unused trail stats overlay.
- Improved `ble_response_handler.dart` to include additional debug information for parsed contacts and advertisements.
- Updated `trail_controls.dart` to use localized strings for trail management UI, including trail visibility toggle and confirmation dialogs.
2025-10-18 21:35:47 +02:00
Janez T
00b239ab26 feat: Update project version to 32 and enhance BLE command handling 2025-10-18 21:13:51 +02:00
Janez T
c50a260263 feat: Implement command queue for BLE command handling
- Added BleCommandQueue to manage command serialization and responses in BleCommandSender.
- Updated writeData, writeDataAndWaitForAck, and writeDataAndWaitForResponse methods to utilize the command queue.
- Enhanced BleResponseHandler to complete commands based on responses received from the BLE device.
- Introduced new commands for channel management, including getChannel and setChannel.
- Created LocationTrailLayer and TrailControls widgets for displaying and managing location trails on the map.
- Added PermissionRequestDialog to handle location permission requests on app startup.
- Updated LocationTrackingService to allow GPS tracking without a BLE connection.
2025-10-18 21:12:02 +02:00
Janez T
f88c9cfdd3 feat: Update permissions and project version, enhance app icons 2025-10-18 15:02:54 +02:00
Janez T
5fd090b5dc feat: Enhance device configuration and location tracking features
- Refetch device info after updating settings in device_config_screen.dart.
- Update map_tab.dart to use singleton instance of LocationTrackingService and streamline location tracking callbacks.
- Modify ble_response_handler.dart to handle contact not found errors and improve error callback structure.
- Enhance location_tracking_service.dart with retry logic for GPS position acquisition and initial position setting without broadcasting.
- Update meshcore_ble_service.dart to track last contact for auto-recovery on errors.
- Improve tile_cache_service.dart error messages and streamline tile download logic.
- Add current GPS location insertion feature in direct_message_sheet.dart with permission checks.
- Update pubspec.lock and pubspec.yaml to include integration_test dependency.
- Add screenshot automation script for iOS and Android devices.
- Create integration test driver for screenshot capturing.
2025-10-18 14:55:41 +02:00
Janez T
16505cbfe4 feat: Update project version to 20, add new permissions for Flutter commands, and upgrade dependencies including share_plus 2025-10-16 22:19:00 +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
09e53e579a feat: Implement notification service for SAR messages and add localization support 2025-10-16 16:31:35 +02:00
Janez T
1056380f3a Add localization support for various UI elements and messages
- Integrated localization for alert dialogs, snack bars, and button labels in PacketLogScreen and SettingsScreen.
- Updated location tracking service messages to use localized strings.
- Enhanced ContactTile and DirectMessageSheet with localized text for user interactions.
- Implemented localization in DrawingLayer and DrawingToolbar for map-related actions.
- Updated SAR Update Sheet to utilize localized strings for user prompts and actions.
- Ensured consistent use of localization across all relevant widgets and screens.
2025-10-16 15:19:05 +02:00
Janez T
4c8e0e5d61 Add Croatian and Slovenian localizations, implement locale preferences, and update settings screen
- Created `app_localizations_hr.dart` and `app_localizations_sl.dart` for Croatian and Slovenian translations.
- Added `app_sl.arb` file for Slovenian localization strings.
- Enhanced `main.dart` to support locale selection and initialization.
- Updated `home_screen.dart` and `settings_screen.dart` to handle locale changes and display current language.
- Implemented `locale_preferences.dart` service for managing locale settings using SharedPreferences.
- Modified `pubspec.yaml` to include `flutter_localizations` and enable localization file generation.
2025-10-16 14:42:43 +02:00
Janez T
9ae3acb3dc feat: Update project version to 9 and enhance debug print functionality 2025-10-16 14:03:44 +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
f50b429e34 Add fastlane setup for iOS deployment 2025-10-15 14:31:17 +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
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
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
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
22624f64c0 fix: Correct application name and update permissions in configuration files 2025-10-14 01:04:22 +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