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.
This commit is contained in:
Janez T
2025-10-18 21:12:02 +02:00
parent f88c9cfdd3
commit c50a260263
35 changed files with 1854 additions and 59 deletions

View File

@@ -184,6 +184,12 @@ abstract class AppLocalizations {
/// **'Location permission permanently denied. Please enable in Settings.'**
String get locationPermissionPermanentlyDenied;
/// Message when location permission is needed
///
/// In en, this message translates to:
/// **'Location permission is required for GPS tracking and team coordination. You can enable it later in Settings.'**
String get locationPermissionRequired;
/// Error when location services are disabled
///
/// In en, this message translates to:
@@ -1311,12 +1317,18 @@ abstract class AppLocalizations {
/// **'Repeaters'**
String get repeaters;
/// Section header for rooms/channels
/// Section header for rooms
///
/// In en, this message translates to:
/// **'Rooms'**
String get rooms;
/// Section header for broadcast channels
///
/// In en, this message translates to:
/// **'Channels'**
String get channels;
/// Title for cache statistics section
///
/// In en, this message translates to: