Code cleanup
This commit is contained in:
parent
bb28fd6e92
commit
5b18f6f93e
9 changed files with 16 additions and 18 deletions
|
|
@ -26,7 +26,6 @@ import io.element.android.appnav.di.TimelineBindings
|
||||||
import io.element.android.appnav.room.RoomNavigationTarget
|
import io.element.android.appnav.room.RoomNavigationTarget
|
||||||
import io.element.android.features.forward.api.ForwardEntryPoint
|
import io.element.android.features.forward.api.ForwardEntryPoint
|
||||||
import io.element.android.features.messages.api.MessagesEntryPoint
|
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.roomdetails.api.RoomDetailsEntryPoint
|
||||||
import io.element.android.features.space.api.SpaceEntryPoint
|
import io.element.android.features.space.api.SpaceEntryPoint
|
||||||
import io.element.android.libraries.architecture.BackstackView
|
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.core.UserId
|
||||||
import io.element.android.libraries.matrix.api.permalink.PermalinkData
|
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.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.ActiveRoomsHolder
|
||||||
import io.element.android.services.appnavstate.api.AppNavigationStateService
|
import io.element.android.services.appnavstate.api.AppNavigationStateService
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,7 @@
|
||||||
package io.element.android.features.messages.impl.pinned
|
package io.element.android.features.messages.impl.pinned
|
||||||
|
|
||||||
import dev.zacsweers.metro.ContributesBinding
|
import dev.zacsweers.metro.ContributesBinding
|
||||||
import dev.zacsweers.metro.Inject
|
|
||||||
import dev.zacsweers.metro.SingleIn
|
import dev.zacsweers.metro.SingleIn
|
||||||
import dev.zacsweers.metro.binding
|
|
||||||
import io.element.android.features.messages.api.pinned.PinnedEventsTimelineProvider
|
import io.element.android.features.messages.api.pinned.PinnedEventsTimelineProvider
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
||||||
|
|
@ -31,8 +29,7 @@ import kotlinx.coroutines.flow.onEach
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
@SingleIn(RoomScope::class)
|
@SingleIn(RoomScope::class)
|
||||||
@ContributesBinding(RoomScope::class, binding = binding<PinnedEventsTimelineProvider>())
|
@ContributesBinding(RoomScope::class)
|
||||||
@Inject
|
|
||||||
class DefaultPinnedEventsTimelineProvider(
|
class DefaultPinnedEventsTimelineProvider(
|
||||||
private val room: JoinedRoom,
|
private val room: JoinedRoom,
|
||||||
private val syncService: SyncService,
|
private val syncService: SyncService,
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ class DefaultMessagesEntryPointTest {
|
||||||
override fun navigateToRoomDetails() = lambdaError()
|
override fun navigateToRoomDetails() = lambdaError()
|
||||||
override fun navigateToRoomMemberDetails(userId: UserId) = lambdaError()
|
override fun navigateToRoomMemberDetails(userId: UserId) = lambdaError()
|
||||||
override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = 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()
|
override fun navigateToRoom(roomId: RoomId) = lambdaError()
|
||||||
}
|
}
|
||||||
val initialTarget = MessagesEntryPoint.InitialTarget.Messages(focusedEventId = AN_EVENT_ID)
|
val initialTarget = MessagesEntryPoint.InitialTarget.Messages(focusedEventId = AN_EVENT_ID)
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ class DefaultRoomDetailsEntryPointTest {
|
||||||
override fun navigateToGlobalNotificationSettings() = lambdaError()
|
override fun navigateToGlobalNotificationSettings() = lambdaError()
|
||||||
override fun navigateToRoom(roomId: RoomId, serverNames: List<String>) = lambdaError()
|
override fun navigateToRoom(roomId: RoomId, serverNames: List<String>) = lambdaError()
|
||||||
override fun handlePermalinkClick(data: PermalinkData, pushToBackstack: Boolean) = 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(
|
val params = RoomDetailsEntryPoint.Params(
|
||||||
initialElement = RoomDetailsEntryPoint.InitialTarget.RoomDetails,
|
initialElement = RoomDetailsEntryPoint.InitialTarget.RoomDetails,
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class DefaultMediaGalleryEntryPointTest {
|
||||||
val callback = object : MediaGalleryEntryPoint.Callback {
|
val callback = object : MediaGalleryEntryPoint.Callback {
|
||||||
override fun onBackClick() = lambdaError()
|
override fun onBackClick() = lambdaError()
|
||||||
override fun viewInTimeline(eventId: EventId) = 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(
|
val result = entryPoint.createNode(
|
||||||
parentNode = parentNode,
|
parentNode = parentNode,
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ class DefaultMediaViewerEntryPointTest {
|
||||||
val callback = object : MediaViewerEntryPoint.Callback {
|
val callback = object : MediaViewerEntryPoint.Callback {
|
||||||
override fun onDone() = lambdaError()
|
override fun onDone() = lambdaError()
|
||||||
override fun viewInTimeline(eventId: EventId) = 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 params = createMediaViewerEntryPointParams()
|
||||||
val result = entryPoint.createNode(
|
val result = entryPoint.createNode(
|
||||||
|
|
@ -118,7 +118,7 @@ class DefaultMediaViewerEntryPointTest {
|
||||||
val callback = object : MediaViewerEntryPoint.Callback {
|
val callback = object : MediaViewerEntryPoint.Callback {
|
||||||
override fun onDone() = lambdaError()
|
override fun onDone() = lambdaError()
|
||||||
override fun viewInTimeline(eventId: EventId) = 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(
|
val params = entryPoint.createParamsForAvatar(
|
||||||
filename = "fn",
|
filename = "fn",
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,10 @@ 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)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,15 +12,15 @@ import io.element.android.tests.testutils.lambda.lambdaError
|
||||||
|
|
||||||
class FakeMediaViewerNavigator(
|
class FakeMediaViewerNavigator(
|
||||||
private val onViewInTimelineClickLambda: (EventId) -> Unit = { lambdaError() },
|
private val onViewInTimelineClickLambda: (EventId) -> Unit = { lambdaError() },
|
||||||
private val onForwardClickLambda: (EventId) -> Unit = { lambdaError() },
|
private val onForwardClickLambda: (EventId, Boolean) -> Unit = { _, _ -> lambdaError() },
|
||||||
private val onItemDeletedLambda: () -> Unit = { lambdaError() },
|
private val onItemDeletedLambda: () -> Unit = { lambdaError() },
|
||||||
) : MediaViewerNavigator {
|
) : MediaViewerNavigator {
|
||||||
override fun onViewInTimelineClick(eventId: EventId) {
|
override fun onViewInTimelineClick(eventId: EventId) {
|
||||||
onViewInTimelineClickLambda(eventId)
|
onViewInTimelineClickLambda(eventId)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onForwardClick(eventId: EventId) {
|
override fun onForwardClick(eventId: EventId, fromPinnedEvents: Boolean) {
|
||||||
onForwardClickLambda(eventId)
|
onForwardClickLambda(eventId, fromPinnedEvents)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onItemDeleted() {
|
override fun onItemDeleted() {
|
||||||
|
|
|
||||||
|
|
@ -785,7 +785,7 @@ class MediaViewerPresenterTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - forward hides the bottom sheet and invokes the navigator`() = runTest {
|
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(
|
val navigator = FakeMediaViewerNavigator(
|
||||||
onForwardClickLambda = onForwardClickLambda,
|
onForwardClickLambda = onForwardClickLambda,
|
||||||
)
|
)
|
||||||
|
|
@ -804,7 +804,8 @@ class MediaViewerPresenterTest {
|
||||||
initialState.eventSink(MediaViewerEvents.Forward(AN_EVENT_ID))
|
initialState.eventSink(MediaViewerEvents.Forward(AN_EVENT_ID))
|
||||||
val finalState = awaitItem()
|
val finalState = awaitItem()
|
||||||
assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden)
|
assertThat(finalState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden)
|
||||||
onForwardClickLambda.assertions().isCalledOnce().with(value(AN_EVENT_ID))
|
onForwardClickLambda.assertions().isCalledOnce()
|
||||||
|
.with(value(AN_EVENT_ID), value(false))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue