package org.limewire.ui.swing.friends.chat; import java.beans.PropertyChangeListener; import java.util.Collections; import java.util.Map; import org.limewire.friend.api.Friend; import org.limewire.friend.api.FriendPresence; import org.limewire.friend.api.IncomingChatListener; import org.limewire.friend.api.MessageReader; import org.limewire.friend.api.MessageWriter; import org.limewire.friend.api.Network; import org.limewire.friend.api.PresenceEvent; import org.limewire.friend.api.FriendPresence.Mode; import org.limewire.listener.EventListener; class MockChatFriend implements ChatFriend { private String name, status; private Mode state; private boolean receivingUnviewedMessages; public MockChatFriend(String name, String status, Mode state) { this.name = name; this.state = state; this.status = status; } @Override public Friend getFriend() { return new Friend() { @Override public String getId() { return name; } @Override public String getName() { return name; } @Override public String getRenderName() { return name; } @Override public String getFirstName() { return name; } @Override public void setName(String name) { MockChatFriend.this.name = name; } @Override public boolean isAnonymous() { return false; } @Override public Network getNetwork() { return null; } @Override public void addPresenceListener(EventListener<PresenceEvent> presenceListener) {} @Override public MessageWriter createChat(MessageReader reader) { return null; } @Override public void setChatListenerIfNecessary(IncomingChatListener listener) {} @Override public void removeChatListener() {} @Override public FriendPresence getActivePresence() { return null; } @Override public boolean hasActivePresence() { return false; } @Override public boolean isSignedIn() { return false; } @Override public Map<String, FriendPresence> getPresences() { return Collections.emptyMap(); } @Override public boolean isSubscribed() { return false; } }; } @Override public String getID() { //Use name for now - add an id field if needed in the future return name; } @Override public String getName() { return name; } @Override public String getStatus() { return status; } @Override public Mode getMode() { return state; } @Override public void addPropertyChangeListener(PropertyChangeListener listener) { } @Override public void removePropertyChangeListener(PropertyChangeListener listener) { } MessageReader reader; MessageWriter writer; @Override public MessageWriter createChat(MessageReader reader) { this.reader = reader; return writer; } long chatStartTime; @Override public long getChatStartTime() { return chatStartTime; } boolean chatting; @Override public boolean isChatting() { return chatting || chatStartTime > 0l; } @Override public void startChat() { //no-op } @Override public void stopChat() { //no-op } @Override public boolean isSignedInToLimewire() { return false; } @Override public boolean isSignedIn() { return false; } @Override public boolean hasUnviewedMessages() { return receivingUnviewedMessages; } @Override public void setHasUnviewedMessages(boolean hasMessages) { this.receivingUnviewedMessages = hasMessages; } @Override public void update() { // do nothing } @Override public boolean isFlashState() { return false; } }