From 4c6ef3b24edcd1169940851fc01103cc9d29d2be Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sun, 22 Jan 2017 18:58:49 +0100 Subject: cleaning up crypto targets when conference member is getting removed --- src/main/java/eu/siacs/conversations/parser/MessageParser.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/main/java/eu/siacs/conversations/parser/MessageParser.java') diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 7a08340b..9a52ff80 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -624,6 +624,15 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece mXmppConnectionService.getAvatarService().clear(conversation); mXmppConnectionService.updateMucRosterUi(); mXmppConnectionService.updateConversationUi(); + if (!user.getAffiliation().ranks(MucOptions.Affiliation.MEMBER)) { + Jid jid = user.getRealJid(); + List cryptoTargets = conversation.getAcceptedCryptoTargets(); + if (cryptoTargets.remove(user.getRealJid())) { + Log.d(Config.LOGTAG,account.getJid().toBareJid()+": removed "+jid+" from crypto targets of "+conversation.getName()); + conversation.setAcceptedCryptoTargets(cryptoTargets); + mXmppConnectionService.updateConversation(conversation); + } + } } } } -- cgit v1.2.3