aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-02-24 15:57:53 +0100
committerChristian Schneppe <christian@pix-art.de>2018-02-24 15:57:53 +0100
commit8f11febe84f4d9ed3ee55dcea7ea4224ac741ef2 (patch)
treeffd3f94be6fa81e6ce164c37f6a5c748cf1194a4 /src/main/java/de/pixart/messenger/services/XmppConnectionService.java
parent34718bcbbc2f0406607766e088d89ae2445999e5 (diff)
only explicitly request device list for users not in roster
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 96c80c93d..ad802711c 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -2527,7 +2527,11 @@ public class XmppConnectionService extends Service {
MucOptions.User user = AbstractParser.parseItem(conversation, child);
if (!user.realJidMatchesAccount()) {
boolean isNew = conversation.getMucOptions().updateUser(user);
- if (isNew && user.getRealJid() != null && axolotlService.hasEmptyDeviceList(user.getRealJid())) {
+ Contact contact = user.getContact();
+ if (isNew
+ && user.getRealJid() != null
+ && (contact == null || !contact.mutualPresenceSubscription())
+ && axolotlService.hasEmptyDeviceList(user.getRealJid())) {
axolotlService.fetchDeviceIds(user.getRealJid());
}
}