Skip to content
Snippets Groups Projects
Commit c91c5ef6 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixing sync issue where channels were improperly joined

parent 8772ae4b
Branches
Tags
No related merge requests found
......@@ -11,9 +11,9 @@ import android.view.ViewGroup
import android.widget.TextView
import butterknife.BindView
import butterknife.ButterKnife
import de.kuschku.libquassel.util.irc.IrcCaseMappers
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,
......
package de.kuschku.quasseldroid_ng.util.irc
package de.kuschku.libquassel.util.irc
import java.util.*
......@@ -7,38 +7,39 @@ object IrcCaseMappers {
var unicode: IrcCaseMapper = ClassicalIrcCaseMapper()
interface IrcCaseMapper {
fun equalsIgnoreCase(a: String?, b: String?): Boolean
fun equalsIgnoreCase(a: String, b: String): Boolean
fun toLowerCase(value: String?): String?
fun toLowerCase(value: String): String
fun toUpperCase(value: String?): String?
fun toUpperCase(value: String): String
}
internal class UnicodeCaseMapper : IrcCaseMapper {
override fun equalsIgnoreCase(a: String?, b: String?): Boolean {
override fun equalsIgnoreCase(a: String, b: String): Boolean {
return a.equals(b, ignoreCase = true)
}
override fun toLowerCase(value: String?): String? {
return value?.toLowerCase(Locale.US)
override fun toLowerCase(value: String): String {
return value.toLowerCase(Locale.US)
}
override fun toUpperCase(value: String?): String? {
return value?.toUpperCase(Locale.US)
override fun toUpperCase(value: String): String {
return value.toUpperCase(Locale.US)
}
}
internal class ClassicalIrcCaseMapper : IrcCaseMapper {
override fun toLowerCase(value: String?): String? {
return value?.toLowerCase(Locale.US)?.replace('[', '{')?.replace(']', '}')?.replace('^', '~')
internal class ClassicalIrcCaseMapper :
IrcCaseMapper {
override fun toLowerCase(value: String): String {
return value.toLowerCase(Locale.US).replace('[', '{').replace(']', '}').replace('^', '~')
}
override fun toUpperCase(value: String?): String? {
return value?.toUpperCase(Locale.US)?.replace('{', '[')?.replace('}', ']')?.replace('~', '^')
override fun toUpperCase(value: String): String {
return value.toUpperCase(Locale.US).replace('{', '[').replace('}', ']').replace('~', '^')
}
override fun equalsIgnoreCase(a: String?, b: String?): Boolean {
override fun equalsIgnoreCase(a: String, b: String): Boolean {
return toLowerCase(a) == toLowerCase(b) || toUpperCase(a) == toUpperCase(b)
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment