Skip to content
Snippets Groups Projects
Commit 2625e511 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Improve message rendering

parent 3e607a93
No related branches found
No related tags found
No related merge requests found
......@@ -40,8 +40,10 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
override fun layout(type: Message_Type?, hasHighlight: Boolean)
= when (type) {
Nick, Notice, Mode, Join, Part, Quit, Kick, Kill, Server, Info, DayChange, Topic, NetsplitJoin,
NetsplitQuit, Invite -> R.layout.widget_chatmessage_server
Nick, Mode, Join, Part, Quit, Kick, Kill, Info, DayChange, Topic, NetsplitJoin,
NetsplitQuit, Invite -> R.layout.widget_chatmessage_info
Notice -> R.layout.widget_chatmessage_notice
Server -> R.layout.widget_chatmessage_server
Error -> R.layout.widget_chatmessage_error
Action -> R.layout.widget_chatmessage_action
Plain -> R.layout.widget_chatmessage_plain
......@@ -65,8 +67,8 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
}
override fun render(message: QuasselDatabase.DatabaseMessage): FormattedMessage {
when (message.type) {
else -> return FormattedMessage(
return when (message.type) {
Message_Type.Plain.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
......@@ -76,6 +78,95 @@ class QuasselMessageRenderer(context: Context) : MessageRenderer {
message.content
)
)
Message_Type.Action.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"* %s%s %s",
message.senderPrefixes,
formatNick(message.sender),
message.content
)
)
Message_Type.Notice.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"[%s%s] %s",
message.senderPrefixes,
formatNick(message.sender),
message.content
)
)
Message_Type.Nick.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s%s is now known as %s%s",
message.senderPrefixes,
formatNick(message.sender),
message.senderPrefixes,
formatNick(message.content)
)
)
Message_Type.Join.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s%s joined",
message.senderPrefixes,
formatNick(message.sender)
)
)
Message_Type.Part.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s%s left: %s",
message.senderPrefixes,
formatNick(message.sender),
message.content
)
)
Message_Type.Quit.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s%s quit: %s",
message.senderPrefixes,
formatNick(message.sender),
message.content
)
)
Message_Type.Server.bit,
Message_Type.Info.bit,
Message_Type.Error.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s",
message.content
)
)
Message_Type.Topic.bit -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"%s",
message.content
)
)
else -> FormattedMessage(
message.messageId,
timeFormatter.format(message.time.atZone(zoneId)),
SpanFormatter.format(
"[%d] %s%s: %s",
message.type,
message.senderPrefixes,
formatNick(message.sender),
message.content
)
)
}
}
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorBackgroundSecondary"
android:clickable="true"
android:focusable="true"
android:gravity="top"
android:orientation="horizontal"
android:paddingBottom="@dimen/message_vertical"
android:paddingEnd="@dimen/message_horizontal"
android:paddingLeft="@dimen/message_horizontal"
android:paddingRight="@dimen/message_horizontal"
android:paddingStart="@dimen/message_horizontal"
android:paddingTop="@dimen/message_vertical"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
tools:background="@android:color/background_light"
tools:theme="@style/Theme.ChatTheme.Quassel_Light">
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/message_horizontal"
android:layout_marginRight="@dimen/message_horizontal"
android:fontFamily="monospace"
android:textColor="?attr/colorForegroundSecondary"
tools:text="[15:55]" />
<TextView
android:id="@+id/content"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="?attr/colorForegroundSecondary"
android:textIsSelectable="true"
android:textStyle="italic"
tools:text="Connecting to irc.freenode.net:6667..." />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorBackgroundSecondary"
android:clickable="true"
android:focusable="true"
android:gravity="top"
android:orientation="horizontal"
android:paddingBottom="@dimen/message_vertical"
android:paddingEnd="@dimen/message_horizontal"
android:paddingLeft="@dimen/message_horizontal"
android:paddingRight="@dimen/message_horizontal"
android:paddingStart="@dimen/message_horizontal"
android:paddingTop="@dimen/message_vertical"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
tools:background="@android:color/background_light"
tools:theme="@style/Theme.ChatTheme.Quassel_Light">
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/message_horizontal"
android:layout_marginRight="@dimen/message_horizontal"
android:fontFamily="monospace"
android:textColor="?attr/colorForegroundNotice"
tools:text="[15:55]" />
<TextView
android:id="@+id/content"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="?attr/colorForegroundNotice"
android:textIsSelectable="true"
tools:text="Connecting to irc.freenode.net:6667..." />
</LinearLayout>
......@@ -39,6 +39,7 @@
<attr name="colorForeground" format="color" />
<attr name="colorForegroundHighlight" format="color" />
<attr name="colorForegroundSecondary" format="color" />
<attr name="colorForegroundNotice" format="color" />
<attr name="colorForegroundAction" format="color" />
<attr name="colorForegroundError" format="color" />
......
......@@ -30,6 +30,7 @@
<item name="colorForegroundHighlight">#FFFFFF</item>
<item name="colorForegroundSecondary">#B3FFFFFF</item>
<item name="colorForegroundAction">#7986cb</item>
<item name="colorForegroundNotice">#916409</item>
<item name="colorForegroundError">#800000</item>
<item name="colorForegroundMirc">0x0</item>
......
......@@ -26,6 +26,7 @@
<item name="colorForegroundHighlight">#DE000000</item>
<item name="colorForegroundSecondary">#8A000000</item>
<item name="colorForegroundAction">#1a237e</item>
<item name="colorForegroundNotice">#916409</item>
<item name="colorForegroundError">#800000</item>
<item name="colorForegroundMirc">0x1</item>
......@@ -66,6 +67,7 @@
<item name="colorForegroundHighlight">#FFFFFF</item>
<item name="colorForegroundSecondary">#B3FFFFFF</item>
<item name="colorForegroundAction">#7986cb</item>
<item name="colorForegroundNotice">#916409</item>
<item name="colorForegroundError">#800000</item>
<item name="colorForegroundMirc">0x0</item>
......
......@@ -32,6 +32,7 @@
<item name="colorForegroundHighlight">#839495</item>
<item name="colorForegroundSecondary">#576A66</item>
<item name="colorForegroundAction">#268BD2</item>
<item name="colorForegroundNotice">#B58900</item>
<item name="colorForegroundError">#B00000</item>
<item name="colorForegroundMirc">0xF</item>
......@@ -76,6 +77,7 @@
<item name="colorForegroundHighlight">#839495</item>
<item name="colorForegroundSecondary">#576A66</item>
<item name="colorForegroundAction">#268BD2</item>
<item name="colorForegroundNotice">#B58900</item>
<item name="colorForegroundError">#B00000</item>
<item name="colorForegroundMirc">0xF</item>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment