Add Labs screen for beta testing of public features (#5465)

* Add Labs screen:

- Make `Feature` have an `isInLabs` boolean to distinguish private feature flags from public ones.
- Have `FeatureFlagsService` provide the list of available flags.
- Display the labs item in the settings screen only if there are available public features.
- Remove public feature toggles from developer options.
- Implement the labs screen with the public features.
- Add a clear cache step to the threads feature toggle
- Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
Jorge Martin Espinosa 2025-10-07 12:02:54 +02:00 committed by GitHub
parent a497703a90
commit 9714abe032
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 684 additions and 17 deletions

View file

@ -7,9 +7,12 @@
package io.element.android.libraries.featureflag.ui.model
import io.element.android.libraries.designsystem.theme.components.IconSource
data class FeatureUiModel(
val key: String,
val title: String,
val description: String?,
val icon: IconSource?,
val isEnabled: Boolean
)

View file

@ -12,7 +12,7 @@ import kotlinx.collections.immutable.persistentListOf
fun aFeatureUiModelList(): ImmutableList<FeatureUiModel> {
return persistentListOf(
FeatureUiModel("key1", "Display State Events", "Show state events in the timeline", true),
FeatureUiModel("key2", "Display Room Events", null, false),
FeatureUiModel(key = "key1", title = "Display State Events", description = "Show state events in the timeline", icon = null, isEnabled = true),
FeatureUiModel(key = "key2", title = "Display Room Events", description = null, icon = null, isEnabled = false),
)
}