aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian.schneppe@pix-art.de>2019-10-26 17:53:03 +0200
committerChristian Schneppe <christian.schneppe@pix-art.de>2019-10-26 17:53:03 +0200
commit8d7727fcdc400dcd05babe4ec9b78fa0d1f56717 (patch)
tree45472c1966b93fe5febffa068710fcd3a8da8af2 /src/main/java/de/pixart/messenger/services/XmppConnectionService.java
parent6df9c91b30c01beeb5d3f25d68f599e0dbe4c319 (diff)
support for delete bookmarks2
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java34
1 files changed, 27 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index b2ae329c8..77f3bb78f 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -338,10 +338,12 @@ public class XmppConnectionService extends Service {
mJingleConnectionManager.cancelInTransmission();
mQuickConversationsService.considerSyncBackground(false);
fetchRosterFromServer(account);
- fetchBookmarks2(account);
- /*if (!account.getXmppConnection().getFeatures().bookmarksConversion()) {
+ final XmppConnection connection = account.getXmppConnection();
+ if (connection.getFeatures().bookmarks2()) {
+ fetchBookmarks2(account);
+ } else if (!account.getXmppConnection().getFeatures().bookmarksConversion()) {
fetchBookmarks(account);
- }*/
+ }
final boolean flexible = account.getXmppConnection().getFeatures().flexibleOfflineMessageRetrieval();
final boolean catchup = getMessageArchiveService().inCatchup(account);
if (flexible && catchup && account.getXmppConnection().isMamPreferenceAlways()) {
@@ -1819,8 +1821,6 @@ public class XmppConnectionService extends Service {
if (response.getType() == IqPacket.TYPE.RESULT) {
final Element pubsub = response.findChild("pubsub", Namespace.PUBSUB);
final Collection<Bookmark> bookmarks = Bookmark.parseFromPubsub(pubsub, account);
- Log.d(Config.LOGTAG, "bookmarks2 " + pubsub);
- Log.d(Config.LOGTAG, "bookmarks2" + bookmarks);
processBookmarksInitial(account, bookmarks, true);
}
}
@@ -1861,12 +1861,32 @@ public class XmppConnectionService extends Service {
}
public void createBookmark(final Account account, final Bookmark bookmark) {
- final Element item = mIqGenerator.publishBookmarkItem(bookmark);
- pushNodeAndEnforcePublishOptions(account, Namespace.BOOKMARK, item, bookmark.getJid().asBareJid().toEscapedString(), PublishOptions.persistentWhitelistAccessMaxItems());
+ final XmppConnection connection = account.getXmppConnection();
+ if (connection.getFeatures().bookmarks2()) {
+ final Element item = mIqGenerator.publishBookmarkItem(bookmark);
+ pushNodeAndEnforcePublishOptions(account, Namespace.BOOKMARK, item, bookmark.getJid().asBareJid().toEscapedString(), PublishOptions.persistentWhitelistAccessMaxItems());
+ } else if (connection.getFeatures().bookmarksConversion()) {
+ pushBookmarksPep(account);
+ } else {
+ pushBookmarksPrivateXml(account);
+ }
}
public void deleteBookmark(final Account account, final Bookmark bookmark) {
final XmppConnection connection = account.getXmppConnection();
+ if (connection.getFeatures().bookmarksConversion()) {
+ IqPacket request = mIqGenerator.deleteItem(Namespace.BOOKMARK, bookmark.getJid().asBareJid().toEscapedString());
+ sendIqPacket(account, request, new OnIqPacketReceived() {
+ @Override
+ public void onIqPacketReceived(Account account, IqPacket packet) {
+ Log.d(Config.LOGTAG, packet.toString());
+ }
+ });
+ } else if (connection.getFeatures().bookmarksConversion()) {
+ pushBookmarksPep(account);
+ } else {
+ pushBookmarksPrivateXml(account);
+ }
}
private void pushBookmarksPrivateXml(Account account) {