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.
This commit is contained in:
Janez T
2025-10-16 13:32:58 +02:00
parent 5a096c048e
commit 23c439a92e
28 changed files with 957 additions and 4730 deletions

View File

@@ -68,7 +68,12 @@ class AppProvider with ChangeNotifier {
// Check if message is a drawing broadcast
if (DrawingMessageParser.isDrawingMessage(message.text)) {
debugPrint('🎨 [AppProvider] Drawing message received, parsing...');
final drawing = DrawingMessageParser.parseDrawingMessage(message.text);
// Extract sender name from message packet metadata
final senderName = message.senderName ?? 'unknown';
final drawing = DrawingMessageParser.parseDrawingMessage(
message.text,
senderName: senderName,
);
if (drawing != null) {
debugPrint('🎨 [AppProvider] Drawing parsed successfully: ${drawing.type.name} from ${drawing.senderName ?? "unknown"}');
drawingProvider.addReceivedDrawing(drawing);
@@ -177,6 +182,9 @@ class AppProvider with ChangeNotifier {
// Sync device time
await connectionProvider.syncDeviceTime();
// Get battery and storage information
await connectionProvider.getBatteryAndStorage();
// Load contacts
await connectionProvider.getContacts();