Add a feature flag for the Unlimited upsell placement

ET-5952

(cherry picked from commit a3ba615759)
This commit is contained in:
Stefanija Boshkovska
2026-05-13 12:09:19 +02:00
parent 1539016295
commit 4d8dfd790b
3 changed files with 25 additions and 0 deletions
@@ -39,6 +39,7 @@ import ch.protonmail.android.mailfeatureflags.domain.annotation.IsRestrictMessag
import ch.protonmail.android.mailfeatureflags.domain.annotation.IsShowRatingBoosterEnabled
import ch.protonmail.android.mailfeatureflags.domain.annotation.IsSpringOffer2026Enabled
import ch.protonmail.android.mailfeatureflags.domain.annotation.IsSpringOffer2026Wave2Enabled
import ch.protonmail.android.mailfeatureflags.domain.annotation.IsUnlimitedPlanPlacementExperimentEnabled
import ch.protonmail.android.mailfeatureflags.domain.annotation.IsUpsellEnabled
import ch.protonmail.android.mailfeatureflags.domain.model.BgProcessingRelaxedBatteryConstraint
import ch.protonmail.android.mailfeatureflags.domain.model.ComposerAutoCollapseQuotedText
@@ -56,6 +57,7 @@ import ch.protonmail.android.mailfeatureflags.domain.model.RestrictMessageWebVie
import ch.protonmail.android.mailfeatureflags.domain.model.ShowRatingBoosterEnabled
import ch.protonmail.android.mailfeatureflags.domain.model.SpringOffer2026Enabled
import ch.protonmail.android.mailfeatureflags.domain.model.SpringOffer2026Wave2Enabled
import ch.protonmail.android.mailfeatureflags.domain.model.UnlimitedPlanPlacementExperimentEnabled
import ch.protonmail.android.mailfeatureflags.domain.model.UpsellingEnabled
import dagger.Module
import dagger.Provides
@@ -242,4 +244,15 @@ object FeatureFlagsModule {
@Singleton
fun provideBgProcessingNewConstraintDef(): FeatureFlagDefinition = BgProcessingRelaxedBatteryConstraint
@Provides
@Singleton
@IsUnlimitedPlanPlacementExperimentEnabled
fun provideUnlimitedPlanPlacementExperiment(factory: BooleanFeatureFlagFactory) =
factory.create(key = UnlimitedPlanPlacementExperimentEnabled.key, false)
@Provides
@IntoSet
@Singleton
fun provideUnlimitedPlanPlacementEnabledDef(): FeatureFlagDefinition = UnlimitedPlanPlacementExperimentEnabled
}
@@ -83,3 +83,7 @@ annotation class IsPushProcessingWithoutWorkerEnabled
@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class IsBgProcessingRelaxedBatteryConstraintEnabled
@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class IsUnlimitedPlanPlacementExperimentEnabled
@@ -145,3 +145,11 @@ data object BgProcessingRelaxedBatteryConstraint : FeatureFlagDefinition(
description = "When enabled, the periodic background execution worker does not require the battery to be not low.",
defaultValue = false
)
data object UnlimitedPlanPlacementExperimentEnabled : FeatureFlagDefinition(
key = "MailAndroidV7UnlimitedPlanPlacementExperiment",
name = "Enable Unlimited Plan placement experiment",
category = FeatureFlagCategory.Upselling,
description = "Enables Unlimited Plan placement experiment.",
defaultValue = false
)