changed noification to support messages from room server.

This commit is contained in:
Winston Lowe
2026-01-09 00:04:30 -08:00
parent 367f89fb1b
commit f3aef42331
+11 -1
View File
@@ -1996,12 +1996,21 @@ class MeshCoreConnector extends ChangeNotifier {
final settings = _appSettingsService!.settings; final settings = _appSettingsService!.settings;
if (settings.notificationsEnabled && settings.notifyOnNewMessage) { if (settings.notificationsEnabled && settings.notifyOnNewMessage) {
// Find the contact name // Find the contact name
if(contact?.type == advTypeChat) {
_notificationService.showMessageNotification( _notificationService.showMessageNotification(
contactName: contact?.name ?? 'Unknown', contactName: contact?.name ?? 'Unknown',
message: message.text, message: message.text,
contactId: message.senderKeyHex, contactId: message.senderKeyHex,
badgeCount: getTotalUnreadCount(), badgeCount: getTotalUnreadCount(),
); );
}else if(contact?.type == advTypeRoom) {
_notificationService.showMessageNotification(
contactName: contact?.name ?? 'Unknown Room',
message: message.text.substring(4),
contactId: message.senderKeyHex,
badgeCount: getTotalUnreadCount(),
);
}
} }
} }
_handleQueuedMessageReceived(); _handleQueuedMessageReceived();
@@ -2027,7 +2036,7 @@ class MeshCoreConnector extends ChangeNotifier {
final baseTextOffset = timestampOffset + 4; final baseTextOffset = timestampOffset + 4;
if (frame.length <= baseTextOffset) return null; if (frame.length <= baseTextOffset) return null;
final fourBytePubMSG = frame.sublist(baseTextOffset, baseTextOffset + 4);
final senderPrefix = frame.sublist(prefixOffset, prefixOffset + prefixLen); final senderPrefix = frame.sublist(prefixOffset, prefixOffset + prefixLen);
final flags = frame[txtTypeOffset]; final flags = frame[txtTypeOffset];
final shiftedType = flags >> 2; final shiftedType = flags >> 2;
@@ -2065,6 +2074,7 @@ class MeshCoreConnector extends ChangeNotifier {
status: MessageStatus.delivered, status: MessageStatus.delivered,
pathLength: pathLenByte == 0xFF ? 0 : pathLenByte, pathLength: pathLenByte == 0xFF ? 0 : pathLenByte,
pathBytes: Uint8List(0), pathBytes: Uint8List(0),
fourByteRoomContactKey: fourBytePubMSG
); );
} }