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}