Finish migration of Messages screen

This commit is contained in:
ganfra 2023-01-13 18:05:14 +01:00
parent ad3ac4cc3c
commit ec1bbdeb9c
47 changed files with 354 additions and 315 deletions

View file

@ -17,31 +17,32 @@
package io.element.android.x.textcomposer
import android.os.Parcelable
import io.element.android.x.matrix.core.EventId
import kotlinx.parcelize.Parcelize
sealed interface MessageComposerMode : Parcelable {
@Parcelize
data class Normal(val content: CharSequence?) : MessageComposerMode
sealed class Special(open val eventId: String, open val defaultContent: CharSequence) :
sealed class Special(open val eventId: EventId, open val defaultContent: CharSequence) :
MessageComposerMode
@Parcelize
data class Edit(override val eventId: String, override val defaultContent: CharSequence) :
data class Edit(override val eventId: EventId, override val defaultContent: CharSequence) :
Special(eventId, defaultContent)
@Parcelize
class Quote(override val eventId: String, override val defaultContent: CharSequence) :
class Quote(override val eventId: EventId, override val defaultContent: CharSequence) :
Special(eventId, defaultContent)
@Parcelize
class Reply(
val senderName: String,
override val eventId: String,
override val eventId: EventId,
override val defaultContent: CharSequence
) : Special(eventId, defaultContent)
val relatedEventId: String?
val relatedEventId: EventId?
get() = when (this) {
is Normal -> null
is Edit -> eventId