@@ -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