PublishOptions.java

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