diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-08-01 12:40:05 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-08-01 12:40:05 +0200 |
commit | e8c191dcd2e97977ee6a5e2738295d22e411ca9e (patch) | |
tree | 8c613061a3464a1349db216e442de08ef5282167 /src/main/java/de/pixart/messenger/parser/PresenceParser.java | |
parent | 8b6981c6ebf8286eb690764aaa8165a7a398c8da (diff) |
fetch device ids for muc members w/o known devices
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser/PresenceParser.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/PresenceParser.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/PresenceParser.java b/src/main/java/de/pixart/messenger/parser/PresenceParser.java index c95380085..37efcdc8b 100644 --- a/src/main/java/de/pixart/messenger/parser/PresenceParser.java +++ b/src/main/java/de/pixart/messenger/parser/PresenceParser.java @@ -8,6 +8,7 @@ import java.util.List; import de.pixart.messenger.Config; import de.pixart.messenger.crypto.PgpEngine; +import de.pixart.messenger.crypto.axolotl.AxolotlService; import de.pixart.messenger.entities.Account; import de.pixart.messenger.entities.Contact; import de.pixart.messenger.entities.Conversation; @@ -75,7 +76,11 @@ public class PresenceParser extends AbstractParser implements mucOptions.onRenameListener = null; } } - mucOptions.updateUser(user); + boolean isNew = mucOptions.updateUser(user); + final AxolotlService axolotlService = conversation.getAccount().getAxolotlService(); + if (isNew && user.getRealJid() != null && mucOptions.membersOnly() && mucOptions.nonanonymous() && axolotlService.hasEmptyDeviceList(user.getRealJid())) { + axolotlService.fetchDeviceIds(user.getRealJid()); + } if (codes.contains(MucOptions.STATUS_CODE_ROOM_CREATED) && mucOptions.autoPushConfiguration()) { Log.d(Config.LOGTAG, mucOptions.getAccount().getJid().toBareJid() + ": room '" |