mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 03:18:06 +00:00
Increase text size when chat bubble only contains emoji character(s)
This commit is contained in:
parent
4ef9a2bdf3
commit
19df3b07dc
5 changed files with 28 additions and 2 deletions
|
|
@ -135,6 +135,8 @@ class MessageModel
|
|||
|
||||
val text = MutableLiveData<Spannable>()
|
||||
|
||||
val isTextEmoji = MutableLiveData<Boolean>()
|
||||
|
||||
val reactions = MutableLiveData<String>()
|
||||
|
||||
val ourReactionIndex = MutableLiveData<Int>()
|
||||
|
|
@ -655,6 +657,13 @@ class MessageModel
|
|||
val textContent = content.utf8Text.orEmpty().trim()
|
||||
val spannableBuilder = SpannableStringBuilder(textContent)
|
||||
|
||||
val emojiOnly = AppUtils.isTextOnlyContainsEmoji(textContent)
|
||||
isTextEmoji.postValue(emojiOnly)
|
||||
if (emojiOnly) {
|
||||
text.postValue(spannableBuilder)
|
||||
return
|
||||
}
|
||||
|
||||
// Check for search
|
||||
if (highlight.isNotEmpty()) {
|
||||
val indexStart = textContent.indexOf(highlight, 0, ignoreCase = true)
|
||||
|
|
|
|||
|
|
@ -154,6 +154,21 @@ class AppUtils {
|
|||
return initials
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun isTextOnlyContainsEmoji(text: String): Boolean {
|
||||
if (text.isEmpty()) return false
|
||||
|
||||
var textToCheck = text
|
||||
do {
|
||||
var firstSymbol = extractFirstSymbol(textToCheck)
|
||||
var symbolLength = firstSymbol.length
|
||||
if (symbolLength <= 1) return false
|
||||
textToCheck = textToCheck.substring(symbolLength)
|
||||
} while (textToCheck.isNotEmpty())
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@AnyThread
|
||||
fun getDeviceName(context: Context): String {
|
||||
var name = Settings.Global.getString(
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{model.text, default=`Lorem ipsum dolor sit amet`}"
|
||||
android:textSize="14sp"
|
||||
android:textSize="@{model.isTextEmoji ? @dimen/chat_bubble_emoji_only_text_size : @dimen/chat_bubble_text_size, default=@dimen/chat_bubble_text_size}"
|
||||
android:textColor="?attr/color_main2_800"
|
||||
android:gravity="center_vertical|start"
|
||||
android:visibility="@{model.text.length() > 0 ? View.VISIBLE : View.GONE}"/>
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{model.text, default=`Lorem ipsum dolor sit amet`}"
|
||||
android:textSize="14sp"
|
||||
android:textSize="@{model.isTextEmoji ? @dimen/chat_bubble_emoji_only_text_size : @dimen/chat_bubble_text_size, default=@dimen/chat_bubble_text_size}"
|
||||
android:textColor="?attr/color_main2_800"
|
||||
android:gravity="center_vertical|start"
|
||||
android:visibility="@{model.text.length() > 0 ? View.VISIBLE : View.GONE}"/>
|
||||
|
|
|
|||
|
|
@ -84,6 +84,8 @@
|
|||
<dimen name="chat_bubble_top_margin">8dp</dimen>
|
||||
<dimen name="chat_bubble_grouped_bottom_margin">2dp</dimen>
|
||||
<dimen name="chat_bubble_bottom_margin">8dp</dimen>
|
||||
<dimen name="chat_bubble_text_size">14sp</dimen>
|
||||
<dimen name="chat_bubble_emoji_only_text_size">45sp</dimen>
|
||||
<dimen name="chat_bubble_long_press_emoji_reaction_size">25dp</dimen>
|
||||
<dimen name="chat_bubble_big_image_max_size">175dp</dimen>
|
||||
<dimen name="chat_bubble_grid_file_size">87dp</dimen>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue