Skip to content

Commit e64e9c6

Browse files
committed
show time under message when it has linebreaks
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
1 parent f97d1f1 commit e64e9c6

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

app/src/main/java/com/nextcloud/talk/ui/ComposeChatAdapter.kt

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,16 @@ class ComposeChatAdapter(
439439
playAnimation: Boolean = false,
440440
content: @Composable () -> Unit
441441
) {
442+
fun shouldShowTimeNextToContent(message: ChatMessage): Boolean {
443+
val containsLinebreak = message.message?.contains("\n") ?: false ||
444+
message.message?.contains("\r") ?: false
445+
446+
return ((message.message?.length ?: 0) < MESSAGE_LENGTH_THRESHOLD) &&
447+
!isFirstMessageOfThreadInNormalChat(message) &&
448+
message.messageParameters.isNullOrEmpty() &&
449+
!containsLinebreak
450+
}
451+
442452
val incoming = message.actorId != currentUser.userId
443453
val color = if (incoming) {
444454
if (message.isDeleted) {
@@ -512,10 +522,7 @@ class ComposeChatAdapter(
512522

513523
ThreadTitle(message)
514524

515-
val showTimeNextToContent = ((message.message?.length ?: 0) < MESSAGE_LENGTH_THRESHOLD) &&
516-
!isFirstMessageOfThreadInNormalChat(message)
517-
518-
if (showTimeNextToContent) {
525+
if (shouldShowTimeNextToContent(message)) {
519526
Row(
520527
verticalAlignment = Alignment.CenterVertically
521528
) {
@@ -1076,7 +1083,15 @@ fun AllMessageTypesPreview() {
10761083
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
10771084
},
10781085
ChatMessage().apply {
1079-
jsonMessageId = 3
1086+
jsonMessageId = 4
1087+
actorId = "user1_id"
1088+
message = "some \n linebreak"
1089+
timestamp = System.currentTimeMillis()
1090+
actorDisplayName = "User2"
1091+
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
1092+
},
1093+
ChatMessage().apply {
1094+
jsonMessageId = 5
10801095
actorId = "user1_id"
10811096
threadTitle = "Thread title"
10821097
isThread = true
@@ -1086,7 +1101,7 @@ fun AllMessageTypesPreview() {
10861101
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
10871102
},
10881103
ChatMessage().apply {
1089-
jsonMessageId = 4
1104+
jsonMessageId = 6
10901105
actorId = "user1_id"
10911106
threadTitle = "looooooooooooong Thread title"
10921107
isThread = true
@@ -1095,7 +1110,6 @@ fun AllMessageTypesPreview() {
10951110
actorDisplayName = "User2"
10961111
messageType = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.name
10971112
}
1098-
10991113
)
11001114
}
11011115

0 commit comments

Comments
 (0)