From 5b681553df2208869a4db8bb9cfdad43d525f9f5 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Sat, 8 Dec 2018 22:35:41 +0100 Subject: [PATCH] do not process PEP bookmarks if conversion feature n/a If conversion feature is not available we will never write to PEP therefor it is not advisable to process PEP events; otherwise the changes we do might not land in PEP. simply ignoring PEP is probably better than dynamically removing +notify --- .../java/eu/siacs/conversations/parser/MessageParser.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 42b921bd1..0f62af0e1 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -214,12 +214,14 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece Log.d(Config.LOGTAG, AxolotlService.getLogprefix(account) + "Received PEP device list " + deviceIds + " update from " + from + ", processing... "); AxolotlService axolotlService = account.getAxolotlService(); axolotlService.registerDevices(from, deviceIds); - } else if (Namespace.BOOKMARKS.equals(node)) { - Log.d(Config.LOGTAG, "received bookmarks from " + from); - if (account.getJid().asBareJid().equals(from)) { + } else if (Namespace.BOOKMARKS.equals(node) && account.getJid().asBareJid().equals(from)) { + if (account.getXmppConnection().getFeatures().bookmarksConversion()) { final Element i = items.findChild("item"); final Element storage = i == null ? null : i.findChild("storage", Namespace.BOOKMARKS); mXmppConnectionService.processBookmarks(account, storage); + Log.d(Config.LOGTAG,account.getJid().asBareJid()+": processing bookmark PEP event"); + } else { + Log.d(Config.LOGTAG,account.getJid().asBareJid()+": ignoring bookmark PEP event because bookmark conversion was not detected"); } } }