mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-11 18:19:38 +02:00
getInstanceFor() for ChatManager and AccountManager
This commit is contained in:
parent
6197f6200f
commit
4db967079f
9 changed files with 97 additions and 102 deletions
|
@ -21,6 +21,7 @@ import java.util.Map;
|
|||
import java.util.WeakHashMap;
|
||||
|
||||
import org.jivesoftware.smack.Chat;
|
||||
import org.jivesoftware.smack.ChatManager;
|
||||
import org.jivesoftware.smack.ChatManagerListener;
|
||||
import org.jivesoftware.smack.XMPPConnection;
|
||||
import org.jivesoftware.smack.Manager;
|
||||
|
@ -80,10 +81,13 @@ public class ChatStateManager extends Manager {
|
|||
*/
|
||||
private final Map<Chat, ChatState> chatStates = new WeakHashMap<Chat, ChatState>();
|
||||
|
||||
private final ChatManager chatManager;
|
||||
|
||||
private ChatStateManager(XMPPConnection connection) {
|
||||
super(connection);
|
||||
connection.getChatManager().addOutgoingMessageInterceptor(outgoingInterceptor, filter);
|
||||
connection.getChatManager().addChatListener(incomingInterceptor);
|
||||
chatManager = ChatManager.getInstanceFor(connection);
|
||||
chatManager.addOutgoingMessageInterceptor(outgoingInterceptor, filter);
|
||||
chatManager.addChatListener(incomingInterceptor);
|
||||
|
||||
ServiceDiscoveryManager.getInstanceFor(connection).addFeature(NAMESPACE);
|
||||
INSTANCES.put(connection, this);
|
||||
|
@ -148,7 +152,7 @@ public class ChatStateManager extends Manager {
|
|||
|
||||
public void interceptPacket(Packet packet) {
|
||||
Message message = (Message) packet;
|
||||
Chat chat = connection().getChatManager().getThreadChat(message.getThread());
|
||||
Chat chat = chatManager.getThreadChat(message.getThread());
|
||||
if (chat == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ import java.util.logging.Logger;
|
|||
|
||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
||||
import org.jivesoftware.smack.Chat;
|
||||
import org.jivesoftware.smack.ChatManager;
|
||||
import org.jivesoftware.smack.ConnectionCreationListener;
|
||||
import org.jivesoftware.smack.MessageListener;
|
||||
import org.jivesoftware.smack.PacketCollector;
|
||||
|
@ -1627,7 +1628,7 @@ public class MultiUserChat {
|
|||
* @return new Chat for sending private messages to a given room occupant.
|
||||
*/
|
||||
public Chat createPrivateChat(String occupant, MessageListener listener) {
|
||||
return connection.getChatManager().createChat(occupant, listener);
|
||||
return ChatManager.getInstanceFor(connection).createChat(occupant, listener);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue