messages method
Implementation
@override
Stream<List<InboxMessage>> messages({String? topic}) {
// Set up listener for real-time updates (native side prevents duplicates)
methodChannel
.invokeNativeMethodVoid(NativeMethods.subscribeToInboxMessages);
// Filter stream by topic if provided
if (topic != null) {
return _inboxMessagesStreamController.stream.map((messages) {
return messages.where((message) {
return message.topics
.any((t) => t.toLowerCase() == topic.toLowerCase());
}).toList();
});
}
return _inboxMessagesStreamController.stream;
}