From 7bfa90d87968bf2b9fd99b8bb0c167a40c3feb85 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 18 Feb 2018 22:07:46 +0100 Subject: [PATCH] Properly render netsplits (Further information will be in a "detail" view) --- .../ui/chat/QuasselMessageRenderer.kt | 32 ++++++++++++++++--- app/src/main/res/values/strings.xml | 8 +++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt index 3cc00924f..1d9014e88 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/QuasselMessageRenderer.kt @@ -157,7 +157,7 @@ class QuasselMessageRenderer( ) } ) - Message_Type.Quit -> FormattedMessage( + Message_Type.Quit -> FormattedMessage( message.messageId, timeFormatter.format(message.time.atZone(zoneId)), if (message.content.isBlank()) { @@ -175,19 +175,43 @@ class QuasselMessageRenderer( ) } ) + Message_Type.NetsplitJoin -> { + val split = message.content.split("#:#") + val (server1, server2) = split.last().split(' ') + val usersAffected = split.size - 1 + FormattedMessage( + message.messageId, + timeFormatter.format(message.time.atZone(zoneId)), + context.resources.getQuantityString( + R.plurals.message_netsplit_join, usersAffected, server1, server2, usersAffected + ) + ) + } + Message_Type.NetsplitQuit -> { + val split = message.content.split("#:#") + val (server1, server2) = split.last().split(' ') + val usersAffected = split.size - 1 + FormattedMessage( + message.messageId, + timeFormatter.format(message.time.atZone(zoneId)), + context.resources.getQuantityString( + R.plurals.message_netsplit_quit, usersAffected, server1, server2, usersAffected + ) + ) + } Message_Type.Server, Message_Type.Info, - Message_Type.Error -> FormattedMessage( + Message_Type.Error -> FormattedMessage( message.messageId, timeFormatter.format(message.time.atZone(zoneId)), message.content ) - Message_Type.Topic -> FormattedMessage( + Message_Type.Topic -> FormattedMessage( message.messageId, timeFormatter.format(message.time.atZone(zoneId)), message.content ) - else -> FormattedMessage( + else -> FormattedMessage( message.messageId, timeFormatter.format(message.time.atZone(zoneId)), SpanFormatter.format( diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3527a83de..5706a39f2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -18,4 +18,12 @@ <string name="message_format_part_2">%1$s%2$s left: %3$s</string> <string name="message_format_quit_1">%1$s%2$s quit</string> <string name="message_format_quit_2">%1$s%2$s quit (%3$s)</string> + <plurals name="message_netsplit_join"> + <item quantity="one">Netsplit between %1$s and %2$s ended: %3$d user joined</item> + <item quantity="other">Netsplit between %1$s and %2$s ended: %3$d users joined</item> + </plurals> + <plurals name="message_netsplit_quit"> + <item quantity="one">Netsplit between %1$s and %2$s: %3$d user quit</item> + <item quantity="other">Netsplit between %1$s and %2$s: %3$d users quit</item> + </plurals> </resources> -- GitLab