Browse Source

Media: add some previews in the TimelineView

feature/jme/open-room-member-details-when-clicking-on-user-data
ganfra 1 year ago
parent
commit
5e5737aa61
  1. 4
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt
  2. 4
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt
  3. 5
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt
  4. 10
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentProvider.kt

4
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt

@ -30,8 +30,8 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlin.random.Random import kotlin.random.Random
fun aTimelineState() = TimelineState( fun aTimelineState(timelineItems: ImmutableList<TimelineItem> = persistentListOf()) = TimelineState(
timelineItems = persistentListOf(), timelineItems = timelineItems,
paginationState = MatrixTimeline.PaginationState(isBackPaginating = false, canBackPaginate = true), paginationState = MatrixTimeline.PaginationState(isBackPaginating = false, canBackPaginate = true),
highlightedEventId = null, highlightedEventId = null,
eventSink = {} eventSink = {}

4
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt

@ -332,8 +332,6 @@ fun TimelineViewDarkPreview(
private fun ContentToPreview(content: TimelineItemEventContent) { private fun ContentToPreview(content: TimelineItemEventContent) {
val timelineItems = aTimelineItemList(content) val timelineItems = aTimelineItemList(content)
TimelineView( TimelineView(
state = aTimelineState().copy( state = aTimelineState(timelineItems)
timelineItems = timelineItems,
)
) )
} }

5
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt

@ -24,7 +24,10 @@ class TimelineItemEventContentProvider : PreviewParameterProvider<TimelineItemEv
override val values = sequenceOf( override val values = sequenceOf(
aTimelineItemEmoteContent(), aTimelineItemEmoteContent(),
aTimelineItemEncryptedContent(), aTimelineItemEncryptedContent(),
// TODO MessagesTimelineItemImageContent(), aTimelineItemImageContent(),
aTimelineItemVideoContent(),
aTimelineItemFileContent("A file.pdf"),
aTimelineItemFileContent("A bigger file name which doesn't fit.pdf"),
aTimelineItemNoticeContent(), aTimelineItemNoticeContent(),
aTimelineItemRedactedContent(), aTimelineItemRedactedContent(),
aTimelineItemTextContent(), aTimelineItemTextContent(),

10
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemFileContentProvider.kt

@ -23,14 +23,16 @@ import io.element.android.libraries.matrix.api.media.MediaSource
open class TimelineItemFileContentProvider : PreviewParameterProvider<TimelineItemFileContent> { open class TimelineItemFileContentProvider : PreviewParameterProvider<TimelineItemFileContent> {
override val values: Sequence<TimelineItemFileContent> override val values: Sequence<TimelineItemFileContent>
get() = sequenceOf( get() = sequenceOf(
aTimelineItemFileContent(), aTimelineItemFileContent("A file.pdf"),
aTimelineItemFileContent("A bigger name file.pdf"),
aTimelineItemFileContent("An even bigger file name which doesn't fit.pdf"),
) )
} }
fun aTimelineItemFileContent() = TimelineItemFileContent( fun aTimelineItemFileContent(fileName: String) = TimelineItemFileContent(
body = "A nice file with a nice name.pdf", body = fileName,
thumbnailSource = MediaSource(url = ""), thumbnailSource = MediaSource(url = ""),
fileSource = MediaSource(url = ""), fileSource = MediaSource(url = ""),
mimeType = MimeTypes.Apk, mimeType = MimeTypes.OctetStream,
size = 100 size = 100
) )

Loading…
Cancel
Save