Skip to content

Commit acf6468

Browse files
committed
fix quoted links - don't underline
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
1 parent 05e60d8 commit acf6468

4 files changed

Lines changed: 19 additions & 10 deletions

File tree

app/src/main/java/com/nextcloud/talk/chat/ui/model/ChatMessageUi.kt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -243,18 +243,15 @@ fun resolveStatusIcon(
243243
else -> MessageStatusIcon.SENT
244244
}
245245

246-
247246
private val validHttpsLinkRegex = Regex(
248247
"""(?<!\w)https://(?:www\.)?[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)+(?:/[^\s)]*)?""",
249248
RegexOption.IGNORE_CASE
250249
)
251250

252-
private fun String.hasValidHttpsLink(): Boolean =
253-
validHttpsLinkRegex.containsMatchIn(this)
251+
private fun String.hasValidHttpsLink(): Boolean = validHttpsLinkRegex.containsMatchIn(this)
254252

255253
fun getMessageTypeContent(user: User, message: ChatMessage): MessageTypeContent? =
256254

257-
258255
if (message.isSystemMessage) {
259256
MessageTypeContent.SystemMessage
260257
} else if (message.isVoiceMessage) {
@@ -268,14 +265,13 @@ fun getMessageTypeContent(user: User, message: ChatMessage): MessageTypeContent?
268265
} else if (message.hasDeckCard) {
269266
getDeckContent(message)
270267
} else {
271-
if(message.message.orEmpty().hasValidHttpsLink()) {
268+
if (message.message.orEmpty().hasValidHttpsLink()) {
272269
message.extractLinkPreviewUrl(user)
273270
?.takeIf { it.hasValidHttpsLink() }
274271
?.let { MessageTypeContent.LinkPreview(url = it) }
275-
}else{
272+
} else {
276273
MessageTypeContent.RegularText
277274
}
278-
279275
}
280276

281277
fun getMediaContent(user: User, message: ChatMessage): MessageTypeContent.Media {

app/src/main/java/com/nextcloud/talk/ui/chat/ChatMessageScaffold.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,9 +725,21 @@ private fun QuoteTextContent(message: ChatMessageUi) {
725725
fontSize = authorTextSize,
726726
color = colorResource(R.color.no_emphasis_text)
727727
)
728-
EnrichedText(
728+
729+
val isInspectionMode = LocalInspectionMode.current
730+
val isSingleEmoji = !isInspectionMode &&
731+
message.messageParameters.isEmpty() &&
732+
TextMatchers.isMessageWithSingleEmoticonOnly(message.plainMessage)
733+
val fontSize = if (isSingleEmoji) regularTextSize * SINGLE_EMOJI_SIZE_MULTIPLIER else regularTextSize
734+
735+
MentionEnrichedText(
729736
message = message,
730737
modifier = Modifier.padding(end = 4.dp),
738+
textStyle = TextStyle(
739+
fontSize = fontSize,
740+
color = colorScheme.onSurface,
741+
lineHeight = fontSize * LINE_SPACING
742+
),
731743
maxLines = 4
732744
)
733745
}

app/src/main/java/com/nextcloud/talk/ui/chat/MarkdownText.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,8 @@ fun MarkdownText(
158158
avatarGapPx = avatarGapPx
159159
)
160160

161-
162161
val hasLinks = Linkify.addLinks(ssb, validLinkRegex.toPattern(), null) ||
163-
Linkify.addLinks(ssb, MESSAGE_LINKIFY_MASK)
162+
Linkify.addLinks(ssb, MESSAGE_LINKIFY_MASK)
164163

165164
resolveFileParams(ssb, message)
166165
applySearchHighlight(ssb, highlightSearchTerm, searchHighlightColorArgb)

app/src/main/java/com/nextcloud/talk/ui/chat/MentionEnrichedText.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ private fun buildMentionRichText(
148148
val url = token.substringAfter("(").substringBefore(")")
149149
appendLinkedToken(textPart, url, linkColor)
150150
}
151+
152+
token.startsWith("http") -> append(token)
151153
}
152154

153155
lastIndex = range.last + 1

0 commit comments

Comments
 (0)