Skip to content

Commit d310c96

Browse files
authored
Merge pull request #3438 from element-hq/feature/fga/pinned_messages_actions
Update pinned message actions
2 parents 47d0c50 + f6c6943 commit d310c96

File tree

4 files changed

+2
-40
lines changed

4 files changed

+2
-40
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,9 @@ private fun List<TimelineItemAction>.postFilter(content: TimelineItemEventConten
195195
when (content) {
196196
is TimelineItemCallNotifyContent,
197197
is TimelineItemLegacyCallInviteContent,
198-
is TimelineItemStateContent,
198+
is TimelineItemStateContent -> action == TimelineItemAction.ViewSource
199199
is TimelineItemRedactedContent -> {
200-
action == TimelineItemAction.ViewSource
200+
action == TimelineItemAction.ViewSource || action == TimelineItemAction.Unpin
201201
}
202202
else -> true
203203
}

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ class PinnedMessagesListPresenter @AssistedInject constructor(
119119
targetEvent: TimelineItem.Event,
120120
) = launch {
121121
when (action) {
122-
TimelineItemAction.Redact -> handleActionRedact(targetEvent)
123122
TimelineItemAction.ViewSource -> {
124123
navigator.onShowEventDebugInfoClick(targetEvent.eventId, targetEvent.debugInfo)
125124
}
@@ -149,13 +148,6 @@ class PinnedMessagesListPresenter @AssistedInject constructor(
149148
}
150149
}
151150

152-
private suspend fun handleActionRedact(event: TimelineItem.Event) {
153-
timelineProvider.invokeOnTimeline {
154-
redactEvent(eventId = event.eventId, transactionId = event.transactionId, reason = null)
155-
.onFailure { Timber.e(it) }
156-
}
157-
}
158-
159151
@Composable
160152
private fun userEventPermissions(updateKey: Long): State<UserEventPermissions> {
161153
return produceState(UserEventPermissions.DEFAULT, key1 = updateKey) {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ class PinnedMessagesListTimelineActionPostProcessor : TimelineItemActionPostProc
1717
actions.firstOrNull { it is TimelineItemAction.Unpin }?.let(::add)
1818
actions.firstOrNull { it is TimelineItemAction.Forward }?.let(::add)
1919
actions.firstOrNull { it is TimelineItemAction.ViewSource }?.let(::add)
20-
actions.firstOrNull { it is TimelineItemAction.Redact }?.let(::add)
2120
}
2221
}
2322
}

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

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatch
1919
import io.element.android.libraries.featureflag.api.FeatureFlags
2020
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
2121
import io.element.android.libraries.matrix.api.core.EventId
22-
import io.element.android.libraries.matrix.api.core.TransactionId
2322
import io.element.android.libraries.matrix.api.room.MatrixRoom
2423
import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem
2524
import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo
@@ -138,34 +137,6 @@ class PinnedMessagesListPresenterTest {
138137
}
139138
}
140139

141-
@Test
142-
fun `present - redact event`() = runTest {
143-
val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) }
144-
val pinnedEventsTimeline = createPinnedMessagesTimeline().apply {
145-
this.redactEventLambda = redactEventLambda
146-
}
147-
val room = FakeMatrixRoom(
148-
pinnedEventsTimelineResult = { Result.success(pinnedEventsTimeline) },
149-
canRedactOwnResult = { Result.success(true) },
150-
canRedactOtherResult = { Result.success(true) },
151-
canUserPinUnpinResult = { Result.success(true) },
152-
).apply {
153-
givenRoomInfo(aRoomInfo(pinnedEventIds = listOf(AN_EVENT_ID)))
154-
}
155-
val presenter = createPinnedMessagesListPresenter(room = room, isFeatureEnabled = true)
156-
presenter.test {
157-
skipItems(3)
158-
val filledState = awaitItem() as PinnedMessagesListState.Filled
159-
val eventItem = filledState.timelineItems.first() as TimelineItem.Event
160-
filledState.eventSink(PinnedMessagesListEvents.HandleAction(TimelineItemAction.Redact, eventItem))
161-
advanceUntilIdle()
162-
cancelAndIgnoreRemainingEvents()
163-
assert(redactEventLambda)
164-
.isCalledOnce()
165-
.with(value(AN_EVENT_ID), value(null), value(null))
166-
}
167-
}
168-
169140
@Test
170141
fun `present - unpin event`() = runTest {
171142
val successUnpinEventLambda = lambdaRecorder { _: EventId? -> Result.success(true) }

0 commit comments

Comments
 (0)