aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/parser/MessageParser.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-01-25 19:57:39 +0100
committerChristian Schneppe <christian@pix-art.de>2017-01-25 19:57:39 +0100
commitcf15b442d087287ef285cda70e3dacfeae485055 (patch)
tree9a2102244254a463aec6433e10610510e48be07e /src/main/java/de/pixart/messenger/parser/MessageParser.java
parent508c381e2ede2742801cc0995fb8561e6fa30b45 (diff)
cleaning up crypto targets when conference member is getting removed
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/parser/MessageParser.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java
index b6f68e364..ec341eb37 100644
--- a/src/main/java/de/pixart/messenger/parser/MessageParser.java
+++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java
@@ -617,6 +617,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<Jid> 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);
+ }
+ }
}
}
}