From b0eea88af2fb985fe206662927959575cccfee16 Mon Sep 17 00:00:00 2001 From: aj-rosado <109146700+aj-rosado@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:09:15 +0000 Subject: [PATCH] [PM-31613] Add send email verification feature flag (#6470) --- .../com/bitwarden/core/data/manager/model/FlagKey.kt | 9 +++++++++ .../com/bitwarden/core/data/manager/model/FlagKeyTest.kt | 5 +++++ .../ui/platform/components/debug/FeatureFlagListItems.kt | 2 ++ ui/src/main/res/values/strings_non_localized.xml | 1 + 4 files changed, 17 insertions(+) diff --git a/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt index 861f81f3cb..2b5eadbd8b 100644 --- a/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt +++ b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt @@ -37,6 +37,7 @@ sealed class FlagKey { NoLogoutOnKdfChange, MigrateMyVaultToMyItems, ArchiveItems, + SendEmailVerification, ) } } @@ -107,6 +108,14 @@ sealed class FlagKey { override val defaultValue: Boolean = false } + /** + * Data object holding the feature flag key for the Send Email Verification feature. + */ + data object SendEmailVerification : FlagKey() { + override val keyName: String = "pm-19051-send-email-verification" + override val defaultValue: Boolean = false + } + //region Dummy keys for testing /** * Data object holding the key for a [Boolean] flag to be used in tests. diff --git a/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt index a7714258a1..1ec9592a2c 100644 --- a/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt +++ b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt @@ -36,6 +36,10 @@ class FlagKeyTest { FlagKey.ArchiveItems.keyName, "pm-19148-innovation-archive", ) + assertEquals( + FlagKey.SendEmailVerification.keyName, + "pm-19051-send-email-verification", + ) } @Test @@ -49,6 +53,7 @@ class FlagKeyTest { FlagKey.ForceUpdateKdfSettings, FlagKey.MigrateMyVaultToMyItems, FlagKey.ArchiveItems, + FlagKey.SendEmailVerification, ).all { !it.defaultValue }, diff --git a/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt b/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt index 664f93759c..9b3f88bfd6 100644 --- a/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt +++ b/ui/src/main/kotlin/com/bitwarden/ui/platform/components/debug/FeatureFlagListItems.kt @@ -31,6 +31,7 @@ fun FlagKey.ListItemContent( FlagKey.NoLogoutOnKdfChange, FlagKey.MigrateMyVaultToMyItems, FlagKey.ArchiveItems, + FlagKey.SendEmailVerification, -> { @Suppress("UNCHECKED_CAST") BooleanFlagItem( @@ -83,4 +84,5 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { FlagKey.MigrateMyVaultToMyItems -> stringResource(BitwardenString.migrate_my_vault_to_my_items) FlagKey.ArchiveItems -> stringResource(BitwardenString.archive_items) + FlagKey.SendEmailVerification -> stringResource(BitwardenString.send_email_verification) } diff --git a/ui/src/main/res/values/strings_non_localized.xml b/ui/src/main/res/values/strings_non_localized.xml index ecea985678..3cec0b6602 100644 --- a/ui/src/main/res/values/strings_non_localized.xml +++ b/ui/src/main/res/values/strings_non_localized.xml @@ -40,6 +40,7 @@ Avoid logout on KDF change Migrate My Vault to My Items Archive Items + Send Email Verification