1
0
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:
2019-04-27 08:51:58 +02:00
parent c9eb57586f
commit eaac6b1afa
3 changed files with 29 additions and 6 deletions

View File

@ -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(