messages method

  1. @override
Stream<List<InboxMessage>> messages({
  1. String? topic,
})
override

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;
}