To avoid mistake, FeatureFlags does not have defaultValue set to true, and StaticFeatureFlagProvider return the default value.
This fixes #1241.
This commit is contained in:
1
changelog.d/1241.bugfix
Normal file
1
changelog.d/1241.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Enable polls in release build.
|
||||
@@ -16,21 +16,26 @@
|
||||
|
||||
package io.element.android.libraries.featureflag.api
|
||||
|
||||
/**
|
||||
* To enable or disable a FeatureFlags, change the `defaultValue` value.
|
||||
* It will impact all the build types.
|
||||
*/
|
||||
enum class FeatureFlags(
|
||||
override val key: String,
|
||||
override val title: String,
|
||||
override val description: String? = null,
|
||||
override val defaultValue: Boolean = true
|
||||
override val defaultValue: Boolean
|
||||
) : Feature {
|
||||
LocationSharing(
|
||||
key = "feature.locationsharing",
|
||||
title = "Allow user to share location",
|
||||
defaultValue = true,
|
||||
),
|
||||
Polls(
|
||||
key = "feature.polls",
|
||||
title = "Polls",
|
||||
description = "Create poll and render poll events in the timeline",
|
||||
defaultValue = false,
|
||||
defaultValue = true,
|
||||
),
|
||||
NotificationSettings(
|
||||
key = "feature.notificationsettings",
|
||||
|
||||
@@ -22,7 +22,7 @@ import javax.inject.Inject
|
||||
|
||||
/**
|
||||
* This provider is used for release build.
|
||||
* Change the value return by [isFeatureEnabled] to enable/disable features.
|
||||
* [isFeatureEnabled] just returns the default value of the FeatureFlags.
|
||||
*/
|
||||
class StaticFeatureFlagProvider @Inject constructor() :
|
||||
FeatureFlagProvider {
|
||||
@@ -31,11 +31,7 @@ class StaticFeatureFlagProvider @Inject constructor() :
|
||||
|
||||
override suspend fun isFeatureEnabled(feature: Feature): Boolean {
|
||||
return if (feature is FeatureFlags) {
|
||||
when (feature) {
|
||||
FeatureFlags.LocationSharing -> true
|
||||
FeatureFlags.Polls -> false
|
||||
FeatureFlags.NotificationSettings -> false
|
||||
}
|
||||
feature.defaultValue
|
||||
} else {
|
||||
false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user