From fa74da92a0879603ba4db1c2504230d3fd1d51dc Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 18 Feb 2018 22:36:11 +0100 Subject: [PATCH] Properly handle casemapping in sorting --- .../de/kuschku/quasseldroid_ng/ui/chat/NickListAdapter.kt | 6 ++++-- .../de/kuschku/quasseldroid_ng/ui/chat/NickListFragment.kt | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListAdapter.kt index 7e4e0c413..9b17073fb 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListAdapter.kt @@ -13,6 +13,7 @@ import butterknife.BindView import butterknife.ButterKnife import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.util.helper.visibleIf +import de.kuschku.quasseldroid_ng.util.irc.IrcCaseMappers class NickListAdapter( lifecycleOwner: LifecycleOwner, @@ -30,7 +31,7 @@ class NickListAdapter( val list = it ?: emptyList() val old: List<IrcUserItem> = data val new: List<IrcUserItem> = list - .sortedBy { it.nick.toLowerCase() } + .sortedBy { IrcCaseMappers[it.networkCasemapping].toLowerCase(it.nick) } .sortedBy { it.lowestMode } val result = DiffUtil.calculateDiff( object : DiffUtil.Callback() { @@ -81,7 +82,8 @@ class NickListAdapter( val modes: String, val lowestMode: Int, val realname: String, - val away: Boolean + val away: Boolean, + val networkCasemapping: String ) class NickViewHolder( diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListFragment.kt index 39d97df1a..acbecda60 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/NickListFragment.kt @@ -65,7 +65,8 @@ class NickListFragment : ServiceBoundFragment() { network.modesToPrefixes(userModes), lowestMode, realName, - away + away, + network.support("CASEMAPPING") ) } }, { array: Array<Any> -> -- GitLab