PublishOptions.java

 1package eu.siacs.conversations.xmpp.pep;
 2
 3import android.os.Bundle;
 4
 5import eu.siacs.conversations.xml.Element;
 6import eu.siacs.conversations.xml.Namespace;
 7import eu.siacs.conversations.xmpp.stanzas.IqPacket;
 8
 9public class PublishOptions {
10
11    private PublishOptions() {
12
13    }
14
15    public static Bundle openAccess() {
16        final Bundle options = new Bundle();
17        options.putString("pubsub#access_model","open");
18        return options;
19    }
20
21    public static Bundle persistentWhitelistAccess() {
22        final Bundle options = new Bundle();
23        options.putString("pubsub#persist_items","true");
24        options.putString("pubsub#access_model","whitelist");
25        return options;
26    }
27
28    public static boolean preconditionNotMet(IqPacket response) {
29        final Element error = response.getType() == IqPacket.TYPE.ERROR ? response.findChild("error") : null;
30        return error != null && error.hasChild("precondition-not-met", Namespace.PUBSUB_ERROR);
31    }
32
33}