diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-09-27 20:07:11 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-09-27 20:07:11 +0200 |
commit | f67821752d81253478ac248e62482d6d89427e41 (patch) | |
tree | 7eb0946fd4e38c37b55873d63f49d2fd354b4a95 /src/main/java/de/pixart/messenger/parser/PresenceParser.java | |
parent | ada027ebd65b1b98ef5e42e910229f50b97e3033 (diff) |
store avatars received over muc presence in contact
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser/PresenceParser.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/PresenceParser.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/PresenceParser.java b/src/main/java/de/pixart/messenger/parser/PresenceParser.java index 39a3cfeba..6a878d27f 100644 --- a/src/main/java/de/pixart/messenger/parser/PresenceParser.java +++ b/src/main/java/de/pixart/messenger/parser/PresenceParser.java @@ -115,6 +115,14 @@ public class PresenceParser extends AbstractParser implements if (user.setAvatar(avatar)) { mXmppConnectionService.getAvatarService().clear(user); } + if (user.getRealJid() != null) { + Contact c = conversation.getAccount().getRoster().getContact(user.getRealJid()); + if (c.setAvatar(avatar)) { + mXmppConnectionService.syncRoster(conversation.getAccount()); + mXmppConnectionService.getAvatarService().clear(c); + mXmppConnectionService.updateRosterUi(); + } + } } else if (mXmppConnectionService.isDataSaverDisabled()) { mXmppConnectionService.fetchAvatar(mucOptions.getAccount(), avatar); } |