Search in sources :

Example 1 with Pref

use of com.xabber.xmpp.archive.Pref in project xabber-android by redsolution.

the class MessageArchiveManager method checkForDefaults.

private void checkForDefaults(String account, Default received) {
    if (received == null || !received.isUnset() || received.getSave() != SaveMode.fls)
        return;
    Default defaultItem = new Default();
    defaultItem.setExpire(received.getExpire());
    defaultItem.setOtr(received.getOtr());
    defaultItem.setSave(SaveMode.body);
    Pref pref = new Pref();
    pref.setDefault(defaultItem);
    pref.setType(Type.set);
    try {
        ConnectionManager.getInstance().sendStanza(account, pref);
    } catch (NetworkException e) {
    }
}
Also used : Pref(com.xabber.xmpp.archive.Pref) Default(com.xabber.xmpp.archive.Default) NetworkException(com.xabber.android.data.NetworkException)

Example 2 with Pref

use of com.xabber.xmpp.archive.Pref in project xabber-android by redsolution.

the class MessageArchiveManager method sendItemUpdate.

private void sendItemUpdate(String account, String user, SaveMode saveMode, OtrMode otrMode) throws NetworkException {
    Item extension = new Item();
    extension.setJid(user);
    extension.setOtr(otrMode);
    extension.setSave(saveMode);
    Pref packet = new Pref();
    packet.addItem(extension);
    packet.setType(Type.set);
    ConnectionManager.getInstance().sendStanza(account, packet);
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) Item(com.xabber.xmpp.archive.Item) MessageItem(com.xabber.android.data.message.MessageItem) ConnectionItem(com.xabber.android.data.connection.ConnectionItem) Pref(com.xabber.xmpp.archive.Pref)

Example 3 with Pref

use of com.xabber.xmpp.archive.Pref in project xabber-android by redsolution.

the class MessageArchiveManager method requestPreferences.

private void requestPreferences(String account) {
    Pref pref = new Pref();
    pref.setType(Type.get);
    try {
        ConnectionManager.getInstance().sendRequest(account, pref, new OnResponseListener() {

            @Override
            public void onReceived(String account, String packetId, IQ iq) {
                if (iq instanceof Pref && ((Pref) iq).isValid())
                    onPreferencesResponce(account, (Pref) iq);
                onPreferenceAvailable(account);
            }

            @Override
            public void onError(String account, String packetId, IQ iq) {
                onPreferenceAvailable(account);
            }

            @Override
            public void onTimeout(String account, String packetId) {
                onError(account, packetId, null);
            }

            @Override
            public void onDisconnect(String account, String packetId) {
            }
        });
    } catch (NetworkException e) {
    }
}
Also used : OnResponseListener(com.xabber.android.data.connection.OnResponseListener) Pref(com.xabber.xmpp.archive.Pref) IQ(org.jivesoftware.smack.packet.IQ) NetworkException(com.xabber.android.data.NetworkException)

Example 4 with Pref

use of com.xabber.xmpp.archive.Pref in project xabber-android by redsolution.

the class MessageArchiveManager method onPacket.

@Override
public void onPacket(ConnectionItem connection, final String bareAddress, Stanza packet) {
    if (!(connection instanceof AccountItem))
        return;
    String account = ((AccountItem) connection).getAccount();
    if (AccountManager.getInstance().getArchiveMode(account) != ArchiveMode.server)
        return;
    if (bareAddress != null && !Jid.getServer(account).equals(bareAddress))
        return;
    if (!(packet instanceof IQ))
        return;
    IQ iq = (IQ) packet;
    if (iq.getType() == Type.set && packet instanceof Pref && ((Pref) packet).isValid())
        onPreferenceReceived(account, (Pref) packet);
    else if (iq.getType() == Type.set && packet instanceof ItemRemove && ((ItemRemove) packet).isValid())
        onItemRemoveReceived(account, (ItemRemove) packet);
    else if (iq.getType() == Type.set && packet instanceof SessionRemove && ((SessionRemove) packet).isValid())
        onSessionRemoveReceived(account, (SessionRemove) packet);
    else if (iq.getType() == Type.result && packet instanceof List && ((List) packet).isValid())
        onListReceived(account, (List) packet);
    else if (iq.getType() == Type.result && packet instanceof Chat && ((Chat) packet).isValid())
        onChatReceived(account, (Chat) packet);
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) Pref(com.xabber.xmpp.archive.Pref) ItemRemove(com.xabber.xmpp.archive.ItemRemove) SessionRemove(com.xabber.xmpp.archive.SessionRemove) IQ(org.jivesoftware.smack.packet.IQ) AbstractChat(com.xabber.android.data.message.AbstractChat) Chat(com.xabber.xmpp.archive.Chat) List(com.xabber.xmpp.archive.List)

Example 5 with Pref

use of com.xabber.xmpp.archive.Pref in project xabber-android by redsolution.

the class MessageArchiveManager method sendSessionUpdate.

private void sendSessionUpdate(String account, String session, SaveMode saveMode) throws NetworkException {
    Session extension = new Session();
    extension.setThread(session);
    extension.setTimeout(SESSION_TIMEOUT);
    extension.setSave(saveMode);
    Pref packet = new Pref();
    packet.addSession(extension);
    packet.setType(Type.set);
    ConnectionManager.getInstance().sendStanza(account, packet);
    sessionSaves.put(account, session, saveMode);
}
Also used : Pref(com.xabber.xmpp.archive.Pref) Session(com.xabber.xmpp.archive.Session)

Aggregations

Pref (com.xabber.xmpp.archive.Pref)5 NetworkException (com.xabber.android.data.NetworkException)2 AccountItem (com.xabber.android.data.account.AccountItem)2 IQ (org.jivesoftware.smack.packet.IQ)2 ConnectionItem (com.xabber.android.data.connection.ConnectionItem)1 OnResponseListener (com.xabber.android.data.connection.OnResponseListener)1 AbstractChat (com.xabber.android.data.message.AbstractChat)1 MessageItem (com.xabber.android.data.message.MessageItem)1 Chat (com.xabber.xmpp.archive.Chat)1 Default (com.xabber.xmpp.archive.Default)1 Item (com.xabber.xmpp.archive.Item)1 ItemRemove (com.xabber.xmpp.archive.ItemRemove)1 List (com.xabber.xmpp.archive.List)1 Session (com.xabber.xmpp.archive.Session)1 SessionRemove (com.xabber.xmpp.archive.SessionRemove)1