mirror of
https://github.com/moparisthebest/Yaaic
synced 2024-11-25 18:32:15 -05:00
Use a different color for join/part/quit for the circles in the ConversationSwitcher view.
This makes it easier to ignore unintersting messages wihout turning off the setting to show joins/parts/quits. Once circle is colored for a new message, the join/part/quit cannot override it anymore.
This commit is contained in:
parent
70b5ee876d
commit
f4637ac582
@ -72,8 +72,8 @@ import android.view.Menu;
|
|||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnKeyListener;
|
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
|
import android.view.View.OnKeyListener;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
@ -388,19 +388,28 @@ public class ConversationActivity extends Activity implements ServiceConnection,
|
|||||||
|
|
||||||
MessageListAdapter adapter = conversation.getMessageListAdapter();
|
MessageListAdapter adapter = conversation.getMessageListAdapter();
|
||||||
|
|
||||||
conversation.setStatus(Conversation.STATUS_MESSAGE);
|
|
||||||
|
|
||||||
if (dots != null) {
|
|
||||||
dots.invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
while(conversation.hasBufferedMessages()) {
|
while(conversation.hasBufferedMessages()) {
|
||||||
Message message = conversation.pollBufferedMessage();
|
Message message = conversation.pollBufferedMessage();
|
||||||
|
|
||||||
if (adapter != null) {
|
if (adapter != null) {
|
||||||
adapter.addMessage(message);
|
adapter.addMessage(message);
|
||||||
|
int status;
|
||||||
|
switch (message.getType())
|
||||||
|
{
|
||||||
|
case Message.TYPE_MISC:
|
||||||
|
status = Conversation.STATUS_MISC;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
status = Conversation.STATUS_MESSAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
conversation.setStatus(status);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dots != null) {
|
||||||
|
dots.invalidate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -340,7 +340,8 @@ public class IRCConnection extends PircBot
|
|||||||
);
|
);
|
||||||
service.sendBroadcast(intent);
|
service.sendBroadcast(intent);
|
||||||
} else if (service.getSettings().showJoinAndPart()) {
|
} else if (service.getSettings().showJoinAndPart()) {
|
||||||
Message message = new Message(service.getString(R.string.message_join, sender));
|
Message message = new Message(service.getString(R.string.message_join, sender),
|
||||||
|
Message.TYPE_MISC);
|
||||||
message.setIcon(R.drawable.join);
|
message.setIcon(R.drawable.join);
|
||||||
message.setColor(Message.COLOR_GREEN);
|
message.setColor(Message.COLOR_GREEN);
|
||||||
server.getConversation(target).addMessage(message);
|
server.getConversation(target).addMessage(message);
|
||||||
@ -524,7 +525,8 @@ public class IRCConnection extends PircBot
|
|||||||
);
|
);
|
||||||
service.sendBroadcast(intent);
|
service.sendBroadcast(intent);
|
||||||
} else if (service.getSettings().showJoinAndPart()) {
|
} else if (service.getSettings().showJoinAndPart()) {
|
||||||
Message message = new Message(service.getString(R.string.message_part, sender));
|
Message message = new Message(service.getString(R.string.message_part, sender),
|
||||||
|
Message.TYPE_MISC);
|
||||||
message.setColor(Message.COLOR_GREEN);
|
message.setColor(Message.COLOR_GREEN);
|
||||||
message.setIcon(R.drawable.part);
|
message.setIcon(R.drawable.part);
|
||||||
server.getConversation(target).addMessage(message);
|
server.getConversation(target).addMessage(message);
|
||||||
@ -596,7 +598,8 @@ public class IRCConnection extends PircBot
|
|||||||
Vector<String> channels = getChannelsByNickname(sourceNick);
|
Vector<String> channels = getChannelsByNickname(sourceNick);
|
||||||
|
|
||||||
for (String target : channels) {
|
for (String target : channels) {
|
||||||
Message message = new Message(service.getString(R.string.message_quit, sourceNick, reason));
|
Message message = new Message(service.getString(R.string.message_quit, sourceNick, reason),
|
||||||
|
Message.TYPE_MISC);
|
||||||
message.setColor(Message.COLOR_GREEN);
|
message.setColor(Message.COLOR_GREEN);
|
||||||
message.setIcon(R.drawable.quit);
|
message.setIcon(R.drawable.quit);
|
||||||
server.getConversation(target).addMessage(message);
|
server.getConversation(target).addMessage(message);
|
||||||
@ -613,7 +616,8 @@ public class IRCConnection extends PircBot
|
|||||||
Conversation conversation = server.getConversation(sourceNick);
|
Conversation conversation = server.getConversation(sourceNick);
|
||||||
|
|
||||||
if (conversation != null) {
|
if (conversation != null) {
|
||||||
Message message = new Message(service.getString(R.string.message_quit, sourceNick, reason));
|
Message message = new Message(service.getString(R.string.message_quit, sourceNick, reason),
|
||||||
|
Message.TYPE_MISC);
|
||||||
message.setColor(Message.COLOR_GREEN);
|
message.setColor(Message.COLOR_GREEN);
|
||||||
message.setIcon(R.drawable.quit);
|
message.setIcon(R.drawable.quit);
|
||||||
conversation.addMessage(message);
|
conversation.addMessage(message);
|
||||||
|
@ -41,6 +41,8 @@ public abstract class Conversation
|
|||||||
public static final int STATUS_SELECTED = 2;
|
public static final int STATUS_SELECTED = 2;
|
||||||
public static final int STATUS_MESSAGE = 3;
|
public static final int STATUS_MESSAGE = 3;
|
||||||
public static final int STATUS_HIGHLIGHT = 4;
|
public static final int STATUS_HIGHLIGHT = 4;
|
||||||
|
/* join/part/quit */
|
||||||
|
public static final int STATUS_MISC = 5;
|
||||||
|
|
||||||
public static final int HISTORY_SIZE = 30;
|
public static final int HISTORY_SIZE = 30;
|
||||||
|
|
||||||
@ -180,6 +182,11 @@ public abstract class Conversation
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Misc cannot change any other than default
|
||||||
|
if (this.status != STATUS_DEFAULT && status == STATUS_MISC) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,6 +44,11 @@ public class Message {
|
|||||||
public static final int COLOR_GREY = 0xFFaaaaaa;
|
public static final int COLOR_GREY = 0xFFaaaaaa;
|
||||||
public static final int COLOR_DEFAULT = 0xFFeeeeee;
|
public static final int COLOR_DEFAULT = 0xFFeeeeee;
|
||||||
|
|
||||||
|
/* normal message, this is the default */
|
||||||
|
public static final int TYPE_MESSAGE = 0;
|
||||||
|
/* join, part or quit */
|
||||||
|
public static final int TYPE_MISC = 1;
|
||||||
|
|
||||||
/* Some are light versions because dark colors hardly readable on
|
/* Some are light versions because dark colors hardly readable on
|
||||||
* Yaaic's dark background */
|
* Yaaic's dark background */
|
||||||
public static final int[] colors = {
|
public static final int[] colors = {
|
||||||
@ -65,6 +70,7 @@ public class Message {
|
|||||||
0xFF000000, // Black
|
0xFF000000, // Black
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private int type = -1;
|
||||||
private int icon = -1;
|
private int icon = -1;
|
||||||
private final String text;
|
private final String text;
|
||||||
private final String sender;
|
private final String sender;
|
||||||
@ -73,25 +79,51 @@ public class Message {
|
|||||||
private final long timestamp;
|
private final long timestamp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new message without an icon
|
* Create a new message without an icon defaulting to TYPE_MESSAGE
|
||||||
*
|
*
|
||||||
* @param text
|
* @param text
|
||||||
*/
|
*/
|
||||||
public Message(String text)
|
public Message(String text)
|
||||||
{
|
{
|
||||||
this(text, null);
|
this(text, null, TYPE_MESSAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new message sent by a user without an icon
|
* Create a new message without an icon with a specific type
|
||||||
*
|
*
|
||||||
|
* @param text
|
||||||
|
* @param type Message type
|
||||||
|
*/
|
||||||
|
public Message(String text, int type)
|
||||||
|
{
|
||||||
|
this(text, null, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message sent by a user, without an icon,
|
||||||
|
* defaulting to TYPE_MESSAGE
|
||||||
|
*
|
||||||
* @param text
|
* @param text
|
||||||
* @param sender
|
* @param sender
|
||||||
*/
|
*/
|
||||||
public Message(String text, String sender)
|
public Message(String text, String sender)
|
||||||
|
{
|
||||||
|
this(text, sender, TYPE_MESSAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message sent by a user without an icon
|
||||||
|
*
|
||||||
|
* @param text
|
||||||
|
* @param sender
|
||||||
|
* @param type Message type
|
||||||
|
*/
|
||||||
|
public Message(String text, String sender, int type)
|
||||||
{
|
{
|
||||||
this.text = text;
|
this.text = text;
|
||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
this.timestamp = new Date().getTime();
|
this.timestamp = new Date().getTime();
|
||||||
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -122,6 +154,16 @@ public class Message {
|
|||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the type of this message
|
||||||
|
*
|
||||||
|
* @return One of Message.TYPE_*
|
||||||
|
*/
|
||||||
|
public int getType()
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the color of this message
|
* Set the color of this message
|
||||||
*/
|
*/
|
||||||
|
@ -110,6 +110,8 @@ public class ConversationSwitcher extends View
|
|||||||
case Conversation.STATUS_SELECTED:
|
case Conversation.STATUS_SELECTED:
|
||||||
paint.setColor(0xFFFFFFFF);
|
paint.setColor(0xFFFFFFFF);
|
||||||
break;
|
break;
|
||||||
|
case Conversation.STATUS_MISC:
|
||||||
|
paint.setColor(0xFF3333AA);
|
||||||
}
|
}
|
||||||
|
|
||||||
canvas.drawCircle(startX + 12 * i, height / 2, 4, paint);
|
canvas.drawCircle(startX + 12 * i, height / 2, 4, paint);
|
||||||
|
Loading…
Reference in New Issue
Block a user