diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger')
-rw-r--r-- | src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index 418ea1982..a64175cb3 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -1233,6 +1233,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 { @@ -1240,7 +1244,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(); |