diff --git a/stream-chat-android-client/api/stream-chat-android-client.api b/stream-chat-android-client/api/stream-chat-android-client.api index 0c729e5ce1a..977284c9bae 100644 --- a/stream-chat-android-client/api/stream-chat-android-client.api +++ b/stream-chat-android-client/api/stream-chat-android-client.api @@ -285,7 +285,6 @@ public final class io/getstream/chat/android/client/ChatClient$Builder : io/gets public final fun okHttpClient (Lokhttp3/OkHttpClient;)Lio/getstream/chat/android/client/ChatClient$Builder; public final fun retryPolicy (Lio/getstream/result/call/retry/RetryPolicy;)Lio/getstream/chat/android/client/ChatClient$Builder; public final fun sendMessageInterceptor (Lio/getstream/chat/android/client/interceptor/SendMessageInterceptor;)Lio/getstream/chat/android/client/ChatClient$Builder; - public final fun shareFileDownloadRequestInterceptor (Lokhttp3/Interceptor;)Lio/getstream/chat/android/client/ChatClient$Builder; public final fun uploadAttachmentsNetworkType (Lio/getstream/chat/android/models/UploadAttachmentsNetworkType;)Lio/getstream/chat/android/client/ChatClient$Builder; public final fun withApiModelTransformer (Lio/getstream/chat/android/client/transformer/ApiModelTransformers;)Lio/getstream/chat/android/client/ChatClient$Builder; } @@ -805,7 +804,7 @@ public final class io/getstream/chat/android/client/api/state/ChannelsStateData$ public final class io/getstream/chat/android/client/api/state/ChatClientExtensions { public static final fun cancelEphemeralMessage (Lio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/models/Message;)Lio/getstream/result/call/Call; - public static final fun downloadAttachment (Lio/getstream/chat/android/client/ChatClient;Landroid/content/Context;Lio/getstream/chat/android/models/Attachment;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lio/getstream/result/call/Call; + public static final fun downloadAttachment (Lio/getstream/chat/android/client/ChatClient;Landroid/content/Context;Lio/getstream/chat/android/models/Attachment;)Lio/getstream/result/call/Call; public static final fun getGlobalState (Lio/getstream/chat/android/client/ChatClient;)Lio/getstream/chat/android/client/api/state/GlobalState; public static final fun getGlobalStateFlow (Lio/getstream/chat/android/client/ChatClient;)Lkotlinx/coroutines/flow/Flow; public static final fun getMessageUsingCache (Lio/getstream/chat/android/client/ChatClient;Ljava/lang/String;)Lio/getstream/result/call/Call; diff --git a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/ChatClient.kt b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/ChatClient.kt index 34b818a604d..cd4b59a760b 100644 --- a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/ChatClient.kt +++ b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/ChatClient.kt @@ -253,7 +253,6 @@ import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withTimeout import kotlinx.coroutines.withTimeoutOrNull -import okhttp3.Interceptor import okhttp3.OkHttpClient import okhttp3.ResponseBody import java.io.File @@ -4628,7 +4627,6 @@ internal constructor( private var notificationConfig: NotificationConfig = NotificationConfig(pushNotificationsEnabled = false) private var fileUploader: FileUploader? = null private var sendMessageInterceptor: SendMessageInterceptor? = null - private var shareFileDownloadRequestInterceptor: Interceptor? = null private val tokenManager: TokenManager = TokenManagerImpl() private var customOkHttpClient: OkHttpClient? = null private var userCredentialStorage: UserCredentialStorage? = null @@ -4761,23 +4759,6 @@ internal constructor( return this } - /** - * Sets a custom [Interceptor] that will be used to intercept file download requests for the purpose of sharing - * the file. - * Use this to add custom headers or modify the request in any way. - * - * @param shareFileDownloadRequestInterceptor Your [Interceptor] implementation for the share file download - * call. - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - public fun shareFileDownloadRequestInterceptor(shareFileDownloadRequestInterceptor: Interceptor): Builder { - this.shareFileDownloadRequestInterceptor = shareFileDownloadRequestInterceptor - return this - } - /** * By default, ChatClient performs a dummy HTTP call to the Stream API * when a user is set to initialize the HTTP connection and make subsequent @@ -4991,7 +4972,6 @@ internal constructor( fileTransformer = fileTransformer, fileUploader = fileUploader, sendMessageInterceptor = sendMessageInterceptor, - shareFileDownloadRequestInterceptor = shareFileDownloadRequestInterceptor, cdn = cdn, tokenManager = tokenManager, customOkHttpClient = customOkHttpClient, diff --git a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/state/ChatClientStateExtensions.kt b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/state/ChatClientStateExtensions.kt index 60af4f9859c..0d54af1ee44 100644 --- a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/state/ChatClientStateExtensions.kt +++ b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/state/ChatClientStateExtensions.kt @@ -190,7 +190,7 @@ public fun ChatClient.watchChannelAsState( } /** - * Performs [ChatClient.queryThreadsResult] under the hood and returns [QueryThreadsState]. + * Performs [ChatClient.queryThreads] under the hood and returns [QueryThreadsState]. * The [QueryThreadsState] cannot be created before connecting the user therefore, the method returns a StateFlow * that emits a null when the user has not been connected yet and the new value every time the user changes. * @@ -295,6 +295,7 @@ public fun ChatClient.setMessageForReply(cid: String, message: Message?): Call cidValidationResult } } @@ -306,13 +307,10 @@ public fun ChatClient.setMessageForReply(cid: String, message: Message?): Call Uri, - interceptRequest: DownloadManager.Request.() -> Unit, ): Call { return CoroutineCall(inheritScope { Job(it) }) { val logger by taggedLogger("Chat:DownloadAttachment") try { val downloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager - val uri = generateDownloadUri(attachment) + val uri = Uri.parse(attachment.assetUrl ?: attachment.imageUrl) val subPath = attachment.name ?: attachment.title ?: attachment.parseAttachmentNameFromUrl() ?: createAttachmentFallbackName() @@ -355,8 +351,7 @@ public fun ChatClient.downloadAttachment( cdnRequest?.headers?.forEach { (key, value) -> addRequestHeader(key, value) } - } - .apply(interceptRequest), + }, ) Result.Success(Unit) } catch (exception: Exception) { @@ -383,6 +378,7 @@ public fun ChatClient.loadOlderMessages(cid: String, messageLimit: Int): Call cidValidationResult } } @@ -404,6 +400,7 @@ public fun ChatClient.loadNewerMessages( logic.channel(channelType = channelType, channelId = channelId) .loadAfter(messageId = baseMessageId, limit = messageLimit) } + is Result.Failure -> cidValidationResult } } @@ -429,6 +426,7 @@ public fun ChatClient.loadMessagesAroundId( logic.channel(channelType = channelType, channelId = channelId) .loadAround(messageId) } + is Result.Failure -> cidValidationResult } } @@ -464,6 +462,7 @@ public fun ChatClient.cancelEphemeralMessage(message: Message): Call { ) } } + is Result.Failure -> cidValidationResult } } @@ -536,6 +535,7 @@ private suspend fun ChatClient.loadMessageByIdInternal( Result.Failure(Error.GenericError("The message could not be found.")) } } + is Result.Failure -> Result.Failure( Error.GenericError("Error while fetching messages from backend. Messages around id: $messageId"), ) @@ -566,6 +566,7 @@ public fun ChatClient.loadNewestMessages( logic.channel(channelType = channelType, channelId = channelId) .watch(messageLimit, userPresence) } + is Result.Failure -> Result.Failure(cidValidationResult.value) } } diff --git a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/di/ChatModule.kt b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/di/ChatModule.kt index 25af3e171fc..e3707e0a436 100644 --- a/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/di/ChatModule.kt +++ b/stream-chat-android-client/src/main/java/io/getstream/chat/android/client/di/ChatModule.kt @@ -110,8 +110,6 @@ import java.util.concurrent.TimeUnit * @param fileUploader Optional custom [FileUploader]; if null, a default [StreamFileUploader] is used. * @param sendMessageInterceptor Interceptor allowing to override the logic for sending messages with your own custom * logic. - * @param shareFileDownloadRequestInterceptor Optional interceptor to customize file download requests done for the - * purpose of sharing the file. * @param cdn Optional [CDN] implementation for transforming file download URLs and injecting headers. * @param tokenManager Manager that provides and refreshes auth tokens for authenticated requests. * @param customOkHttpClient Optional base [OkHttpClient] to reuse threads/connection pools and customize networking. @@ -134,7 +132,6 @@ constructor( private val fileTransformer: FileTransformer, private val fileUploader: FileUploader?, private val sendMessageInterceptor: SendMessageInterceptor?, - private val shareFileDownloadRequestInterceptor: Interceptor?, private val cdn: CDN?, private val tokenManager: TokenManager, private val customOkHttpClient: OkHttpClient?, @@ -393,7 +390,6 @@ constructor( val okHttpClient = baseClientBuilder(BASE_TIMEOUT) .apply { cdn?.let { addInterceptor(CDNOkHttpInterceptor(it)) } - shareFileDownloadRequestInterceptor?.let { addInterceptor(it) } } .build() return Retrofit.Builder() 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 1cc9af1f278..a34e9c98576 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -466,39 +466,39 @@ public final class io/getstream/chat/android/compose/ui/attachments/content/Comp public final class io/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$FileAttachmentContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$FileAttachmentContentKt; public fun ()V - public final fun getLambda$-2136389444$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-524321914$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-703565781$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1438497045$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-190394655$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1709464528$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$GiphyAttachmentContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$GiphyAttachmentContentKt; public fun ()V + public final fun getLambda$148516783$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$271803750$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$870742964$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$LinkAttachmentContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$LinkAttachmentContentKt; public fun ()V - public final fun getLambda$1049628640$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1464956105$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1039792722$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$711826331$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$MediaAttachmentContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$MediaAttachmentContentKt; public fun ()V - public final fun getLambda$-502879794$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-112484143$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1286615753$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1438143150$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1772229418$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$225318166$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$604805366$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$UnsupportedAttachmentContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/content/ComposableSingletons$UnsupportedAttachmentContentKt; public fun ()V - public final fun getLambda$-273906058$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1585511707$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContentKt { @@ -551,13 +551,9 @@ public final class io/getstream/chat/android/compose/ui/attachments/content/Medi public final fun component2 ()Lio/getstream/chat/android/models/Message; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Z - public final fun component5 ()Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; - public final fun component6 ()Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor; - public final fun component7 ()Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing; - public final fun component8 ()Z + public final fun component5 ()Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing; + public final fun component6 ()Z public fun equals (Ljava/lang/Object;)Z - public final fun getDownloadAttachmentUriGenerator ()Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; - public final fun getDownloadRequestInterceptor ()Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor; public final fun getMediaGalleryPreviewLauncher ()Landroidx/activity/compose/ManagedActivityResultLauncher; public final fun getMessage ()Lio/getstream/chat/android/models/Message; public final fun getSelectedAttachmentUrl ()Ljava/lang/String; @@ -622,8 +618,8 @@ public final class io/getstream/chat/android/compose/ui/attachments/preview/Medi } public final class io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity$Companion { - public final fun getIntent (Landroid/content/Context;Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MediaGalleryConfig;)Landroid/content/Intent; - public static synthetic fun getIntent$default (Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity$Companion;Landroid/content/Context;Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MediaGalleryConfig;ILjava/lang/Object;)Landroid/content/Intent; + public final fun getIntent (Landroid/content/Context;Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MediaGalleryConfig;)Landroid/content/Intent; + public static synthetic fun getIntent$default (Lio/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity$Companion;Landroid/content/Context;Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZLio/getstream/chat/android/compose/ui/theme/MediaGalleryConfig;ILjava/lang/Object;)Landroid/content/Intent; } public final class io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract : androidx/activity/result/contract/ActivityResultContract { @@ -639,10 +635,8 @@ public final class io/getstream/chat/android/compose/ui/attachments/preview/Medi public final class io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract$Input { public static final field $stable I - public fun (Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;Z)V - public synthetic fun (Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getDownloadAttachmentUriGenerator ()Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; - public final fun getDownloadRequestInterceptor ()Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor; + public fun (Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;Z)V + public synthetic fun (Lio/getstream/chat/android/models/Message;Ljava/lang/String;ZLio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun getMessage ()Lio/getstream/chat/android/models/Message; public final fun getSelectedAttachmentUrl ()Ljava/lang/String; public final fun getSkipEnrichUrl ()Z @@ -673,14 +667,12 @@ public abstract interface class io/getstream/chat/android/compose/ui/attachments } public final class io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler$Companion { - public final fun defaultAttachmentHandlers (Landroid/content/Context;Z)Ljava/util/List; - public static synthetic fun defaultAttachmentHandlers$default (Lio/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler$Companion;Landroid/content/Context;ZILjava/lang/Object;)Ljava/util/List; + public final fun defaultAttachmentHandlers (Landroid/content/Context;)Ljava/util/List; } public final class io/getstream/chat/android/compose/ui/attachments/preview/handler/DocumentAttachmentPreviewHandler : io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler { public static final field $stable I - public fun (Landroid/content/Context;Z)V - public synthetic fun (Landroid/content/Context;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Landroid/content/Context;)V public fun canHandle (Lio/getstream/chat/android/models/Attachment;)Z public fun handleAttachmentPreview (Lio/getstream/chat/android/models/Attachment;)V } @@ -727,11 +719,11 @@ public final class io/getstream/chat/android/compose/ui/channel/attachments/Comp public final class io/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelFilesAttachmentsScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelFilesAttachmentsScreenKt; public fun ()V - public final fun getLambda$-1416649638$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-393431677$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$114665547$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2093298079$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$830475022$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1605074509$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1105952831$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1430999464$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1974083312$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$320933252$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelMediaAttachmentsGridKt { @@ -748,18 +740,18 @@ public final class io/getstream/chat/android/compose/ui/channel/attachments/Comp public final class io/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelMediaAttachmentsPreviewScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelMediaAttachmentsPreviewScreenKt; public fun ()V - public final fun getLambda$1579521391$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$459972879$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1516918540$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1465845588$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelMediaAttachmentsScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/attachments/ComposableSingletons$ChannelMediaAttachmentsScreenKt; public fun ()V - public final fun getLambda$-291265691$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$137810937$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$424543784$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$922830516$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$939905565$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1530630590$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1634553890$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2011005747$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-849534311$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1568152074$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ChannelInfoMemberOptionsKt { @@ -769,82 +761,82 @@ public final class io/getstream/chat/android/compose/ui/channel/info/ChannelInfo public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$AddMembersScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$AddMembersScreenKt; public fun ()V - public final fun getLambda$-1384537946$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1754400971$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1928445699$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-659334687$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1915312793$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-416001815$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-583584479$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1302953779$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$1578701036$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1725394368$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$498173316$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1486904705$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1885975461$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$239876316$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$579647544$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$756179806$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$803858118$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoMemberInfoModalSheetKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoMemberInfoModalSheetKt; public fun ()V - public final fun getLambda$-1972042200$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1108212131$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2125899085$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$769406110$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1892406114$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1862093938$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2059119949$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2063755161$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoOptionItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoOptionItemKt; public fun ()V - public final fun getLambda$-292702460$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1651259998$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-132121367$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1960660711$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoOptionKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoOptionKt; public fun ()V - public final fun getLambda$-74481820$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1819224088$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$914358102$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-25888197$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-374874103$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$878977789$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoScreenModalKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoScreenModalKt; public fun ()V - public final fun getLambda$-1189703417$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1946537055$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-554976397$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1228014962$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$350047555$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$819325143$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1276733865$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1747879428$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-221195044$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1163325870$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2077810280$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$831333506$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$DirectChannelInfoScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$DirectChannelInfoScreenKt; public fun ()V - public final fun getLambda$-260303913$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1642105781$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1370191152$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1685690876$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$621085431$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$GroupChannelEditScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$GroupChannelEditScreenKt; public fun ()V - public final fun getLambda$-1002481681$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1148071730$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1270981260$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1110400167$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1600862874$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1839460112$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1942727980$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1996460951$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1357286986$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1977110561$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$581743683$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-465025143$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-831942993$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1264790270$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$343549382$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$GroupChannelInfoScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$GroupChannelInfoScreenKt; public fun ()V + public final fun getLambda$-1305793373$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1507130086$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1556588502$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-392871553$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1263831912$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$389406287$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channel/info/DirectChannelInfoScreenKt { @@ -875,20 +867,20 @@ public final class io/getstream/chat/android/compose/ui/channels/header/ChannelL public final class io/getstream/chat/android/compose/ui/channels/header/ComposableSingletons$ChannelListHeaderKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channels/header/ComposableSingletons$ChannelListHeaderKt; public fun ()V - public final fun getLambda$-431955895$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-938269244$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1024258874$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1972636751$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2147041525$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1324713633$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-235659580$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$10820473$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1232866394$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1672244468$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$423422310$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$924995604$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$787072767$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channels/info/ComposableSingletons$SelectedChannelMenuKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channels/info/ComposableSingletons$SelectedChannelMenuKt; public fun ()V - public final fun getLambda$-1613575715$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1549632299$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-955116528$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$111766296$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenuKt { @@ -911,16 +903,16 @@ public final class io/getstream/chat/android/compose/ui/channels/list/ChannelsKt public final class io/getstream/chat/android/compose/ui/channels/list/ComposableSingletons$ChannelItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channels/list/ComposableSingletons$ChannelItemKt; public fun ()V - public final fun getLambda$-1115462594$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1816279508$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-25639210$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-558845101$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1418216287$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$246298636$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$609110188$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$717081532$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$770123831$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$773857897$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1472148447$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-771013692$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-86407129$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-952065423$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1166029362$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2102561016$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$501943268$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$507293945$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$657407377$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$691813735$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/channels/list/ComposableSingletons$ChannelListKt { @@ -1042,7 +1034,7 @@ public final class io/getstream/chat/android/compose/ui/components/BackButtonKt public final class io/getstream/chat/android/compose/ui/components/ComposableSingletons$ComposerCancelIconKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/ComposableSingletons$ComposerCancelIconKt; public fun ()V - public final fun getLambda$-1426499273$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1634313180$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/ComposableSingletons$ContentBoxKt { @@ -1058,8 +1050,8 @@ public final class io/getstream/chat/android/compose/ui/components/ComposableSin public fun ()V public final fun getLambda$-750420177$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1909378300$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$233887348$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$236027516$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$609171215$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/ComposableSingletons$SimpleDialogKt { @@ -1129,14 +1121,14 @@ public final class io/getstream/chat/android/compose/ui/components/TypingIndicat public final class io/getstream/chat/android/compose/ui/components/attachments/files/ComposableSingletons$FileTypeIconKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/attachments/files/ComposableSingletons$FileTypeIconKt; public fun ()V - public final fun getLambda$79481413$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$996617216$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/attachments/files/ComposableSingletons$FilesPickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/attachments/files/ComposableSingletons$FilesPickerKt; public fun ()V - public final fun getLambda$-2003468154$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$693435518$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1807171839$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1876189767$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/attachments/files/FilesPickerItemImageKt { @@ -1150,8 +1142,8 @@ public final class io/getstream/chat/android/compose/ui/components/attachments/f public final class io/getstream/chat/android/compose/ui/components/attachments/images/ComposableSingletons$ImagesPickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/attachments/images/ComposableSingletons$ImagesPickerKt; public fun ()V - public final fun getLambda$-697716637$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$932937525$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1093518618$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$219419166$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPickerKt { @@ -1190,7 +1182,7 @@ public final class io/getstream/chat/android/compose/ui/components/avatar/UserAv public final class io/getstream/chat/android/compose/ui/components/button/ComposableSingletons$StreamButtonKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/button/ComposableSingletons$StreamButtonKt; public fun ()V - public final fun getLambda$1117581519$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1671965942$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/ChannelMembersKt { @@ -1229,37 +1221,37 @@ public final class io/getstream/chat/android/compose/ui/components/channels/Chan public final class io/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelMembersItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelMembersItemKt; public fun ()V - public final fun getLambda$25625080$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1607936099$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelMembersKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelMembersKt; public fun ()V - public final fun getLambda$-1421797045$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-720848603$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-737831824$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1384888714$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelOptionsKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$ChannelOptionsKt; public fun ()V - public final fun getLambda$-1955513889$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1559608358$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$MessageReadStatusIconKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$MessageReadStatusIconKt; public fun ()V - public final fun getLambda$-2117056237$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2121931027$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$235013397$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$450142065$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$5760$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1898830442$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-391714226$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1790224229$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1960355408$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$291099282$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$UnreadCountIndicatorKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/channels/ComposableSingletons$UnreadCountIndicatorKt; public fun ()V - public final fun getLambda$-1831816724$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1609274127$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-272662860$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-42321177$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIconKt { @@ -1274,52 +1266,52 @@ public final class io/getstream/chat/android/compose/ui/components/channels/Unre public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CheckboxKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CheckboxKt; public fun ()V - public final fun getLambda$-952110380$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$298991631$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CommandChipKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CommandChipKt; public fun ()V - public final fun getLambda$373391640$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$473282067$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$ContextualMenuKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$ContextualMenuKt; public fun ()V - public final fun getLambda$1449827048$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$1807406970$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1222383709$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$-864803787$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CountBadgeKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$CountBadgeKt; public fun ()V - public final fun getLambda$-482661902$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-719429203$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$MediaBadgesKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$MediaBadgesKt; public fun ()V - public final fun getLambda$1373299400$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$465020416$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1298911357$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2087776955$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$PlayButtonKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$PlayButtonKt; public fun ()V - public final fun getLambda$-1764127218$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2000894519$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$PlaybackSpeedToggleKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$PlaybackSpeedToggleKt; public fun ()V - public final fun getLambda$-200752648$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$698458355$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/ComposableSingletons$RadioControlsKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/common/ComposableSingletons$RadioControlsKt; public fun ()V - public final fun getLambda$-1408287340$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$151503440$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1046860619$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$97132495$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/common/MenuOptionItemKt { @@ -1329,40 +1321,40 @@ public final class io/getstream/chat/android/compose/ui/components/common/MenuOp public final class io/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$ComposerLinkPreviewKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$ComposerLinkPreviewKt; public fun ()V - public final fun getLambda$-1215411874$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-362064487$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1162160133$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$InputFieldKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$InputFieldKt; public fun ()V - public final fun getLambda$-2000757083$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2136182570$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$-1900866656$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2036292143$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; } public final class io/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$MessageInputKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/composer/ComposableSingletons$MessageInputKt; public fun ()V - public final fun getLambda$-1012698267$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-113487264$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1294719589$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1320161390$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1355851382$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-140647522$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1508198121$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1651521827$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1847599811$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2012559494$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2077475695$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-23366827$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-961948299$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1272484982$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1407574737$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1923436456$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2062700177$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2118032157$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-478449831$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-56438772$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-994252424$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1107182454$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1168391597$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1508406964$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1812722523$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2016354046$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2046642350$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1540807894$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1746250067$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$400470815$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$418285475$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$485345010$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$513964852$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$597539196$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$875844176$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$897469466$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreviewKt { @@ -1423,29 +1415,29 @@ public final class io/getstream/chat/android/compose/ui/components/messageoption public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageAnnotationKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageAnnotationKt; public fun ()V - public final fun getLambda$866227740$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-767333439$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageReactionsKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageReactionsKt; public fun ()V - public final fun getLambda$-1709319906$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-318682163$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1289414021$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$977551206$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1059558486$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1527197621$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1471536306$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$236674883$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageTextKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$MessageTextKt; public fun ()V - public final fun getLambda$-284973735$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1220446100$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$PollMessageContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$PollMessageContentKt; public fun ()V + public final fun getLambda$-1089255054$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1403107585$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$-1988466057$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-748128248$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$1104625805$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1806560398$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; @@ -1459,7 +1451,7 @@ public final class io/getstream/chat/android/compose/ui/components/messages/Comp public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$ScrollToBottomButtonKt; public fun ()V public final fun getLambda$-388063089$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-567660524$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-467770097$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/messages/ComposableSingletons$SwipeToReplyIconKt { @@ -1534,44 +1526,44 @@ public final class io/getstream/chat/android/compose/ui/components/poll/Composab public final fun getLambda$-1437491986$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1980307438$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$-49181804$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$782746612$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$87229295$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollDialogHeaderKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollDialogHeaderKt; public fun ()V public final fun getLambda$-1604073059$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1370145246$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1766050777$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollMoreOptionsDialogKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollMoreOptionsDialogKt; public fun ()V - public final fun getLambda$355414732$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1208762119$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollOptionInputKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollOptionInputKt; public fun ()V - public final fun getLambda$-1499796468$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1720332981$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$122960071$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollOptionVotesDialogKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollOptionVotesDialogKt; public fun ()V - public final fun getLambda$-1264306425$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1564698708$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1875956809$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1962869644$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-2004235384$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$1365316907$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1648132431$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1735045266$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$715521557$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; } public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollViewResultDialogKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollViewResultDialogKt; public fun ()V - public final fun getLambda$70539643$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$987675446$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/poll/PollAnswersKt { @@ -1598,8 +1590,8 @@ public final class io/getstream/chat/android/compose/ui/components/poll/PollView public final class io/getstream/chat/android/compose/ui/components/reactionoptions/ComposableSingletons$ExtendedReactionsOptionsKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/reactionoptions/ComposableSingletons$ExtendedReactionsOptionsKt; public fun ()V - public final fun getLambda$-603958704$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1715518083$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-861146946$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$866156213$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/reactionpicker/ReactionsPickerKt { @@ -1610,13 +1602,13 @@ public final class io/getstream/chat/android/compose/ui/components/reactionpicke public final class io/getstream/chat/android/compose/ui/components/reactions/ComposableSingletons$ReactionIconKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/reactions/ComposableSingletons$ReactionIconKt; public fun ()V - public final fun getLambda$1563472859$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1477272512$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/reactions/ComposableSingletons$ReactionToggleKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/reactions/ComposableSingletons$ReactionToggleKt; public fun ()V - public final fun getLambda$1676677691$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1064847264$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/reactions/ReactionIconSize : java/lang/Enum { @@ -1642,7 +1634,7 @@ public final class io/getstream/chat/android/compose/ui/components/reactions/Rea public final class io/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$MessageMenuHeaderKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$MessageMenuHeaderKt; public fun ()V - public final fun getLambda$-820719093$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-660138000$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1869643284$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } @@ -1650,25 +1642,25 @@ public final class io/getstream/chat/android/compose/ui/components/selectedmessa public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$ReactionCountRowKt; public fun ()V public final fun getLambda$-188139460$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-639004359$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$44960862$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$ReactionsMenuKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$ReactionsMenuKt; public fun ()V public final fun getLambda$-20300968$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function4; + public final fun getLambda$-415514562$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1440428061$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$2031327775$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$498660569$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1730935492$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$59986053$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$SelectedMessageMenuKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$SelectedMessageMenuKt; public fun ()V - public final fun getLambda$-1599407159$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2016024701$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1896629530$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-191593560$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2090706559$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$225023982$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/components/selectedmessage/ComposableSingletons$UserReactionRowKt { @@ -1693,16 +1685,16 @@ public final class io/getstream/chat/android/compose/ui/components/selectedmessa public final class io/getstream/chat/android/compose/ui/mentions/ComposableSingletons$MentionListKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/mentions/ComposableSingletons$MentionListKt; public fun ()V - public final fun getLambda$-1092807187$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1701433647$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1978692236$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-538646917$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$1350748755$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$1359378806$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$163517569$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$2003796050$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$2116007242$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$462284$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$515697460$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$729325666$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$740142940$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$810855225$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/mentions/MentionListKt { @@ -1760,13 +1752,13 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/Att public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentCameraPickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentCameraPickerKt; public fun ()V - public final fun getLambda$600236639$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-313938492$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentCommandPickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentCommandPickerKt; public fun ()V - public final fun getLambda$-674764321$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1271230468$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentFilePickerKt { @@ -1785,7 +1777,7 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/Com public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentPollPickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentPollPickerKt; public fun ()V - public final fun getLambda$883050783$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1043631876$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentSystemPickerKt { @@ -1801,14 +1793,14 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/Com public final class io/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentTypePickerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/ComposableSingletons$AttachmentTypePickerKt; public fun ()V - public final fun getLambda$-1024452820$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1321973654$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$-1888332900$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-181453354$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1970833877$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$-404808115$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$156348955$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1651133503$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2040512526$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-28915135$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-308459981$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-765021006$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1811714596$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$996584103$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/media/CaptureMediaLauncherKt { @@ -1818,51 +1810,51 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/med public final class io/getstream/chat/android/compose/ui/messages/attachments/permission/ComposableSingletons$RequiredPermissionKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/permission/ComposableSingletons$RequiredPermissionKt; public fun ()V - public final fun getLambda$-1589715858$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-168289637$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-248003859$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1470298408$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1639086230$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$217660009$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$CreatePollScreenKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$CreatePollScreenKt; public fun ()V - public final fun getLambda$-407891280$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$445456107$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollCreationDiscardDialogKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollCreationDiscardDialogKt; public fun ()V - public final fun getLambda$-1327019628$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-2072874969$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$311491696$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; + public final fun getLambda$694017295$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollCreationHeaderKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollCreationHeaderKt; public fun ()V + public final fun getLambda$-1563672386$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1629039687$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1775632701$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1966841996$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$941076441$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollOptionListKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollOptionListKt; public fun ()V - public final fun getLambda$1064491627$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2031980589$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$656888390$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1440257200$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1579021486$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1340853611$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollQuestionInputKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollQuestionInputKt; public fun ()V - public final fun getLambda$690200136$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1373246723$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollSwitchListKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollSwitchListKt; public fun ()V - public final fun getLambda$1001379804$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1918515607$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreenKt { @@ -1921,18 +1913,18 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/pol public final class io/getstream/chat/android/compose/ui/messages/composer/ComposableSingletons$MessageComposerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/ComposableSingletons$MessageComposerKt; public fun ()V + public final fun getLambda$-1104901750$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1267828661$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1344661276$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1737288663$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1764628314$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2036571483$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-42373808$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-525935532$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-526098902$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1514671585$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-442939612$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-497399815$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$118207285$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1281276965$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1434062186$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1990191614$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$327411855$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$419456890$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$955864570$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$757974155$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/composer/MessageComposerKt { @@ -2001,14 +1993,14 @@ public final class io/getstream/chat/android/compose/ui/messages/composer/intern public final class io/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerEditIndicatorKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerEditIndicatorKt; public fun ()V - public final fun getLambda$-2034453724$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-210022583$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerInputCenterBottomContentKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerInputCenterBottomContentKt; public fun ()V - public final fun getLambda$517294841$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$843708416$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1430221957$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-2059370188$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerInputTrailingContentKt { @@ -2027,14 +2019,14 @@ public final class io/getstream/chat/android/compose/ui/messages/composer/intern public final class io/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentFileItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentFileItemKt; public fun ()V - public final fun getLambda$989320502$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1472501659$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentMediaItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentMediaItemKt; public fun ()V - public final fun getLambda$-1893532039$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-576800359$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1412908130$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-96176450$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$116152749$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1523175629$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } @@ -2042,7 +2034,7 @@ public final class io/getstream/chat/android/compose/ui/messages/composer/intern public final class io/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentsKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/attachments/ComposableSingletons$MessageComposerAttachmentsKt; public fun ()V - public final fun getLambda$122774530$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-141030617$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/composer/internal/suggestions/ComposableSingletons$CommandSuggestionListKt { @@ -2065,17 +2057,17 @@ public final class io/getstream/chat/android/compose/ui/messages/header/ChannelH public final class io/getstream/chat/android/compose/ui/messages/header/ComposableSingletons$ChannelHeaderKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/header/ComposableSingletons$ChannelHeaderKt; public fun ()V - public final fun getLambda$-644330074$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-747166487$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-964517821$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$54732348$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$728738970$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1576348248$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-211507329$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-305687282$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$156623393$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$855685815$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageDividerKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageDividerKt; public fun ()V - public final fun getLambda$1396675737$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1392871724$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageItemKt { @@ -2154,18 +2146,18 @@ public final class io/getstream/chat/android/compose/ui/pinned/ComposableSinglet public final class io/getstream/chat/android/compose/ui/pinned/ComposableSingletons$PinnedMessageListKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/pinned/ComposableSingletons$PinnedMessageListKt; public fun ()V + public final fun getLambda$-1120837415$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-1332077747$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; public final fun getLambda$-1435677118$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1803884002$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-299281836$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1548711106$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1898313330$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-571196465$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-919228080$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$-985680375$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1381287782$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1636356783$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$2063209603$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$208459832$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$279135979$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1364442154$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$182923723$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1933801843$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$499338964$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; - public final fun getLambda$671311955$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/pinned/PinnedMessageItemKt { @@ -3662,17 +3654,13 @@ public final class io/getstream/chat/android/compose/ui/theme/ChatTheme { public final fun getReactionResolver (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/ReactionResolver; public final fun getSearchResultNameFormatter (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter; public final fun getStreamCdnImageResizing (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing; - public final fun getStreamDownloadAttachmentUriGenerator (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; - public final fun getStreamDownloadRequestInterceptor (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor; - public final fun getStreamImageAssetTransformer (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer; - public final fun getStreamImageHeadersProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider; public final fun getStreamMediaRecorder (Landroidx/compose/runtime/Composer;I)Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder; public final fun getTimeProvider (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/ui/common/helper/TimeProvider; public final fun getTypography (Landroidx/compose/runtime/Composer;I)Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography; } public final class io/getstream/chat/android/compose/ui/theme/ChatThemeKt { - public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatUiConfig;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;ZLjava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/AsyncImageHeadersProvider;Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIIIII)V + public static final fun ChatTheme (ZLio/getstream/chat/android/compose/ui/theme/ChatUiConfig;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Colors;Lio/getstream/chat/android/compose/ui/theme/StreamDesign$Typography;Lio/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration;Lio/getstream/chat/android/compose/ui/theme/ChatComponentFactory;Ljava/util/List;Lio/getstream/chat/android/compose/ui/util/ReactionResolver;Lio/getstream/chat/android/compose/ui/theme/ReactionOptionsTheme;Lio/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory;ZLio/getstream/chat/android/ui/common/helper/DateFormatter;Lio/getstream/chat/android/ui/common/helper/TimeProvider;Lio/getstream/chat/android/ui/common/helper/DurationFormatter;Lio/getstream/chat/android/ui/common/utils/ChannelNameFormatter;Lio/getstream/chat/android/compose/ui/util/MessagePreviewFormatter;Lio/getstream/chat/android/compose/ui/util/SearchResultNameFormatter;Lio/getstream/chat/android/compose/ui/util/StreamCoilImageLoaderFactory;Lio/getstream/chat/android/compose/ui/util/MessageAlignmentProvider;Lio/getstream/chat/android/compose/ui/theme/MessageOptionsTheme;Lio/getstream/chat/android/compose/ui/theme/ChannelOptionsTheme;Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;Lio/getstream/chat/android/compose/ui/theme/MessageComposerTheme;Lio/getstream/chat/android/compose/ui/util/MessageTextFormatter;Lio/getstream/sdk/chat/audio/recording/StreamMediaRecorder;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;IIII)V public static final fun getLocalChatUiConfig ()Landroidx/compose/runtime/ProvidableCompositionLocal; public static final fun getLocalComponentFactory ()Landroidx/compose/runtime/ProvidableCompositionLocal; } @@ -6239,22 +6227,22 @@ public final class io/getstream/chat/android/compose/ui/threads/ComposableSingle public final class io/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadListKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadListKt; public fun ()V - public final fun getLambda$-116820350$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1426010505$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1527555885$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-1547476840$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$-2080988921$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$1318792828$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-728650777$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1513335613$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1533256568$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1602147948$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$1876441331$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1928710492$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$285832544$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$378546529$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; public final fun getLambda$432214945$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function4; } public final class io/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadListLoadingItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/threads/ComposableSingletons$ThreadListLoadingItemKt; public fun ()V - public final fun getLambda$102546905$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; - public final fun getLambda$862230462$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-1684327148$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-924643591$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/threads/ThreadItemKt { @@ -6309,7 +6297,7 @@ public final class io/getstream/chat/android/compose/ui/util/ChannelUtilsKt { public final class io/getstream/chat/android/compose/ui/util/ComposableSingletons$MessagePreviewIconFactoryKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/util/ComposableSingletons$MessagePreviewIconFactoryKt; public fun ()V - public final fun getLambda$150181366$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$-461649061$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } public final class io/getstream/chat/android/compose/ui/util/ComposableSingletons$SnackbarPopupKt { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt index f5a674a52c9..f55e76dff55 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt @@ -97,8 +97,6 @@ import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.AttachmentType import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.SyncStatus -import io.getstream.chat.android.ui.common.helper.DownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadRequestInterceptor import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing import io.getstream.chat.android.ui.common.utils.extensions.hasLink import io.getstream.chat.android.ui.common.R as UiCommonR @@ -130,8 +128,6 @@ public fun MediaAttachmentContent( it.message, it.selectedAttachmentUrl, it.videoThumbnailsEnabled, - it.downloadAttachmentUriGenerator, - it.downloadRequestInterceptor, it.streamCdnImageResizing, it.skipEnrichUrl, ) @@ -444,9 +440,6 @@ internal fun MediaAttachmentContentItem( val videoThumbnailsEnabled = ChatTheme.config.messageList.videoThumbnailsEnabled val streamCdnImageResizing = ChatTheme.streamCdnImageResizing - val downloadAttachmentUriGenerator = ChatTheme.streamDownloadAttachmentUriGenerator - val downloadRequestInterceptor = ChatTheme.streamDownloadRequestInterceptor - val description = if (isImage) { stringResource(UiCommonR.string.stream_ui_message_list_semantics_message_attachment_image) } else if (isVideo) { @@ -480,8 +473,6 @@ internal fun MediaAttachmentContentItem( message = message, selectedAttachmentUrl = attachment.thumbUrl ?: attachment.imageUrl, videoThumbnailsEnabled = videoThumbnailsEnabled, - downloadAttachmentUriGenerator = downloadAttachmentUriGenerator, - downloadRequestInterceptor = downloadRequestInterceptor, streamCdnImageResizing = streamCdnImageResizing, skipEnrichUrl = skipEnrichUrl, ), @@ -616,9 +607,6 @@ internal fun MediaAttachmentShowMoreOverlay( * @param message The message that holds the clicked attachment. * @param selectedAttachmentUrl The preview URL of the clicked attachment. * @param videoThumbnailsEnabled Whether video thumbnails are enabled. - * @param downloadAttachmentUriGenerator The [DownloadAttachmentUriGenerator] used to generate URIs for downloading - * attachments. - * @param downloadRequestInterceptor The [DownloadRequestInterceptor] used to intercept download requests. * @param streamCdnImageResizing The [StreamCdnImageResizing] used to resize images. * @param skipEnrichUrl Used by the media gallery. If set to true will skip enriching URLs when you update the message * by deleting an attachment contained within it. Set to false by default. @@ -629,8 +617,6 @@ public data class MediaAttachmentClickData internal constructor( val message: Message, val selectedAttachmentUrl: String?, val videoThumbnailsEnabled: Boolean, - val downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator, - val downloadRequestInterceptor: DownloadRequestInterceptor, val streamCdnImageResizing: StreamCdnImageResizing, val skipEnrichUrl: Boolean, ) @@ -690,8 +676,6 @@ internal fun onMediaAttachmentContentItemClick( message: Message, selectedAttachmentUrl: String?, videoThumbnailsEnabled: Boolean, - downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator, - downloadRequestInterceptor: DownloadRequestInterceptor, streamCdnImageResizing: StreamCdnImageResizing, skipEnrichUrl: Boolean, ) { @@ -700,8 +684,6 @@ internal fun onMediaAttachmentContentItemClick( message = message, selectedAttachmentUrl = selectedAttachmentUrl, videoThumbnailsEnabled = videoThumbnailsEnabled, - downloadAttachmentUriGenerator = downloadAttachmentUriGenerator, - downloadRequestInterceptor = downloadRequestInterceptor, streamCdnImageResizing = streamCdnImageResizing, skipEnrichUrl = skipEnrichUrl, ), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt index 21c89385f87..010536bb8f9 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt @@ -16,7 +16,6 @@ package io.getstream.chat.android.compose.ui.attachments.preview -import android.app.DownloadManager import android.content.Context import android.content.Intent import android.net.Uri @@ -71,9 +70,6 @@ import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.streamcdn.image.StreamCdnCropImageMode import io.getstream.chat.android.models.streamcdn.image.StreamCdnResizeImageMode -import io.getstream.chat.android.ui.common.helper.DefaultDownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadRequestInterceptor import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing import io.getstream.chat.android.ui.common.utils.AttachmentConstants import io.getstream.chat.android.ui.common.utils.extensions.getDisplayableName @@ -163,14 +159,10 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { mediaGallery = intent.getParcelable(KeyConfig) ?: MediaGalleryConfig(), ), streamCdnImageResizing = streamCdnImageResizing, - downloadAttachmentUriGenerator = downloadAttachmentUriGenerator, - downloadRequestInterceptor = downloadRequestInterceptor, ) { SetupEdgeToEdge() val (writePermissionState, downloadPayload) = attachmentDownloadState() - val downloadAttachmentUriGenerator = ChatTheme.streamDownloadAttachmentUriGenerator - val downloadRequestInterceptor = ChatTheme.streamDownloadRequestInterceptor // Take the imageLoader from the injector, which is populated by the MediaAttachmentContent. This is a // workaround for the fact that the MediaGalleryPreviewActivity is not a part of the composition tree of @@ -188,8 +180,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { option.action, writePermissionState, downloadPayload, - downloadAttachmentUriGenerator::generateDownloadUri, - downloadRequestInterceptor::intercept, ) }, onRequestShareAttachment = ::onRequestShareAttachment, @@ -240,8 +230,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { * @param action The action the user selected. * @param downloadPayload The attachment to be downloaded. * @param writePermissionState The current state of permissions. - * @param generateDownloadUri The function to generate the download URI. - * @param interceptRequest The function to intercept the download request. */ @Suppress("LongParameterList") private fun handleMediaAction( @@ -249,8 +237,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { action: MediaGalleryPreviewAction, writePermissionState: PermissionState, downloadPayload: MutableState, - generateDownloadUri: (Attachment) -> Uri, - interceptRequest: DownloadManager.Request.() -> Unit, ) { when (action) { is ShowInChat -> { @@ -283,8 +269,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { payload = attachment, permissionState = writePermissionState, downloadPayload = downloadPayload, - generateDownloadUri = generateDownloadUri, - interceptRequest = interceptRequest, ) } } @@ -495,17 +479,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { */ private const val KeyConfig: String = "config" - /** - * Used to generate download URIs for attachments. - */ - private var downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator = - DefaultDownloadAttachmentUriGenerator - - /** - * Used to intercept download requests. - */ - private var downloadRequestInterceptor: DownloadRequestInterceptor = DownloadRequestInterceptor { } - /** * Used to build an [Intent] to start the [MediaGalleryPreviewActivity] with the required data. * @@ -528,14 +501,10 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { message: Message, selectedAttachmentUrl: String?, videoThumbnailsEnabled: Boolean, - downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator, - downloadRequestInterceptor: DownloadRequestInterceptor, streamCdnImageResizing: StreamCdnImageResizing = StreamCdnImageResizing.defaultStreamCdnImageResizing(), skipEnrichUrl: Boolean = false, config: MediaGalleryConfig = MediaGalleryConfig(), ): Intent { - this.downloadAttachmentUriGenerator = downloadAttachmentUriGenerator - this.downloadRequestInterceptor = downloadRequestInterceptor return Intent(context, MediaGalleryPreviewActivity::class.java).apply { val mediaGalleryPreviewActivityState = message.toMediaGalleryPreviewActivityState() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract.kt index d96f6985839..abccc93f283 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewContract.kt @@ -22,8 +22,6 @@ import androidx.activity.result.contract.ActivityResultContract import io.getstream.chat.android.compose.state.mediagallerypreview.MediaGalleryPreviewResult import io.getstream.chat.android.compose.ui.theme.MediaGalleryConfig import io.getstream.chat.android.models.Message -import io.getstream.chat.android.ui.common.helper.DownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadRequestInterceptor import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing /** @@ -45,8 +43,6 @@ public class MediaGalleryPreviewContract(private val config: MediaGalleryConfig context, message = input.message, selectedAttachmentUrl = input.selectedAttachmentUrl, - downloadAttachmentUriGenerator = input.downloadAttachmentUriGenerator, - downloadRequestInterceptor = input.downloadRequestInterceptor, videoThumbnailsEnabled = input.videoThumbnailsEnabled, streamCdnImageResizing = input.streamCdnImageResizing, skipEnrichUrl = input.skipEnrichUrl, @@ -68,8 +64,6 @@ public class MediaGalleryPreviewContract(private val config: MediaGalleryConfig * * @param message The message containing the attachments. * @param selectedAttachmentUrl The preview URL of the selected attachment to display first. - * @param downloadAttachmentUriGenerator The URI generator for downloading attachments. - * @param downloadRequestInterceptor The request interceptor for downloading attachments. * @param videoThumbnailsEnabled Whether video thumbnails will be displayed in previews or not. * @param streamCdnImageResizing The CDN image resizing strategy. * @param skipEnrichUrl If set to true will skip enriching URLs when you update the message @@ -79,8 +73,6 @@ public class MediaGalleryPreviewContract(private val config: MediaGalleryConfig public val message: Message, public val selectedAttachmentUrl: String? = null, public val videoThumbnailsEnabled: Boolean, - public val downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator, - public val downloadRequestInterceptor: DownloadRequestInterceptor, public val streamCdnImageResizing: StreamCdnImageResizing, public val skipEnrichUrl: Boolean = false, ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler.kt index 05195c7d52a..b269b79ee24 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/AttachmentPreviewHandler.kt @@ -44,18 +44,11 @@ public interface AttachmentPreviewHandler { * Builds the default list of file preview providers. * * @param context The context to start the preview Activity with. - * @param useDocumentGView Whether to use Google Docs Viewer for document attachments. When `true` - * (default), documents are rendered via Google Docs Viewer. When `false`, text-based files are - * rendered in-app and other file types are downloaded and opened with an external application. - * @return The list handlers that can be used to show a preview for an attachment. */ - public fun defaultAttachmentHandlers( - context: Context, - useDocumentGView: Boolean = true, - ): List { + public fun defaultAttachmentHandlers(context: Context): List { return listOf( MediaAttachmentPreviewHandler(context), - DocumentAttachmentPreviewHandler(context, useDocumentGView), + DocumentAttachmentPreviewHandler(context), UrlAttachmentPreviewHandler(context), ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/DocumentAttachmentPreviewHandler.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/DocumentAttachmentPreviewHandler.kt index 4a5a9e0cfb9..f6134e6f3de 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/DocumentAttachmentPreviewHandler.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/handler/DocumentAttachmentPreviewHandler.kt @@ -18,23 +18,13 @@ package io.getstream.chat.android.compose.ui.attachments.preview.handler import android.content.Context import io.getstream.chat.android.models.Attachment -import io.getstream.chat.android.ui.common.feature.documents.AttachmentDocumentActivity import io.getstream.chat.android.ui.common.feature.documents.DocumentAttachmentHandler import io.getstream.chat.android.ui.common.model.MimeType /** * Shows a preview for document attachments. - * - * Behavior depends on [useDocumentGView]: - * - `true` (default): documents are rendered via Google Docs Viewer. - * - `false`: text-based files (TXT, HTML) are rendered in-app, others open with an external app. - * - * Set via `ChatTheme(useDocumentGView = false)`. */ -public class DocumentAttachmentPreviewHandler( - private val context: Context, - private val useDocumentGView: Boolean = true, -) : AttachmentPreviewHandler { +public class DocumentAttachmentPreviewHandler(private val context: Context) : AttachmentPreviewHandler { override fun canHandle(attachment: Attachment): Boolean { val assetUrl = attachment.assetUrl @@ -54,12 +44,6 @@ public class DocumentAttachmentPreviewHandler( mimeType.contains(MimeType.MIME_TYPE_VND) } - override fun handleAttachmentPreview(attachment: Attachment) { - @Suppress("DEPRECATION") - if (useDocumentGView) { - context.startActivity(AttachmentDocumentActivity.getIntent(context, attachment.assetUrl)) - } else { - DocumentAttachmentHandler.openAttachment(context, attachment) - } - } + override fun handleAttachmentPreview(attachment: Attachment): Unit = + DocumentAttachmentHandler.openAttachment(context, attachment) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt index 562a433dea3..9b00d16fe63 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt @@ -40,7 +40,6 @@ import com.valentinilk.shimmer.LocalShimmerTheme import io.getstream.chat.android.client.ChatClient import io.getstream.chat.android.client.header.VersionPrefixHeader import io.getstream.chat.android.compose.ui.attachments.preview.handler.AttachmentPreviewHandler -import io.getstream.chat.android.compose.ui.util.ImageHeadersInterceptor import io.getstream.chat.android.compose.ui.util.LocalStreamImageLoader import io.getstream.chat.android.compose.ui.util.MessageAlignmentProvider import io.getstream.chat.android.compose.ui.util.MessagePreviewFormatter @@ -49,16 +48,8 @@ import io.getstream.chat.android.compose.ui.util.MessageTextFormatter import io.getstream.chat.android.compose.ui.util.ReactionResolver import io.getstream.chat.android.compose.ui.util.SearchResultNameFormatter import io.getstream.chat.android.compose.ui.util.StreamCoilImageLoaderFactory -import io.getstream.chat.android.ui.common.helper.AsyncImageHeadersProvider import io.getstream.chat.android.ui.common.helper.DateFormatter -import io.getstream.chat.android.ui.common.helper.DefaultDownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DefaultImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.DefaultImageHeadersProvider -import io.getstream.chat.android.ui.common.helper.DownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadRequestInterceptor import io.getstream.chat.android.ui.common.helper.DurationFormatter -import io.getstream.chat.android.ui.common.helper.ImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider import io.getstream.chat.android.ui.common.helper.TimeProvider import io.getstream.chat.android.ui.common.images.internal.CDNImageInterceptor import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing @@ -122,26 +113,6 @@ private val LocalMessageTextFormatter = compositionLocalOf private val LocalSearchResultNameFormatter = compositionLocalOf { error("No SearchResultNameFormatter provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } - -@Deprecated( - message = "ImageHeadersProvider is deprecated. Use asyncImageHeadersProvider in ChatTheme instead. " + - "Headers are now injected via Coil's interceptor pipeline, which is thread-safe and supports " + - "blocking/suspending operations.", -) -private val LocalStreamImageHeadersProvider = compositionLocalOf { - error("No ImageHeadersProvider provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} -private val LocalStreamDownloadAttachmentUriGenerator = compositionLocalOf { - error( - "No DownloadAttachmentUriGenerator provided! Make sure to wrap all usages of Stream components in a ChatTheme.", - ) -} -private val LocalStreamDownloadRequestInterceptor = compositionLocalOf { - error("No DownloadRequestInterceptor provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} -private val LocalStreamImageAssetTransformer = compositionLocalOf { - error("No ImageAssetTransformer provided! Make sure to wrap all usages of Stream components in a ChatTheme.") -} private val LocalMessageAlignmentProvider = compositionLocalOf { error("No MessageAlignmentProvider provided! Make sure to wrap all usages of Stream components in a ChatTheme.") } @@ -174,12 +145,7 @@ private val LocalStreamMediaRecorder = compositionLocalOf { * @param colors The set of colors we provide, wrapped in [StreamDesign.Colors]. * @param typography The set of typography styles we provide, wrapped in [StreamDesign.Typography]. * @param rippleConfiguration Defines the appearance for ripples. - * @param componentFactory Provide to customize the stateless components that are used throughout the UI - * @param attachmentFactories Attachment factories that we provide. - * @param useDocumentGView Whether to use Google Docs Viewer (gview) for document attachments. When `true` (default), - * documents are rendered via the legacy [AttachmentDocumentActivity] which loads them through Google Docs Viewer. - * When `false`, text-based files (TXT, HTML) are rendered in-app and other file types are downloaded and opened with an - * external application. + * @param componentFactory Provide to customize the stateless components that are used throughout the UI. * @param attachmentPreviewHandlers Attachment preview handlers we provide. * @param reactionResolver Provides available reactions and resolves reaction types to emoji codes. * @param reactionOptionsTheme [ReactionOptionsTheme] Theme for the reaction option list in the selected message menu. @@ -192,20 +158,7 @@ private val LocalStreamMediaRecorder = compositionLocalOf { * @param channelNameFormatter [ChannelNameFormatter] Used throughout the app for channel names. * @param messagePreviewFormatter [MessagePreviewFormatter] Used to generate a string preview for the given message. * @param searchResultNameFormatter [SearchResultNameFormatter] Used to format names in search results. - * @param imageLoaderFactory A factory that creates new Coil [ImageLoader] instances. If used in combination with - * [asyncImageHeadersProvider] you must override the [StreamCoilImageLoaderFactory.imageLoader] method accepting the - * interceptors parameter. - * @param imageAssetTransformer [ImageAssetTransformer] Used to transform image assets. - * @param imageHeadersProvider [ImageHeadersProvider] Deprecated. Use [asyncImageHeadersProvider] instead. Headers - * provided here are injected synchronously on the main thread, which blocks the UI for any non-trivial work. - * @param asyncImageHeadersProvider [AsyncImageHeadersProvider] Used to provide headers for image - * requests. Invoked on IO Dispatcher inside Coil's interceptor pipeline, making it safe for blocking or suspending - * operations such as reading an auth token. Prefer this over [imageHeadersProvider]. If you are using this in - * combination with a custom [StreamCoilImageLoaderFactory] you must override the - * [StreamCoilImageLoaderFactory.imageLoader] method accepting the interceptors parameter. - * @param downloadAttachmentUriGenerator [DownloadAttachmentUriGenerator] Used to generate download URIs for - * attachments. - * @param downloadRequestInterceptor [DownloadRequestInterceptor] Used to intercept download requests. + * @param imageLoaderFactory A factory that creates new Coil [ImageLoader] instances. * @param messageAlignmentProvider [MessageAlignmentProvider] Used to provide message alignment for the given message. * @param messageOptionsTheme [MessageOptionsTheme] Theme for the message option list in the selected message menu. * For theming the reaction option list in the same menu, use [reactionOptionsTheme]. @@ -231,9 +184,8 @@ public fun ChatTheme( lightTheme = !isInDarkMode, ), componentFactory: ChatComponentFactory = DefaultChatComponentFactory(), - useDocumentGView: Boolean = true, attachmentPreviewHandlers: List = - AttachmentPreviewHandler.defaultAttachmentHandlers(LocalContext.current, useDocumentGView), + AttachmentPreviewHandler.defaultAttachmentHandlers(LocalContext.current), reactionResolver: ReactionResolver = ReactionResolver.defaultResolver(), reactionOptionsTheme: ReactionOptionsTheme = ReactionOptionsTheme.defaultTheme(), messagePreviewIconFactory: MessagePreviewIconFactory = MessagePreviewIconFactory.defaultFactory(), @@ -250,11 +202,6 @@ public fun ChatTheme( ), searchResultNameFormatter: SearchResultNameFormatter = SearchResultNameFormatter.defaultFormatter(), imageLoaderFactory: StreamCoilImageLoaderFactory = StreamCoilImageLoaderFactory.defaultFactory(), - imageHeadersProvider: ImageHeadersProvider = DefaultImageHeadersProvider, - asyncImageHeadersProvider: AsyncImageHeadersProvider? = null, - downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator = DefaultDownloadAttachmentUriGenerator, - downloadRequestInterceptor: DownloadRequestInterceptor = DownloadRequestInterceptor { }, - imageAssetTransformer: ImageAssetTransformer = DefaultImageAssetTransformer, messageAlignmentProvider: MessageAlignmentProvider = MessageAlignmentProvider.defaultMessageAlignmentProvider(), messageOptionsTheme: MessageOptionsTheme = MessageOptionsTheme.defaultTheme(), channelOptionsTheme: ChannelOptionsTheme = ChannelOptionsTheme.defaultTheme(), @@ -278,9 +225,8 @@ public fun ChatTheme( val context = LocalContext.current val cdn = remember { ChatClient.instance().cdn } - val imageLoader = remember(imageLoaderFactory, asyncImageHeadersProvider, cdn) { + val imageLoader = remember(imageLoaderFactory, cdn) { val interceptors = buildList { - asyncImageHeadersProvider?.let { add(ImageHeadersInterceptor(it)) } cdn?.let { add(CDNImageInterceptor(it)) } } if (interceptors.isEmpty()) { @@ -311,10 +257,6 @@ public fun ChatTheme( LocalSearchResultNameFormatter provides searchResultNameFormatter, LocalMessageComposerTheme provides messageComposerTheme, LocalStreamImageLoader provides imageLoader, - LocalStreamImageHeadersProvider provides imageHeadersProvider, - LocalStreamDownloadAttachmentUriGenerator provides downloadAttachmentUriGenerator, - LocalStreamDownloadRequestInterceptor provides downloadRequestInterceptor, - LocalStreamImageAssetTransformer provides imageAssetTransformer, LocalMessageAlignmentProvider provides messageAlignmentProvider, LocalMessageOptionsTheme provides messageOptionsTheme, LocalChannelOptionsTheme provides channelOptionsTheme, @@ -498,46 +440,6 @@ public object ChatTheme { @ReadOnlyComposable get() = LocalMessageComposerTheme.current - /** - * Retrieves the current [ImageHeadersProvider] at the call site's position in the hierarchy. - * - * @deprecated Use [AsyncImageHeadersProvider] in [ChatTheme] for thread-safe header injection. - */ - @Deprecated( - message = "ImageHeadersProvider is deprecated. Pass asyncImageHeadersProvider to ChatTheme instead. " + - "Headers are now injected via Coil's interceptor pipeline, which is thread-safe and supports " + - "blocking/suspending operations.", - ) - @Suppress("DEPRECATION") - public val streamImageHeadersProvider: ImageHeadersProvider - @Composable - @ReadOnlyComposable - get() = LocalStreamImageHeadersProvider.current - - /** - * Retrieves the current [DownloadAttachmentUriGenerator] at the call site's position in the hierarchy. - */ - public val streamDownloadAttachmentUriGenerator: DownloadAttachmentUriGenerator - @Composable - @ReadOnlyComposable - get() = LocalStreamDownloadAttachmentUriGenerator.current - - /** - * Retrieves the current [DownloadRequestInterceptor] at the call site's position in the hierarchy. - */ - public val streamDownloadRequestInterceptor: DownloadRequestInterceptor - @Composable - @ReadOnlyComposable - get() = LocalStreamDownloadRequestInterceptor.current - - /** - * Retrieves the current [ImageAssetTransformer] at the call site's position in the hierarchy. - */ - public val streamImageAssetTransformer: ImageAssetTransformer - @Composable - @ReadOnlyComposable - get() = LocalStreamImageAssetTransformer.current - /** * Retrieves the current list of [StreamMediaRecorder] at the call site's position in the hierarchy. */ diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageHeadersInterceptor.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageHeadersInterceptor.kt deleted file mode 100644 index 13d9a07dbb6..00000000000 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageHeadersInterceptor.kt +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.compose.ui.util - -import coil3.intercept.Interceptor -import coil3.network.httpHeaders -import coil3.request.ImageResult -import io.getstream.chat.android.ui.common.helper.AsyncImageHeadersProvider -import io.getstream.chat.android.ui.common.images.internal.toNetworkHeaders -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.withContext - -/** - * A Coil [Interceptor] that injects HTTP headers provided by [AsyncImageHeadersProvider] into - * each image request. The provider is invoked as part of Coil's background pipeline, so - * blocking or suspending operations (e.g. fetching an auth token) are safe to perform inside - * [AsyncImageHeadersProvider.getImageRequestHeaders]. - */ -internal class ImageHeadersInterceptor(private val headersProvider: AsyncImageHeadersProvider) : Interceptor { - - override suspend fun intercept(chain: Interceptor.Chain): ImageResult { - val url = chain.request.data.toString() - val headers = withContext(Dispatchers.IO) { - headersProvider.getImageRequestHeaders(url) - } - // Merge: existing headers (from CDN interceptor / sync ImageHeadersProvider) as base, - // async provider headers override for same keys. - val existingHeaders = chain.request.httpHeaders - val mergedHeaders = buildMap { - existingHeaders.asMap().forEach { (name, values) -> - values.lastOrNull()?.let { put(name, it) } - } - putAll(headers) - }.toNetworkHeaders() - - val newRequest = chain.request.newBuilder() - .httpHeaders(mergedHeaders) - .build() - return chain.withRequest(newRequest).proceed() - } -} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageUtils.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageUtils.kt index 1e0fc42ddf9..2b4f3ab5e02 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageUtils.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/ImageUtils.kt @@ -16,7 +16,6 @@ package io.getstream.chat.android.compose.ui.util -import android.content.Context import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope @@ -40,28 +39,17 @@ import coil3.compose.SubcomposeAsyncImage import coil3.compose.asPainter import coil3.compose.rememberAsyncImagePainter import coil3.compose.rememberConstraintsSizeResolver -import coil3.network.httpHeaders import coil3.request.ImageRequest import coil3.request.SuccessResult import coil3.size.Size import coil3.size.SizeResolver import io.getstream.chat.android.compose.ui.components.ShimmerProgressIndicator -import io.getstream.chat.android.compose.ui.theme.ChatTheme -import io.getstream.chat.android.ui.common.helper.ImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider -import io.getstream.chat.android.ui.common.images.internal.toNetworkHeaders import java.net.SocketTimeoutException -private const val GradientDarkerColorFactor = 1.3f -private const val GradientLighterColorFactor = 0.7f private const val MaxRetries = 3 /** * It displays a shimmer effect while loading an image asynchronously using `Coil` and the [LocalStreamImageLoader]. - * The image URL is transformed and some extra headers are provided before loading the image. - * - * @see ImageAssetTransformer - * @see ImageHeadersProvider * * @param data The data to load the image from. Can be a URL, URI, resource ID, etc. * @param contentDescription The description to use for the image. @@ -87,10 +75,6 @@ internal fun StreamAsyncImage( /** * It displays a shimmer effect while loading an image asynchronously using `Coil` and the [LocalStreamImageLoader]. - * The image URL is transformed and some extra headers are provided before loading the image. - * - * @see ImageAssetTransformer - * @see ImageHeadersProvider * * @param imageRequest The request to load the image. * @param contentDescription The description to use for the image. @@ -127,10 +111,6 @@ internal fun StreamAsyncImage( /** * Displays an image asynchronously using `Coil` and the [LocalStreamImageLoader]. - * The image URL is transformed and some extra headers are provided before loading the image. - * - * @see ImageAssetTransformer - * @see ImageHeadersProvider * * @param data The data to load the image from. Can be a URL, URI, resource ID, etc. * @param modifier Modifier for styling. @@ -156,10 +136,6 @@ internal fun StreamAsyncImage( /** * Displays an image asynchronously using `Coil` and the [LocalStreamImageLoader]. - * The image URL is transformed and some extra headers are provided before loading the image. - * - * @see ImageAssetTransformer - * @see ImageHeadersProvider * * @param imageRequest The request to load the image. * @param modifier Modifier for styling. @@ -177,15 +153,9 @@ internal fun StreamAsyncImage( Box( modifier = modifier.then(sizeResolver), ) { - val context = LocalContext.current - val imageAssetTransformer = ChatTheme.streamImageAssetTransformer - val imageHeaderProvider = ChatTheme.streamImageHeadersProvider var fetchRetries by remember { mutableIntStateOf(0) } val asyncImagePainter = rememberAsyncImagePainter( - model = imageRequest - .convertUrl(context, imageAssetTransformer) - .provideHeaders(context, imageHeaderProvider) - .size(sizeResolver), + model = imageRequest.size(sizeResolver), imageLoader = LocalStreamImageLoader.current, contentScale = contentScale, ) @@ -204,33 +174,6 @@ internal fun StreamAsyncImage( } } -private fun ImageRequest.convertUrl( - context: Context, - imageAssetTransformer: ImageAssetTransformer, -): ImageRequest { - return this.newBuilder(context) - .data(imageAssetTransformer.transform(data)) - .build() -} - -/** - * Provides headers to the given [ImageRequest] based on the [ImageHeadersProvider] implementation. - * - * @param context The current context. - * @param imageHeaderProvider The [ImageHeadersProvider] implementation to use. - * @return The [ImageRequest] with the headers applied. - */ -private fun ImageRequest.provideHeaders( - context: Context, - imageHeaderProvider: ImageHeadersProvider, -): ImageRequest = - this.newBuilder(context).apply { - httpHeaders( - imageHeaderProvider.getImageRequestHeaders(data.toString()) - .toNetworkHeaders(), - ) - }.build() - /** * Set the [SizeResolver] as a new build of the [ImageRequest]. * Otherwise, set the size to [Size.ORIGINAL] in preview mode to fix loading local images. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/util/AttachmentDownloadUtils.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/util/AttachmentDownloadUtils.kt index cfe28f61df4..1f861bf65a1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/util/AttachmentDownloadUtils.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/util/AttachmentDownloadUtils.kt @@ -17,9 +17,7 @@ package io.getstream.chat.android.compose.util import android.Manifest -import android.app.DownloadManager import android.content.Context -import android.net.Uri import android.os.Build import android.os.Environment import androidx.compose.runtime.Composable @@ -38,7 +36,6 @@ import com.google.accompanist.permissions.rememberPermissionState import com.google.accompanist.permissions.shouldShowRationale import io.getstream.chat.android.client.ChatClient import io.getstream.chat.android.client.api.state.downloadAttachment -import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.ui.common.utils.extensions.onPermissionRequested import io.getstream.chat.android.ui.common.utils.extensions.wasPermissionRequested @@ -57,18 +54,11 @@ internal fun attachmentDownloadState(): Pair(null) } val context = LocalContext.current - val downloadAttachmentUriGenerator = ChatTheme.streamDownloadAttachmentUriGenerator - val downloadRequestInterceptor = ChatTheme.streamDownloadRequestInterceptor LaunchedEffect(writePermissionState.status.isGranted) { if (writePermissionState.status.isGranted) { downloadPayload.value?.let { - onDownloadPermissionGranted( - context, - it, - downloadAttachmentUriGenerator::generateDownloadUri, - downloadRequestInterceptor::intercept, - ) + onDownloadPermissionGranted(context, it) downloadPayload.value = null } } @@ -84,18 +74,11 @@ internal fun onDownloadHandleRequest( payload: Attachment, permissionState: PermissionState, downloadPayload: MutableState, - generateDownloadUri: (Attachment) -> Uri, - interceptRequest: DownloadManager.Request.() -> Unit, ) { if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && !Environment.isExternalStorageLegacy()) || permissionState.status.isGranted ) { - onDownloadPermissionGranted( - context, - payload, - generateDownloadUri, - interceptRequest, - ) + onDownloadPermissionGranted(context, payload) downloadPayload.value = null } else { downloadPayload.value = payload @@ -104,21 +87,11 @@ internal fun onDownloadHandleRequest( } } -internal fun onDownloadPermissionGranted( - context: Context, - payload: Attachment, - generateDownloadUri: (Attachment) -> Uri, - interceptRequest: DownloadManager.Request.() -> Unit, -) { +internal fun onDownloadPermissionGranted(context: Context, payload: Attachment) { payload.let { ChatClient .instance() - .downloadAttachment( - context, - it, - generateDownloadUri, - interceptRequest, - ) + .downloadAttachment(context, it) .enqueue() } } diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivityTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivityTest.kt index d16bfc11724..6dab4e02e34 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivityTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivityTest.kt @@ -37,7 +37,6 @@ import io.getstream.chat.android.models.Message import io.getstream.chat.android.previewdata.PreviewMessageData import io.getstream.chat.android.previewdata.PreviewUserData import io.getstream.chat.android.test.TestCall -import io.getstream.chat.android.ui.common.helper.DefaultDownloadAttachmentUriGenerator import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing import io.getstream.result.Result import kotlinx.coroutines.flow.MutableStateFlow @@ -194,8 +193,6 @@ internal class MediaGalleryPreviewActivityTest : MockedChatClientTest { input = MediaGalleryPreviewContract.Input( message = message, videoThumbnailsEnabled = true, - downloadAttachmentUriGenerator = DefaultDownloadAttachmentUriGenerator, - downloadRequestInterceptor = {}, streamCdnImageResizing = StreamCdnImageResizing.defaultStreamCdnImageResizing(), ), ).also { diff --git a/stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/general/Configuration.java b/stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/general/Configuration.java index 7a95b56e436..270482d849a 100644 --- a/stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/general/Configuration.java +++ b/stream-chat-android-docs/src/main/java/io/getstream/chat/docs/java/ui/general/Configuration.java @@ -97,18 +97,6 @@ public void customMimeTypeIcons() { }); } - /** - * [Customizing Image Headers](https://getstream.io/chat/docs/sdk/android/ui/general-customization/chatui/#adding-extra-headers-to-image-requests) - */ - public void customizingImageHeaders() { - ChatUI.setImageHeadersProvider((url) -> { - Map headers = new HashMap<>(); - headers.put("token", "12345"); - - return headers; - }); - } - /** * [Changing the Default Font](https://getstream.io/chat/docs/sdk/android/ui/general-customization/chatui/#changing-the-default-font) */ diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/general/Configuration.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/general/Configuration.kt index 0739c1bef03..bbb25cb13d3 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/general/Configuration.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/ui/general/Configuration.kt @@ -16,7 +16,6 @@ import io.getstream.chat.android.models.Channel import io.getstream.chat.android.models.User import io.getstream.chat.android.ui.ChatUI import io.getstream.chat.android.ui.common.helper.DateFormatter -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider import io.getstream.chat.android.ui.common.utils.ChannelNameFormatter import io.getstream.chat.android.ui.feature.messages.composer.attachment.preview.AttachmentPreviewFactoryManager import io.getstream.chat.android.ui.feature.messages.list.adapter.MessageListItem @@ -90,17 +89,6 @@ private class ChatUiSnippets { } } - /** - * [Customizing Image Headers](https://getstream.io/chat/docs/sdk/android/ui/general-customization/chatui/#adding-extra-headers-to-image-requests) - */ - fun customizingImageHeaders() { - ChatUI.imageHeadersProvider = object : ImageHeadersProvider { - override fun getImageRequestHeaders(url: String): Map { - return mapOf("token" to "12345") - } - } - } - /** * [Changing the Default Font](https://getstream.io/chat/docs/sdk/android/ui/general-customization/chatui/#changing-the-default-font) */ diff --git a/stream-chat-android-ui-common/api/stream-chat-android-ui-common.api b/stream-chat-android-ui-common/api/stream-chat-android-ui-common.api index 02b649facfb..52f4a6702cd 100644 --- a/stream-chat-android-ui-common/api/stream-chat-android-ui-common.api +++ b/stream-chat-android-ui-common/api/stream-chat-android-ui-common.api @@ -730,13 +730,6 @@ public final class io/getstream/chat/android/ui/common/feature/channel/info/Chan public fun toString ()Ljava/lang/String; } -public class io/getstream/chat/android/ui/common/feature/documents/AttachmentDocumentActivity : androidx/appcompat/app/AppCompatActivity { - public fun ()V - public static fun getIntent (Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent; - public fun loadDocument (Ljava/lang/String;)V - protected fun onCreate (Landroid/os/Bundle;)V -} - public final class io/getstream/chat/android/ui/common/feature/messages/composer/capabilities/MessageComposerCapabilitiesKt { public static final fun canSendMessage (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;)Z public static final fun canUploadFile (Lio/getstream/chat/android/ui/common/state/messages/composer/MessageComposerState;)Z @@ -1241,10 +1234,6 @@ public final class io/getstream/chat/android/ui/common/feature/messages/translat public final class io/getstream/chat/android/ui/common/feature/threads/ThreadListController$Companion { } -public abstract interface class io/getstream/chat/android/ui/common/helper/AsyncImageHeadersProvider { - public abstract fun getImageRequestHeaders (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - public abstract interface class io/getstream/chat/android/ui/common/helper/ClipboardHandler { public abstract fun copyMessage (Lio/getstream/chat/android/models/Message;)V } @@ -1281,32 +1270,6 @@ public final class io/getstream/chat/android/ui/common/helper/DateFormatter$Comp public static synthetic fun from$default (Lio/getstream/chat/android/ui/common/helper/DateFormatter$Companion;Landroid/content/Context;Ljava/util/Locale;ILjava/lang/Object;)Lio/getstream/chat/android/ui/common/helper/DateFormatter; } -public final class io/getstream/chat/android/ui/common/helper/DefaultDownloadAttachmentUriGenerator : io/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator { - public static final field $stable I - public static final field INSTANCE Lio/getstream/chat/android/ui/common/helper/DefaultDownloadAttachmentUriGenerator; - public fun generateDownloadUri (Lio/getstream/chat/android/models/Attachment;)Landroid/net/Uri; -} - -public final class io/getstream/chat/android/ui/common/helper/DefaultImageAssetTransformer : io/getstream/chat/android/ui/common/helper/ImageAssetTransformer { - public static final field $stable I - public static final field INSTANCE Lio/getstream/chat/android/ui/common/helper/DefaultImageAssetTransformer; - public fun transform (Ljava/lang/Object;)Ljava/lang/Object; -} - -public final class io/getstream/chat/android/ui/common/helper/DefaultImageHeadersProvider : io/getstream/chat/android/ui/common/helper/ImageHeadersProvider { - public static final field $stable I - public static final field INSTANCE Lio/getstream/chat/android/ui/common/helper/DefaultImageHeadersProvider; - public fun getImageRequestHeaders (Ljava/lang/String;)Ljava/util/Map; -} - -public abstract interface class io/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator { - public abstract fun generateDownloadUri (Lio/getstream/chat/android/models/Attachment;)Landroid/net/Uri; -} - -public abstract interface class io/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor { - public abstract fun intercept (Landroid/app/DownloadManager$Request;)V -} - public abstract interface class io/getstream/chat/android/ui/common/helper/DurationFormatter { public static final field Companion Lio/getstream/chat/android/ui/common/helper/DurationFormatter$Companion; public abstract fun format (I)Ljava/lang/String; @@ -1316,14 +1279,6 @@ public final class io/getstream/chat/android/ui/common/helper/DurationFormatter$ public final fun defaultFormatter ()Lio/getstream/chat/android/ui/common/helper/DurationFormatter; } -public abstract interface class io/getstream/chat/android/ui/common/helper/ImageAssetTransformer { - public abstract fun transform (Ljava/lang/Object;)Ljava/lang/Object; -} - -public abstract interface class io/getstream/chat/android/ui/common/helper/ImageHeadersProvider { - public abstract fun getImageRequestHeaders (Ljava/lang/String;)Ljava/util/Map; -} - public abstract interface class io/getstream/chat/android/ui/common/helper/ReactionPushEmojiFactory { public static final field Companion Lio/getstream/chat/android/ui/common/helper/ReactionPushEmojiFactory$Companion; public abstract fun emojiCode (Ljava/lang/String;)Ljava/lang/String; @@ -1343,10 +1298,6 @@ public final class io/getstream/chat/android/ui/common/helper/TimeProvider$Compa public final fun getDEFAULT ()Lio/getstream/chat/android/ui/common/helper/TimeProvider; } -public abstract interface class io/getstream/chat/android/ui/common/helper/VideoHeadersProvider { - public abstract fun getVideoRequestHeaders (Ljava/lang/String;)Ljava/util/Map; -} - public final class io/getstream/chat/android/ui/common/helper/internal/AttachmentFilter { public static final field $stable I public fun ()V @@ -3372,7 +3323,6 @@ public class io/getstream/chat/android/ui/common/utils/Utils { public final class io/getstream/chat/android/ui/common/utils/extensions/AttachmentKt { public static final fun getDisplayableName (Lio/getstream/chat/android/models/Attachment;)Ljava/lang/String; - public static final fun getImagePreviewUrl (Lio/getstream/chat/android/models/Attachment;)Ljava/lang/String; public static final fun hasLink (Lio/getstream/chat/android/models/Attachment;)Z public static final fun isAnyFileType (Lio/getstream/chat/android/models/Attachment;)Z public static final fun isFailed (Lio/getstream/chat/android/models/Attachment;)Z diff --git a/stream-chat-android-ui-common/src/main/AndroidManifest.xml b/stream-chat-android-ui-common/src/main/AndroidManifest.xml index 46b41f79fec..1cb168bffa7 100644 --- a/stream-chat-android-ui-common/src/main/AndroidManifest.xml +++ b/stream-chat-android-ui-common/src/main/AndroidManifest.xml @@ -28,11 +28,6 @@ - "The load failed due to an unknown error: " + error); - if (error == null) { - return; - } - - Toast.makeText(AttachmentDocumentActivity.this, error.toString(), Toast.LENGTH_SHORT).show(); - } - } - - public static Intent getIntent(Context context, String url) { - Intent intent = new Intent(context, AttachmentDocumentActivity.class); - intent.putExtra(KEY_URL, url); - return intent; - } -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/AsyncImageHeadersProvider.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/AsyncImageHeadersProvider.kt deleted file mode 100644 index 35f452ace31..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/AsyncImageHeadersProvider.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -/** - * Provides HTTP headers for image loading requests in a suspending, thread-safe manner. - * - * Unlike [ImageHeadersProvider], this interface is designed for async operations such as - * reading an auth token from encrypted storage or fetching one from a remote endpoint. - * Implementations are always invoked on [kotlinx.coroutines.Dispatchers.IO], so blocking - * calls are safe. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - * - * @see ImageHeadersProvider - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public interface AsyncImageHeadersProvider { - - /** - * Returns a map of headers to be used for the image loading request. - * - * Always called on [kotlinx.coroutines.Dispatchers.IO], so blocking operations are safe. - * - * @param url The URL of the image to load. - * @return A map of headers to be used for the image loading request. - */ - public suspend fun getImageRequestHeaders(url: String): Map -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator.kt deleted file mode 100644 index 6a81cbc4de6..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator.kt +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -import android.net.Uri -import io.getstream.chat.android.models.Attachment - -/** - * Generates a download URI for the given attachment. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to transform URLs for all image, file, - * and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public fun interface DownloadAttachmentUriGenerator { - - /** - * Generates a download URI for the given attachment. - * - * @param attachment The attachment to generate the download URI for. - * - * @return The download URI for the given attachment. - */ - public fun generateDownloadUri(attachment: Attachment): Uri -} - -/** - * Default implementation of [DownloadAttachmentUriGenerator] that generates a download URI based on the asset URL - * or image URL of the attachment. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to transform URLs for all image, file, - * and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public object DefaultDownloadAttachmentUriGenerator : DownloadAttachmentUriGenerator { - override fun generateDownloadUri(attachment: Attachment): Uri = - Uri.parse(attachment.assetUrl ?: attachment.imageUrl) -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor.kt deleted file mode 100644 index d3ba7d4ac37..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -import android.app.DownloadManager - -/** - * Intercepts and modifies the download request before it is enqueued. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public fun interface DownloadRequestInterceptor { - - /** - * Intercepts and modifies the download request before it is enqueued. - * - * @param request The download request to intercept. - */ - public fun intercept(request: DownloadManager.Request) -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageAssetTransformer.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageAssetTransformer.kt deleted file mode 100644 index 6568170c4d4..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageAssetTransformer.kt +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -import android.graphics.Bitmap -import android.graphics.drawable.Drawable -import android.net.Uri -import androidx.annotation.DrawableRes -import okhttp3.HttpUrl -import java.io.File -import java.nio.ByteBuffer - -/** - * Transforms image assets before loading. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to transform URLs for all image, file, - * and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public interface ImageAssetTransformer { - - /** - * Returns a transformed asset to be used for the image loading request. - * - * The default supported data types are: - * - [String] (mapped to a [Uri]) - * - [Uri] ("android.resource", "content", "file", "http", and "https" schemes only) - * - [HttpUrl] - * - [File] - * - [DrawableRes] - * - [Drawable] - * - [Bitmap] - * - [ByteArray] - * - [ByteBuffer] - * - * @param asset The asset to load. - * @return A transformed asset to be used for the image loading request. - */ - public fun transform(asset: Any): Any -} - -/** - * Default implementation of [ImageAssetTransformer] that doesn't provide any headers. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to transform URLs for all image, file, - * and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public object DefaultImageAssetTransformer : ImageAssetTransformer { - override fun transform(asset: Any): Any = asset -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageHeadersProvider.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageHeadersProvider.kt deleted file mode 100644 index 5147d70a86f..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/ImageHeadersProvider.kt +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -/** - * Provides HTTP headers for image loading requests. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public interface ImageHeadersProvider { - - /** - * Returns a map of headers to be used for the image loading request. - * - * @param url The URL of the image to load. - * @return A map of headers to be used for the image loading request. - */ - public fun getImageRequestHeaders(url: String): Map -} - -/** - * Default implementation of [ImageHeadersProvider] that doesn't provide any headers. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public object DefaultImageHeadersProvider : ImageHeadersProvider { - override fun getImageRequestHeaders(url: String): Map = emptyMap() -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/VideoHeadersProvider.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/VideoHeadersProvider.kt deleted file mode 100644 index 6aa48591679..00000000000 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/helper/VideoHeadersProvider.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.helper - -import io.getstream.chat.android.core.internal.InternalStreamChatApi - -/** - * Provides HTTP headers for video loading requests. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ -@Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") -public interface VideoHeadersProvider { - - /** - * Returns a map of headers to be used for the video loading request. - * - * @param url The URL of the video to load. - * @return A map of headers to be used for the video loading request. - */ - public fun getVideoRequestHeaders(url: String): Map -} - -@InternalStreamChatApi -public object DefaultVideoHeadersProvider : VideoHeadersProvider { - override fun getVideoRequestHeaders(url: String): Map = emptyMap() -} diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/CoilStreamImageLoader.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/CoilStreamImageLoader.kt index 1b3c21d3ff9..70722b2f7dc 100644 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/CoilStreamImageLoader.kt +++ b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/CoilStreamImageLoader.kt @@ -30,7 +30,6 @@ import coil3.gif.MovieDrawable import coil3.imageLoader import coil3.load import coil3.network.NetworkHeaders -import coil3.network.httpHeaders import coil3.request.ImageRequest import coil3.request.error import coil3.request.fallback @@ -41,10 +40,6 @@ import coil3.transform.CircleCropTransformation import io.getstream.chat.android.core.internal.coroutines.DispatcherProvider import io.getstream.chat.android.ui.common.disposable.CoilDisposable import io.getstream.chat.android.ui.common.disposable.Disposable -import io.getstream.chat.android.ui.common.helper.DefaultImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.DefaultImageHeadersProvider -import io.getstream.chat.android.ui.common.helper.ImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider import io.getstream.chat.android.ui.common.images.internal.StreamCoil.streamImageLoader import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch @@ -52,20 +47,15 @@ import kotlinx.coroutines.withContext internal object CoilStreamImageLoader : StreamImageLoader { - override var imageHeadersProvider: ImageHeadersProvider = DefaultImageHeadersProvider - override var imageAssetTransformer: ImageAssetTransformer = DefaultImageAssetTransformer - override suspend fun loadAsBitmap( context: Context, url: String, transformation: StreamImageLoader.ImageTransformation, ): Bitmap? = withContext(DispatcherProvider.IO) { url.takeUnless(String::isBlank) - .transformedAsset() ?.let { asset -> val imageResult = context.streamImageLoader.execute( ImageRequest.Builder(context) - .httpHeaders(imageHeadersProvider.getImageRequestHeaders(asset.toString()).toNetworkHeaders()) .data(url) .applyTransformation(transformation) .build(), @@ -154,17 +144,12 @@ internal object CoilStreamImageLoader : StreamImageLoader { val calledContext = coroutineContext withContext(DispatcherProvider.IO) { - val asset = data.transformedAsset() - val headers = asset?.toString()?.let { url -> - imageHeadersProvider.getImageRequestHeaders(url).toNetworkHeaders() - } ?: NetworkHeaders.EMPTY val result = context.streamImageLoader.execute( ImageRequest.Builder(context) - .httpHeaders(headers) .placeholder(placeholderDrawable) .fallback(placeholderDrawable) .error(placeholderDrawable) - .data(asset) + .data(data) .listener( onStart = { launch(calledContext) { onStart() } }, onCancel = { launch(calledContext) { onComplete() } }, @@ -223,20 +208,11 @@ internal object CoilStreamImageLoader : StreamImageLoader { imageLoader: ImageLoader = context.imageLoader, builder: ImageRequest.Builder.() -> Unit = {}, ): coil3.request.Disposable { - val asset = data.transformedAsset() - return this.load( - asset, - imageLoader, - ) { - asset?.toString()?.let { url -> - httpHeaders(imageHeadersProvider.getImageRequestHeaders(url).toNetworkHeaders()) - } + return this.load(data, imageLoader) { builder() } } - private fun Any?.transformedAsset(): Any? = this?.let(imageAssetTransformer::transform) - private fun ImageRequest.Builder.applyTransformation( transformation: StreamImageLoader.ImageTransformation, ): ImageRequest.Builder = diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/StreamImageLoader.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/StreamImageLoader.kt index 85d67f2ae82..8ffdad209a4 100644 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/StreamImageLoader.kt +++ b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/images/internal/StreamImageLoader.kt @@ -25,8 +25,6 @@ import androidx.annotation.DrawableRes import androidx.annotation.Px import io.getstream.chat.android.core.internal.InternalStreamChatApi import io.getstream.chat.android.ui.common.disposable.Disposable -import io.getstream.chat.android.ui.common.helper.ImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider @InternalStreamChatApi public sealed interface StreamImageLoader { @@ -34,9 +32,6 @@ public sealed interface StreamImageLoader { public fun instance(): StreamImageLoader = CoilStreamImageLoader } - public var imageHeadersProvider: ImageHeadersProvider - public var imageAssetTransformer: ImageAssetTransformer - @Suppress("LongParameterList") public fun load( target: ImageView, diff --git a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/utils/extensions/Attachment.kt b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/utils/extensions/Attachment.kt index d933b65ce7c..2712ed4bdc7 100644 --- a/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/utils/extensions/Attachment.kt +++ b/stream-chat-android-ui-common/src/main/kotlin/io/getstream/chat/android/ui/common/utils/extensions/Attachment.kt @@ -38,20 +38,6 @@ public fun Attachment.getDisplayableName(): String? { return StringUtils.removeTimePrefix(title ?: name ?: upload?.name, StorageHelper.TIME_FORMAT) } -/** - * Retrieves the image preview URL for the attachment (if available). - * - * It first checks for the thumbnail URL, and if not present, falls back to the main image URL. - */ -@Deprecated( - message = "Use the appropriate field for your attachment type: " + - "imageUrl for image attachments, " + - "thumbUrl for video thumbnails and link/giphy previews.", - level = DeprecationLevel.WARNING, -) -public val Attachment.imagePreviewUrl: String? - get() = thumbUrl ?: imageUrl - /** * The image URL to display for link attachment previews. * diff --git a/stream-chat-android-ui-common/src/main/res/layout/stream_activity_attachment_document.xml b/stream-chat-android-ui-common/src/main/res/layout/stream_activity_attachment_document.xml deleted file mode 100644 index 71143c5113c..00000000000 --- a/stream-chat-android-ui-common/src/main/res/layout/stream_activity_attachment_document.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/documents/AttachmentDocumentActivityTest.kt b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/documents/AttachmentDocumentActivityTest.kt deleted file mode 100644 index 7222b284a22..00000000000 --- a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/documents/AttachmentDocumentActivityTest.kt +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. - * - * Licensed under the Stream License; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.getstream.chat.android.ui.common.feature.documents - -import android.webkit.WebView -import androidx.lifecycle.Lifecycle -import androidx.test.core.app.ActivityScenario -import androidx.test.core.app.ApplicationProvider -import androidx.test.ext.junit.runners.AndroidJUnit4 -import io.getstream.chat.android.client.ChatClient -import io.getstream.chat.android.randomString -import io.getstream.chat.android.ui.common.R -import org.junit.After -import org.junit.Test -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.runner.RunWith -import org.mockito.kotlin.doReturn -import org.mockito.kotlin.mock -import org.mockito.kotlin.reset -import org.mockito.kotlin.whenever -import org.robolectric.Shadows -import org.robolectric.annotation.Config - -@RunWith(AndroidJUnit4::class) -@Config(sdk = [33]) -internal class AttachmentDocumentActivityTest { - - private val mockChatClient: ChatClient = mock() - - @After - fun tearDown() { - reset(mockChatClient) - } - - @Test - fun `activity finishes when ChatClient is not initialized`() { - val intent = AttachmentDocumentActivity.getIntent(ApplicationProvider.getApplicationContext(), randomString()) - - ActivityScenario.launch(intent).use { scenario -> - assertEquals(Lifecycle.State.DESTROYED, scenario.state) - } - } - - @Test - fun `activity finishes when ChatClient is not connected to socket`() { - initializeChatClient() - whenever(mockChatClient.isSocketConnected()) doReturn false - - val intent = AttachmentDocumentActivity.getIntent(ApplicationProvider.getApplicationContext(), randomString()) - - ActivityScenario.launch(intent).use { scenario -> - assertEquals(Lifecycle.State.DESTROYED, scenario.state) - } - } - - @Test - fun `activity loads document when ChatClient is connected to socket`() { - initializeChatClient() - whenever(mockChatClient.isSocketConnected()) doReturn true - - val url = randomString() - val intent = AttachmentDocumentActivity.getIntent(ApplicationProvider.getApplicationContext(), url) - - ActivityScenario.launch(intent).use { scenario -> - scenario.onActivity { activity -> - val webView = activity.findViewById(R.id.webView) - val shadowWebView = Shadows.shadowOf(webView) - assertEquals("https://docs.google.com/gview?embedded=true&url=$url", shadowWebView.lastLoadedUrl) - } - } - } - - private fun initializeChatClient() { - object : ChatClient.ChatClientBuilder() { - override fun internalBuild(): ChatClient = mockChatClient - }.build() - } -} diff --git a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTest.kt b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTest.kt index b7e6d9dc2d1..f7ef6fdd2d4 100644 --- a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTest.kt +++ b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTest.kt @@ -24,46 +24,6 @@ import org.junit.Test @Suppress("DEPRECATION") internal class AttachmentExtensionsTest { - @Test - fun `imagePreviewUrl returns thumbUrl when both thumbUrl and imageUrl are set`() { - val attachment = Attachment( - thumbUrl = "https://cdn.example.com/thumb.jpg", - imageUrl = "https://cdn.example.com/image.jpg", - ) - - assertEquals("https://cdn.example.com/thumb.jpg", attachment.imagePreviewUrl) - } - - @Test - fun `imagePreviewUrl returns thumbUrl when imageUrl is null`() { - val attachment = Attachment( - thumbUrl = "https://cdn.example.com/thumb.jpg", - imageUrl = null, - ) - - assertEquals("https://cdn.example.com/thumb.jpg", attachment.imagePreviewUrl) - } - - @Test - fun `imagePreviewUrl returns imageUrl when thumbUrl is null`() { - val attachment = Attachment( - thumbUrl = null, - imageUrl = "https://cdn.example.com/image.jpg", - ) - - assertEquals("https://cdn.example.com/image.jpg", attachment.imagePreviewUrl) - } - - @Test - fun `imagePreviewUrl returns null when both are null`() { - val attachment = Attachment( - thumbUrl = null, - imageUrl = null, - ) - - assertNull(attachment.imagePreviewUrl) - } - // linkPreviewImageUrl tests @Test diff --git a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTests.kt b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTests.kt index a8793ac22b3..90a8e80cefd 100644 --- a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTests.kt +++ b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/utils/extensions/AttachmentExtensionsTests.kt @@ -112,54 +112,6 @@ internal class AttachmentExtensionsTests { Assertions.assertEquals("document.pdf", displayableName) } - @Test - fun `imagePreviewUrl should return thumbUrl when present`() { - // Given - val thumbUrl = randomString() - val imageUrl = randomString() - val attachment = randomAttachment( - thumbUrl = thumbUrl, - imageUrl = imageUrl, - ) - - // When - val previewUrl = attachment.imagePreviewUrl - - // Then - Assertions.assertEquals(thumbUrl, previewUrl) - } - - @Test - fun `imagePreviewUrl should return imageUrl when thumbUrl is null`() { - // Given - val imageUrl = randomString() - val attachment = randomAttachment( - thumbUrl = null, - imageUrl = imageUrl, - ) - - // When - val previewUrl = attachment.imagePreviewUrl - - // Then - Assertions.assertEquals(imageUrl, previewUrl) - } - - @Test - fun `imagePreviewUrl should return null when both thumbUrl and imageUrl are null`() { - // Given - val attachment = randomAttachment( - thumbUrl = null, - imageUrl = null, - ) - - // When - val previewUrl = attachment.imagePreviewUrl - - // Then - Assertions.assertNull(previewUrl) - } - @Test fun `isAnyFileType should return true when uploadId is present`() { // Given diff --git a/stream-chat-android-ui-components/api/stream-chat-android-ui-components.api b/stream-chat-android-ui-components/api/stream-chat-android-ui-components.api index e35b66a61a1..cd8d63d9efc 100644 --- a/stream-chat-android-ui-components/api/stream-chat-android-ui-components.api +++ b/stream-chat-android-ui-components/api/stream-chat-android-ui-components.api @@ -8,13 +8,9 @@ public final class io/getstream/chat/android/ui/ChatUI { public static final fun getCurrentUserProvider ()Lio/getstream/chat/android/ui/helper/CurrentUserProvider; public static final fun getDateFormatter ()Lio/getstream/chat/android/ui/common/helper/DateFormatter; public static final fun getDecoratorProviderFactory ()Lio/getstream/chat/android/ui/feature/messages/list/adapter/viewholder/decorator/DecoratorProviderFactory; - public static final fun getDownloadAttachmentUriGenerator ()Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator; - public static final fun getDownloadRequestInterceptor ()Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor; public static final fun getDraftMessagesEnabled ()Z public static final fun getDurationFormatter ()Lio/getstream/chat/android/ui/common/helper/DurationFormatter; public static final fun getFonts ()Lio/getstream/chat/android/ui/font/ChatFonts; - public static final fun getImageAssetTransformer ()Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer; - public static final fun getImageHeadersProvider ()Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider; public static final fun getMessagePreviewFormatter ()Lio/getstream/chat/android/ui/helper/MessagePreviewFormatter; public static final fun getMessageTextTransformer ()Lio/getstream/chat/android/ui/helper/transformer/ChatMessageTextTransformer; public static final fun getMimeTypeIconProvider ()Lio/getstream/chat/android/ui/helper/MimeTypeIconProvider; @@ -25,9 +21,7 @@ public final class io/getstream/chat/android/ui/ChatUI { public static final fun getStreamCdnImageResizing ()Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing; public static final fun getStyle ()Lio/getstream/chat/android/ui/font/ChatStyle; public static final fun getSupportedReactions ()Lio/getstream/chat/android/ui/helper/SupportedReactions; - public static final fun getUseDocumentGView ()Z public static final fun getUserAvatarRenderer ()Lio/getstream/chat/android/ui/widgets/avatar/UserAvatarRenderer; - public static final fun getVideoHeadersProvider ()Lio/getstream/chat/android/ui/common/helper/VideoHeadersProvider; public static final fun getVideoThumbnailsEnabled ()Z public static final fun setAttachmentFactoryManager (Lio/getstream/chat/android/ui/feature/messages/list/adapter/viewholder/attachment/AttachmentFactoryManager;)V public static final fun setAttachmentPreviewFactoryManager (Lio/getstream/chat/android/ui/feature/messages/composer/attachment/preview/AttachmentPreviewFactoryManager;)V @@ -37,13 +31,9 @@ public final class io/getstream/chat/android/ui/ChatUI { public static final fun setCurrentUserProvider (Lio/getstream/chat/android/ui/helper/CurrentUserProvider;)V public static final fun setDateFormatter (Lio/getstream/chat/android/ui/common/helper/DateFormatter;)V public static final fun setDecoratorProviderFactory (Lio/getstream/chat/android/ui/feature/messages/list/adapter/viewholder/decorator/DecoratorProviderFactory;)V - public static final fun setDownloadAttachmentUriGenerator (Lio/getstream/chat/android/ui/common/helper/DownloadAttachmentUriGenerator;)V - public static final fun setDownloadRequestInterceptor (Lio/getstream/chat/android/ui/common/helper/DownloadRequestInterceptor;)V public static final fun setDraftMessagesEnabled (Z)V public static final fun setDurationFormatter (Lio/getstream/chat/android/ui/common/helper/DurationFormatter;)V public static final fun setFonts (Lio/getstream/chat/android/ui/font/ChatFonts;)V - public static final fun setImageAssetTransformer (Lio/getstream/chat/android/ui/common/helper/ImageAssetTransformer;)V - public static final fun setImageHeadersProvider (Lio/getstream/chat/android/ui/common/helper/ImageHeadersProvider;)V public static final fun setMessagePreviewFormatter (Lio/getstream/chat/android/ui/helper/MessagePreviewFormatter;)V public static final fun setMessageTextTransformer (Lio/getstream/chat/android/ui/helper/transformer/ChatMessageTextTransformer;)V public static final fun setMimeTypeIconProvider (Lio/getstream/chat/android/ui/helper/MimeTypeIconProvider;)V @@ -54,9 +44,7 @@ public final class io/getstream/chat/android/ui/ChatUI { public static final fun setStreamCdnImageResizing (Lio/getstream/chat/android/ui/common/images/resizing/StreamCdnImageResizing;)V public static final fun setStyle (Lio/getstream/chat/android/ui/font/ChatStyle;)V public static final fun setSupportedReactions (Lio/getstream/chat/android/ui/helper/SupportedReactions;)V - public static final fun setUseDocumentGView (Z)V public static final fun setUserAvatarRenderer (Lio/getstream/chat/android/ui/widgets/avatar/UserAvatarRenderer;)V - public static final fun setVideoHeadersProvider (Lio/getstream/chat/android/ui/common/helper/VideoHeadersProvider;)V public static final fun setVideoThumbnailsEnabled (Z)V } diff --git a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/ChatUI.kt b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/ChatUI.kt index 74c93be70ff..7d132032b77 100644 --- a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/ChatUI.kt +++ b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/ChatUI.kt @@ -17,17 +17,10 @@ package io.getstream.chat.android.ui import android.content.Context +import io.getstream.chat.android.ui.ChatUI.attachmentFactoryManager import io.getstream.chat.android.ui.common.helper.DateFormatter -import io.getstream.chat.android.ui.common.helper.DefaultDownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DefaultVideoHeadersProvider -import io.getstream.chat.android.ui.common.helper.DownloadAttachmentUriGenerator -import io.getstream.chat.android.ui.common.helper.DownloadRequestInterceptor import io.getstream.chat.android.ui.common.helper.DurationFormatter -import io.getstream.chat.android.ui.common.helper.ImageAssetTransformer -import io.getstream.chat.android.ui.common.helper.ImageHeadersProvider import io.getstream.chat.android.ui.common.helper.ReactionPushEmojiFactory -import io.getstream.chat.android.ui.common.helper.VideoHeadersProvider -import io.getstream.chat.android.ui.common.images.internal.StreamImageLoader import io.getstream.chat.android.ui.common.images.resizing.StreamCdnImageResizing import io.getstream.chat.android.ui.common.utils.ChannelNameFormatter import io.getstream.chat.android.ui.feature.messages.composer.attachment.preview.AttachmentPreviewFactoryManager @@ -56,7 +49,6 @@ import io.getstream.chat.android.ui.widgets.avatar.UserAvatarRenderer * * @see ChatMessageTextTransformer * @see ChatFonts - * @see ImageHeadersProvider */ public object ChatUI { internal lateinit var appContext: Context @@ -71,61 +63,6 @@ public object ChatUI { @JvmStatic public var navigator: ChatNavigator = ChatNavigator() - /** - * Provides a custom implementation for loading images. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - @JvmStatic - public var imageAssetTransformer: ImageAssetTransformer by StreamImageLoader.instance()::imageAssetTransformer - - /** - * Generates a download URI for the given attachment. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - @JvmStatic - public var downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator = DefaultDownloadAttachmentUriGenerator - - /** - * Intercepts and modifies the download request before it is enqueued. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - @JvmStatic - public var downloadRequestInterceptor: DownloadRequestInterceptor = DownloadRequestInterceptor { } - - /** - * Provides HTTP headers for image loading requests. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - @JvmStatic - public var imageHeadersProvider: ImageHeadersProvider by StreamImageLoader.instance()::imageHeadersProvider - - /** - * Provides HTTP headers for video loading requests. - * - * @deprecated Use [io.getstream.chat.android.client.cdn.CDN] instead. Configure a custom CDN via - * [io.getstream.chat.android.client.ChatClient.Builder.cdn] to provide headers and transform URLs - * for all image, file, and download requests. - */ - @Deprecated("Use CDN instead. Configure via ChatClient.Builder.cdn().") - @JvmStatic - public var videoHeadersProvider: VideoHeadersProvider = DefaultVideoHeadersProvider - /** * Allows setting default fonts used by UI components. */ @@ -242,16 +179,6 @@ public object ChatUI { @JvmStatic public var draftMessagesEnabled: Boolean = true - /** - * Whether to use Google Docs Viewer (gview) for document attachments. - * - * When `true` (default), documents are rendered via the legacy [AttachmentDocumentActivity] - * which loads them through Google Docs Viewer. When `false`, text-based files (TXT, HTML) - * are rendered in-app and other file types are downloaded and opened with an external application. - */ - @JvmStatic - public var useDocumentGView: Boolean = true - /** * Sets the strategy for resizing images hosted on Stream's CDN. Disabled by default, * set [StreamCdnImageResizing.imageResizingEnabled] to true if you wish to enable resizing images. Note that diff --git a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/internal/AttachmentGalleryVideoPageFragment.kt b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/internal/AttachmentGalleryVideoPageFragment.kt index f8711eda8c6..42f13201dd8 100644 --- a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/internal/AttachmentGalleryVideoPageFragment.kt +++ b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/gallery/internal/AttachmentGalleryVideoPageFragment.kt @@ -31,7 +31,6 @@ import androidx.media3.common.MediaItem import androidx.media3.common.PlaybackException import androidx.media3.common.Player import androidx.media3.common.util.UnstableApi -import androidx.media3.datasource.ResolvingDataSource import androidx.media3.exoplayer.ExoPlayer import androidx.media3.exoplayer.source.DefaultMediaSourceFactory import androidx.media3.exoplayer.source.MediaSource @@ -245,11 +244,7 @@ internal class AttachmentGalleryVideoPageFragment : Fragment() { @OptIn(UnstableApi::class) private fun createMediaSourceFactory(): MediaSource.Factory { val cdn = ChatClient.instance().cdn - val headers = ChatUI.videoHeadersProvider.getVideoRequestHeaders(assetUrl ?: "") - val baseDataSourceFactory = StreamMediaDataSource.factory(requireContext(), cdn) - val dataSourceFactory = ResolvingDataSource.Factory(baseDataSourceFactory) { dataSpec -> - dataSpec.withAdditionalHeaders(headers) - } + val dataSourceFactory = StreamMediaDataSource.factory(requireContext(), cdn) return DefaultMediaSourceFactory(requireContext()) .setDataSourceFactory(dataSourceFactory) } diff --git a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageListView.kt b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageListView.kt index 75b2d61632e..673d08dc316 100644 --- a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageListView.kt +++ b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/feature/messages/list/MessageListView.kt @@ -543,12 +543,7 @@ public class MessageListView : ConstraintLayout { context.getString(R.string.stream_ui_message_list_download_started), Toast.LENGTH_SHORT, ).show() - ChatClient.instance().downloadAttachment( - context, - attachment, - ChatUI.downloadAttachmentUriGenerator::generateDownloadUri, - ChatUI.downloadRequestInterceptor::intercept, - ) + ChatClient.instance().downloadAttachment(context, attachment) } return@OnAttachmentDownloadClickListener true } diff --git a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt index f9438fe0562..5985a78f974 100644 --- a/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt +++ b/stream-chat-android-ui-components/src/main/kotlin/io/getstream/chat/android/ui/navigation/destinations/AttachmentDestination.kt @@ -26,8 +26,6 @@ import io.getstream.chat.android.client.utils.attachment.isVideo import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.AttachmentType import io.getstream.chat.android.models.Message -import io.getstream.chat.android.ui.ChatUI -import io.getstream.chat.android.ui.common.feature.documents.AttachmentDocumentActivity import io.getstream.chat.android.ui.common.feature.documents.DocumentAttachmentHandler import io.getstream.chat.android.ui.common.model.MimeType import io.getstream.chat.android.ui.feature.gallery.AttachmentActivity @@ -134,12 +132,7 @@ public open class AttachmentDestination( } docMimeType(mimeType) -> { - @Suppress("DEPRECATION") - if (ChatUI.useDocumentGView) { - start(AttachmentDocumentActivity.getIntent(context, url)) - } else { - DocumentAttachmentHandler.openAttachment(context, attachment) - } + DocumentAttachmentHandler.openAttachment(context, attachment) } else -> {