diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/generator/AbstractGenerator.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/generator/AbstractGenerator.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/generator/AbstractGenerator.java b/src/main/java/de/pixart/messenger/generator/AbstractGenerator.java index 68a9ea213..545784586 100644 --- a/src/main/java/de/pixart/messenger/generator/AbstractGenerator.java +++ b/src/main/java/de/pixart/messenger/generator/AbstractGenerator.java @@ -19,6 +19,7 @@ import de.pixart.messenger.entities.Account; import de.pixart.messenger.services.XmppConnectionService; import de.pixart.messenger.utils.Namespace; import de.pixart.messenger.utils.PhoneHelper; +import de.pixart.messenger.xmpp.XmppConnection; import de.pixart.messenger.xmpp.jingle.stanzas.Content; public abstract class AbstractGenerator { @@ -38,7 +39,6 @@ public abstract class AbstractGenerator { "http://jabber.org/protocol/disco#info", "urn:xmpp:avatar:metadata+notify", Namespace.NICK + "+notify", - Namespace.BOOKMARK + "+notify", "urn:xmpp:ping", "jabber:iq:version", "http://jabber.org/protocol/chatstates" @@ -112,7 +112,8 @@ public abstract class AbstractGenerator { } public List<String> getFeatures(Account account) { - ArrayList<String> features = new ArrayList<>(Arrays.asList(FEATURES)); + final XmppConnection connection = account.getXmppConnection(); + final ArrayList<String> features = new ArrayList<>(Arrays.asList(FEATURES)); if (mXmppConnectionService.confirmMessages()) { features.addAll(Arrays.asList(MESSAGE_CONFIRMATION_FEATURES)); } @@ -131,6 +132,11 @@ public abstract class AbstractGenerator { if (mXmppConnectionService.broadcastLastActivity()) { features.add(Namespace.IDLE); } + if (connection != null && connection.getFeatures().bookmarks2()) { + features.add(Namespace.BOOKMARK + "+notify"); + } else { + features.add(Namespace.BOOKMARKS + "+notify"); + } Collections.sort(features); return features; } |