Merge branch 'develop' into feature/fga/better_media_handling

This commit is contained in:
ganfra 2023-07-18 15:13:59 +02:00
commit 84500d41eb
221 changed files with 4574 additions and 845 deletions

View file

@ -18,6 +18,7 @@ package io.element.android.libraries.textcomposer
import android.os.Parcelable
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.TransactionId
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo
import kotlinx.parcelize.Parcelize
@ -25,15 +26,15 @@ sealed interface MessageComposerMode : Parcelable {
@Parcelize
data class Normal(val content: CharSequence?) : MessageComposerMode
sealed class Special(open val eventId: EventId?, open val defaultContent: CharSequence) :
sealed class Special(open val eventId: EventId?, open val defaultContent: String) :
MessageComposerMode
@Parcelize
data class Edit(override val eventId: EventId?, override val defaultContent: CharSequence, val transactionId: String?) :
data class Edit(override val eventId: EventId?, override val defaultContent: String, val transactionId: TransactionId?) :
Special(eventId, defaultContent)
@Parcelize
class Quote(override val eventId: EventId, override val defaultContent: CharSequence) :
class Quote(override val eventId: EventId, override val defaultContent: String) :
Special(eventId, defaultContent)
@Parcelize
@ -41,7 +42,7 @@ sealed interface MessageComposerMode : Parcelable {
val senderName: String,
val attachmentThumbnailInfo: AttachmentThumbnailInfo?,
override val eventId: EventId,
override val defaultContent: CharSequence
override val defaultContent: String
) : Special(eventId, defaultContent)
val relatedEventId: EventId?
@ -51,4 +52,13 @@ sealed interface MessageComposerMode : Parcelable {
is Quote -> eventId
is Reply -> eventId
}
val isEditing: Boolean
get() = this is Edit
val isReply: Boolean
get() = this is Reply
val inThread: Boolean
get() = false // TODO
}

View file

@ -77,6 +77,7 @@ import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Surface
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.TransactionId
import io.element.android.libraries.matrix.api.media.MediaSource
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo
@ -95,7 +96,7 @@ fun TextComposer(
focusRequester: FocusRequester = FocusRequester(),
onSendMessage: (String) -> Unit = {},
onResetComposerMode: () -> Unit = {},
onComposerTextChange: (CharSequence) -> Unit = {},
onComposerTextChange: (String) -> Unit = {},
onAddAttachment: () -> Unit = {},
onFocusChanged: (Boolean) -> Unit = {},
) {
@ -449,7 +450,7 @@ fun TextComposerEditPreview() = ElementPreview {
TextComposer(
onSendMessage = {},
onComposerTextChange = {},
composerMode = MessageComposerMode.Edit(EventId("$1234"), "Some text", "1234"),
composerMode = MessageComposerMode.Edit(EventId("$1234"), "Some text", TransactionId("1234")),
onResetComposerMode = {},
composerCanSendMessage = true,
composerText = "A message",