mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
change: finished feature flag should fallback to default value
This commit is contained in:
+8
-4
@@ -25,10 +25,14 @@ class DefaultFeatureFlagService(
|
|||||||
private val featuresProvider: FeaturesProvider,
|
private val featuresProvider: FeaturesProvider,
|
||||||
) : FeatureFlagService {
|
) : FeatureFlagService {
|
||||||
override fun isFeatureEnabledFlow(feature: Feature): Flow<Boolean> {
|
override fun isFeatureEnabledFlow(feature: Feature): Flow<Boolean> {
|
||||||
return providers.filter { it.hasFeature(feature) }
|
return if (feature.isFinished) {
|
||||||
.maxByOrNull(FeatureFlagProvider::priority)
|
flowOf(feature.defaultValue(buildMeta))
|
||||||
?.isFeatureEnabledFlow(feature)
|
} else {
|
||||||
?: flowOf(feature.defaultValue(buildMeta))
|
providers.filter { it.hasFeature(feature) }
|
||||||
|
.maxByOrNull(FeatureFlagProvider::priority)
|
||||||
|
?.isFeatureEnabledFlow(feature)
|
||||||
|
?: flowOf(feature.defaultValue(buildMeta))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun setFeatureEnabled(feature: Feature, enabled: Boolean): Boolean {
|
override suspend fun setFeatureEnabled(feature: Feature, enabled: Boolean): Boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user