From a8c3c34799b57f62d24fa799dfdb17156a774308 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Fri, 30 Mar 2018 14:29:37 +0200
Subject: [PATCH] Further input improvements

---
 .../quasseldroid/ui/chat/input/Editor.kt      | 32 ++++++++-----------
 .../util/irc/format/IrcFormatSerializer.kt    |  8 ++++-
 2 files changed, 21 insertions(+), 19 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 b5b2d0750..0c4beb466 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
@@ -125,23 +125,6 @@ class Editor(
       send()
     }
 
-    chatline.setOnKeyListener { _, keyCode, event ->
-      when (keyCode) {
-        KeyEvent.KEYCODE_ENTER,
-        KeyEvent.KEYCODE_NUMPAD_ENTER -> if (event.hasNoModifiers()) {
-          send()
-          true
-        } else {
-          false
-        }
-        KeyEvent.KEYCODE_TAB          -> {
-          autoComplete(event.isShiftPressed)
-          true
-        }
-        else                          -> false
-      }
-    }
-
     chatline.imeOptions = when (appearanceSettings.inputEnter) {
       AppearanceSettings.InputEnterMode.EMOJI -> listOf(
         EditorInfo.IME_ACTION_NONE,
@@ -286,7 +269,20 @@ class Editor(
           true
         }
         else               -> false
-      } else false
+      } else when (keyCode) {
+        KeyEvent.KEYCODE_ENTER,
+        KeyEvent.KEYCODE_NUMPAD_ENTER -> if (event.isShiftPressed) {
+          false
+        } else {
+          send()
+          true
+        }
+        KeyEvent.KEYCODE_TAB          -> {
+          autoComplete(event.isShiftPressed)
+          true
+        }
+        else                          -> false
+      }
     }
   }
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
index 267659da8..f554edfcb 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/IrcFormatSerializer.kt
@@ -187,8 +187,14 @@ class IrcFormatSerializer @Inject constructor(private val context: Context) {
           } else {
             writeColor(afterForegroundCode, afterBackgroundCode)
           }
-        } else {
+        } else if (afterForeground != null || afterBackground != null) {
           writeHexColor(afterForeground, afterBackground)
+        } else {
+          if (foregroundCode != null || backgroundCode != null) {
+            writeColor(afterForeground, afterBackground)
+          } else {
+            writeHexColor(afterForeground, afterBackground)
+          }
         }
       }
 
-- 
GitLab