diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt index 341694b4e1..e745315e62 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt @@ -31,6 +31,7 @@ fun FlagKey.ListItemContent( FlagKey.CipherKeyEncryption, FlagKey.UserManagedPrivilegedApps, FlagKey.RemoveCardPolicy, + FlagKey.EnrollAeadOnKeyRotation, -> { @Suppress("UNCHECKED_CAST") BooleanFlagItem( @@ -83,4 +84,8 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { FlagKey.BitwardenAuthenticationEnabled -> { stringResource(BitwardenString.bitwarden_authentication_enabled) } + + FlagKey.EnrollAeadOnKeyRotation -> { + stringResource(BitwardenString.enroll_aead_on_key_rotation) + } } diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt index 5c6c2c7342..a825fad4c2 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt @@ -28,6 +28,7 @@ fun FlagKey.ListItemContent( FlagKey.CredentialExchangeProtocolImport, FlagKey.RemoveCardPolicy, FlagKey.UserManagedPrivilegedApps, + FlagKey.EnrollAeadOnKeyRotation, -> BooleanFlagItem( label = flagKey.getDisplayLabel(), key = flagKey as FlagKey, @@ -76,4 +77,8 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { FlagKey.BitwardenAuthenticationEnabled -> { stringResource(BitwardenString.bitwarden_authentication_enabled) } + + FlagKey.EnrollAeadOnKeyRotation -> { + stringResource(BitwardenString.enroll_aead_on_key_rotation) + } } 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 c2ad8d30f9..477b9a3787 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 @@ -89,6 +89,14 @@ sealed class FlagKey { override val defaultValue: Boolean = false } + /** + * Represents the feature flag to enable the enrollment of AEAD on key rotation. + */ + data object EnrollAeadOnKeyRotation : FlagKey() { + override val keyName: String = "enroll-aead-on-key-rotation" + 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 b620912d5a..b2cfb18614 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 @@ -32,6 +32,10 @@ class FlagKeyTest { FlagKey.BitwardenAuthenticationEnabled.keyName, "bitwarden-authentication-enabled", ) + assertEquals( + FlagKey.EnrollAeadOnKeyRotation.keyName, + "enroll-aead-on-key-rotation", + ) } @Test @@ -44,6 +48,7 @@ class FlagKeyTest { FlagKey.UserManagedPrivilegedApps, FlagKey.RemoveCardPolicy, FlagKey.BitwardenAuthenticationEnabled, + FlagKey.EnrollAeadOnKeyRotation, ).all { !it.defaultValue }, diff --git a/ui/src/main/res/values/strings_non_localized.xml b/ui/src/main/res/values/strings_non_localized.xml index efb1d557ca..0d4dd6a7fd 100644 --- a/ui/src/main/res/values/strings_non_localized.xml +++ b/ui/src/main/res/values/strings_non_localized.xml @@ -28,6 +28,7 @@ 2FAS (no password) LastPass (.json) Aegis (.json) + Enroll AEAD on key rotation