Commit Graph

44 Commits

Author SHA1 Message Date
Janez T
d77c60db2a feat: Update project version to 48 and enhance trail color visibility 2025-10-30 14:44:07 +01:00
Janez T
30bd3315aa Add WMS overlays for hiking trails, main roads, house numbers, fire hazard zones, historical fires, firebreaks, Kras fire zones, place names, and municipality borders
- Updated localization files for German, English, Spanish, French, Croatian, Italian, and Slovenian to include new overlay labels.
- Implemented new WMS layers in the map provider and map tab for displaying hiking trails, main roads, house numbers, fire hazard zones, historical fires, firebreaks, Kras fire zones, place names, and municipality borders.
- Added toggle functionality for each new overlay in the map provider.
- Enhanced the map tab UI to include checkboxes for the new overlays, allowing users to enable or disable them.
- Integrated the new WMS layers into the map rendering logic.
2025-10-28 22:26:35 +01:00
Janez T
0371c3cd04 Refactor MapMessageOverlay to use MessageBubble for message display
- Removed inline message display logic from MapMessageOverlay.
- Introduced MessageBubble widget to handle various message types and styles.
- Simplified message handling in MapMessageOverlay by delegating to MessageBubble.
- Enhanced code readability and maintainability by separating concerns.
2025-10-28 21:21:11 +01:00
Janez T
b899c792a6 feat: Update location pointer colors to use theme color for better consistency 2025-10-28 21:21:03 +01:00
Janez T
da3302b030 feat: Enhance map functionality with download area selection and user location pointer
- Added download area selection feature in MapProvider with methods to enter, exit, and update bounds.
- Implemented DownloadAreaOverlay widget for user interface during download area selection.
- Integrated download area preview in MapManagementScreen with visual feedback.
- Introduced LocationPointer widget to indicate user location and heading on the map.
- Updated localization strings in app_sl.arb for improved clarity and accuracy.
- Refactored map marker generation to utilize the new LocationPointer for user location representation.
- Improved error handling in LocationTrackingService for initial position setting.
2025-10-28 19:09:11 +01:00
Janez T
e7fe700fee feat: Add GPX import/export functionality and enhance trail management
- Implemented GPX export and import features in GpxService for location trails.
- Added UI controls for exporting and importing trails in the TrailControls widget.
- Introduced localization strings for GPX operations in Italian and Slovenian.
- Enhanced MapProvider to manage imported trails and toggle visibility for contact trails.
- Updated trail color management with TrailColorService for consistent color assignment based on contact roles.
- Improved UI for displaying contact trails with toggle options for individual and all contact trails.
- Refactored detailed compass dialog to remove unnecessary path toggle button for contacts.
2025-10-28 11:04:09 +01:00
Janez T
d4bc847530 feat: Improve compass event handling to prevent errors on disposed widget 2025-10-28 10:26:20 +01:00
Janez T
b980fb80f1 feat: Add recent messages overlay to map in fullscreen mode and update localization for recent messages 2025-10-28 00:14:14 +01:00
Janez T
8c05c331e2 feat: Refine measurement mode behavior and add ruler button in simple mode 2025-10-27 22:38:42 +01:00
Janez T
f707e2233b feat: Add zoom level clamping for WMS layer switching and improve message filtering in simple mode 2025-10-27 22:28:46 +01:00
Janez T
b4bbaf3109 feat: Implement language-based filtering for WMS layers in Slovenian and Croatian 2025-10-27 21:55:00 +01:00
Janez T
a4dc85d130 Add WMS support and measurement functionality
- Implemented WMS layer handling for Slovenian aerial imagery and overlays for cadastral parcels and forest roads.
- Added distance measurement feature allowing users to measure distances on the map with long press interactions.
- Updated localization files for Croatian, Italian, and Slovenian languages to include new measurement and WMS-related strings.
- Enhanced the map layer model to support WMS-specific properties.
- Introduced a new tile provider for debugging WMS requests.
- Updated the drawing toolbar to include measurement mode and clear measurement functionality.
- Integrated SharedPreferences to persist overlay visibility states across app sessions.
- Added utility functions for handling the Slovenian coordinate reference system (EPSG:3794).
2025-10-27 21:49:58 +01:00
Janez T
9d923f8118 Add drawing sharing functionality and localization updates
- Implemented sharing options for drawings, including sharing to a public channel and specific rooms.
- Added confirmation dialogs for deleting drawings and sharing drawings.
- Enhanced the drawing toolbar to display a list of user's drawings with options to share or delete.
- Updated localization files for English, Spanish, French, Croatian, Italian, German, Slovenian, and other languages to include new strings related to drawing sharing and management.
- Introduced syncing of drawing messages with the DrawingProvider to restore missing drawings.
- Improved the drawing minimap preview to display a small preview of drawings in the toolbar.
2025-10-23 20:50:14 +02:00
Janez T
98cda8c976 feat: Enhance SAR message handling with color indexing and localization
- Added `sarColorIndex` to `Message` and `SarMarker` models to support color indexing for SAR markers.
- Introduced a standard color palette in `SarTemplate` and methods to retrieve colors based on index.
- Updated `SarTemplate` to include localization for template names.
- Modified `SarUpdateSheet` and message sending logic to include color index in SAR messages.
- Enhanced `SarMessageParser` to support both old and new message formats with color index.
- Updated UI components to reflect changes in SAR marker color handling based on the new color index.
- Improved sample data generation to utilize localized strings for better testing and demonstration.
2025-10-23 19:17:13 +02:00
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
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
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
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
3a0bcabdea feat: Add support for offline vector maps using MBTiles
- Introduced new MapLayerType for vector MBTiles.
- Enhanced MapLayer class to handle vector-specific properties.
- Implemented MBTilesService for managing MBTiles files, including import and deletion functionalities.
- Updated MapManagementScreen to allow importing and managing MBTiles files.
- Added UI components for displaying and interacting with MBTiles layers.
- Integrated vector tile rendering in MapTab, supporting dynamic theme loading.
- Updated pubspec.yaml to include necessary dependencies for MBTiles and vector tiles.
2025-10-16 23:35:43 +02:00
Janez T
f95edcb477 fix: Update import path for AppLocalizations in CompassSarList widget 2025-10-16 16:07:22 +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
800786ec9c feat: Enhance drawing functionality with sender tracking and sharing capabilities 2025-10-15 22:41:57 +02:00
Janez T
317addba9e feat: Update project version to 5 and adjust fullscreen button position in map tab 2025-10-15 22:16:24 +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
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
8af96c3fec Add MapLegend widget to display counts of various map elements
- Introduced a new MapLegend widget that shows a legend for team members, found persons, fires, staging areas, and objects on the map.
- Each legend item includes an icon, label, and count, styled appropriately.
- The widget uses a Card for visual separation and includes padding for better layout.
2025-10-15 10:16:07 +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
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
2eb2ee4433 feat: Refactor theme management and enhance UI with AppTheme integration 2025-10-14 10:16:53 +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
4ed0991193 Add filter options for SAR markers in detailed compass dialog; implement zoom sensitivity and improve marker display 2025-10-14 00:29:08 +02:00
Janez T
d1b80b92c7 Enhance compass dialog to include SAR markers; update settings screen to load combined messages from SAR and channel sources 2025-10-14 00:21:23 +02:00
Janez T
c2e882bb2b Refactor map tab and messages tab UI; enhance settings screen with sample data loading and clearing functionality; improve map markers display 2025-10-14 00:15:45 +02:00
Janez T
76b4f18564 Enhance detailed compass dialog with ultra-compact location format display; add toggle for DD and DMS formats 2025-10-13 23:52:53 +02:00
Janez T
363a75595e Implement theme management and settings screen; enhance compass dialog with location formats 2025-10-13 23:11:06 +02:00
Janez T
dd859d3458 Refactor color opacity handling in map tab and remove heading text from compass painter 2025-10-13 23:04:11 +02:00
Janez T
e153218b01 Add flutter_compass and shared_preferences_foundation dependencies; update Info.plist for motion usage description 2025-10-13 23:02:22 +02:00
Janez T
23f530b3f9 Enhance compass functionality with detailed compass dialog and improved rotation handling 2025-10-13 22:49:14 +02:00
Janez T
1241505a94 Add compass functionality and shared preferences support to map tab 2025-10-13 22:43:19 +02:00
Janez T
823a163123 initial commit 2025-10-13 22:28:20 +02:00