diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-03-23 23:39:00 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-03-23 23:39:00 +0100 |
commit | 52a2efe0a87d6422060e78e0ca7df38c2affd2f2 (patch) | |
tree | 9e7a4cfb669f29b7b4d10bd987d595b9c0ab66ab /src/main/java/de/pixart/messenger/parser | |
parent | 95ef8fd216d31aabd089649161ac699d06f3f8cd (diff) |
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
<r/> after resume seems to work outfine
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/MessageParser.java | 8 |
1 files changed, 6 insertions, 2 deletions
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 |