From 5b18f6f93ef8113af9477ca627c3fbf10927f11e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 3 Nov 2025 15:53:31 +0100 Subject: [PATCH] Code cleanup --- .../android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt | 4 ---- .../impl/pinned/DefaultPinnedEventsTimelineProvider.kt | 5 +---- .../features/messages/impl/DefaultMessagesEntryPointTest.kt | 2 +- .../roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt | 2 +- .../mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt | 2 +- .../mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt | 4 ++-- .../impl/datasource/FakeMediaGalleryDataSource.kt | 4 ++++ .../mediaviewer/impl/viewer/FakeMediaViewerNavigator.kt | 6 +++--- .../mediaviewer/impl/viewer/MediaViewerPresenterTest.kt | 5 +++-- 9 files changed, 16 insertions(+), 18 deletions(-) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt index 2faed24a19..419dc074fc 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt @@ -26,7 +26,6 @@ import io.element.android.appnav.di.TimelineBindings import io.element.android.appnav.room.RoomNavigationTarget import io.element.android.features.forward.api.ForwardEntryPoint import io.element.android.features.messages.api.MessagesEntryPoint -import io.element.android.features.messages.api.pinned.PinnedEventsTimelineProvider import io.element.android.features.roomdetails.api.RoomDetailsEntryPoint import io.element.android.features.space.api.SpaceEntryPoint import io.element.android.libraries.architecture.BackstackView @@ -45,12 +44,9 @@ import io.element.android.libraries.matrix.api.core.ThreadId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.permalink.PermalinkData import io.element.android.libraries.matrix.api.room.JoinedRoom -import io.element.android.libraries.matrix.api.timeline.TimelineProvider import io.element.android.services.appnavstate.api.ActiveRoomsHolder import io.element.android.services.appnavstate.api.AppNavigationStateService import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import kotlinx.parcelize.Parcelize import timber.log.Timber diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/DefaultPinnedEventsTimelineProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/DefaultPinnedEventsTimelineProvider.kt index 0e2de50b86..f4641c8a66 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/DefaultPinnedEventsTimelineProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/DefaultPinnedEventsTimelineProvider.kt @@ -8,9 +8,7 @@ package io.element.android.features.messages.impl.pinned import dev.zacsweers.metro.ContributesBinding -import dev.zacsweers.metro.Inject import dev.zacsweers.metro.SingleIn -import dev.zacsweers.metro.binding import io.element.android.features.messages.api.pinned.PinnedEventsTimelineProvider import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.core.coroutine.CoroutineDispatchers @@ -31,8 +29,7 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.withContext @SingleIn(RoomScope::class) -@ContributesBinding(RoomScope::class, binding = binding()) -@Inject +@ContributesBinding(RoomScope::class) class DefaultPinnedEventsTimelineProvider( private val room: JoinedRoom, private val syncService: SyncService, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt index 880f89f3bc..e9502346b4 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/DefaultMessagesEntryPointTest.kt @@ -90,7 +90,7 @@ class DefaultMessagesEntryPointTest { override fun navigateToRoomDetails() = lambdaError() override fun navigateToRoomMemberDetails(userId: UserId) = lambdaError() override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = lambdaError() - override fun forwardEvent(eventId: EventId) = lambdaError() + override fun forwardEvent(eventId: EventId, fromPinnedEvents: Boolean) = lambdaError() override fun navigateToRoom(roomId: RoomId) = lambdaError() } val initialTarget = MessagesEntryPoint.InitialTarget.Messages(focusedEventId = AN_EVENT_ID) diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt index ebe92332e8..f9bc40b711 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/DefaultRoomDetailsEntryPointTest.kt @@ -64,7 +64,7 @@ class DefaultRoomDetailsEntryPointTest { override fun navigateToGlobalNotificationSettings() = lambdaError() override fun navigateToRoom(roomId: RoomId, serverNames: List) = lambdaError() override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = lambdaError() - override fun startForwardEventFlow(eventId: EventId) = lambdaError() + override fun startForwardEventFlow(eventId: EventId, fromPinnedEvents: Boolean) = lambdaError() } val params = RoomDetailsEntryPoint.Params( initialElement = RoomDetailsEntryPoint.InitialTarget.RoomDetails, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt index 189644ebd5..991e29cd98 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaGalleryEntryPointTest.kt @@ -40,7 +40,7 @@ class DefaultMediaGalleryEntryPointTest { val callback = object : MediaGalleryEntryPoint.Callback { override fun onBackClick() = lambdaError() override fun viewInTimeline(eventId: EventId) = lambdaError() - override fun forward(eventId: EventId) = lambdaError() + override fun forward(eventId: EventId, fromPinnedEvents: Boolean) = lambdaError() } val result = entryPoint.createNode( parentNode = parentNode, diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt index b53fe7913c..f6246545b5 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/DefaultMediaViewerEntryPointTest.kt @@ -72,7 +72,7 @@ class DefaultMediaViewerEntryPointTest { val callback = object : MediaViewerEntryPoint.Callback { override fun onDone() = lambdaError() override fun viewInTimeline(eventId: EventId) = lambdaError() - override fun forwardEvent(eventId: EventId) = lambdaError() + override fun forwardEvent(eventId: EventId, fromPinnedEvents: Boolean) = lambdaError() } val params = createMediaViewerEntryPointParams() val result = entryPoint.createNode( @@ -118,7 +118,7 @@ class DefaultMediaViewerEntryPointTest { val callback = object : MediaViewerEntryPoint.Callback { override fun onDone() = lambdaError() override fun viewInTimeline(eventId: EventId) = lambdaError() - override fun forwardEvent(eventId: EventId) = lambdaError() + override fun forwardEvent(eventId: EventId, fromPinnedEvents: Boolean) = lambdaError() } val params = entryPoint.createParamsForAvatar( filename = "fn", diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/datasource/FakeMediaGalleryDataSource.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/datasource/FakeMediaGalleryDataSource.kt index ea4bdfbad8..552e6baaff 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/datasource/FakeMediaGalleryDataSource.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/datasource/FakeMediaGalleryDataSource.kt @@ -38,6 +38,10 @@ 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) } diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/FakeMediaViewerNavigator.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/FakeMediaViewerNavigator.kt index 791527445b..d223ad1ce9 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/FakeMediaViewerNavigator.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/FakeMediaViewerNavigator.kt @@ -12,15 +12,15 @@ import io.element.android.tests.testutils.lambda.lambdaError class FakeMediaViewerNavigator( private val onViewInTimelineClickLambda: (EventId) -> Unit = { lambdaError() }, - private val onForwardClickLambda: (EventId) -> Unit = { lambdaError() }, + private val onForwardClickLambda: (EventId, Boolean) -> Unit = { _, _ -> lambdaError() }, private val onItemDeletedLambda: () -> Unit = { lambdaError() }, ) : MediaViewerNavigator { override fun onViewInTimelineClick(eventId: EventId) { onViewInTimelineClickLambda(eventId) } - override fun onForwardClick(eventId: EventId) { - onForwardClickLambda(eventId) + override fun onForwardClick(eventId: EventId, fromPinnedEvents: Boolean) { + onForwardClickLambda(eventId, fromPinnedEvents) } override fun onItemDeleted() { diff --git a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt index 359eda7a5e..c0ea46b307 100644 --- a/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt +++ b/libraries/mediaviewer/impl/src/test/kotlin/io/element/android/libraries/mediaviewer/impl/viewer/MediaViewerPresenterTest.kt @@ -785,7 +785,7 @@ class MediaViewerPresenterTest { @Test fun `present - forward hides the bottom sheet and invokes the navigator`() = runTest { - val onForwardClickLambda = lambdaRecorder { } + val onForwardClickLambda = lambdaRecorder { _, _ -> } val navigator = FakeMediaViewerNavigator( onForwardClickLambda = onForwardClickLambda, ) @@ -804,7 +804,8 @@ class MediaViewerPresenterTest { initialState.eventSink(MediaViewerEvents.Forward(AN_EVENT_ID)) val finalState = awaitItem() assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden) - onForwardClickLambda.assertions().isCalledOnce().with(value(AN_EVENT_ID)) + onForwardClickLambda.assertions().isCalledOnce() + .with(value(AN_EVENT_ID), value(false)) } }