52 lines
1.8 KiB
Java
52 lines
1.8 KiB
Java
package org.mercury_im.messenger;
|
|
|
|
import org.jivesoftware.smack.ReconnectionManager;
|
|
import org.jivesoftware.smackx.caps.EntityCapsManager;
|
|
import org.jivesoftware.smackx.iqversion.VersionManager;
|
|
import org.jivesoftware.smackx.receipts.DeliveryReceiptManager;
|
|
import org.jivesoftware.smackx.sid.StableUniqueStanzaIdManager;
|
|
import org.mercury_im.messenger.data.repository.Repositories;
|
|
import org.mercury_im.messenger.store.MercuryEntityCapsStore;
|
|
import org.mercury_im.messenger.xmpp.MercuryConnectionManager;
|
|
|
|
import javax.inject.Inject;
|
|
import javax.inject.Singleton;
|
|
|
|
@Singleton
|
|
public class Messenger {
|
|
|
|
public static final String TAG = "MercuryIM";
|
|
|
|
private final MercuryConnectionManager connectionManager;
|
|
private final Repositories repositories;
|
|
|
|
static {
|
|
ReconnectionManager.setEnabledPerDefault(true);
|
|
ReconnectionManager.setDefaultReconnectionPolicy(ReconnectionManager.ReconnectionPolicy.RANDOM_INCREASING_DELAY);
|
|
|
|
VersionManager.setAutoAppendSmackVersion(false);
|
|
VersionManager.setDefaultVersion("Mercury-IM", "0.0.1-little-joe");
|
|
|
|
DeliveryReceiptManager.setDefaultAutoReceiptMode(DeliveryReceiptManager.AutoReceiptMode.ifIsSubscribed);
|
|
|
|
StableUniqueStanzaIdManager.setEnabledByDefault(true);
|
|
}
|
|
|
|
@Inject
|
|
public Messenger(Repositories repositories,
|
|
MercuryConnectionManager connectionManager,
|
|
MercuryEntityCapsStore entityCapsStore) {
|
|
this.repositories = repositories;
|
|
this.connectionManager = connectionManager;
|
|
connectionManager.setRepositories(repositories);
|
|
|
|
EntityCapsManager.setPersistentCache(entityCapsStore);
|
|
getConnectionManager().connectActiveAccounts();
|
|
}
|
|
|
|
public MercuryConnectionManager getConnectionManager() {
|
|
return connectionManager;
|
|
}
|
|
|
|
}
|