Skip to content

Commit 1fad4d4

Browse files
committed
Do not inject the TimelineProtectionPresenter
1 parent a72c406 commit 1fad4d4

File tree

5 files changed

+11
-15
lines changed

5 files changed

+11
-15
lines changed

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem
4646
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent
4747
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent
4848
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent
49-
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter
5049
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState
5150
import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter
5251
import io.element.android.features.networkmonitor.api.NetworkMonitor
@@ -92,7 +91,7 @@ class MessagesPresenter @AssistedInject constructor(
9291
private val composerPresenter: MessageComposerPresenter,
9392
private val voiceMessageComposerPresenter: VoiceMessageComposerPresenter,
9493
timelinePresenterFactory: TimelinePresenter.Factory,
95-
private val timelineProtectionPresenter: TimelineProtectionPresenter,
94+
private val timelineProtectionPresenter: Presenter<TimelineProtectionState>,
9695
private val actionListPresenterFactory: ActionListPresenter.Factory,
9796
private val customReactionPresenter: CustomReactionPresenter,
9897
private val reactionSummaryPresenter: ReactionSummaryPresenter,

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt

+5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import io.element.android.features.messages.impl.crypto.sendfailure.resolve.Reso
1414
import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState
1515
import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerPresenter
1616
import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState
17+
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter
18+
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState
1719
import io.element.android.features.messages.impl.typing.TypingNotificationPresenter
1820
import io.element.android.features.messages.impl.typing.TypingNotificationState
1921
import io.element.android.libraries.architecture.Presenter
@@ -30,4 +32,7 @@ interface MessagesModule {
3032

3133
@Binds
3234
fun bindTypingNotificationPresenter(presenter: TypingNotificationPresenter): Presenter<TypingNotificationState>
35+
36+
@Binds
37+
fun bindTimelineProtectionPresenter(presenter: TimelineProtectionPresenter): Presenter<TimelineProtectionState>
3338
}

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import io.element.android.features.messages.impl.timeline.TimelineRoomInfo
3030
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory
3131
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig
3232
import io.element.android.features.messages.impl.timeline.model.TimelineItem
33-
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter
3433
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState
3534
import io.element.android.features.messages.impl.typing.TypingNotificationState
3635
import io.element.android.libraries.architecture.AsyncData
@@ -62,7 +61,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor(
6261
private val room: MatrixRoom,
6362
timelineItemsFactoryCreator: TimelineItemsFactory.Creator,
6463
private val timelineProvider: PinnedEventsTimelineProvider,
65-
private val timelineProtectionPresenter: TimelineProtectionPresenter,
64+
private val timelineProtectionPresenter: Presenter<TimelineProtectionState>,
6665
private val snackbarDispatcher: SnackbarDispatcher,
6766
actionListPresenterFactory: ActionListPresenter.Factory,
6867
private val appCoroutineScope: CoroutineScope,

features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt

+2-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
4040
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent
4141
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent
4242
import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent
43-
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter
43+
import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState
4444
import io.element.android.features.messages.impl.typing.aTypingNotificationState
4545
import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper
4646
import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer
@@ -94,7 +94,6 @@ import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory
9494
import io.element.android.libraries.permissions.api.PermissionsPresenter
9595
import io.element.android.libraries.permissions.test.FakePermissionsPresenter
9696
import io.element.android.libraries.permissions.test.FakePermissionsPresenterFactory
97-
import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore
9897
import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore
9998
import io.element.android.libraries.textcomposer.mentions.MentionSpanProvider
10099
import io.element.android.libraries.textcomposer.model.MessageComposerMode
@@ -1061,16 +1060,12 @@ class MessagesPresenterTest {
10611060
val readReceiptBottomSheetPresenter = ReadReceiptBottomSheetPresenter()
10621061
val customReactionPresenter = CustomReactionPresenter(emojibaseProvider = FakeEmojibaseProvider())
10631062
val reactionSummaryPresenter = ReactionSummaryPresenter(room = matrixRoom)
1064-
val timelineProtectionPresenter = TimelineProtectionPresenter(
1065-
appPreferencesStore = InMemoryAppPreferencesStore(),
1066-
)
1067-
10681063
return MessagesPresenter(
10691064
room = matrixRoom,
10701065
composerPresenter = messageComposerPresenter,
10711066
voiceMessageComposerPresenter = voiceMessageComposerPresenter,
10721067
timelinePresenterFactory = timelinePresenterFactory,
1073-
timelineProtectionPresenter = timelineProtectionPresenter,
1068+
timelineProtectionPresenter = { aTimelineProtectionState() },
10741069
actionListPresenterFactory = FakeActionListPresenter.Factory,
10751070
customReactionPresenter = customReactionPresenter,
10761071
reactionSummaryPresenter = reactionSummaryPresenter,

features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt

+2-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import io.element.android.features.messages.impl.actionlist.model.TimelineItemAc
1414
import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator
1515
import io.element.android.features.messages.impl.pinned.PinnedEventsTimelineProvider
1616
import io.element.android.features.messages.impl.timeline.model.TimelineItem
17-
import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter
17+
import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState
1818
import io.element.android.features.networkmonitor.api.NetworkMonitor
1919
import io.element.android.features.networkmonitor.test.FakeNetworkMonitor
2020
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
@@ -32,7 +32,6 @@ import io.element.android.libraries.matrix.test.room.aRoomInfo
3232
import io.element.android.libraries.matrix.test.timeline.FakeTimeline
3333
import io.element.android.libraries.matrix.test.timeline.aMessageContent
3434
import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem
35-
import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore
3635
import io.element.android.services.analytics.api.AnalyticsService
3736
import io.element.android.services.analytics.test.FakeAnalyticsService
3837
import io.element.android.tests.testutils.lambda.assert
@@ -305,14 +304,13 @@ class PinnedMessagesListPresenterTest {
305304
initialState = mapOf(FeatureFlags.PinnedEvents.key to isFeatureEnabled)
306305
)
307306
)
308-
val timelineProtectionPresenter = TimelineProtectionPresenter(InMemoryAppPreferencesStore())
309307
timelineProvider.launchIn(backgroundScope)
310308
return PinnedMessagesListPresenter(
311309
navigator = navigator,
312310
room = room,
313311
timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(),
314312
timelineProvider = timelineProvider,
315-
timelineProtectionPresenter = timelineProtectionPresenter,
313+
timelineProtectionPresenter = { aTimelineProtectionState() },
316314
snackbarDispatcher = SnackbarDispatcher(),
317315
actionListPresenterFactory = FakeActionListPresenter.Factory,
318316
analyticsService = analyticsService,

0 commit comments

Comments
 (0)