From f81e5e471e41e4b4b3ffb4ccaa4908eb2de34c31 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 20 Feb 2018 17:36:07 +0100 Subject: [PATCH] request disco items before disco#info on first connect should make initial connect faster because code is not waiting for omemo code to run --- .../java/eu/siacs/conversations/xmpp/XmppConnection.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index 2948d8c32..a6b72ed0c 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -1203,6 +1203,10 @@ public class XmppConnection implements Runnable { if (hash != null && ver != null) { discoveryResult = mXmppConnectionService.getCachedServiceDiscoveryResult(new Pair<>(hash, ver)); } + final boolean requestDiscoItemsFirst = !account.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY); + if (requestDiscoItemsFirst) { + sendServiceDiscoveryItems(account.getServer()); + } if (discoveryResult == null) { sendServiceDiscoveryInfo(account.getServer()); } else { @@ -1210,7 +1214,9 @@ public class XmppConnection implements Runnable { disco.put(account.getServer(), discoveryResult); } sendServiceDiscoveryInfo(account.getJid().toBareJid()); - sendServiceDiscoveryItems(account.getServer()); + if (!requestDiscoItemsFirst) { + sendServiceDiscoveryItems(account.getServer()); + } if (!mWaitForDisco.get()) { finalizeBind();