Change summary
src/main/java/eu/siacs/conversations/entities/MucOptions.java | 4 ++
src/main/java/eu/siacs/conversations/parser/PresenceParser.java | 4 ++
2 files changed, 6 insertions(+), 2 deletions(-)
Detailed changes
@@ -553,8 +553,10 @@ public class MucOptions {
this.error = error;
}
- public void setOnline() {
+ public boolean setOnline() {
+ boolean before = this.isOnline;
this.isOnline = true;
+ return !before;
}
public ArrayList<User> getUsers() {
@@ -70,7 +70,9 @@ public class PresenceParser extends AbstractParser implements
MucOptions.User user = parseItem(conversation, item, from);
if (codes.contains(MucOptions.STATUS_CODE_SELF_PRESENCE)
|| ((codes.isEmpty() || codes.contains(MucOptions.STATUS_CODE_ROOM_CREATED)) && jid.equals(item.getAttributeAsJid("jid")))) {
- mucOptions.setOnline();
+ if (mucOptions.setOnline()) {
+ mXmppConnectionService.getAvatarService().clear(mucOptions);
+ }
mucOptions.setSelf(user);
invokeRenameListener(mucOptions, true);
}