Skip to content

Commit 7fb70fa

Browse files
committed
Remove FeatureFlag.LocationSharing and FeatureFlag.Polls
1 parent fb16f38 commit 7fb70fa

File tree

8 files changed

+11
-52
lines changed

8 files changed

+11
-52
lines changed

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

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -132,17 +132,15 @@ private fun AttachmentSourcePickerMenu(
132132
style = ListItemStyle.Primary,
133133
)
134134
}
135-
if (state.canCreatePoll) {
136-
ListItem(
137-
modifier = Modifier.clickable {
138-
state.eventSink(MessageComposerEvents.PickAttachmentSource.Poll)
139-
onCreatePollClick()
140-
},
141-
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls())),
142-
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_poll)) },
143-
style = ListItemStyle.Primary,
144-
)
145-
}
135+
ListItem(
136+
modifier = Modifier.clickable {
137+
state.eventSink(MessageComposerEvents.PickAttachmentSource.Poll)
138+
onCreatePollClick()
139+
},
140+
leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Polls())),
141+
headlineContent = { Text(stringResource(R.string.screen_room_attachment_source_poll)) },
142+
style = ListItemStyle.Primary,
143+
)
146144
if (enableTextFormatting) {
147145
ListItem(
148146
modifier = Modifier.clickable { state.eventSink(MessageComposerEvents.ToggleTextFormatting(enabled = true)) },

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

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ import io.element.android.libraries.core.mimetype.MimeTypes
4545
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
4646
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
4747
import io.element.android.libraries.di.annotations.SessionCoroutineScope
48-
import io.element.android.libraries.featureflag.api.FeatureFlagService
49-
import io.element.android.libraries.featureflag.api.FeatureFlags
5048
import io.element.android.libraries.matrix.api.core.UserId
5149
import io.element.android.libraries.matrix.api.permalink.PermalinkBuilder
5250
import io.element.android.libraries.matrix.api.permalink.PermalinkParser
@@ -103,7 +101,6 @@ class MessageComposerPresenter @AssistedInject constructor(
103101
private val sessionCoroutineScope: CoroutineScope,
104102
private val room: JoinedRoom,
105103
private val mediaPickerProvider: PickerProvider,
106-
private val featureFlagService: FeatureFlagService,
107104
private val sessionPreferencesStore: SessionPreferencesStore,
108105
private val localMediaFactory: LocalMediaFactory,
109106
private val mediaSender: MediaSender,
@@ -156,13 +153,7 @@ class MessageComposerPresenter @AssistedInject constructor(
156153

157154
val canShareLocation = remember { mutableStateOf(false) }
158155
LaunchedEffect(Unit) {
159-
canShareLocation.value = featureFlagService.isFeatureEnabled(FeatureFlags.LocationSharing) &&
160-
locationService.isServiceAvailable()
161-
}
162-
163-
val canCreatePoll = remember { mutableStateOf(false) }
164-
LaunchedEffect(Unit) {
165-
canCreatePoll.value = featureFlagService.isFeatureEnabled(FeatureFlags.Polls)
156+
canShareLocation.value = locationService.isServiceAvailable()
166157
}
167158

168159
val galleryMediaPicker = mediaPickerProvider.registerGalleryPicker { uri, mimeType ->
@@ -376,7 +367,6 @@ class MessageComposerPresenter @AssistedInject constructor(
376367
showAttachmentSourcePicker = showAttachmentSourcePicker,
377368
showTextFormatting = showTextFormatting,
378369
canShareLocation = canShareLocation.value,
379-
canCreatePoll = canCreatePoll.value,
380370
suggestions = suggestions.toPersistentList(),
381371
resolveMentionDisplay = resolveMentionDisplay,
382372
resolveAtRoomMentionDisplay = resolveAtRoomMentionDisplay,

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ data class MessageComposerState(
2222
val showAttachmentSourcePicker: Boolean,
2323
val showTextFormatting: Boolean,
2424
val canShareLocation: Boolean,
25-
val canCreatePoll: Boolean,
2625
val suggestions: ImmutableList<ResolvedSuggestion>,
2726
val resolveMentionDisplay: (String, String) -> TextDisplay,
2827
val resolveAtRoomMentionDisplay: () -> TextDisplay,

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ fun aMessageComposerState(
3030
showTextFormatting: Boolean = false,
3131
showAttachmentSourcePicker: Boolean = false,
3232
canShareLocation: Boolean = true,
33-
canCreatePoll: Boolean = true,
3433
suggestions: ImmutableList<ResolvedSuggestion> = persistentListOf(),
3534
eventSink: (MessageComposerEvents) -> Unit = {},
3635
) = MessageComposerState(
@@ -40,7 +39,6 @@ fun aMessageComposerState(
4039
showTextFormatting = showTextFormatting,
4140
showAttachmentSourcePicker = showAttachmentSourcePicker,
4241
canShareLocation = canShareLocation,
43-
canCreatePoll = canCreatePoll,
4442
suggestions = suggestions,
4543
resolveMentionDisplay = { _, _ -> TextDisplay.Plain },
4644
resolveAtRoomMentionDisplay = { TextDisplay.Plain },

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemContentPollFactory.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,18 @@ package io.element.android.features.messages.impl.timeline.factories.event
99

1010
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent
1111
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent
12-
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemUnknownContent
1312
import io.element.android.features.poll.api.pollcontent.PollContentStateFactory
14-
import io.element.android.libraries.featureflag.api.FeatureFlagService
15-
import io.element.android.libraries.featureflag.api.FeatureFlags
1613
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
1714
import io.element.android.libraries.matrix.api.timeline.item.event.PollContent
1815
import javax.inject.Inject
1916

2017
class TimelineItemContentPollFactory @Inject constructor(
21-
private val featureFlagService: FeatureFlagService,
2218
private val pollContentStateFactory: PollContentStateFactory,
2319
) {
2420
suspend fun create(
2521
event: EventTimelineItem,
2622
content: PollContent,
2723
): TimelineItemEventContent {
28-
if (!featureFlagService.isFeatureEnabled(FeatureFlags.Polls)) return TimelineItemUnknownContent
2924
val pollContentState = pollContentStateFactory.create(event, content)
3025
return TimelineItemPollContent(
3126
isMine = pollContentState.isMine,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ internal fun TestScope.aTimelineItemsFactory(
7070
fileSizeFormatter = FakeFileSizeFormatter(),
7171
fileExtensionExtractor = FileExtensionExtractorWithoutValidation()
7272
),
73-
pollFactory = TimelineItemContentPollFactory(FakeFeatureFlagService(), FakePollContentStateFactory()),
73+
pollFactory = TimelineItemContentPollFactory(FakePollContentStateFactory()),
7474
utdFactory = TimelineItemContentUTDFactory(),
7575
roomMembershipFactory = TimelineItemContentRoomMembershipFactory(timelineEventFormatter),
7676
profileChangeFactory = TimelineItemContentProfileChangeFactory(timelineEventFormatter),

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ import io.element.android.features.messages.impl.utils.FakeTextPillificationHelp
3232
import io.element.android.features.messages.impl.utils.TextPillificationHelper
3333
import io.element.android.libraries.core.mimetype.MimeTypes
3434
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
35-
import io.element.android.libraries.featureflag.api.FeatureFlagService
36-
import io.element.android.libraries.featureflag.api.FeatureFlags
37-
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
3835
import io.element.android.libraries.matrix.api.core.EventId
3936
import io.element.android.libraries.matrix.api.core.RoomId
4037
import io.element.android.libraries.matrix.api.core.ThreadId
@@ -125,9 +122,6 @@ class MessageComposerPresenterTest {
125122
private val pickerProvider = FakePickerProvider().apply {
126123
givenResult(mockk()) // Uri is not available in JVM, so the only way to have a non-null Uri is using Mockk
127124
}
128-
private val featureFlagService = FakeFeatureFlagService(
129-
mapOf(FeatureFlags.LocationSharing.key to true)
130-
)
131125
private val mediaPreProcessor = FakeMediaPreProcessor()
132126
private val snackbarDispatcher = SnackbarDispatcher()
133127
private val mockMediaUrl: Uri = mockk("localMediaUri")
@@ -1529,7 +1523,6 @@ class MessageComposerPresenterTest {
15291523
),
15301524
navigator: MessagesNavigator = FakeMessagesNavigator(),
15311525
pickerProvider: PickerProvider = [email protected],
1532-
featureFlagService: FeatureFlagService = [email protected],
15331526
locationService: LocationService = FakeLocationService(true),
15341527
sessionPreferencesStore: SessionPreferencesStore = InMemorySessionPreferencesStore(),
15351528
mediaPreProcessor: MediaPreProcessor = [email protected],
@@ -1551,7 +1544,6 @@ class MessageComposerPresenterTest {
15511544
sessionCoroutineScope = this,
15521545
room = room,
15531546
mediaPickerProvider = pickerProvider,
1554-
featureFlagService = featureFlagService,
15551547
sessionPreferencesStore = sessionPreferencesStore,
15561548
localMediaFactory = localMediaFactory,
15571549
mediaSender = MediaSender(

libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,6 @@ enum class FeatureFlags(
2121
override val defaultValue: (BuildMeta) -> Boolean,
2222
override val isFinished: Boolean,
2323
) : Feature {
24-
LocationSharing(
25-
key = "feature.locationsharing",
26-
title = "Allow user to share location",
27-
defaultValue = { true },
28-
isFinished = true,
29-
),
30-
Polls(
31-
key = "feature.polls",
32-
title = "Polls",
33-
description = "Create poll and render poll events in the timeline",
34-
defaultValue = { true },
35-
isFinished = true,
36-
),
3724
NotificationSettings(
3825
key = "feature.notificationsettings",
3926
title = "Show notification settings",

0 commit comments

Comments
 (0)