aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser/MessageParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser/MessageParser.java')
-rw-r--r--src/main/java/de/pixart/messenger/parser/MessageParser.java8
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