updateAllowedMessage method

void updateAllowedMessage(
  1. List<String> allowedMessageKey
)

Implementation

void updateAllowedMessage(List<String> allowedMessageKey) async {
  final visibleMessage = _state.visibleMessages;
  _state = _state.copyWith(allowedMessage: [
    ..._state.allowedMessage,
    ...allowedMessageKey,
  ]);
  final newVisibleMessage = _state.visibleMessages;

  // Create sets from lists
  final oldMessagesSet = visibleMessage.toSet();
  final newMessagesSet = newVisibleMessage.toSet();

  // Find new messages
  final addedMessages = newMessagesSet.difference(oldMessagesSet).toList();
  for (final message in addedMessages) {
    final index = newVisibleMessage.indexOf(message);
    listKey.currentState?.insertItem(index);
  }
  await _scrollToBottom();
}