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) {
}
}
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);
}
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) {
}
}
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);
}
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);
}
Aggregations