Make TimelineItemAction an enum class.
This commit is contained in:
parent
52091cb4ae
commit
dc1a7b80ff
2 changed files with 21 additions and 21 deletions
|
|
@ -14,26 +14,26 @@ import io.element.android.libraries.designsystem.icons.CompoundDrawables
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
sealed class TimelineItemAction(
|
enum class TimelineItemAction(
|
||||||
@StringRes val titleRes: Int,
|
@StringRes val titleRes: Int,
|
||||||
@DrawableRes val icon: Int,
|
@DrawableRes val icon: Int,
|
||||||
val destructive: Boolean = false
|
val destructive: Boolean = false
|
||||||
) {
|
) {
|
||||||
data object ViewInTimeline : TimelineItemAction(CommonStrings.action_view_in_timeline, CompoundDrawables.ic_compound_visibility_on)
|
ViewInTimeline(CommonStrings.action_view_in_timeline, CompoundDrawables.ic_compound_visibility_on),
|
||||||
data object Forward : TimelineItemAction(CommonStrings.action_forward, CompoundDrawables.ic_compound_forward)
|
Forward(CommonStrings.action_forward, CompoundDrawables.ic_compound_forward),
|
||||||
data object CopyText : TimelineItemAction(CommonStrings.action_copy_text, CompoundDrawables.ic_compound_copy)
|
CopyText(CommonStrings.action_copy_text, CompoundDrawables.ic_compound_copy),
|
||||||
data object CopyCaption : TimelineItemAction(CommonStrings.action_copy_caption, CompoundDrawables.ic_compound_copy)
|
CopyCaption(CommonStrings.action_copy_caption, CompoundDrawables.ic_compound_copy),
|
||||||
data object CopyLink : TimelineItemAction(CommonStrings.action_copy_link_to_message, CompoundDrawables.ic_compound_link)
|
CopyLink(CommonStrings.action_copy_link_to_message, CompoundDrawables.ic_compound_link),
|
||||||
data object Redact : TimelineItemAction(CommonStrings.action_remove, CompoundDrawables.ic_compound_delete, destructive = true)
|
Redact(CommonStrings.action_remove, CompoundDrawables.ic_compound_delete, destructive = true),
|
||||||
data object Reply : TimelineItemAction(CommonStrings.action_reply, CompoundDrawables.ic_compound_reply)
|
Reply(CommonStrings.action_reply, CompoundDrawables.ic_compound_reply),
|
||||||
data object ReplyInThread : TimelineItemAction(CommonStrings.action_reply_in_thread, CompoundDrawables.ic_compound_reply)
|
ReplyInThread(CommonStrings.action_reply_in_thread, CompoundDrawables.ic_compound_reply),
|
||||||
data object Edit : TimelineItemAction(CommonStrings.action_edit, CompoundDrawables.ic_compound_edit)
|
Edit(CommonStrings.action_edit, CompoundDrawables.ic_compound_edit),
|
||||||
data object EditCaption : TimelineItemAction(CommonStrings.action_edit_caption, CompoundDrawables.ic_compound_edit)
|
EditCaption(CommonStrings.action_edit_caption, CompoundDrawables.ic_compound_edit),
|
||||||
data object AddCaption : TimelineItemAction(CommonStrings.action_add_caption, CompoundDrawables.ic_compound_edit)
|
AddCaption(CommonStrings.action_add_caption, CompoundDrawables.ic_compound_edit),
|
||||||
data object RemoveCaption : TimelineItemAction(CommonStrings.action_remove_caption, CompoundDrawables.ic_compound_close, destructive = true)
|
RemoveCaption(CommonStrings.action_remove_caption, CompoundDrawables.ic_compound_close, destructive = true),
|
||||||
data object ViewSource : TimelineItemAction(CommonStrings.action_view_source, CompoundDrawables.ic_compound_code)
|
ViewSource(CommonStrings.action_view_source, CompoundDrawables.ic_compound_code),
|
||||||
data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CompoundDrawables.ic_compound_chat_problem, destructive = true)
|
ReportContent(CommonStrings.action_report_content, CompoundDrawables.ic_compound_chat_problem, destructive = true),
|
||||||
data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CompoundDrawables.ic_compound_polls_end)
|
EndPoll(CommonStrings.action_end_poll, CompoundDrawables.ic_compound_polls_end),
|
||||||
data object Pin : TimelineItemAction(CommonStrings.action_pin, CompoundDrawables.ic_compound_pin)
|
Pin(CommonStrings.action_pin, CompoundDrawables.ic_compound_pin),
|
||||||
data object Unpin : TimelineItemAction(CommonStrings.action_unpin, CompoundDrawables.ic_compound_unpin)
|
Unpin(CommonStrings.action_unpin, CompoundDrawables.ic_compound_unpin),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ class PinnedMessagesListTimelineActionPostProcessor : TimelineItemActionPostProc
|
||||||
override fun process(actions: List<TimelineItemAction>): List<TimelineItemAction> {
|
override fun process(actions: List<TimelineItemAction>): List<TimelineItemAction> {
|
||||||
return buildList {
|
return buildList {
|
||||||
add(TimelineItemAction.ViewInTimeline)
|
add(TimelineItemAction.ViewInTimeline)
|
||||||
actions.firstOrNull { it is TimelineItemAction.Unpin }?.let(::add)
|
actions.firstOrNull { it == TimelineItemAction.Unpin }?.let(::add)
|
||||||
actions.firstOrNull { it is TimelineItemAction.Forward }?.let(::add)
|
actions.firstOrNull { it == TimelineItemAction.Forward }?.let(::add)
|
||||||
actions.firstOrNull { it is TimelineItemAction.ViewSource }?.let(::add)
|
actions.firstOrNull { it == TimelineItemAction.ViewSource }?.let(::add)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue