messagesReceived method

  1. @override
Future<void> messagesReceived(
  1. List messages,
  2. bool fromStartup
)
override

Invoked by the MBurger plugins manager when new messages are received by the MBMessages plugin. This function parse the triggers array, creates triggers objects and updates the saved messages where automation is enabled. @param messages The messages received, the triggers property will be populated with a MBTrigger object. @param fromStartup If messages has been retrieved at app startup

Implementation

@override
Future<void> messagesReceived(
  List<dynamic> messages,
  bool fromStartup,
) async {
  List<MBMessage> automationMessages = [];
  for (dynamic message in messages) {
    if (message is MBMessage) {
      if (message.automationIsOn) {
        automationMessages.add(message);
      }
    }
  }
  MBAutomationMessagesManager.setTriggersToMessages(automationMessages);
  await MBAutomationMessagesManager.saveMessages(
    automationMessages,
    fromFetch: true,
  );
  await MBAutomationMessagesManager.checkMessages(fromStartup: fromStartup);
}