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 3cc00924fd6628059dd6f2cdd0acfa9740d53ab8..1d9014e880758705cc7bf98a263db4674308a2ae 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 3527a83de05bf7267fbd872e57a2e405f44db842..5706a39f26ab6a956b80c1e22c383f10adeac96c 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>