notifyMessageReceived method

void notifyMessageReceived(
  1. Message message, {
  2. bool refreshChannel = true,
  3. bool showNotification = true,
  4. bool throttleChannelRefresh = false,
})

Publishes a received message to ChatUI listeners.

Implementation

void notifyMessageReceived(
  Message message, {
  bool refreshChannel = true,
  bool showNotification = true,
  bool throttleChannelRefresh = false,
}) {
  receivedMessageNotifier.value = message;
  if (showNotification) {
    unawaited(showLocalNotification(message));
  }
  for (final listener in List<NexconnAsyncMessageReceivedListener>.of(
    _messageReceivedListeners,
  )) {
    Future.sync(() => listener(message));
  }
  if (refreshChannel) {
    if (throttleChannelRefresh) {
      _scheduleThrottledChannelRefresh();
    } else {
      notifyChannelNeedsRefresh();
    }
  }
  notifyListeners();
}