migrate object to data object (#1135)

This commit is contained in:
Benoit Marty 2023-08-24 09:32:44 +02:00
parent 4218a836d5
commit 7083abcf09
98 changed files with 314 additions and 357 deletions

View file

@ -24,7 +24,7 @@ sealed interface MessagesEvents {
data class HandleAction(val action: TimelineItemAction, val event: TimelineItem.Event) : MessagesEvents
data class ToggleReaction(val emoji: String, val eventId: EventId) : MessagesEvents
data class InviteDialogDismissed(val action: InviteDialogAction) : MessagesEvents
object Dismiss : MessagesEvents
data object Dismiss : MessagesEvents
}
enum class InviteDialogAction {

View file

@ -75,7 +75,7 @@ class MessagesFlowNode @AssistedInject constructor(
sealed interface NavTarget : Parcelable {
@Parcelize
object Messages : NavTarget
data object Messages : NavTarget
@Parcelize
data class MediaViewer(
@ -100,7 +100,7 @@ class MessagesFlowNode @AssistedInject constructor(
data class ReportMessage(val eventId: EventId, val senderId: UserId) : NavTarget
@Parcelize
object SendLocation : NavTarget
data object SendLocation : NavTarget
}
private val callback = plugins<MessagesEntryPoint.Callback>().firstOrNull()

View file

@ -19,6 +19,6 @@ package io.element.android.features.messages.impl.actionlist
import io.element.android.features.messages.impl.timeline.model.TimelineItem
sealed interface ActionListEvents {
object Clear : ActionListEvents
data object Clear : ActionListEvents
data class ComputeForMessage(val event: TimelineItem.Event, val canRedact: Boolean) : ActionListEvents
}

View file

@ -28,7 +28,7 @@ data class ActionListState(
val eventSink: (ActionListEvents) -> Unit,
) {
sealed interface Target {
object None : Target
data object None : Target
data class Loading(val event: TimelineItem.Event) : Target
data class Success(
val event: TimelineItem.Event,

View file

@ -28,11 +28,11 @@ sealed class TimelineItemAction(
@DrawableRes val icon: Int,
val destructive: Boolean = false
) {
object Forward : TimelineItemAction(CommonStrings.action_forward, VectorIcons.Forward)
object Copy : TimelineItemAction(CommonStrings.action_copy, VectorIcons.Copy)
object Redact : TimelineItemAction(CommonStrings.action_remove, VectorIcons.Delete, destructive = true)
object Reply : TimelineItemAction(CommonStrings.action_reply, VectorIcons.Reply)
object Edit : TimelineItemAction(CommonStrings.action_edit, VectorIcons.Edit)
object Developer : TimelineItemAction(CommonStrings.action_view_source, VectorIcons.DeveloperMode)
object ReportContent : TimelineItemAction(CommonStrings.action_report_content, VectorIcons.ReportContent, destructive = true)
data object Forward : TimelineItemAction(CommonStrings.action_forward, VectorIcons.Forward)
data object Copy : TimelineItemAction(CommonStrings.action_copy, VectorIcons.Copy)
data object Redact : TimelineItemAction(CommonStrings.action_remove, VectorIcons.Delete, destructive = true)
data object Reply : TimelineItemAction(CommonStrings.action_reply, VectorIcons.Reply)
data object Edit : TimelineItemAction(CommonStrings.action_edit, VectorIcons.Edit)
data object Developer : TimelineItemAction(CommonStrings.action_view_source, VectorIcons.DeveloperMode)
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, VectorIcons.ReportContent, destructive = true)
}

View file

@ -20,6 +20,6 @@ import androidx.compose.runtime.Immutable
@Immutable
sealed interface AttachmentsPreviewEvents {
object SendAttachment : AttachmentsPreviewEvents
object ClearSendState : AttachmentsPreviewEvents
data object SendAttachment : AttachmentsPreviewEvents
data object ClearSendState : AttachmentsPreviewEvents
}

View file

@ -25,13 +25,13 @@ data class AttachmentsPreviewState(
)
sealed interface SendActionState {
object Idle : SendActionState
data object Idle : SendActionState
sealed interface Sending : SendActionState {
object Processing : Sending
data object Processing : Sending
data class Uploading(val progress: Float) : Sending
}
data class Failure(val error: Throwable) : SendActionState
object Done : SendActionState
data object Done : SendActionState
}

View file

@ -21,9 +21,9 @@ import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
sealed interface ForwardMessagesEvents {
data class SetSelectedRoom(val room: RoomSummaryDetails) : ForwardMessagesEvents
// TODO remove to restore multi-selection
object RemoveSelectedRoom : ForwardMessagesEvents
object ToggleSearchActive : ForwardMessagesEvents
data object RemoveSelectedRoom : ForwardMessagesEvents
data object ToggleSearchActive : ForwardMessagesEvents
data class UpdateQuery(val query: String) : ForwardMessagesEvents
object ForwardEvent : ForwardMessagesEvents
object ClearError : ForwardMessagesEvents
data object ForwardEvent : ForwardMessagesEvents
data object ClearError : ForwardMessagesEvents
}

View file

@ -17,9 +17,9 @@
package io.element.android.features.messages.impl.media.viewer
sealed interface MediaViewerEvents {
object SaveOnDisk: MediaViewerEvents
object Share: MediaViewerEvents
object OpenWith: MediaViewerEvents
object RetryLoading : MediaViewerEvents
object ClearLoadingError : MediaViewerEvents
data object SaveOnDisk: MediaViewerEvents
data object Share: MediaViewerEvents
data object OpenWith: MediaViewerEvents
data object RetryLoading : MediaViewerEvents
data object ClearLoadingError : MediaViewerEvents
}

View file

@ -21,20 +21,20 @@ import io.element.android.libraries.textcomposer.MessageComposerMode
@Immutable
sealed interface MessageComposerEvents {
object ToggleFullScreenState : MessageComposerEvents
data object ToggleFullScreenState : MessageComposerEvents
data class FocusChanged(val hasFocus: Boolean) : MessageComposerEvents
data class SendMessage(val message: String) : MessageComposerEvents
object CloseSpecialMode : MessageComposerEvents
data object CloseSpecialMode : MessageComposerEvents
data class SetMode(val composerMode: MessageComposerMode) : MessageComposerEvents
data class UpdateText(val text: String) : MessageComposerEvents
object AddAttachment : MessageComposerEvents
object DismissAttachmentMenu : MessageComposerEvents
data object AddAttachment : MessageComposerEvents
data object DismissAttachmentMenu : MessageComposerEvents
sealed interface PickAttachmentSource : MessageComposerEvents {
object FromGallery : PickAttachmentSource
object FromFiles : PickAttachmentSource
object PhotoFromCamera : PickAttachmentSource
object VideoFromCamera : PickAttachmentSource
object Location : PickAttachmentSource
data object FromGallery : PickAttachmentSource
data object FromFiles : PickAttachmentSource
data object PhotoFromCamera : PickAttachmentSource
data object VideoFromCamera : PickAttachmentSource
data object Location : PickAttachmentSource
}
object CancelSendAttachment : MessageComposerEvents
data object CancelSendAttachment : MessageComposerEvents
}

View file

@ -37,7 +37,7 @@ data class MessageComposerState(
@Immutable
sealed interface AttachmentsState {
object None : AttachmentsState
data object None : AttachmentsState
data class Previewing(val attachments: ImmutableList<Attachment>) : AttachmentsState
sealed interface Sending : AttachmentsState {
data class Processing(val attachments: ImmutableList<Attachment>) : Sending

View file

@ -18,7 +18,7 @@ package io.element.android.features.messages.impl.report
sealed interface ReportMessageEvents {
data class UpdateReason(val reason: String) : ReportMessageEvents
object ToggleBlockUser : ReportMessageEvents
object Report : ReportMessageEvents
object ClearError : ReportMessageEvents
data object ToggleBlockUser : ReportMessageEvents
data object Report : ReportMessageEvents
data object ClearError : ReportMessageEvents
}

View file

@ -19,7 +19,7 @@ package io.element.android.features.messages.impl.timeline
import io.element.android.libraries.matrix.api.core.EventId
sealed interface TimelineEvents {
object LoadMore : TimelineEvents
data object LoadMore : TimelineEvents
data class SetHighlightedEvent(val eventId: EventId?) : TimelineEvents
data class OnScrollFinished(val firstIndex: Int) : TimelineEvents
}

View file

@ -20,6 +20,6 @@ import io.element.android.features.messages.impl.timeline.model.AggregatedReacti
import io.element.android.libraries.matrix.api.core.EventId
sealed interface ReactionSummaryEvents {
object Clear : ReactionSummaryEvents
data object Clear : ReactionSummaryEvents
data class ShowReactionSummary(val eventId: EventId, val reactions: List<AggregatedReaction>, val selectedKey: String) : ReactionSummaryEvents
}

View file

@ -20,7 +20,7 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem
sealed interface RetrySendMenuEvents {
data class EventSelected(val event: TimelineItem.Event) : RetrySendMenuEvents
object RetrySend : RetrySendMenuEvents
object RemoveFailed : RetrySendMenuEvents
object Dismiss: RetrySendMenuEvents
data object RetrySend : RetrySendMenuEvents
data object RemoveFailed : RetrySendMenuEvents
data object Dismiss: RetrySendMenuEvents
}

View file

@ -40,22 +40,22 @@ sealed interface TimelineItemGroupPosition {
/**
* The event is part of a group of events from the same sender and is the first sent Event.
*/
object First : TimelineItemGroupPosition
data object First : TimelineItemGroupPosition
/**
* The event is part of a group of events from the same sender and is neither the first nor the last sent Event.
*/
object Middle : TimelineItemGroupPosition
data object Middle : TimelineItemGroupPosition
/**
* The event is part of a group of events from the same sender and is the last sent Event.
*/
object Last : TimelineItemGroupPosition
data object Last : TimelineItemGroupPosition
/**
* The event is not part of a group of events. Sender of previous event is different, and sender of next event is different.
*/
object None : TimelineItemGroupPosition
data object None : TimelineItemGroupPosition
/**
* Return true if the previous sender of the event is a different sender.