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

Implement functionality to make emoji-only messages larger

parent fcb58edd
Branches
Tags
No related merge requests found
Pipeline #
...@@ -57,6 +57,7 @@ import de.kuschku.quasseldroid.settings.AutoCompleteSettings ...@@ -57,6 +57,7 @@ import de.kuschku.quasseldroid.settings.AutoCompleteSettings
import de.kuschku.quasseldroid.settings.BacklogSettings import de.kuschku.quasseldroid.settings.BacklogSettings
import de.kuschku.quasseldroid.settings.MessageSettings import de.kuschku.quasseldroid.settings.MessageSettings
import de.kuschku.quasseldroid.ui.chat.ChatActivity import de.kuschku.quasseldroid.ui.chat.ChatActivity
import de.kuschku.quasseldroid.util.Patterns
import de.kuschku.quasseldroid.util.avatars.AvatarHelper import de.kuschku.quasseldroid.util.avatars.AvatarHelper
import de.kuschku.quasseldroid.util.helper.* import de.kuschku.quasseldroid.util.helper.*
import de.kuschku.quasseldroid.util.service.ServiceBoundFragment import de.kuschku.quasseldroid.util.service.ServiceBoundFragment
...@@ -292,7 +293,8 @@ class MessageListFragment : ServiceBoundFragment() { ...@@ -292,7 +293,8 @@ class MessageListFragment : ServiceBoundFragment() {
isSelected = selected.contains(it.messageId), isSelected = selected.contains(it.messageId),
isExpanded = expanded.contains(it.messageId), isExpanded = expanded.contains(it.messageId),
isMarkerLine = markerLine == it.messageId, isMarkerLine = markerLine == it.messageId,
isEmoji = false // Do not run the emoji regex if not necessary, this saves quite a bit of performance
isEmoji = messageSettings.largerEmoji && Patterns.EMOJI.matches(it.content)
) )
} }
} }
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
package de.kuschku.quasseldroid.util package de.kuschku.quasseldroid.util
import de.kuschku.quasseldroid.util.emoji.EmojiData
import org.intellij.lang.annotations.Language import org.intellij.lang.annotations.Language
@SuppressWarnings("Access") @SuppressWarnings("Access")
...@@ -117,4 +118,14 @@ object Patterns { ...@@ -117,4 +118,14 @@ object Patterns {
@Language("RegExp") @Language("RegExp")
const val IRC_NICK_STR = """[A-Za-z\x5b-\x60\x7b-\x7d][A-Za-z0-9\x5b-\x60\x7b-\x7d]*""" const val IRC_NICK_STR = """[A-Za-z\x5b-\x60\x7b-\x7d][A-Za-z0-9\x5b-\x60\x7b-\x7d]*"""
val IRC_NICK = Regex(IRC_NICK_STR) val IRC_NICK = Regex(IRC_NICK_STR)
/**
* Regular expression to detect emoji
*/
val EMOJI_STRING = EmojiData.emojis.joinToString(
prefix = """(?:\s|\Q""",
separator = """\E|\Q""",
postfix = """\E)+"""
)
val EMOJI = Regex(EMOJI_STRING)
} }
This diff is collapsed.
...@@ -207,14 +207,12 @@ ...@@ -207,14 +207,12 @@
android:key="@string/preference_time_at_end_key" android:key="@string/preference_time_at_end_key"
android:summary="@string/preference_time_at_end_summary" android:summary="@string/preference_time_at_end_summary"
android:title="@string/preference_time_at_end_title" /> android:title="@string/preference_time_at_end_title" />
<!--
<SwitchPreference <SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:dependency="@string/preference_nicks_on_new_line_key" android:dependency="@string/preference_nicks_on_new_line_key"
android:key="@string/preference_larger_emoji_key" android:key="@string/preference_larger_emoji_key"
android:title="@string/preference_larger_emoji_title" android:summary="@string/preference_larger_emoji_summary"
android:summary="@string/preference_larger_emoji_summary" /> android:title="@string/preference_larger_emoji_title" />
-->
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:layout="@layout/widget_preference_divider" /> <PreferenceCategory android:layout="@layout/widget_preference_divider" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment