special treatment for presence errors known to be mucs

This commit is contained in:
Christian Schneppe 2018-08-30 20:47:14 +02:00
parent 73b65ef7e1
commit 8b4e383d0f
2 changed files with 7 additions and 0 deletions

View file

@ -349,6 +349,8 @@ public class PresenceParser extends AbstractParser implements
this.parseConferencePresence(packet, account);
} else if (packet.hasChild("x", "http://jabber.org/protocol/muc")) {
this.parseConferencePresence(packet, account);
} else if ("error".equals(packet.getAttribute("type")) && mXmppConnectionService.isMuc(account, packet.getFrom())) {
this.parseConferencePresence(packet, account);
} else {
this.parseContactPresence(packet, account);
}

View file

@ -568,6 +568,11 @@ public class XmppConnectionService extends Service {
return find(getConversations(), account, jid);
}
public boolean isMuc(final Account account, final Jid jid) {
final Conversation c = find(account, jid);
return c != null && c.getMode() == Conversational.MODE_MULTI;
}
public void search(List<String> term, OnSearchResultsAvailable onSearchResultsAvailable) {
MessageSearchTask.search(this, term, onSearchResultsAvailable);
}