Skip to content

Commit 4f05357

Browse files
committed
Remove FeatureFlag.PinnedEvents
1 parent be9861b commit 4f05357

File tree

13 files changed

+92
-230
lines changed

13 files changed

+92
-230
lines changed

features/messages/api/src/main/kotlin/io/element/android/features/messages/api/pinned/IsPinnedMessagesFeatureEnabled.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

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

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import com.squareup.anvil.annotations.ContributesBinding
1818
import dagger.assisted.Assisted
1919
import dagger.assisted.AssistedFactory
2020
import dagger.assisted.AssistedInject
21-
import io.element.android.features.messages.api.pinned.IsPinnedMessagesFeatureEnabled
2221
import io.element.android.features.messages.impl.UserEventPermissions
2322
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
2423
import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionComparator
@@ -62,7 +61,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
6261
@Assisted
6362
private val postProcessor: TimelineItemActionPostProcessor,
6463
private val appPreferencesStore: AppPreferencesStore,
65-
private val isPinnedMessagesFeatureEnabled: IsPinnedMessagesFeatureEnabled,
6664
private val room: BaseRoom,
6765
private val userSendFailureFactory: VerifiedUserSendFailureFactory,
6866
private val featureFlagService: FeatureFlagService,
@@ -87,7 +85,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
8785
val isDeveloperModeEnabled by remember {
8886
appPreferencesStore.isDeveloperModeEnabledFlow()
8987
}.collectAsState(initial = false)
90-
val isPinnedEventsEnabled = isPinnedMessagesFeatureEnabled()
9188
val pinnedEventIds by remember {
9289
room.roomInfoFlow.map { it.pinnedEventIds }
9390
}.collectAsState(initial = persistentListOf())
@@ -99,7 +96,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
9996
timelineItem = event.event,
10097
usersEventPermissions = event.userEventPermissions,
10198
isDeveloperModeEnabled = isDeveloperModeEnabled,
102-
isPinnedEventsEnabled = isPinnedEventsEnabled,
10399
pinnedEventIds = pinnedEventIds,
104100
target = target,
105101
)
@@ -116,7 +112,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
116112
timelineItem: TimelineItem.Event,
117113
usersEventPermissions: UserEventPermissions,
118114
isDeveloperModeEnabled: Boolean,
119-
isPinnedEventsEnabled: Boolean,
120115
pinnedEventIds: ImmutableList<EventId>,
121116
target: MutableState<ActionListState.Target>
122117
) = launch {
@@ -126,7 +121,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
126121
timelineItem = timelineItem,
127122
usersEventPermissions = usersEventPermissions,
128123
isDeveloperModeEnabled = isDeveloperModeEnabled,
129-
isPinnedEventsEnabled = isPinnedEventsEnabled,
130124
isEventPinned = pinnedEventIds.contains(timelineItem.eventId),
131125
)
132126

@@ -154,7 +148,6 @@ class DefaultActionListPresenter @AssistedInject constructor(
154148
timelineItem: TimelineItem.Event,
155149
usersEventPermissions: UserEventPermissions,
156150
isDeveloperModeEnabled: Boolean,
157-
isPinnedEventsEnabled: Boolean,
158151
isEventPinned: Boolean,
159152
): List<TimelineItemAction> {
160153
val canRedact = timelineItem.isMine && usersEventPermissions.canRedactOwn || !timelineItem.isMine && usersEventPermissions.canRedactOther
@@ -189,7 +182,7 @@ class DefaultActionListPresenter @AssistedInject constructor(
189182
if (canRedact && timelineItem.content is TimelineItemPollContent && !timelineItem.content.isEnded) {
190183
add(TimelineItemAction.EndPoll)
191184
}
192-
val canPinUnpin = isPinnedEventsEnabled && usersEventPermissions.canPinUnpin && timelineItem.isRemote
185+
val canPinUnpin = usersEventPermissions.canPinUnpin && timelineItem.isRemote
193186
if (canPinUnpin) {
194187
if (isEventPinned) {
195188
add(TimelineItemAction.Unpin)

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

Lines changed: 0 additions & 41 deletions
This file was deleted.

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

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import io.element.android.libraries.core.coroutine.CoroutineDispatchers
1212
import io.element.android.libraries.core.coroutine.mapState
1313
import io.element.android.libraries.di.RoomScope
1414
import io.element.android.libraries.di.SingleIn
15-
import io.element.android.libraries.featureflag.api.FeatureFlagService
16-
import io.element.android.libraries.featureflag.api.FeatureFlags
1715
import io.element.android.libraries.matrix.api.room.CreateTimelineParams
1816
import io.element.android.libraries.matrix.api.room.JoinedRoom
1917
import io.element.android.libraries.matrix.api.sync.SyncService
@@ -23,7 +21,6 @@ import kotlinx.coroutines.CoroutineScope
2321
import kotlinx.coroutines.coroutineScope
2422
import kotlinx.coroutines.flow.MutableStateFlow
2523
import kotlinx.coroutines.flow.StateFlow
26-
import kotlinx.coroutines.flow.combine
2724
import kotlinx.coroutines.flow.distinctUntilChanged
2825
import kotlinx.coroutines.flow.launchIn
2926
import kotlinx.coroutines.flow.map
@@ -35,7 +32,6 @@ import javax.inject.Inject
3532
class PinnedEventsTimelineProvider @Inject constructor(
3633
private val room: JoinedRoom,
3734
private val syncService: SyncService,
38-
private val featureFlagService: FeatureFlagService,
3935
private val dispatchers: CoroutineDispatchers,
4036
) : TimelineProvider {
4137
private val _timelineStateFlow: MutableStateFlow<AsyncData<Timeline>> =
@@ -66,20 +62,10 @@ class PinnedEventsTimelineProvider @Inject constructor(
6662
}
6763

6864
private suspend fun onActive() = coroutineScope {
69-
combine(
70-
featureFlagService.isFeatureEnabledFlow(FeatureFlags.PinnedEvents),
71-
syncService.syncState,
72-
) { isEnabled, _ ->
65+
syncService.syncState.onEach {
7366
// do not use syncState here as data can be loaded from cache, it's just to trigger retry if needed
74-
isEnabled
67+
loadTimelineIfNeeded()
7568
}
76-
.onEach { isFeatureEnabled ->
77-
if (isFeatureEnabled) {
78-
loadTimelineIfNeeded()
79-
} else {
80-
resetTimeline()
81-
}
82-
}
8369
.launchIn(this)
8470
}
8571

0 commit comments

Comments
 (0)