don't add outcasts or non-members in members-only rooms back to list

This commit is contained in:
Daniel Gultsch 2016-11-12 20:21:11 +01:00
parent f7c2cd4807
commit fe62ef32ae
2 changed files with 7 additions and 4 deletions

View file

@ -435,9 +435,12 @@ public class MucOptions {
if (old != null) { if (old != null) {
users.remove(old); users.remove(old);
} }
if ((!membersOnly() || user.getAffiliation().ranks(Affiliation.MEMBER))
&& user.getAffiliation().outranks(Affiliation.OUTCAST)){
this.users.add(user); this.users.add(user);
} }
} }
}
public User findUserByFullJid(Jid jid) { public User findUserByFullJid(Jid jid) {
if (jid == null) { if (jid == null) {

View file

@ -2128,9 +2128,6 @@ public class XmppConnectionService extends Service {
MucOptions.User user = AbstractParser.parseItem(conversation,child); MucOptions.User user = AbstractParser.parseItem(conversation,child);
if (!user.realJidMatchesAccount()) { if (!user.realJidMatchesAccount()) {
conversation.getMucOptions().addUser(user); conversation.getMucOptions().addUser(user);
getAvatarService().clear(conversation);
updateMucRosterUi();
updateConversationUi();
} }
} }
} }
@ -2140,6 +2137,9 @@ public class XmppConnectionService extends Service {
++i; ++i;
if (i >= affiliations.length) { if (i >= affiliations.length) {
Log.d(Config.LOGTAG,account.getJid().toBareJid()+": retrieved members for "+conversation.getJid().toBareJid()+": "+conversation.getMucOptions().getMembers()); Log.d(Config.LOGTAG,account.getJid().toBareJid()+": retrieved members for "+conversation.getJid().toBareJid()+": "+conversation.getMucOptions().getMembers());
getAvatarService().clear(conversation);
updateMucRosterUi();
updateConversationUi();
} }
} }
}; };