From a6fa70dfc4c055d386aeba5586e9e2f7aeb7e21b Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Wed, 4 Apr 2018 16:09:27 +0200 Subject: [PATCH] Correctly handle nicks without any alphabetical characters --- .../kuschku/quasseldroid/ui/chat/input/Editor.kt | 15 +++++++++++++-- .../ui/chat/messages/QuasselMessageRenderer.kt | 7 ++++--- .../ui/chat/nicks/NickListFragment.kt | 7 ++++--- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt index 02dfc3fa2..2beb67c10 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt @@ -181,8 +181,19 @@ class Editor( if (it is AutoCompleteItem.UserItem) { val nickName = it.nick val senderColorIndex = IrcUserUtils.senderColor(nickName) - val initial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\') - .firstOrNull()?.toUpperCase().toString() + val rawInitial = nickName.trimStart('-', + '_', + '[', + ']', + '{', + '}', + '|', + '`', + '^', + '.', + '\\') + .firstOrNull() ?: nickName.firstOrNull() + val initial = rawInitial?.toUpperCase().toString() val senderColor = senderColors[senderColorIndex] fun formatNick(nick: CharSequence): CharSequence { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt index 53a8f9e2a..94aa660bb 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt @@ -149,8 +149,9 @@ class QuasselMessageRenderer @Inject constructor( val content = contentFormatter.format(context, message.content.content, highlight) val nickName = HostmaskHelper.nick(message.content.sender) val senderColorIndex = IrcUserUtils.senderColor(nickName) - val initial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\') - .firstOrNull()?.toUpperCase().toString() + val rawInitial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\') + .firstOrNull() ?: nickName.firstOrNull() + val initial = rawInitial?.toUpperCase().toString() val senderColor = if (Message_Flag.of(message.content.flag).hasFlag(Message_Flag.Self)) selfColor else @@ -464,4 +465,4 @@ class QuasselMessageRenderer @Inject constructor( ShowPrefixMode.HIGHEST -> prefix.substring(0, Math.min(prefix.length, 1)) ShowPrefixMode.NONE -> "" } -} \ No newline at end of file +} diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/nicks/NickListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/nicks/NickListFragment.kt index 4b399d478..edda15255 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/nicks/NickListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/nicks/NickListFragment.kt @@ -78,8 +78,9 @@ class NickListFragment : ServiceBoundFragment() { it.map { val nickName = it.nick val senderColorIndex = IrcUserUtils.senderColor(nickName) - val initial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\') - .firstOrNull()?.toUpperCase().toString() + val rawInitial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\') + .firstOrNull() ?: nickName.firstOrNull() + val initial = rawInitial?.toUpperCase().toString() val senderColor = senderColors[senderColorIndex] @@ -164,4 +165,4 @@ class NickListFragment : ServiceBoundFragment() { companion object { private const val KEY_STATE_LIST = "KEY_STATE_LIST" } -} \ No newline at end of file +} -- GitLab