aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser/PresenceParser.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-09-27 20:07:11 +0200
committerChristian Schneppe <christian@pix-art.de>2018-09-27 20:07:11 +0200
commitf67821752d81253478ac248e62482d6d89427e41 (patch)
tree7eb0946fd4e38c37b55873d63f49d2fd354b4a95 /src/main/java/de/pixart/messenger/parser/PresenceParser.java
parentada027ebd65b1b98ef5e42e910229f50b97e3033 (diff)
store avatars received over muc presence in contact
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/parser/PresenceParser.java8
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);
}