From 37da07a7208b9a9235638f27fc733fe5a2d15949 Mon Sep 17 00:00:00 2001 From: Gianluca Iavicoli Date: Fri, 27 Mar 2026 21:18:55 +0100 Subject: [PATCH] Revert unnecessary analytics refactor in voice message presenter --- .../DefaultVoiceMessageComposerPresenter.kt | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/DefaultVoiceMessageComposerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/DefaultVoiceMessageComposerPresenter.kt index a14a471571..96d1787085 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/DefaultVoiceMessageComposerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/composer/DefaultVoiceMessageComposerPresenter.kt @@ -153,7 +153,7 @@ class DefaultVoiceMessageComposerPresenter( } } - fun sendVoiceMessage(inReplyToEventId: EventId?, composerEvent: Composer) { + fun sendVoiceMessage(inReplyToEventId: EventId?) { val finishedState = recorderState as? VoiceRecorderState.Finished if (finishedState == null) { val exception = VoiceMessageException.FileException("No file to send") @@ -166,7 +166,7 @@ class DefaultVoiceMessageComposerPresenter( } isSending = true player.pause() - analyticsService.capture(composerEvent) + analyticsService.captureComposerEvent() sessionCoroutineScope.launch { val result = sendMessage( file = finishedState.file, @@ -187,12 +187,11 @@ class DefaultVoiceMessageComposerPresenter( is VoiceMessageComposerEvent.RecorderEvent -> handleVoiceMessageRecorderEvent(event.recorderEvent) is VoiceMessageComposerEvent.PlayerEvent -> handleVoiceMessagePlayerEvent(event.playerEvent) is VoiceMessageComposerEvent.SendVoiceMessage -> { - // Capture mode eagerly before any coroutine dispatch, since CloseSpecialMode - // may reset it before the coroutine runs. + // Capture reply info eagerly before any coroutine dispatch, since CloseSpecialMode + // may reset composerMode before the coroutine runs. val inReplyToEventId = (messageComposerContext.composerMode as? MessageComposerMode.Reply)?.eventId - val composerEvent = buildComposerEvent() localCoroutineScope.launch { - sendVoiceMessage(inReplyToEventId, composerEvent) + sendVoiceMessage(inReplyToEventId) } } VoiceMessageComposerEvent.DeleteVoiceMessage -> { @@ -308,12 +307,14 @@ class DefaultVoiceMessageComposerPresenter( return result } - private fun buildComposerEvent() = - Composer( - inThread = messageComposerContext.composerMode.inThread, - isEditing = messageComposerContext.composerMode.isEditing, - isReply = messageComposerContext.composerMode.isReply, - messageType = Composer.MessageType.VoiceMessage, + private fun AnalyticsService.captureComposerEvent() = + capture( + Composer( + inThread = messageComposerContext.composerMode.inThread, + isEditing = messageComposerContext.composerMode.isEditing, + isReply = messageComposerContext.composerMode.isReply, + messageType = Composer.MessageType.VoiceMessage, + ) ) }