LegacyBookmarkManager.java

 1package eu.siacs.conversations.xmpp.manager;
 2
 3import android.util.Log;
 4import eu.siacs.conversations.Config;
 5import eu.siacs.conversations.entities.Bookmark;
 6import eu.siacs.conversations.services.XmppConnectionService;
 7import eu.siacs.conversations.xmpp.Jid;
 8import eu.siacs.conversations.xmpp.XmppConnection;
 9import im.conversations.android.xmpp.model.bookmark.Storage;
10import im.conversations.android.xmpp.model.pubsub.Items;
11import java.util.Map;
12
13public class LegacyBookmarkManager extends AbstractBookmarkManager {
14
15    public LegacyBookmarkManager(
16            final XmppConnectionService service, final XmppConnection connection) {
17        super(service, connection);
18    }
19
20    public void handleItems(final Items items) {
21        final var account = this.getAccount();
22        final var connection = this.connection;
23        if (connection.getFeatures().bookmarksConversion()) {
24            if (connection.getFeatures().bookmarks2()) {
25                Log.w(
26                        Config.LOGTAG,
27                        account.getJid().asBareJid()
28                                + ": received storage:bookmark notification even though we"
29                                + " opted into bookmarks:1");
30            }
31            final var storage = items.getFirstItem(Storage.class);
32            final Map<Jid, Bookmark> bookmarks = Bookmark.parseFromStorage(storage, account);
33            this.processBookmarksInitial(bookmarks, true);
34            Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": processing bookmark PEP event");
35        } else {
36            Log.d(
37                    Config.LOGTAG,
38                    account.getJid().asBareJid()
39                            + ": ignoring bookmark PEP event because bookmark conversion was"
40                            + " not detected");
41        }
42    }
43}