Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5025,7 +5025,8 @@ public final class io/getstream/chat/android/compose/viewmodel/messages/MessageC
public static synthetic fun buildNewMessage$default (Lio/getstream/chat/android/compose/viewmodel/messages/MessageComposerViewModel;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/chat/android/models/Message;
public final fun cancelRecording ()V
public final fun clearData ()V
public final fun completeRecording ()V
public final fun completeRecording (Lkotlin/jvm/functions/Function1;)V
public static synthetic fun completeRecording$default (Lio/getstream/chat/android/compose/viewmodel/messages/MessageComposerViewModel;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun createPoll (Lio/getstream/chat/android/models/PollConfig;)V
public final fun dismissMessageActions ()V
public final fun getAlsoSendToChannel ()Lkotlinx/coroutines/flow/MutableStateFlow;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import io.getstream.chat.android.ui.common.state.messages.Reply
import io.getstream.chat.android.ui.common.state.messages.composer.MessageComposerState
import io.getstream.chat.android.ui.common.state.messages.composer.ValidationError
import io.getstream.chat.android.ui.common.utils.typing.TypingUpdatesBuffer
import io.getstream.result.Result
import io.getstream.result.call.Call
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
Expand Down Expand Up @@ -273,7 +274,8 @@ public class MessageComposerViewModel(

public fun toggleRecordingPlayback(): Unit = messageComposerController.toggleRecordingPlayback()

public fun completeRecording(): Unit = messageComposerController.completeRecording()
public fun completeRecording(onComplete: ((Result<Attachment>) -> Unit)? = null): Unit =
messageComposerController.completeRecording(onComplete)

public fun pauseRecording(): Unit = messageComposerController.pauseRecording()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -922,12 +922,23 @@ public class MessageComposerController(
}

/**
* Completes audio recording and moves [MessageComposerState.recording] state to [RecordingState.Complete].
* Also, it wil update [MessageComposerState.attachments] list.
* Completes audio recording and updates the [MessageComposerState.attachments] list.
*
* @param onComplete Optional callback invoked with the result of the recording once the recording has been
* finalized. On success, the recorded [Attachment] is added to [selectedAttachments] before the callback
* is invoked, so callers can safely build and send a message using the received attachment.
*/
public fun completeRecording() {
public fun completeRecording(onComplete: ((Result<Attachment>) -> Unit)? = null) {
scope.launch {
audioRecordingController.completeRecording()
if (onComplete != null) {
val result = audioRecordingController.completeRecordingSync()
if (result is Result.Success) {
selectedAttachments.value += result.value
}
onComplete(result)
} else {
audioRecordingController.completeRecording()
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4518,7 +4518,8 @@ public final class io/getstream/chat/android/ui/viewmodel/messages/MessageCompos
public static synthetic fun buildNewMessage$default (Lio/getstream/chat/android/ui/viewmodel/messages/MessageComposerViewModel;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)Lio/getstream/chat/android/models/Message;
public final fun cancelRecording ()V
public final fun clearData ()V
public final fun completeRecording ()V
public final fun completeRecording (Lkotlin/jvm/functions/Function1;)V
public static synthetic fun completeRecording$default (Lio/getstream/chat/android/ui/viewmodel/messages/MessageComposerViewModel;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun createPoll (Lio/getstream/chat/android/models/PollConfig;)V
public final fun dismissMessageActions ()V
public final fun dismissSuggestionsPopup ()V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import io.getstream.chat.android.ui.common.state.messages.MessageMode
import io.getstream.chat.android.ui.common.state.messages.Reply
import io.getstream.chat.android.ui.common.state.messages.composer.MessageComposerState
import io.getstream.chat.android.ui.common.state.messages.composer.ValidationError
import io.getstream.result.Result
import io.getstream.result.call.Call
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
Expand Down Expand Up @@ -250,7 +251,8 @@ public class MessageComposerViewModel(

public fun toggleRecordingPlayback(): Unit = messageComposerController.toggleRecordingPlayback()

public fun completeRecording(): Unit = messageComposerController.completeRecording()
public fun completeRecording(onComplete: ((Result<Attachment>) -> Unit)? = null): Unit =
messageComposerController.completeRecording(onComplete)

public fun pauseRecording(): Unit = messageComposerController.pauseRecording()

Expand Down
Loading