diff --git a/stream-chat-android-compose/api/stream-chat-android-compose.api b/stream-chat-android-compose/api/stream-chat-android-compose.api index 43bc71b4117..daeb3a661c7 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -1668,7 +1668,7 @@ public final class io/getstream/chat/android/compose/ui/components/messages/Poll } public final class io/getstream/chat/android/compose/ui/components/messages/QuotedMessageKt { - public static final fun QuotedMessage (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;Lio/getstream/chat/android/models/Message;Landroidx/compose/runtime/Composer;II)V + public static final fun QuotedMessage (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Landroidx/compose/ui/Modifier;Lio/getstream/chat/android/models/Message;Landroidx/compose/runtime/Composer;II)V } public final class io/getstream/chat/android/compose/ui/components/moderatedmessage/ComposableSingletons$ModeratedMessageDialogKt { @@ -5626,22 +5626,18 @@ public final class io/getstream/chat/android/compose/ui/theme/MessageOptionsThem public final class io/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams { public static final field $stable I - public fun (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;)V - public synthetic fun (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Landroidx/compose/ui/Modifier;)V + public synthetic fun (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Landroidx/compose/ui/Modifier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Lio/getstream/chat/android/models/Message; public final fun component2 ()Lio/getstream/chat/android/models/User; public final fun component3 ()Lio/getstream/chat/android/models/Message; - public final fun component4 ()Lkotlin/jvm/functions/Function1; - public final fun component5 ()Lkotlin/jvm/functions/Function1; - public final fun component6 ()Landroidx/compose/ui/Modifier; - public final fun copy (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;)Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams; - public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams;Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams; + public final fun component4 ()Landroidx/compose/ui/Modifier; + public final fun copy (Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Landroidx/compose/ui/Modifier;)Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams; + public static synthetic fun copy$default (Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams;Lio/getstream/chat/android/models/Message;Lio/getstream/chat/android/models/User;Lio/getstream/chat/android/models/Message;Landroidx/compose/ui/Modifier;ILjava/lang/Object;)Lio/getstream/chat/android/compose/ui/theme/MessageQuotedContentParams; public fun equals (Ljava/lang/Object;)Z public final fun getCurrentUser ()Lio/getstream/chat/android/models/User; public final fun getMessage ()Lio/getstream/chat/android/models/Message; public final fun getModifier ()Landroidx/compose/ui/Modifier; - public final fun getOnLongItemClick ()Lkotlin/jvm/functions/Function1; - public final fun getOnQuotedMessageClick ()Lkotlin/jvm/functions/Function1; public final fun getReplyMessage ()Lio/getstream/chat/android/models/Message; public fun hashCode ()I public fun toString ()Ljava/lang/String; diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt index 6e4a80b31a9..21be92c01d9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt @@ -16,6 +16,9 @@ package io.getstream.chat.android.compose.ui.components.messages +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -171,6 +174,7 @@ internal fun DefaultMessageDeletedContent( * @param onQuotedMessageClick Handler for quoted message click action. * @param onLinkClick Handler for clicking on a link in the message. */ +@OptIn(ExperimentalFoundationApi::class) @Composable @Suppress("LongMethod") internal fun DefaultMessageContent( @@ -192,8 +196,12 @@ internal fun DefaultMessageContent( message = quotedMessage, currentUser = currentUser, replyMessage = message, - onLongItemClick = onLongItemClick, - onQuotedMessageClick = onQuotedMessageClick, + modifier = Modifier.combinedClickable( + interactionSource = remember(::MutableInteractionSource), + indication = null, + onLongClick = { onLongItemClick(message) }, + onClick = { onQuotedMessageClick(quotedMessage) }, + ), ), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessage.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessage.kt index 889b3bd5aec..1131a400b25 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessage.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessage.kt @@ -17,10 +17,7 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.annotation.DrawableRes -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background -import androidx.compose.foundation.combinedClickable -import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -67,18 +64,13 @@ import io.getstream.chat.android.ui.common.utils.extensions.isMine * * @param message The quoted message to show. * @param currentUser The currently logged in user. - * @param onLongItemClick Handler when the item is long clicked. - * @param onQuotedMessageClick Handler for quoted message click action. * @param modifier Modifier for styling. * @param replyMessage The message that contains the reply. */ -@OptIn(ExperimentalFoundationApi::class) @Composable public fun QuotedMessage( message: Message, currentUser: User?, - onLongItemClick: (Message) -> Unit, - onQuotedMessageClick: (Message) -> Unit, modifier: Modifier = Modifier, replyMessage: Message? = null, ) { @@ -86,12 +78,6 @@ public fun QuotedMessage( Row( modifier = modifier - .combinedClickable( - interactionSource = remember(::MutableInteractionSource), - indication = null, - onLongClick = { onLongItemClick(message) }, - onClick = { onQuotedMessageClick(message) }, - ) .background(style.backgroundColor, RoundedCornerShape(StreamTokens.radiusLg)) .padding(StreamTokens.spacingXs) .height(IntrinsicSize.Min), @@ -134,8 +120,6 @@ internal fun MessageComposerQuotedMessage( QuotedMessage( message = message, currentUser = currentUser, - onLongItemClick = {}, - onQuotedMessageClick = {}, replyMessage = null, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt index 1ac9db3269e..5c93e062199 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactory.kt @@ -1116,8 +1116,6 @@ public interface ChatComponentFactory { message = params.message, currentUser = params.currentUser, replyMessage = params.replyMessage, - onLongItemClick = params.onLongItemClick, - onQuotedMessageClick = params.onQuotedMessageClick, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactoryParams.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactoryParams.kt index d168008ebe3..c1734b69349 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactoryParams.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatComponentFactoryParams.kt @@ -828,16 +828,12 @@ public data class MessageTextContentParams( * @param message The message that contains the quote. * @param currentUser The currently logged in user. * @param replyMessage The quoted message. - * @param onLongItemClick Action invoked when a message is long-clicked. - * @param onQuotedMessageClick Action invoked when the quoted message is clicked. * @param modifier Modifier for styling. */ public data class MessageQuotedContentParams( val message: Message, val currentUser: User?, val replyMessage: Message, - val onLongItemClick: (Message) -> Unit, - val onQuotedMessageClick: (Message) -> Unit, val modifier: Modifier = Modifier, )