From 52a2efe0a87d6422060e78e0ca7df38c2affd2f2 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 23 Mar 2017 23:39:00 +0100 Subject: experimental: wait for SM catchup before triggering notifications wait for a first SM ACK before calculating if we need to trigger any notifications might have to be changed to an XEP-0199 ping later on. for now sending after resume seems to work outfine --- src/main/java/de/pixart/messenger/parser/MessageParser.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/pixart/messenger/parser/MessageParser.java') diff --git a/src/main/java/de/pixart/messenger/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java index baa3b4d79..6965dfed5 100644 --- a/src/main/java/de/pixart/messenger/parser/MessageParser.java +++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java @@ -595,10 +595,14 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece if (message.trusted() && message.treatAsDownloadable() != Message.Decision.NEVER && manager.getAutoAcceptFileSize() > 0) { manager.createNewDownloadConnection(message); } else if (notify) { - if (query == null) { - mXmppConnectionService.getNotificationService().push(message); + if (query != null && query.isCatchup()) { + mXmppConnectionService.getNotificationService().pushFromBacklog(message); + } else if (account.getXmppConnection().isWaitingForSmCatchup()) { + account.getXmppConnection().incrementSmCatchupMessageCounter(); } else if (query.isCatchup()) { // mam catchup mXmppConnectionService.getNotificationService().pushFromBacklog(message); + } else { + mXmppConnectionService.getNotificationService().push(message); } } } else if (!packet.hasChild("body")) { //no body -- cgit v1.2.3