mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-04 10:32:34 +00:00
LabsEvents -> LabsEvent
This commit is contained in:
+2
-2
@@ -10,6 +10,6 @@ package io.element.android.features.preferences.impl.labs
|
|||||||
|
|
||||||
import io.element.android.libraries.featureflag.ui.model.FeatureUiModel
|
import io.element.android.libraries.featureflag.ui.model.FeatureUiModel
|
||||||
|
|
||||||
sealed interface LabsEvents {
|
sealed interface LabsEvent {
|
||||||
data class ToggleFeature(val feature: FeatureUiModel) : LabsEvents
|
data class ToggleFeature(val feature: FeatureUiModel) : LabsEvent
|
||||||
}
|
}
|
||||||
+2
-2
@@ -54,9 +54,9 @@ class LabsPresenter(
|
|||||||
var isApplyingChanges by remember { mutableStateOf(false) }
|
var isApplyingChanges by remember { mutableStateOf(false) }
|
||||||
val featureUiModels = createUiModels(enabledFeatures)
|
val featureUiModels = createUiModels(enabledFeatures)
|
||||||
|
|
||||||
fun handleEvent(event: LabsEvents) {
|
fun handleEvent(event: LabsEvent) {
|
||||||
when (event) {
|
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 featureIndex = enabledFeatures.indexOfFirst { it.feature.key == event.feature.key }.takeIf { it != -1 } ?: return@launch
|
||||||
val enabledFeature = enabledFeatures[featureIndex]
|
val enabledFeature = enabledFeatures[featureIndex]
|
||||||
val feature = enabledFeature.feature
|
val feature = enabledFeature.feature
|
||||||
|
|||||||
+1
-1
@@ -14,5 +14,5 @@ import kotlinx.collections.immutable.ImmutableList
|
|||||||
data class LabsState(
|
data class LabsState(
|
||||||
val features: ImmutableList<FeatureUiModel>,
|
val features: ImmutableList<FeatureUiModel>,
|
||||||
val isApplyingChanges: Boolean,
|
val isApplyingChanges: Boolean,
|
||||||
val eventSink: (LabsEvents) -> Unit,
|
val eventSink: (LabsEvent) -> Unit,
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -90,7 +90,7 @@ fun LabsView(
|
|||||||
supportingText = feature.description,
|
supportingText = feature.description,
|
||||||
value = feature.isEnabled,
|
value = feature.isEnabled,
|
||||||
onChange = {
|
onChange = {
|
||||||
state.eventSink(LabsEvents.ToggleFeature(feature))
|
state.eventSink(LabsEvent.ToggleFeature(feature))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -70,10 +70,10 @@ class LabsPresenterTest {
|
|||||||
val feature = initialItem.features.first()
|
val feature = initialItem.features.first()
|
||||||
assertThat(feature.isEnabled).isFalse()
|
assertThat(feature.isEnabled).isFalse()
|
||||||
// Toggle the feature, should be true now
|
// Toggle the feature, should be true now
|
||||||
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
|
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
|
||||||
assertThat(awaitItem().features.first().isEnabled).isTrue()
|
assertThat(awaitItem().features.first().isEnabled).isTrue()
|
||||||
// Toggle the feature, should be false now
|
// Toggle the feature, should be false now
|
||||||
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
|
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
|
||||||
assertThat(awaitItem().features.first().isEnabled).isFalse()
|
assertThat(awaitItem().features.first().isEnabled).isFalse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -99,7 +99,7 @@ class LabsPresenterTest {
|
|||||||
assertThat(feature.isEnabled).isFalse()
|
assertThat(feature.isEnabled).isFalse()
|
||||||
assertThat(initialItem.isApplyingChanges).isFalse()
|
assertThat(initialItem.isApplyingChanges).isFalse()
|
||||||
// Toggle the feature
|
// Toggle the feature
|
||||||
initialItem.eventSink(LabsEvents.ToggleFeature(feature))
|
initialItem.eventSink(LabsEvent.ToggleFeature(feature))
|
||||||
assertThat(awaitItem().features.first().isEnabled).isTrue()
|
assertThat(awaitItem().features.first().isEnabled).isTrue()
|
||||||
// The clear cache use case should have been called
|
// The clear cache use case should have been called
|
||||||
assertThat(awaitItem().isApplyingChanges).isTrue()
|
assertThat(awaitItem().isApplyingChanges).isTrue()
|
||||||
|
|||||||
Reference in New Issue
Block a user