From 3355e46e40e23912ba56cb5d39fc514e18ab76f3 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Thu, 22 Feb 2018 14:43:07 +0100 Subject: [PATCH] Fix an issue where nickchange messages with self were broken --- .../chat/messages/QuasselMessageRenderer.kt | 35 ++++++++++++------- app/src/main/res/values/strings_messages.xml | 1 + 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt index c797b728a..f4a9a5fef 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt @@ -131,18 +131,29 @@ class QuasselMessageRenderer( ), message.messageId == markerLine ) - Message_Type.Nick -> FormattedMessage( - message.messageId, - timeFormatter.format(message.time.atZone(zoneId)), - SpanFormatter.format( - context.getString(R.string.message_format_nick), - formatPrefix(message.senderPrefixes, highlight), - formatNick(message.sender, self, highlight), - formatPrefix(message.senderPrefixes, highlight), - formatNick(message.content, self, highlight) - ), - message.messageId == markerLine - ) + Message_Type.Nick -> { + val nickSelf = message.sender == message.content || self + FormattedMessage( + message.messageId, + timeFormatter.format(message.time.atZone(zoneId)), + if (nickSelf) { + SpanFormatter.format( + context.getString(R.string.message_format_nick_self), + formatPrefix(message.senderPrefixes, highlight), + formatNick(message.sender, nickSelf, highlight) + ) + } else { + SpanFormatter.format( + context.getString(R.string.message_format_nick), + formatPrefix(message.senderPrefixes, highlight), + formatNick(message.sender, nickSelf, highlight), + formatPrefix(message.senderPrefixes, highlight), + formatNick(message.content, nickSelf, highlight) + ) + }, + message.messageId == markerLine + ) + } Message_Type.Mode -> FormattedMessage( message.messageId, timeFormatter.format(message.time.atZone(zoneId)), diff --git a/app/src/main/res/values/strings_messages.xml b/app/src/main/res/values/strings_messages.xml index 67ed8824c..199e7741e 100644 --- a/app/src/main/res/values/strings_messages.xml +++ b/app/src/main/res/values/strings_messages.xml @@ -19,6 +19,7 @@ <string name="message_format_action">* %1$s%2$s %3$s</string> <string name="message_format_notice">[%1$s%2$s] %3$s</string> <string name="message_format_nick">%1$s%2$s is now known as %3$s%4$s</string> + <string name="message_format_nick_self">You are now known as %1$s%2$s</string> <string name="message_format_mode">%1$s by %2$s%3$s</string> <string name="message_format_join">%1$s%2$s joined</string> <string name="message_format_part_1">%1$s%2$s left</string> -- GitLab