Commit Graph

131 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
5d8de532cc Implement correct notification permissions for iOS and macOS
- Add timezone as direct dependency (per lint rules)
- Update initialization to set all permissions to false
- Add separate macOS initialization settings
- Implement platform-specific permission requests for iOS and macOS
- Follow recommended pattern from flutter_local_notifications docs

Co-authored-by: dz0ny <239513+dz0ny@users.noreply.github.com>
2025-10-30 23:35:48 +00:00
Janez T
73958c18a4 fix: Exit early in permission request for iOS and Android in NotificationService 2025-10-30 17:05:24 +01:00
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
002b5f4da0 feat: Update location pointer colors to use theme color for better consistency 2025-10-28 19:15:45 +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
5d943ff1a4 feat: Add welcome wizard for new users
- Implemented a multi-page welcome wizard to introduce new users to the app's features.
- Added localization support for the wizard in English, Spanish, French, Croatian, Italian, and Slovenian.
- Integrated wizard completion state management using SharedPreferences.
- Updated main app flow to show the wizard if it hasn't been completed.
- Added a settings option to view the welcome tutorial again.
2025-10-28 11:20:30 +01:00
Janez T
1249f39ac2 feat: Enhance advertisement location history management with location dithering 2025-10-28 11:07:27 +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
a1207ad844 feat: Implement optimized contact fetching by public key to enhance performance 2025-10-28 10:44:36 +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
cf8a498864 feat: Refactor add channel button implementation and update visibility logic 2025-10-28 10:19:28 +01:00
Janez T
e6289199ba Add channel management features and localization support
- Implemented functionality to add new channels with a dialog interface.
- Added validation for channel name and secret inputs, ensuring they meet specified criteria.
- Integrated channel creation logic into the connection provider, including automatic slot assignment and MD5 hashing for channel secrets.
- Updated localization files for multiple languages (Spanish, French, Croatian, Italian, German, Slovenian, and English) to include new channel-related strings.
- Enhanced the contacts tab to display the add channel button conditionally based on device connection status.
- Refactored the contacts tab to improve readability and maintainability.
2025-10-28 10:17:02 +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
b398dc9aa9 feat: Update project version to 42 and enhance advertisement handling in BLE service 2025-10-27 22:47:04 +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
a03cc4a363 feat: Add localization for save as template functionality in multiple languages 2025-10-26 18:07:55 +01:00
Janez T
0f9974c1e9 feat: Implement update checker and dialog for available app updates with localization support 2025-10-26 17:47:37 +01:00
Janez T
676f5341b6 feat: Add URL launcher dependency and implement more info button in settings 2025-10-26 17:33:01 +01:00
Janez T
cec092b8c0 feat: Add functionality to save SAR messages as templates with corresponding localization 2025-10-26 17:22:39 +01:00
Janez T
a6fbc10221 feat: Enhance contact telemetry updates with last seen timestamp and improve message bubble UI for SAR and drawing indicators 2025-10-26 17:04:25 +01:00
Janez T
b8147e904c feat: Update Cayenne LPP GPS encoding/decoding to use 3-byte signed big-endian format 2025-10-26 16:57:21 +01:00
Janez T
3a20b756fd Add comprehensive tests for DrawingMessageParser and SarMessageParser
- Implement critical string formatting tests for DrawingMessageParser, ensuring correct message creation, parsing, and validation.
- Validate JSON structure, coordinate formatting, and color index preservation in drawing messages.
- Introduce tests for various drawing types, including LineDrawing and RectangleDrawing, with emphasis on output consistency and error handling.
- Add tests for SarMessageParser, covering message creation, parsing, and format validation, including backward compatibility with old formats.
- Ensure proper handling of special characters, empty notes, and extreme coordinate values in SAR messages.
- Validate that messages conform to the CLAUDE.md specification and maintain compactness and efficiency.
2025-10-26 16:51:38 +01:00
Janez T
f15bad5715 feat: Sync drawings on app startup after provider initialization 2025-10-23 20:52:43 +02: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
19603a1ad9 feat: Add toast logger import to drawing toolbar for improved logging 2025-10-23 20:31:19 +02:00
Janez T
795f223fe8 feat: Add debug logging for drawing navigation and toolbar actions 2025-10-23 20:29:51 +02:00
Janez T
1688d6f538 feat: Enhance message handling for drawings
- Added properties to the Message model to track drawing status and associated drawing ID.
- Updated AppProvider to mark messages as drawings and link them to their respective drawing IDs.
- Enhanced DrawingProvider to manage received drawings and their visibility.
- Implemented navigation to drawings in MapProvider, including dynamic zoom levels based on drawing size.
- Updated MessagesProvider to parse drawing messages and manage linked drawings.
- Enhanced MessagesTab to support drawing message interactions, including navigation and coordinate copying.
- Created DrawingMinimapPreview widget for visual representation of drawings in message bubbles.
- Improved DrawingToolbar to handle sharing of drawings, ensuring only unshared drawings are sent.
- Added utility functions in DrawingMessageParser for extracting drawing metadata.
2025-10-23 20:14:51 +02:00
Janez T
f32667997e feat: Add localization for drawing actions and update related UI tooltips 2025-10-23 19:47:21 +02:00
Janez T
0a8d9a4dca feat: Update drawing menu to use SingleChildScrollView for better layout and localization 2025-10-23 19:42:59 +02:00
Janez T
d64c78542b refactor: Remove unnecessary toast notifications and improve code formatting 2025-10-23 19:36:24 +02:00
Janez T
200e506df8 feat: Add drawing tools localization and update SAR message handling 2025-10-23 19:33:35 +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
0092bad3bf refactor: Clean up unused variables and comments in AppProvider and DeviceConfigScreen 2025-10-22 12:02:44 +02:00
Janez T
53ed690f51 Refactor code for improved readability and consistency across multiple files
- Updated formatting in `drawing_toolbar.dart` for better readability, including breaking long lines and ensuring consistent indentation.
- Enhanced the `recipient_selector_sheet.dart` by adjusting line breaks and improving the layout of text styles.
- Refactored `sar_update_sheet.dart` to improve readability, including restructuring widget layouts and ensuring consistent formatting.
- Cleaned up imports and removed unnecessary lines in `widget_test.dart`.
2025-10-22 09:49:41 +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
e9d516b749 feat: Enhance message sending in MessagesTab with message ID and improved status handling 2025-10-20 13:54:07 +02:00
Janez T
596ae6c5a0 feat: Configure default public channel with well-known secret and enhance channel message handling 2025-10-18 23:29:47 +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
198cee685a feat: Enhance BLE response handling with detailed logging and echo detection improvements 2025-10-18 22:47:35 +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