setMessages method
Initializes the chat with a list of messages.
This method replaces all existing messages and re-groups them based on sender and timestamp. Messages are automatically sorted chronologically.
Implementation
void setMessages(List<Message> messages) {
_messageGroups.clear();
messages.sort((a, b) {
final aDate = DateTime.tryParse(a.timestamp);
final bDate = DateTime.tryParse(b.timestamp);
if (aDate == null || bDate == null) {
if (aDate == null && bDate == null) return 0;
if (aDate == null) return 1;
return -1;
}
final timeComparison = aDate.compareTo(bDate);
if (timeComparison != 0) {
return timeComparison;
}
if (_customSortCallback != null) {
return _customSortCallback(a, b);
}
return 0;
});
for (final message in messages) {
addMessage(message);
}
}