Code cleanup

This commit is contained in:
Benoit Marty
2025-11-03 16:07:13 +01:00
parent 5b18f6f93e
commit c993506129
6 changed files with 14 additions and 18 deletions

View File

@@ -32,7 +32,6 @@ interface MediaGalleryDataSource {
fun start()
fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>>
fun getLastData(): AsyncData<GroupedMediaItems>
fun fromPinnedEvents(): Boolean
suspend fun loadMore(direction: Timeline.PaginationDirection)
suspend fun deleteItem(eventId: EventId)
}
@@ -47,10 +46,6 @@ class TimelineMediaGalleryDataSource(
) : MediaGalleryDataSource {
private var timeline: Timeline? = null
override fun fromPinnedEvents(): Boolean {
return timeline?.mode == Timeline.Mode.PinnedEvents
}
private val groupedMediaItemsFlow = MutableSharedFlow<AsyncData<GroupedMediaItems>>(replay = 1)
override fun groupedMediaItemsFlow(): Flow<AsyncData<GroupedMediaItems>> = groupedMediaItemsFlow

View File

@@ -61,8 +61,6 @@ class MediaViewerDataSource(
private val localMediaStates: MutableMap<String, MutableState<AsyncData<LocalMedia>>> =
mutableMapOf()
fun fromPinnedEvents(): Boolean = galleryDataSource.fromPinnedEvents()
fun setup() {
galleryDataSource.start()
}

View File

@@ -81,11 +81,7 @@ class MediaViewerNode(
timelineMediaGalleryDataSource
} else {
// Can we use a specific timeline?
val timelineMode = when (val mode = inputs.mode) {
is MediaViewerEntryPoint.MediaViewerMode.TimelineImagesAndVideos -> mode.timelineMode
is MediaViewerEntryPoint.MediaViewerMode.TimelineFilesAndAudios -> mode.timelineMode
else -> null
}
val timelineMode = inputs.mode.getTimelineMode()
when (timelineMode) {
null -> timelineMediaGalleryDataSource
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
}
}

View File

@@ -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.powerlevels.canRedactOther
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.mediaviewer.api.MediaViewerEntryPoint
import io.element.android.libraries.mediaviewer.api.local.LocalMedia
@@ -119,7 +120,10 @@ class MediaViewerPresenter(
}
is MediaViewerEvents.Forward -> {
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 {
mediaBottomSheetState = MediaBottomSheetState.MediaDetailsBottomSheetState(

View File

@@ -27,7 +27,6 @@ class SingleMediaGalleryDataSource(
override fun start() = Unit
override fun groupedMediaItemsFlow() = flowOf(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 deleteItem(eventId: EventId) = Unit

View File

@@ -38,10 +38,6 @@ class FakeMediaGalleryDataSource(
return groupedMediaItemsFlow.replayCache.firstOrNull() ?: AsyncData.Uninitialized
}
override fun fromPinnedEvents(): Boolean {
TODO("Not yet implemented")
}
override suspend fun loadMore(direction: Timeline.PaginationDirection) {
loadMoreLambda(direction)
}