diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 9 |
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); |