LabsEvents -> LabsEvent

This commit is contained in:
Benoit Marty
2026-08-25 10:10:11 +02:00
parent 7952721ffe
commit a113d44558
5 changed files with 9 additions and 9 deletions
@@ -10,6 +10,6 @@ package io.element.android.features.preferences.impl.labs
import io.element.android.libraries.featureflag.ui.model.FeatureUiModel
sealed interface LabsEvents {
data class ToggleFeature(val feature: FeatureUiModel) : LabsEvents
sealed interface LabsEvent {
data class ToggleFeature(val feature: FeatureUiModel) : LabsEvent
}
@@ -54,9 +54,9 @@ class LabsPresenter(
var isApplyingChanges by remember { mutableStateOf(false) }
val featureUiModels = createUiModels(enabledFeatures)
fun handleEvent(event: LabsEvents) {
fun handleEvent(event: LabsEvent) {
when (event) {
is LabsEvents.ToggleFeature -> coroutineScope.launch {
is LabsEvent.ToggleFeature -> coroutineScope.launch {
val featureIndex = enabledFeatures.indexOfFirst { it.feature.key == event.feature.key }.takeIf { it != -1 } ?: return@launch
val enabledFeature = enabledFeatures[featureIndex]
val feature = enabledFeature.feature
@@ -14,5 +14,5 @@ import kotlinx.collections.immutable.ImmutableList
data class LabsState(
val features: ImmutableList<FeatureUiModel>,
val isApplyingChanges: Boolean,
val eventSink: (LabsEvents) -> Unit,
val eventSink: (LabsEvent) -> Unit,
)
@@ -90,7 +90,7 @@ fun LabsView(
supportingText = feature.description,
value = feature.isEnabled,
onChange = {
state.eventSink(LabsEvents.ToggleFeature(feature))
state.eventSink(LabsEvent.ToggleFeature(feature))
}
)
}
@@ -70,10 +70,10 @@ class LabsPresenterTest {
val feature = initialItem.features.first()
assertThat(feature.isEnabled).isFalse()
// Toggle the feature, should be true now
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
assertThat(awaitItem().features.first().isEnabled).isTrue()
// Toggle the feature, should be false now
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
assertThat(awaitItem().features.first().isEnabled).isFalse()
}
}
@@ -99,7 +99,7 @@ class LabsPresenterTest {
assertThat(feature.isEnabled).isFalse()
assertThat(initialItem.isApplyingChanges).isFalse()
// Toggle the feature
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
assertThat(awaitItem().features.first().isEnabled).isTrue()
// The clear cache use case should have been called
assertThat(awaitItem().isApplyingChanges).isTrue()