mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 08:15:16 +00:00
Do not retrieve twice the same message
This commit is contained in:
@ -58,8 +58,9 @@ class _ConversationScreenState extends State<ConversationScreen> {
|
||||
/// Load a list of messages
|
||||
Future<void> _loadMessages() async {
|
||||
//First, get the messages
|
||||
final messages = await _conversationsHelper
|
||||
.downloadNewMessagesSingle(widget.conversationID);
|
||||
final messages = await _conversationsHelper.getNewMessages(
|
||||
conversationID: widget.conversationID,
|
||||
lastMessageID: _messages == null ? 0 : _messages.lastMessageID);
|
||||
|
||||
if (messages == null) return _errorLoading();
|
||||
|
||||
@ -81,7 +82,7 @@ class _ConversationScreenState extends State<ConversationScreen> {
|
||||
|
||||
//Reverse the order of the messages
|
||||
_messages.sort();
|
||||
final reverse =_messages.reversed;
|
||||
final reverse = _messages.reversed;
|
||||
_messages = ConversationMessagesList();
|
||||
_messages.addAll(reverse);
|
||||
});
|
||||
@ -164,7 +165,8 @@ class _ConversationScreenState extends State<ConversationScreen> {
|
||||
/// Check if a message is the first message of a user or not
|
||||
bool _isFirstMessage(int index) {
|
||||
return index == _messages.length - 1 ||
|
||||
(index < _messages.length - 1 && _messages[index + 1].userID != _messages[index].userID);
|
||||
(index < _messages.length - 1 &&
|
||||
_messages[index + 1].userID != _messages[index].userID);
|
||||
}
|
||||
|
||||
/// Error handling
|
||||
@ -176,7 +178,7 @@ class _ConversationScreenState extends State<ConversationScreen> {
|
||||
Widget _buildMessagesList() {
|
||||
return Expanded(
|
||||
child: ListView.builder(
|
||||
reverse: true,
|
||||
reverse: true,
|
||||
itemCount: _messages.length,
|
||||
itemBuilder: (c, i) {
|
||||
return ConversationMessageTile(
|
||||
|
Reference in New Issue
Block a user