aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/pixart/messenger/xmpp/XmppConnection.java8
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();