From c91c5ef642a735f45bb42c0bf7f5679e641acb92 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Fri, 9 Mar 2018 18:03:36 +0100
Subject: [PATCH] Fixing sync issue where channels were improperly joined

---
 .../ui/chat/NickListAdapter.kt                |  2 +-
 .../util/irc/IrcCaseMappers.kt                | 52 ------------------
 .../libquassel/util/irc/IrcCaseMappers.kt     | 53 +++++++++++++++++++
 3 files changed, 54 insertions(+), 53 deletions(-)
 delete mode 100644 app/src/main/java/de/kuschku/quasseldroid_ng/util/irc/IrcCaseMappers.kt
 create mode 100644 lib/src/main/java/de/kuschku/libquassel/util/irc/IrcCaseMappers.kt

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 d0cbd6982..ce4f8b57e 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
@@ -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,
diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/irc/IrcCaseMappers.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/util/irc/IrcCaseMappers.kt
deleted file mode 100644
index 31cefa1b3..000000000
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/irc/IrcCaseMappers.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-package de.kuschku.quasseldroid_ng.util.irc
-
-import java.util.*
-
-object IrcCaseMappers {
-  var irc: IrcCaseMapper = UnicodeCaseMapper()
-  var unicode: IrcCaseMapper = ClassicalIrcCaseMapper()
-
-  interface IrcCaseMapper {
-    fun equalsIgnoreCase(a: String?, b: String?): Boolean
-
-    fun toLowerCase(value: String?): String?
-
-    fun toUpperCase(value: String?): String?
-  }
-
-  internal class UnicodeCaseMapper : IrcCaseMapper {
-
-    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 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('^', '~')
-    }
-
-    override fun toUpperCase(value: String?): String? {
-      return value?.toUpperCase(Locale.US)?.replace('{', '[')?.replace('}', ']')?.replace('~', '^')
-    }
-
-    override fun equalsIgnoreCase(a: String?, b: String?): Boolean {
-      return toLowerCase(a) == toLowerCase(b) || toUpperCase(a) == toUpperCase(b)
-    }
-  }
-
-  operator fun get(caseMapping: String)
-    = if (caseMapping.equals("rfc1459", ignoreCase = true)) {
-    irc
-  } else {
-    unicode
-  }
-}
\ No newline at end of file
diff --git a/lib/src/main/java/de/kuschku/libquassel/util/irc/IrcCaseMappers.kt b/lib/src/main/java/de/kuschku/libquassel/util/irc/IrcCaseMappers.kt
new file mode 100644
index 000000000..c7cbc1521
--- /dev/null
+++ b/lib/src/main/java/de/kuschku/libquassel/util/irc/IrcCaseMappers.kt
@@ -0,0 +1,53 @@
+package de.kuschku.libquassel.util.irc
+
+import java.util.*
+
+object IrcCaseMappers {
+  var irc: IrcCaseMapper = UnicodeCaseMapper()
+  var unicode: IrcCaseMapper = ClassicalIrcCaseMapper()
+
+  interface IrcCaseMapper {
+    fun equalsIgnoreCase(a: String, b: String): Boolean
+
+    fun toLowerCase(value: String): String
+
+    fun toUpperCase(value: String): String
+  }
+
+  internal class UnicodeCaseMapper : IrcCaseMapper {
+
+    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 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('^', '~')
+    }
+
+    override fun toUpperCase(value: String): String {
+      return value.toUpperCase(Locale.US).replace('{', '[').replace('}', ']').replace('~', '^')
+    }
+
+    override fun equalsIgnoreCase(a: String, b: String): Boolean {
+      return toLowerCase(a) == toLowerCase(b) || toUpperCase(a) == toUpperCase(b)
+    }
+  }
+
+  operator fun get(caseMapping: String)
+    = if (caseMapping.equals("rfc1459", ignoreCase = true)) {
+    irc
+  } else {
+    unicode
+  }
+}
\ No newline at end of file
-- 
GitLab