mirror of
https://github.com/moparisthebest/Yaaic
synced 2025-02-17 23:40:20 -05:00
ServerActivity: register for server broadcasts and update view
This commit is contained in:
parent
35f430ad9b
commit
fa9cdd5f1d
@ -55,25 +55,28 @@ import org.yaaic.command.CommandParser;
|
|||||||
import org.yaaic.irc.IRCBinder;
|
import org.yaaic.irc.IRCBinder;
|
||||||
import org.yaaic.irc.IRCService;
|
import org.yaaic.irc.IRCService;
|
||||||
import org.yaaic.listener.ChannelListener;
|
import org.yaaic.listener.ChannelListener;
|
||||||
|
import org.yaaic.listener.ServerListener;
|
||||||
import org.yaaic.model.Broadcast;
|
import org.yaaic.model.Broadcast;
|
||||||
import org.yaaic.model.Conversation;
|
import org.yaaic.model.Conversation;
|
||||||
import org.yaaic.model.Message;
|
import org.yaaic.model.Message;
|
||||||
import org.yaaic.model.Server;
|
import org.yaaic.model.Server;
|
||||||
import org.yaaic.receiver.ChannelReceiver;
|
import org.yaaic.receiver.ChannelReceiver;
|
||||||
|
import org.yaaic.receiver.ServerReceiver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The server view with a scrollable list of all channels
|
* The server view with a scrollable list of all channels
|
||||||
*
|
*
|
||||||
* @author Sebastian Kaspari <sebastian@yaaic.org>
|
* @author Sebastian Kaspari <sebastian@yaaic.org>
|
||||||
*/
|
*/
|
||||||
public class ServerActivity extends Activity implements ServiceConnection, ChannelListener, OnItemClickListener, OnKeyListener, OnItemSelectedListener
|
public class ServerActivity extends Activity implements ServiceConnection, ServerListener, ChannelListener, OnItemClickListener, OnKeyListener, OnItemSelectedListener
|
||||||
{
|
{
|
||||||
public static final String TAG = "Yaaic/ServerActivity";
|
public static final String TAG = "Yaaic/ServerActivity";
|
||||||
|
|
||||||
private int serverId;
|
private int serverId;
|
||||||
private Server server;
|
private Server server;
|
||||||
private IRCBinder binder;
|
private IRCBinder binder;
|
||||||
private ChannelReceiver receiver;
|
private ChannelReceiver channelReceiver;
|
||||||
|
private ServerReceiver serverReceiver;
|
||||||
|
|
||||||
private ViewSwitcher switcher;
|
private ViewSwitcher switcher;
|
||||||
private Gallery deck;
|
private Gallery deck;
|
||||||
@ -96,12 +99,7 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann
|
|||||||
((TextView) findViewById(R.id.title)).setText(server.getTitle());
|
((TextView) findViewById(R.id.title)).setText(server.getTitle());
|
||||||
((ImageView) findViewById(R.id.status)).setImageResource(server.getStatusIcon());
|
((ImageView) findViewById(R.id.status)).setImageResource(server.getStatusIcon());
|
||||||
|
|
||||||
EditText input = (EditText) findViewById(R.id.input);
|
((EditText) findViewById(R.id.input)).setOnKeyListener(this);
|
||||||
input.setOnKeyListener(this);
|
|
||||||
|
|
||||||
if (!server.isConnected()) {
|
|
||||||
input.setEnabled(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
deck = (Gallery) findViewById(R.id.deck);
|
deck = (Gallery) findViewById(R.id.deck);
|
||||||
deck.setOnItemSelectedListener(this);
|
deck.setOnItemSelectedListener(this);
|
||||||
@ -127,10 +125,17 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann
|
|||||||
Intent intent = new Intent(this, IRCService.class);
|
Intent intent = new Intent(this, IRCService.class);
|
||||||
bindService(intent, this, 0);
|
bindService(intent, this, 0);
|
||||||
|
|
||||||
receiver = new ChannelReceiver(server.getId(), this);
|
channelReceiver = new ChannelReceiver(server.getId(), this);
|
||||||
registerReceiver(receiver, new IntentFilter(Broadcast.CHANNEL_MESSAGE));
|
registerReceiver(channelReceiver, new IntentFilter(Broadcast.CHANNEL_MESSAGE));
|
||||||
registerReceiver(receiver, new IntentFilter(Broadcast.CHANNEL_NEW));
|
registerReceiver(channelReceiver, new IntentFilter(Broadcast.CHANNEL_NEW));
|
||||||
registerReceiver(receiver, new IntentFilter(Broadcast.CHANNEL_REMOVE));
|
registerReceiver(channelReceiver, new IntentFilter(Broadcast.CHANNEL_REMOVE));
|
||||||
|
|
||||||
|
serverReceiver = new ServerReceiver(this);
|
||||||
|
registerReceiver(serverReceiver, new IntentFilter(Broadcast.SERVER_UPDATE));
|
||||||
|
|
||||||
|
if (!server.isConnected()) {
|
||||||
|
((EditText) findViewById(R.id.input)).setEnabled(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -142,7 +147,8 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann
|
|||||||
super.onPause();
|
super.onPause();
|
||||||
|
|
||||||
unbindService(this);
|
unbindService(this);
|
||||||
unregisterReceiver(receiver);
|
unregisterReceiver(channelReceiver);
|
||||||
|
unregisterReceiver(serverReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -261,6 +267,29 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann
|
|||||||
deck.setSelection(deckAdapter.getCount() - 1);
|
deck.setSelection(deckAdapter.getCount() - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On channel remove
|
||||||
|
*/
|
||||||
|
public void onRemoveConversation(String target)
|
||||||
|
{
|
||||||
|
// XXX: Implement me :)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* On server status update
|
||||||
|
*/
|
||||||
|
public void onStatusUpdate()
|
||||||
|
{
|
||||||
|
((ImageView) findViewById(R.id.status)).setImageResource(server.getStatusIcon());
|
||||||
|
|
||||||
|
EditText input = (EditText) findViewById(R.id.input);
|
||||||
|
if (server.isConnected()) {
|
||||||
|
input.setEnabled(true);
|
||||||
|
} else {
|
||||||
|
input.setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On Channel item clicked
|
* On Channel item clicked
|
||||||
@ -308,14 +337,6 @@ public class ServerActivity extends Activity implements ServiceConnection, Chann
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* On channel remove
|
|
||||||
*/
|
|
||||||
public void onRemoveConversation(String target)
|
|
||||||
{
|
|
||||||
// XXX: Implement me :)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On key pressed (input line)
|
* On key pressed (input line)
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user