mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Handles messages update events
This commit is contained in:
@ -86,8 +86,17 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
.registerConversationEvents(widget.conversationID);
|
||||
|
||||
this.listen<NewConversationMessageEvent>((ev) async {
|
||||
await _conversationsHelper.saveMessage(ev.msg);
|
||||
await _applyNewMessages(ConversationMessagesList()..add(ev.msg));
|
||||
if (ev.msg.conversationID == widget.conversationID) {
|
||||
await _conversationsHelper.saveMessage(ev.msg);
|
||||
await _applyNewMessages(ConversationMessagesList()..add(ev.msg));
|
||||
}
|
||||
});
|
||||
|
||||
this.listen<UpdatedConversationMessageEvent>((ev) async {
|
||||
if (ev.msg.conversationID == widget.conversationID) {
|
||||
await _conversationsHelper.saveMessage(ev.msg);
|
||||
setState(() => _messages.replace(ev.msg));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -406,16 +415,6 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
showSimpleSnack(context, tr("Could not update message content!"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the new version of the conversation message
|
||||
final newMessage =
|
||||
await _conversationsHelper.getSingleMessageFromCache(message.id);
|
||||
|
||||
setState(() {
|
||||
final index = _messages.indexOf(message);
|
||||
_messages.insert(index, newMessage);
|
||||
_messages.removeAt(index + 1);
|
||||
});
|
||||
}
|
||||
|
||||
/// Request message deletion
|
||||
|
Reference in New Issue
Block a user