diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 6 |
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 0be6c824a..737598cbb 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -2479,6 +2479,7 @@ public class XmppConnectionService extends Service { private void fetchConferenceMembers(final Conversation conversation) { final Account account = conversation.getAccount(); + final AxolotlService axolotlService = account.getAxolotlService(); final String[] affiliations = {"member", "admin", "owner"}; OnIqPacketReceived callback = new OnIqPacketReceived() { @@ -2494,7 +2495,10 @@ public class XmppConnectionService extends Service { if ("item".equals(child.getName())) { MucOptions.User user = AbstractParser.parseItem(conversation, child); if (!user.realJidMatchesAccount()) { - conversation.getMucOptions().updateUser(user); + boolean isNew = conversation.getMucOptions().updateUser(user); + if (isNew && user.getRealJid() != null && axolotlService.hasEmptyDeviceList(user.getRealJid())) { + axolotlService.fetchDeviceIds(user.getRealJid()); + } } } } |