From a5f7e89bcae881c4f5fe083d02292ce40d1b9716 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sun, 27 May 2018 14:22:24 +0200
Subject: [PATCH] Fixes #117

---
 .../chat/messages/QuasselMessageRenderer.kt   | 187 +++++++++++-------
 .../res/layout/widget_chatmessage_plain.xml   |   2 +-
 app/src/main/res/values/attrs.xml             |   3 +
 app/src/main/res/values/themes_amoled.xml     |   1 +
 app/src/main/res/values/themes_base.xml       |   4 +
 app/src/main/res/values/themes_dracula.xml    |   1 +
 app/src/main/res/values/themes_gruvbox.xml    |   2 +
 app/src/main/res/values/themes_material.xml   |   2 +
 app/src/main/res/values/themes_quassel.xml    |   6 +
 app/src/main/res/values/themes_solarized.xml  |   2 +
 10 files changed, 138 insertions(+), 72 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
index 3b5254bce..7b5a0cce5 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/QuasselMessageRenderer.kt
@@ -42,6 +42,7 @@ import de.kuschku.quasseldroid.util.avatars.AvatarHelper
 import de.kuschku.quasseldroid.util.helper.styledAttributes
 import de.kuschku.quasseldroid.util.helper.visibleIf
 import de.kuschku.quasseldroid.util.irc.format.ContentFormatter
+import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer
 import de.kuschku.quasseldroid.util.ui.SpanFormatter
 import de.kuschku.quasseldroid.util.ui.TextDrawable
 import de.kuschku.quasseldroid.viewmodel.data.FormattedMessage
@@ -55,7 +56,8 @@ import kotlin.math.roundToInt
 class QuasselMessageRenderer @Inject constructor(
   context: Context,
   private val messageSettings: MessageSettings,
-  private val contentFormatter: ContentFormatter
+  private val contentFormatter: ContentFormatter,
+  private val ircFormatDeserializer: IrcFormatDeserializer
 ) : MessageRenderer {
   private val timeFormatter = DateTimeFormatter.ofPattern(
     timePattern(messageSettings.showSeconds, messageSettings.use24hClock)
@@ -85,6 +87,12 @@ class QuasselMessageRenderer @Inject constructor(
     }
   }
 
+  private val monochromeHighlights = context.theme.styledAttributes(
+    R.attr.colorForegroundHighlightMonochrome
+  ) {
+    getBoolean(0, false)
+  }
+
   private val selfColor: Int = context.theme.styledAttributes(R.attr.colorForegroundSecondary) {
     getColor(0, 0)
   }
@@ -111,19 +119,19 @@ class QuasselMessageRenderer @Inject constructor(
                     isEmoji: Boolean) {
     if (hasHighlight) {
       viewHolder.itemView.context.theme.styledAttributes(
-        R.attr.colorForegroundHighlight, R.attr.colorBackgroundHighlight,
-        R.attr.backgroundMenuItem
+        R.attr.colorForegroundHighlight, R.attr.colorForegroundHighlightSecondary,
+        R.attr.colorBackgroundHighlight, R.attr.backgroundMenuItem
       ) {
-        viewHolder.timeLeft?.setTextColor(getColor(0, 0))
-        viewHolder.timeRight?.setTextColor(getColor(0, 0))
-        viewHolder.name?.setTextColor(getColor(0, 0))
-        viewHolder.realname?.setTextColor(getColor(0, 0))
+        viewHolder.timeLeft?.setTextColor(getColor(1, 0))
+        viewHolder.timeRight?.setTextColor(getColor(1, 0))
+        viewHolder.name?.setTextColor(getColor(1, 0))
+        viewHolder.realname?.setTextColor(getColor(1, 0))
         viewHolder.combined?.setTextColor(getColor(0, 0))
         viewHolder.content?.setTextColor(getColor(0, 0))
         viewHolder.itemView.background = LayerDrawable(
           arrayOf(
-            ColorDrawable(getColor(1, 0)),
-            getDrawable(2)
+            ColorDrawable(getColor(2, 0)),
+            getDrawable(3)
           )
         )
       }
@@ -197,20 +205,22 @@ class QuasselMessageRenderer @Inject constructor(
     ).roundToInt()
 
     val self = message.content.flag.hasFlag(Message_Flag.Self)
-    val highlight = message.content.flag.hasFlag(Message_Flag.Highlight)
+    val highlight__ = message.content.flag.hasFlag(Message_Flag.Highlight)
+    val monochromeForeground = highlight__ && monochromeHighlights
     return when (message.content.type.enabledValues().firstOrNull()) {
       Message_Type.Plain        -> {
-        val realName = contentFormatter.formatContent(message.content.realName, highlight)
+        val realName = ircFormatDeserializer.formatString(message.content.realName,
+                                                          !monochromeForeground)
         val nick = SpannableStringBuilder().apply {
           append(contentFormatter.formatPrefix(message.content.senderPrefixes))
           append(contentFormatter.formatNick(
             message.content.sender,
             self,
-            highlight,
+            monochromeForeground,
             false
           ))
         }
-        val content = contentFormatter.formatContent(message.content.content, highlight)
+        val content = contentFormatter.formatContent(message.content.content, monochromeForeground)
         val nickName = HostmaskHelper.nick(message.content.sender)
         val senderColorIndex = SenderColorUtil.senderColor(nickName)
         val rawInitial = nickName.trimStart('-', '_', '[', ']', '{', '}', '|', '`', '^', '.', '\\')
@@ -254,8 +264,8 @@ class QuasselMessageRenderer @Inject constructor(
         combined = SpanFormatter.format(
           context.getString(R.string.message_format_action),
           contentFormatter.formatPrefix(message.content.senderPrefixes),
-          contentFormatter.formatNick(message.content.sender, self, highlight, false),
-          contentFormatter.formatContent(message.content.content, highlight)
+          contentFormatter.formatNick(message.content.sender, self, monochromeForeground, false),
+          contentFormatter.formatContent(message.content.content, monochromeForeground)
         ),
         hasDayChange = message.hasDayChange,
         isMarkerLine = message.isMarkerLine,
@@ -269,8 +279,8 @@ class QuasselMessageRenderer @Inject constructor(
         combined = SpanFormatter.format(
           context.getString(R.string.message_format_notice),
           contentFormatter.formatPrefix(message.content.senderPrefixes),
-          contentFormatter.formatNick(message.content.sender, self, highlight, false),
-          contentFormatter.formatContent(message.content.content, highlight)
+          contentFormatter.formatNick(message.content.sender, self, monochromeForeground, false),
+          contentFormatter.formatContent(message.content.content, monochromeForeground)
         ),
         hasDayChange = message.hasDayChange,
         isMarkerLine = message.isMarkerLine,
@@ -287,15 +297,30 @@ class QuasselMessageRenderer @Inject constructor(
             SpanFormatter.format(
               context.getString(R.string.message_format_nick_self),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender, nickSelf, highlight, false)
+              contentFormatter.formatNick(
+                message.content.sender,
+                nickSelf,
+                monochromeForeground,
+                false
+              )
             )
           } else {
             SpanFormatter.format(
               context.getString(R.string.message_format_nick),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender, nickSelf, highlight, false),
+              contentFormatter.formatNick(
+                message.content.sender,
+                nickSelf,
+                monochromeForeground,
+                false
+              ),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.content, nickSelf, highlight, false)
+              contentFormatter.formatNick(
+                message.content.content,
+                nickSelf,
+                monochromeForeground,
+                false
+              )
             )
           },
           hasDayChange = message.hasDayChange,
@@ -312,7 +337,7 @@ class QuasselMessageRenderer @Inject constructor(
           context.getString(R.string.message_format_mode),
           message.content.content,
           contentFormatter.formatPrefix(message.content.senderPrefixes),
-          contentFormatter.formatNick(message.content.sender, self, highlight, false)
+          contentFormatter.formatNick(message.content.sender, self, monochromeForeground, false)
         ),
         hasDayChange = message.hasDayChange,
         isMarkerLine = message.isMarkerLine,
@@ -326,10 +351,12 @@ class QuasselMessageRenderer @Inject constructor(
         combined = SpanFormatter.format(
           context.getString(R.string.message_format_join),
           contentFormatter.formatPrefix(message.content.senderPrefixes),
-          contentFormatter.formatNick(message.content.sender,
-                                      self,
-                                      highlight,
-                                      messageSettings.showHostmaskActions),
+          contentFormatter.formatNick(
+            message.content.sender,
+            self,
+            monochromeForeground,
+            messageSettings.showHostmaskActions
+          ),
           message.content.content
         ),
         hasDayChange = message.hasDayChange,
@@ -345,20 +372,24 @@ class QuasselMessageRenderer @Inject constructor(
           SpanFormatter.format(
             context.getString(R.string.message_format_part_1),
             contentFormatter.formatPrefix(message.content.senderPrefixes),
-            contentFormatter.formatNick(message.content.sender,
-                                        self,
-                                        highlight,
-                                        messageSettings.showHostmaskActions)
+            contentFormatter.formatNick(
+              message.content.sender,
+              self,
+              monochromeForeground,
+              messageSettings.showHostmaskActions
+            )
           )
         } else {
           SpanFormatter.format(
             context.getString(R.string.message_format_part_2),
             contentFormatter.formatPrefix(message.content.senderPrefixes),
-            contentFormatter.formatNick(message.content.sender,
-                                        self,
-                                        highlight,
-                                        messageSettings.showHostmaskActions),
-            contentFormatter.formatContent(message.content.content, highlight)
+            contentFormatter.formatNick(
+              message.content.sender,
+              self,
+              monochromeForeground,
+              messageSettings.showHostmaskActions
+            ),
+            contentFormatter.formatContent(message.content.content, monochromeForeground)
           )
         },
         hasDayChange = message.hasDayChange,
@@ -374,20 +405,24 @@ class QuasselMessageRenderer @Inject constructor(
           SpanFormatter.format(
             context.getString(R.string.message_format_quit_1),
             contentFormatter.formatPrefix(message.content.senderPrefixes),
-            contentFormatter.formatNick(message.content.sender,
-                                        self,
-                                        highlight,
-                                        messageSettings.showHostmaskActions)
+            contentFormatter.formatNick(
+              message.content.sender,
+              self,
+              monochromeForeground,
+              messageSettings.showHostmaskActions
+            )
           )
         } else {
           SpanFormatter.format(
             context.getString(R.string.message_format_quit_2),
             contentFormatter.formatPrefix(message.content.senderPrefixes),
-            contentFormatter.formatNick(message.content.sender,
-                                        self,
-                                        highlight,
-                                        messageSettings.showHostmaskActions),
-            contentFormatter.formatContent(message.content.content, highlight)
+            contentFormatter.formatNick(
+              message.content.sender,
+              self,
+              monochromeForeground,
+              messageSettings.showHostmaskActions
+            ),
+            contentFormatter.formatContent(message.content.content, monochromeForeground)
           )
         },
         hasDayChange = message.hasDayChange,
@@ -404,23 +439,27 @@ class QuasselMessageRenderer @Inject constructor(
           combined = if (reason.isBlank()) {
             SpanFormatter.format(
               context.getString(R.string.message_format_kick_1),
-              contentFormatter.formatNick(user, false, highlight, false),
+              contentFormatter.formatNick(user, false, monochromeForeground, false),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender,
-                                          self,
-                                          highlight,
-                                          messageSettings.showHostmaskActions)
+              contentFormatter.formatNick(
+                message.content.sender,
+                self,
+                monochromeForeground,
+                messageSettings.showHostmaskActions
+              )
             )
           } else {
             SpanFormatter.format(
               context.getString(R.string.message_format_kick_2),
-              contentFormatter.formatNick(user, false, highlight, false),
+              contentFormatter.formatNick(user, false, monochromeForeground, false),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender,
-                                          self,
-                                          highlight,
-                                          messageSettings.showHostmaskActions),
-              contentFormatter.formatContent(reason, highlight)
+              contentFormatter.formatNick(
+                message.content.sender,
+                self,
+                monochromeForeground,
+                messageSettings.showHostmaskActions
+              ),
+              contentFormatter.formatContent(reason, monochromeForeground)
             )
           },
           hasDayChange = message.hasDayChange,
@@ -438,23 +477,27 @@ class QuasselMessageRenderer @Inject constructor(
           combined = if (reason.isBlank()) {
             SpanFormatter.format(
               context.getString(R.string.message_format_kill_1),
-              contentFormatter.formatNick(user, false, highlight, false),
+              contentFormatter.formatNick(user, false, monochromeForeground, false),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender,
-                                          self,
-                                          highlight,
-                                          messageSettings.showHostmaskActions)
+              contentFormatter.formatNick(
+                message.content.sender,
+                self,
+                monochromeForeground,
+                messageSettings.showHostmaskActions
+              )
             )
           } else {
             SpanFormatter.format(
               context.getString(R.string.message_format_kill_2),
-              contentFormatter.formatNick(user, false, highlight, false),
+              contentFormatter.formatNick(user, false, monochromeForeground, false),
               contentFormatter.formatPrefix(message.content.senderPrefixes),
-              contentFormatter.formatNick(message.content.sender,
-                                          self,
-                                          highlight,
-                                          messageSettings.showHostmaskActions),
-              contentFormatter.formatContent(reason, highlight)
+              contentFormatter.formatNick(
+                message.content.sender,
+                self,
+                monochromeForeground,
+                messageSettings.showHostmaskActions
+              ),
+              contentFormatter.formatContent(reason, monochromeForeground)
             )
           },
           hasDayChange = message.hasDayChange,
@@ -503,7 +546,7 @@ class QuasselMessageRenderer @Inject constructor(
         id = message.content.messageId,
         time = timeFormatter.format(message.content.time.atZone(zoneId)),
         dayChange = formatDayChange(message),
-        combined = contentFormatter.formatContent(message.content.content, highlight),
+        combined = contentFormatter.formatContent(message.content.content, monochromeForeground),
         hasDayChange = message.hasDayChange,
         isMarkerLine = message.isMarkerLine,
         isExpanded = message.isExpanded,
@@ -513,7 +556,7 @@ class QuasselMessageRenderer @Inject constructor(
         id = message.content.messageId,
         time = timeFormatter.format(message.content.time.atZone(zoneId)),
         dayChange = formatDayChange(message),
-        combined = contentFormatter.formatContent(message.content.content, highlight),
+        combined = contentFormatter.formatContent(message.content.content, monochromeForeground),
         hasDayChange = message.hasDayChange,
         isMarkerLine = message.isMarkerLine,
         isExpanded = message.isExpanded,
@@ -538,10 +581,12 @@ class QuasselMessageRenderer @Inject constructor(
           "[%d] %s%s: %s",
           message.content.type.toInt(),
           contentFormatter.formatPrefix(message.content.senderPrefixes),
-          contentFormatter.formatNick(message.content.sender,
-                                      self,
-                                      highlight,
-                                      messageSettings.showHostmaskActions),
+          contentFormatter.formatNick(
+            message.content.sender,
+            self,
+            monochromeForeground,
+            messageSettings.showHostmaskActions
+          ),
           message.content.content
         ),
         hasDayChange = message.hasDayChange,
diff --git a/app/src/main/res/layout/widget_chatmessage_plain.xml b/app/src/main/res/layout/widget_chatmessage_plain.xml
index 41e70526a..798547197 100644
--- a/app/src/main/res/layout/widget_chatmessage_plain.xml
+++ b/app/src/main/res/layout/widget_chatmessage_plain.xml
@@ -87,7 +87,7 @@
           android:layout_gravity="center_vertical"
           android:ellipsize="marquee"
           android:singleLine="true"
-          android:textColor="?attr/colorForeground"
+          android:textColor="?attr/colorForegroundSecondary"
           android:visibility="gone"
           tools:text="@sample/messages.json/data/sender"
           tools:visibility="visible" />
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 7ac8230ab..6efa6e004 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -39,11 +39,14 @@
   <!-- Background and foreground colors for UI -->
   <attr name="colorForeground" format="color" />
   <attr name="colorForegroundHighlight" format="color" />
+  <attr name="colorForegroundHighlightSecondary" format="color" />
   <attr name="colorForegroundSecondary" format="color" />
   <attr name="colorForegroundNotice" format="color" />
   <attr name="colorForegroundAction" format="color" />
   <attr name="colorForegroundError" format="color" />
 
+  <attr name="colorForegroundHighlightMonochrome" format="boolean" />
+
   <attr name="colorForegroundMirc" format="integer" />
 
   <attr name="colorTextPrimary" format="color" />
diff --git a/app/src/main/res/values/themes_amoled.xml b/app/src/main/res/values/themes_amoled.xml
index e2db709ae..ec3b486dc 100644
--- a/app/src/main/res/values/themes_amoled.xml
+++ b/app/src/main/res/values/themes_amoled.xml
@@ -52,6 +52,7 @@
 
     <item name="colorForeground">#FFFFFF</item>
     <item name="colorForegroundHighlight">#FFFFFF</item>
+    <item name="colorForegroundHighlightSecondary">#B3FFFFFF</item>
     <item name="colorForegroundSecondary">#B3FFFFFF</item>
     <item name="colorForegroundAction">#7986cb</item>
     <item name="colorForegroundNotice">#916409</item>
diff --git a/app/src/main/res/values/themes_base.xml b/app/src/main/res/values/themes_base.xml
index c796a2468..db4dabe84 100644
--- a/app/src/main/res/values/themes_base.xml
+++ b/app/src/main/res/values/themes_base.xml
@@ -101,6 +101,8 @@
     <item name="colorDivider">#1FFFFFFF</item>
     <item name="android:textColorHint">?colorTextSecondary</item>
 
+    <item name="colorForegroundHighlightMonochrome">false</item>
+
     <item name="colorFill">@color/colorFillDark</item>
     <item name="colorOffline">@color/colorOfflineDark</item>
     <item name="colorAway">@color/colorAwayDark</item>
@@ -137,6 +139,8 @@
     <item name="colorDivider">#1F000000</item>
     <item name="android:textColorHint">?colorTextSecondary</item>
 
+    <item name="colorForegroundHighlightMonochrome">false</item>
+
     <item name="colorFill">@color/colorFillLight</item>
     <item name="colorOffline">@color/colorOfflineLight</item>
     <item name="colorAway">@color/colorAwayLight</item>
diff --git a/app/src/main/res/values/themes_dracula.xml b/app/src/main/res/values/themes_dracula.xml
index efa5ed0ce..39ca255b6 100644
--- a/app/src/main/res/values/themes_dracula.xml
+++ b/app/src/main/res/values/themes_dracula.xml
@@ -46,6 +46,7 @@
 
     <item name="colorForeground">#f8f8f2</item>
     <item name="colorForegroundHighlight">#f8f8f2</item>
+    <item name="colorForegroundHighlightSecondary">#6272a4</item>
     <item name="colorForegroundSecondary">#6272a4</item>
     <item name="colorForegroundAction">#50fa7b</item>
     <item name="colorForegroundNotice">#44475a</item>
diff --git a/app/src/main/res/values/themes_gruvbox.xml b/app/src/main/res/values/themes_gruvbox.xml
index d3ddcc126..237c1694f 100644
--- a/app/src/main/res/values/themes_gruvbox.xml
+++ b/app/src/main/res/values/themes_gruvbox.xml
@@ -46,6 +46,7 @@
 
     <item name="colorForeground">#3c3836</item>
     <item name="colorForegroundHighlight">#3c3836</item>
+    <item name="colorForegroundHighlightSecondary">#665c54</item>
     <item name="colorForegroundSecondary">#665c54</item>
     <item name="colorForegroundAction">#076678</item>
     <item name="colorForegroundNotice">#b57614</item>
@@ -106,6 +107,7 @@
 
     <item name="colorForeground">#dbdbb2</item>
     <item name="colorForegroundHighlight">#dbdbb2</item>
+    <item name="colorForegroundHighlightSecondary">#bdae93</item>
     <item name="colorForegroundSecondary">#bdae93</item>
     <item name="colorForegroundAction">#458588</item>
     <item name="colorForegroundNotice">#d79921</item>
diff --git a/app/src/main/res/values/themes_material.xml b/app/src/main/res/values/themes_material.xml
index 9d4bb747e..68ec5e472 100644
--- a/app/src/main/res/values/themes_material.xml
+++ b/app/src/main/res/values/themes_material.xml
@@ -48,6 +48,7 @@
 
     <item name="colorForeground">#DE000000</item>
     <item name="colorForegroundHighlight">#DE000000</item>
+    <item name="colorForegroundHighlightSecondary">#8A000000</item>
     <item name="colorForegroundSecondary">#8A000000</item>
     <item name="colorForegroundAction">#01579B</item>
     <item name="colorForegroundNotice">#B56A00</item>
@@ -101,6 +102,7 @@
 
     <item name="colorForeground">#FFFFFF</item>
     <item name="colorForegroundHighlight">#FFFFFF</item>
+    <item name="colorForegroundHighlightSecondary">#B3FFFFFF</item>
     <item name="colorForegroundSecondary">#B3FFFFFF</item>
     <item name="colorForegroundAction">#448AFF</item>
     <item name="colorForegroundNotice">#FFD740</item>
diff --git a/app/src/main/res/values/themes_quassel.xml b/app/src/main/res/values/themes_quassel.xml
index 3676233a8..41dfcff63 100644
--- a/app/src/main/res/values/themes_quassel.xml
+++ b/app/src/main/res/values/themes_quassel.xml
@@ -48,11 +48,14 @@
 
     <item name="colorForeground">#DE000000</item>
     <item name="colorForegroundHighlight">#DE000000</item>
+    <item name="colorForegroundHighlightSecondary">#8A000000</item>
     <item name="colorForegroundSecondary">#8A000000</item>
     <item name="colorForegroundAction">#1a237e</item>
     <item name="colorForegroundNotice">#916409</item>
     <item name="colorForegroundError">#800000</item>
 
+    <item name="colorForegroundHighlightMonochrome">true</item>
+
     <item name="colorForegroundMirc">0x1</item>
 
     <item name="android:windowBackground">@color/quassel_light_background</item>
@@ -101,11 +104,14 @@
 
     <item name="colorForeground">#FFFFFF</item>
     <item name="colorForegroundHighlight">#DE000000</item>
+    <item name="colorForegroundHighlightSecondary">#8A000000</item>
     <item name="colorForegroundSecondary">#B3FFFFFF</item>
     <item name="colorForegroundAction">#7986cb</item>
     <item name="colorForegroundNotice">#916409</item>
     <item name="colorForegroundError">#800000</item>
 
+    <item name="colorForegroundHighlightMonochrome">true</item>
+
     <item name="colorForegroundMirc">0x0</item>
 
     <item name="android:windowBackground">@color/quassel_dark_background</item>
diff --git a/app/src/main/res/values/themes_solarized.xml b/app/src/main/res/values/themes_solarized.xml
index c1adef81a..9d5319b21 100644
--- a/app/src/main/res/values/themes_solarized.xml
+++ b/app/src/main/res/values/themes_solarized.xml
@@ -46,6 +46,7 @@
 
     <item name="colorForeground">#586e75</item>
     <item name="colorForegroundHighlight">#586e75</item>
+    <item name="colorForegroundHighlightSecondary">#657b83</item>
     <item name="colorForegroundSecondary">#657b83</item>
     <item name="colorForegroundAction">#268BD2</item>
     <item name="colorForegroundNotice">#B58900</item>
@@ -106,6 +107,7 @@
 
     <item name="colorForeground">#93a1a1</item>
     <item name="colorForegroundHighlight">#93a1a1</item>
+    <item name="colorForegroundHighlightSecondary">#839496</item>
     <item name="colorForegroundSecondary">#839496</item>
     <item name="colorForegroundAction">#268BD2</item>
     <item name="colorForegroundNotice">#B58900</item>
-- 
GitLab