diff --git a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt index 01c1e8a258..a7ff8c09dd 100644 --- a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt +++ b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/DefaultFeatureFlagService.kt @@ -27,16 +27,14 @@ class DefaultFeatureFlagService( ) : FeatureFlagService { override fun isFeatureEnabledFlow(feature: Feature): Flow { return providers.filter { it.hasFeature(feature) } - .sortedByDescending(FeatureFlagProvider::priority) - .firstOrNull() + .maxByOrNull(FeatureFlagProvider::priority) ?.isFeatureEnabledFlow(feature) ?: flowOf(feature.defaultValue(buildMeta)) } override suspend fun setFeatureEnabled(feature: Feature, enabled: Boolean): Boolean { return providers.filterIsInstance() - .sortedBy(FeatureFlagProvider::priority) - .firstOrNull() + .maxByOrNull(FeatureFlagProvider::priority) ?.setFeatureEnabled(feature, enabled) ?.let { true } ?: false