Commit Graph

69 Commits

Author SHA1 Message Date
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
e74ebda54d feat: Update project version to 19, add repeaters filter and theme support, and enhance contact list display 2025-10-16 21:43:19 +02:00
Janez T
58d8ef0dae feat: Implement location tracking service and haptic feedback for device advertising 2025-10-16 21:27:22 +02:00
Janez T
b6283e1c8f Remove old app icons and update Info.plist version; add radio settings localization and improve device configuration UI 2025-10-16 21:01:29 +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
d69355a9b8 feat: Add localized delivery status and time ago for messages 2025-10-16 16:10:25 +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
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
3a8eac2ec2 feat: Enhance home screen status bar with connection indicators and improved layout 2025-10-16 14:54:25 +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
95333a13b8 feat: Refactor home screen layout to improve button visibility and RX/TX indicators 2025-10-16 14:29:15 +02:00
Janez T
c05ae8de89 feat: Enhance home screen layout with RX/TX indicators and device config button 2025-10-16 14:26:48 +02:00
Janez T
9ab5469759 feat: Add RX/TX indicators preference with toggle in settings 2025-10-16 14:25:15 +02:00
Janez T
9c1922b4fd feat: Update project version to 11 and enhance BLE packet logging with RSSI and SNR information 2025-10-16 14:20:40 +02:00
Janez T
bf4305bdb3 feat: Enhance BLE connection strength indicator with RSSI display and adjust spacing 2025-10-16 13:53:08 +02:00
Janez T
520f343261 feat: Remove manual location update functionality and improve password handling in room login 2025-10-16 13:44:35 +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
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
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
2849ab92aa feat: Enhance message display with rich sender names and replace SnackBars with ToastLogger for notifications 2025-10-15 20:15:13 +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
f76cd227e1 feat: Adjust padding in SAR Update Sheet for keyboard visibility 2025-10-15 15:19:58 +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
829b8605eb feat: Implement automatic reconnection handling and enhance message processing with sender identification 2025-10-15 14:53:55 +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
823a3c50f7 feat: Enhance message handling with recipient public key and delivery status for improved retry support 2025-10-15 10:56:52 +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
9baee65c28 feat: Implement SAR Update Sheet for creating and sending SAR markers 2025-10-15 10:04:24 +02:00
Janez T
9b38d4d05e feat: Add refresh button for telemetry requests in contact details 2025-10-15 09:55:17 +02:00
Janez T
7320a876f0 feat: Enhance contact details display with public key copy functionality and location formats 2025-10-15 09:51:00 +02:00
Janez T
c88533b187 feat: Add location tracking and distance calculation to contacts display 2025-10-15 09:44:14 +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
05b90d7f1f feat: Implement default destination selection for SAR Update Sheet
- Added logic to set the default destination to the first available room, or the first channel if no rooms exist.
- This enhancement improves user experience by automatically selecting a relevant destination upon initialization.
2025-10-14 22:58:33 +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
219eeecacd feat: Enhance Device Configuration Screen with Device Info and Telemetry Modes
- Added a new section to display device information including Device Type, Max Contacts, Max Channels, Telemetry Modes, and Manual Add Contacts.
- Implemented helper methods to convert device types and telemetry modes to user-friendly strings.
- Removed Message History Screen and its references from the Home Screen.
- Simplified message sending logic in Messages Tab to always send to the public channel.
- Introduced a new channel selection feature in the SAR Update Sheet for sending messages.
- Updated MeshCore BLE service to handle send confirmation responses and improved message sending protocols.
2025-10-14 20:43:58 +02:00
Janez T
5ff4138de0 feat: Update message synchronization and filtering logic for improved clarity and functionality 2025-10-14 20:15:55 +02:00