Code cleanup

This commit is contained in:
Benoit Marty
2025-11-03 15:53:31 +01:00
parent bb28fd6e92
commit 5b18f6f93e
9 changed files with 16 additions and 18 deletions

View File

@@ -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

View File

@@ -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<PinnedEventsTimelineProvider>())
@Inject
@ContributesBinding(RoomScope::class)
class DefaultPinnedEventsTimelineProvider(
private val room: JoinedRoom,
private val syncService: SyncService,

View File

@@ -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)

View File

@@ -64,7 +64,7 @@ class DefaultRoomDetailsEntryPointTest {
override fun navigateToGlobalNotificationSettings() = lambdaError()
override fun navigateToRoom(roomId: RoomId, serverNames: List<String>) = 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,

View File

@@ -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,

View File

@@ -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",

View File

@@ -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)
}

View File

@@ -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() {

View File

@@ -785,7 +785,7 @@ class MediaViewerPresenterTest {
@Test
fun `present - forward hides the bottom sheet and invokes the navigator`() = runTest {
val onForwardClickLambda = lambdaRecorder<EventId, Unit> { }
val onForwardClickLambda = lambdaRecorder<EventId, Boolean, Unit> { _, _ -> }
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))
}
}