From 2f7a141ee68789175b59a39f4b62dbc8c691a1e3 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 21 Jan 2018 15:05:26 +0100 Subject: postpone notification actions (mark as read, reply) until after messages are loaded --- src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/pixart/messenger/xmpp/XmppConnection.java') diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index 0e168ca3b..f015544ed 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -1073,14 +1073,16 @@ public class XmppConnection implements Runnable { } private void sendBindRequest() { - while (!mXmppConnectionService.areMessagesInitialized() && socket != null && !socket.isClosed()) { - uninterruptedSleep(500); + try { + mXmppConnectionService.restoredFromDatabaseLatch.await(); + } catch (InterruptedException e) { + Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": interrupted while waiting for DB restore during bind"); + return; } needsBinding = false; clearIqCallbacks(); final IqPacket iq = new IqPacket(IqPacket.TYPE.SET); - iq.addChild("bind", "urn:ietf:params:xml:ns:xmpp-bind") - .addChild("resource").setContent(account.getResource()); + iq.addChild("bind", Namespace.BIND).addChild("resource").setContent(account.getResource()); this.sendUnmodifiedIqPacket(iq, new OnIqPacketReceived() { @Override public void onIqPacketReceived(final Account account, final IqPacket packet) { -- cgit v1.2.3