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
No related branches found
No related tags found
No related merge requests found
...@@ -11,9 +11,9 @@ import android.view.ViewGroup ...@@ -11,9 +11,9 @@ import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import butterknife.BindView import butterknife.BindView
import butterknife.ButterKnife import butterknife.ButterKnife
import de.kuschku.libquassel.util.irc.IrcCaseMappers
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.util.helper.visibleIf import de.kuschku.quasseldroid_ng.util.helper.visibleIf
import de.kuschku.quasseldroid_ng.util.irc.IrcCaseMappers
class NickListAdapter( class NickListAdapter(
lifecycleOwner: LifecycleOwner, lifecycleOwner: LifecycleOwner,
......
package de.kuschku.quasseldroid_ng.util.irc package de.kuschku.libquassel.util.irc
import java.util.* import java.util.*
...@@ -7,38 +7,39 @@ object IrcCaseMappers { ...@@ -7,38 +7,39 @@ object IrcCaseMappers {
var unicode: IrcCaseMapper = ClassicalIrcCaseMapper() var unicode: IrcCaseMapper = ClassicalIrcCaseMapper()
interface IrcCaseMapper { 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 { 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) return a.equals(b, ignoreCase = true)
} }
override fun toLowerCase(value: String?): String? { override fun toLowerCase(value: String): String {
return value?.toLowerCase(Locale.US) return value.toLowerCase(Locale.US)
} }
override fun toUpperCase(value: String?): String? { override fun toUpperCase(value: String): String {
return value?.toUpperCase(Locale.US) return value.toUpperCase(Locale.US)
} }
} }
internal class ClassicalIrcCaseMapper : IrcCaseMapper { internal class ClassicalIrcCaseMapper :
override fun toLowerCase(value: String?): String? { IrcCaseMapper {
return value?.toLowerCase(Locale.US)?.replace('[', '{')?.replace(']', '}')?.replace('^', '~') override fun toLowerCase(value: String): String {
return value.toLowerCase(Locale.US).replace('[', '{').replace(']', '}').replace('^', '~')
} }
override fun toUpperCase(value: String?): String? { override fun toUpperCase(value: String): String {
return value?.toUpperCase(Locale.US)?.replace('{', '[')?.replace('}', ']')?.replace('~', '^') 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) 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