Code cleanup
This commit is contained in:
parent
5b18f6f93e
commit
c993506129
6 changed files with 14 additions and 18 deletions
|
|
@ -32,7 +32,6 @@ interface MediaGalleryDataSource {
|
||||||
fun start()
|
fun start()
|
||||||
fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>>
|
fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>>
|
||||||
fun getLastData(): AsyncData<GroupedMediaItems>
|
fun getLastData(): AsyncData<GroupedMediaItems>
|
||||||
fun fromPinnedEvents(): Boolean
|
|
||||||
suspend fun loadMore(direction: Timeline.PaginationDirection)
|
suspend fun loadMore(direction: Timeline.PaginationDirection)
|
||||||
suspend fun deleteItem(eventId: EventId)
|
suspend fun deleteItem(eventId: EventId)
|
||||||
}
|
}
|
||||||
|
|
@ -47,10 +46,6 @@ class TimelineMediaGalleryDataSource(
|
||||||
) : MediaGalleryDataSource {
|
) : MediaGalleryDataSource {
|
||||||
private var timeline: Timeline? = null
|
private var timeline: Timeline? = null
|
||||||
|
|
||||||
override fun fromPinnedEvents(): Boolean {
|
|
||||||
return timeline?.mode == Timeline.Mode.PinnedEvents
|
|
||||||
}
|
|
||||||
|
|
||||||
private val groupedMediaItemsFlow = MutableSharedFlow<AsyncData<GroupedMediaItems>>(replay = 1)
|
private val groupedMediaItemsFlow = MutableSharedFlow<AsyncData<GroupedMediaItems>>(replay = 1)
|
||||||
|
|
||||||
override fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>> = groupedMediaItemsFlow
|
override fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>> = groupedMediaItemsFlow
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,6 @@ class MediaViewerDataSource(
|
||||||
private val localMediaStates: MutableMap<String, MutableState<AsyncData<LocalMedia>>> =
|
private val localMediaStates: MutableMap<String, MutableState<AsyncData<LocalMedia>>> =
|
||||||
mutableMapOf()
|
mutableMapOf()
|
||||||
|
|
||||||
fun fromPinnedEvents(): Boolean = galleryDataSource.fromPinnedEvents()
|
|
||||||
|
|
||||||
fun setup() {
|
fun setup() {
|
||||||
galleryDataSource.start()
|
galleryDataSource.start()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,11 +81,7 @@ class MediaViewerNode(
|
||||||
timelineMediaGalleryDataSource
|
timelineMediaGalleryDataSource
|
||||||
} else {
|
} else {
|
||||||
// Can we use a specific timeline?
|
// Can we use a specific timeline?
|
||||||
val timelineMode = when (val mode = inputs.mode) {
|
val timelineMode = inputs.mode.getTimelineMode()
|
||||||
is MediaViewerEntryPoint.MediaViewerMode.TimelineImagesAndVideos -> mode.timelineMode
|
|
||||||
is MediaViewerEntryPoint.MediaViewerMode.TimelineFilesAndAudios -> mode.timelineMode
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
when (timelineMode) {
|
when (timelineMode) {
|
||||||
null -> timelineMediaGalleryDataSource
|
null -> timelineMediaGalleryDataSource
|
||||||
Timeline.Mode.Live,
|
Timeline.Mode.Live,
|
||||||
|
|
@ -149,3 +145,11 @@ class MediaViewerNode(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun MediaViewerEntryPoint.MediaViewerMode.getTimelineMode(): Timeline.Mode? {
|
||||||
|
return when (this) {
|
||||||
|
is MediaViewerEntryPoint.MediaViewerMode.TimelineImagesAndVideos -> timelineMode
|
||||||
|
is MediaViewerEntryPoint.MediaViewerMode.TimelineFilesAndAudios -> timelineMode
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
||||||
import io.element.android.libraries.matrix.api.room.powerlevels.canRedactOther
|
import io.element.android.libraries.matrix.api.room.powerlevels.canRedactOther
|
||||||
import io.element.android.libraries.matrix.api.room.powerlevels.canRedactOwn
|
import io.element.android.libraries.matrix.api.room.powerlevels.canRedactOwn
|
||||||
|
import io.element.android.libraries.matrix.api.timeline.Timeline
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.toEventOrTransactionId
|
import io.element.android.libraries.matrix.api.timeline.item.event.toEventOrTransactionId
|
||||||
import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
||||||
import io.element.android.libraries.mediaviewer.api.local.LocalMedia
|
import io.element.android.libraries.mediaviewer.api.local.LocalMedia
|
||||||
|
|
@ -119,7 +120,10 @@ class MediaViewerPresenter(
|
||||||
}
|
}
|
||||||
is MediaViewerEvents.Forward -> {
|
is MediaViewerEvents.Forward -> {
|
||||||
mediaBottomSheetState = MediaBottomSheetState.Hidden
|
mediaBottomSheetState = MediaBottomSheetState.Hidden
|
||||||
navigator.onForwardClick(event.eventId, fromPinnedEvents = dataSource.fromPinnedEvents())
|
navigator.onForwardClick(
|
||||||
|
eventId = event.eventId,
|
||||||
|
fromPinnedEvents = inputs.mode.getTimelineMode() == Timeline.Mode.PinnedEvents,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
is MediaViewerEvents.OpenInfo -> coroutineScope.launch {
|
is MediaViewerEvents.OpenInfo -> coroutineScope.launch {
|
||||||
mediaBottomSheetState = MediaBottomSheetState.MediaDetailsBottomSheetState(
|
mediaBottomSheetState = MediaBottomSheetState.MediaDetailsBottomSheetState(
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ class SingleMediaGalleryDataSource(
|
||||||
override fun start() = Unit
|
override fun start() = Unit
|
||||||
override fun groupedMediaItemsFlow() = flowOf(AsyncData.Success(data))
|
override fun groupedMediaItemsFlow() = flowOf(AsyncData.Success(data))
|
||||||
override fun getLastData(): AsyncData<GroupedMediaItems> = AsyncData.Success(data)
|
override fun getLastData(): AsyncData<GroupedMediaItems> = AsyncData.Success(data)
|
||||||
override fun fromPinnedEvents(): Boolean = false
|
|
||||||
|
|
||||||
override suspend fun loadMore(direction: Timeline.PaginationDirection) = Unit
|
override suspend fun loadMore(direction: Timeline.PaginationDirection) = Unit
|
||||||
override suspend fun deleteItem(eventId: EventId) = Unit
|
override suspend fun deleteItem(eventId: EventId) = Unit
|
||||||
|
|
|
||||||
|
|
@ -38,10 +38,6 @@ class FakeMediaGalleryDataSource(
|
||||||
return groupedMediaItemsFlow.replayCache.firstOrNull() ?: AsyncData.Uninitialized
|
return groupedMediaItemsFlow.replayCache.firstOrNull() ?: AsyncData.Uninitialized
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun fromPinnedEvents(): Boolean {
|
|
||||||
TODO("Not yet implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
override suspend fun loadMore(direction: Timeline.PaginationDirection) {
|
override suspend fun loadMore(direction: Timeline.PaginationDirection) {
|
||||||
loadMoreLambda(direction)
|
loadMoreLambda(direction)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue