1package eu.siacs.conversations.xmpp.manager;
2
3import android.content.Context;
4import android.util.Log;
5import eu.siacs.conversations.Config;
6import eu.siacs.conversations.crypto.axolotl.AxolotlService;
7import eu.siacs.conversations.xmpp.Jid;
8import eu.siacs.conversations.xmpp.XmppConnection;
9import im.conversations.android.xmpp.model.axolotl.DeviceList;
10import im.conversations.android.xmpp.model.pubsub.Items;
11import java.util.HashSet;
12import java.util.Set;
13
14public class AxolotlManager extends AbstractManager {
15
16 public AxolotlManager(final Context context, final XmppConnection connection) {
17 super(context, connection);
18 }
19
20 public void handleItems(final Jid from, final Items items) {
21 final var account = getAccount();
22 final var deviceList = items.getFirstItem(DeviceList.class);
23 if (deviceList == null) {
24 return;
25 }
26 final Set<Integer> deviceIds = deviceList.getDeviceIds();
27 Log.d(
28 Config.LOGTAG,
29 AxolotlService.getLogprefix(account)
30 + "Received PEP device list "
31 + deviceIds
32 + " update from "
33 + from
34 + ", processing... ");
35 final AxolotlService axolotlService = account.getAxolotlService();
36 axolotlService.registerDevices(from, new HashSet<>(deviceIds));
37 }
38}