aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-01-21 14:49:29 +0100
committerChristian Schneppe <christian@pix-art.de>2018-01-21 14:49:29 +0100
commit25437cb60d1933158c6478cc291e3257c5c6db07 (patch)
treead21440fe24785a48b11ca2430f6b4fb178c13cb /src/main/java/de/pixart/messenger/services/XmppConnectionService.java
parent89bea337c741d44d03a56457fe29ed5ba365d765 (diff)
disable offline messages. postpone prekey handling until after mam catchup
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 576050ec1..50eace97b 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -304,6 +304,15 @@ public class XmppConnectionService extends Service {
mJingleConnectionManager.cancelInTransmission();
fetchRosterFromServer(account);
fetchBookmarks(account);
+ final boolean flexible = account.getXmppConnection().getFeatures().flexibleOfflineMessageRetrieval();
+ final boolean catchup = getMessageArchiveService().inCatchup(account);
+ if (flexible && catchup) {
+ sendIqPacket(account, mIqGenerator.purgeOfflineMessages(), (acc, packet) -> {
+ if (packet.getType() == IqPacket.TYPE.RESULT) {
+ Log.d(Config.LOGTAG, acc.getJid().toBareJid() + ": successfully purged offline messages");
+ }
+ });
+ }
sendPresence(account);
if (mPushManagementService.available(account)) {
mPushManagementService.registerPushTokenOnServer(account);