aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java
diff options
context:
space:
mode:
authorsaqura <saqura@saqura.eu>2015-10-05 00:45:16 +0200
committerDaniel Gultsch <daniel@gultsch.de>2015-10-06 16:23:45 +0200
commitfd61d67dabcb54511f6aa29079ea68d222e59345 (patch)
tree8ef614e7fa944e1967ef229d21a46434f0aad90b /src/main/java/eu/siacs/conversations/services/MessageArchiveService.java
parent05d0c9f4febeb5cf825f789ae617eb0c862a5235 (diff)
Use MAM for MUC initial history retrieval
If the MUC supports MAM (XEP-0313), use it to retrieve the history when joining.
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services/MessageArchiveService.java')
-rw-r--r--src/main/java/eu/siacs/conversations/services/MessageArchiveService.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java b/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java
index 351ded0b..ae81cc17 100644
--- a/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java
+++ b/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java
@@ -54,6 +54,18 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded {
this.execute(query);
}
+ public void catchupMUC(final Conversation conversation) {
+ if (conversation.getLastMessageTransmitted() < 0 && conversation.countMessages() == 0) {
+ query(conversation,
+ 0,
+ System.currentTimeMillis());
+ } else {
+ query(conversation,
+ conversation.getLastMessageTransmitted(),
+ System.currentTimeMillis());
+ }
+ }
+
private long getLastMessageTransmitted(final Account account) {
long timestamp = 0;
for(final Conversation conversation : mXmppConnectionService.getConversations()) {