Implemented IRCConnection.onAction()

This commit is contained in:
Sebastian Kaspari 2010-03-02 19:40:05 +01:00
parent da70bcd515
commit 7445f51422
3 changed files with 38 additions and 7 deletions

View File

@ -28,6 +28,7 @@ import org.jibble.pircbot.User;
import org.yaaic.Yaaic;
import org.yaaic.model.Broadcast;
import org.yaaic.model.Channel;
import org.yaaic.model.Server;
import org.yaaic.model.Status;
@ -63,6 +64,8 @@ public class IRCConnection extends PircBot
@Override
public void onConnect()
{
debug("Connect", "");
server.setStatus(Status.CONNECTED);
service.sendBroadcast(new Intent(Broadcast.SERVER_UPDATE));
@ -75,6 +78,9 @@ public class IRCConnection extends PircBot
protected void onAction(String sender, String login, String hostname, String target, String action)
{
debug("Action", target + " " + sender + " " + action);
server.getChannel(target).addMessage("* " + sender + " " + action);
service.sendBroadcast(new Intent(Broadcast.CHANNEL_MESSAGE));
}
/**
@ -120,6 +126,11 @@ public class IRCConnection extends PircBot
protected void onJoin(String channel, String sender, String login, String hostname)
{
debug("Join", channel + " " + sender);
if (sender.equals(getNick())) {
// We joined a new channel
server.addChannel(new Channel(channel));
}
}
/**
@ -137,7 +148,7 @@ public class IRCConnection extends PircBot
@Override
protected void onMessage(String channel, String sender, String login, String hostname, String message)
{
debug("Deop", channel + " " + sender + " " + message);
debug("Message", channel + " " + sender + " " + message);
}
/**
@ -173,7 +184,7 @@ public class IRCConnection extends PircBot
@Override
protected void onOp(String channel, String sourceNick, String sourceLogin, String sourceHostname, String recipient)
{
debug("Deop", channel + " " + recipient + "(" + sourceNick + ")");
debug("Op", channel + " " + recipient + "(" + sourceNick + ")");
}
/**
@ -246,7 +257,7 @@ public class IRCConnection extends PircBot
private void debug(String event, String params)
{
if (DEBUG_EVENTS) {
Log.d(TAG, "[" + event + "]: " + params);
Log.d(TAG, "(" + server.getTitle() + ") [" + event + "]: " + params);
}
}

View File

@ -24,6 +24,8 @@ public class Broadcast
{
public static final String SERVER_UPDATE = "org.yaaic.server.status";
public static final String CHANNEL_MESSAGE = "org.yaaic.channel.message";
/*
public static final String CHANNEL_ACTION = "org.yaaic.channel.action";
public static final String CHANNEL_INFO = "org.yaaic.channel.info";
public static final String CHANNEL_DEOP = "org.yaaic.channel.deop";
@ -43,4 +45,12 @@ public class Broadcast
public static final String USER_NOTICE = "org.yaaic.user.notice";
public static final String USER_MESSAGE = "org.yaaic.user.message";
public static final String USER_QUIT = "org.yaaic.user.quit";
public static final String EXTRA_SENDER = "sender";
public static final String EXTRA_CHANNEL = "channel";
public static final String EXTRA_MESSAGE = "message";
public static final String EXTRA_TOPIC = "topic";
public static final String EXTRA_USERCOUNT = "usercount";
public static final String EXTRA_RECEIVER = "receiver";
*/
}

View File

@ -21,6 +21,8 @@ along with Yaaic. If not, see <http://www.gnu.org/licenses/>.
package org.yaaic.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import org.yaaic.R;
@ -36,7 +38,7 @@ public class Server
private String host;
private int port;
private ArrayList<Channel> channels = new ArrayList<Channel>();
private HashMap<String, Channel> channels = new HashMap<String, Channel>();
private int status = Status.DISCONNECTED;
@ -165,9 +167,17 @@ public class Server
*
* @return
*/
public ArrayList<Channel> getChannels()
public Collection<Channel> getChannels()
{
return channels;
return channels.values();
}
/**
* Get channel by name
*/
public Channel getChannel(String name)
{
return channels.get(name);
}
/**
@ -177,7 +187,7 @@ public class Server
*/
public void addChannel(Channel channel)
{
channels.add(channel);
channels.put(channel.getName(), channel);
}
/**