Skip to content

Commit 60a6b2a

Browse files
authored
[PM-14936] Add AnonAddySelfHostAlias feature flag (#4711)
1 parent 2c63c1a commit 60a6b2a

File tree

5 files changed

+22
-0
lines changed

5 files changed

+22
-0
lines changed

app/src/main/java/com/x8bit/bitwarden/data/platform/manager/model/FlagKey.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ sealed class FlagKey<out T : Any> {
4242
MutualTls,
4343
SingleTapPasskeyCreation,
4444
SingleTapPasskeyAuthentication,
45+
AnonAddySelfHostAlias,
4546
)
4647
}
4748
}
@@ -201,6 +202,16 @@ sealed class FlagKey<out T : Any> {
201202
override val isRemotelyConfigured: Boolean = true
202203
}
203204

205+
/**
206+
* Data object holding the feature flag key to enable AnonAddy (addy.io) self host alias
207+
* generation.
208+
*/
209+
data object AnonAddySelfHostAlias : FlagKey<Boolean>() {
210+
override val keyName: String = "anon-addy-self-host-alias"
211+
override val defaultValue: Boolean = false
212+
override val isRemotelyConfigured: Boolean = true
213+
}
214+
204215
//region Dummy keys for testing
205216
/**
206217
* Data object holding the key for a [Boolean] flag to be used in tests.

app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/debugmenu/components/FeatureFlagListItems.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ fun <T : Any> FlagKey<T>.ListItemContent(
4141
FlagKey.MutualTls,
4242
FlagKey.SingleTapPasskeyCreation,
4343
FlagKey.SingleTapPasskeyAuthentication,
44+
FlagKey.AnonAddySelfHostAlias,
4445
-> BooleanFlagItem(
4546
label = flagKey.getDisplayLabel(),
4647
key = flagKey as FlagKey<Boolean>,
@@ -97,4 +98,5 @@ private fun <T : Any> FlagKey<T>.getDisplayLabel(): String = when (this) {
9798
FlagKey.SingleTapPasskeyCreation -> stringResource(R.string.single_tap_passkey_creation)
9899
FlagKey.SingleTapPasskeyAuthentication ->
99100
stringResource(R.string.single_tap_passkey_authentication)
101+
FlagKey.AnonAddySelfHostAlias -> stringResource(R.string.anon_addy_self_hosted_aliases)
100102
}

app/src/main/res/values/strings_non_localized.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@
2626
<string name="new_device_temporary_dismiss">New device notice temporary dismiss</string>">
2727
<string name="ignore_environment_check">Ignore environment check</string>">
2828
<string name="reset_coach_mark_tour_status">Reset all coach mark tours</string>
29+
<string name="anon_addy_self_hosted_aliases">AnonAddy self-hosted aliases</string>
2930
<!-- /Debug Menu -->
3031
</resources>

app/src/test/java/com/x8bit/bitwarden/data/platform/manager/FlagKeyTest.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ class FlagKeyTest {
7777
FlagKey.MutualTls.keyName,
7878
"mutual-tls",
7979
)
80+
assertEquals(
81+
FlagKey.AnonAddySelfHostAlias.keyName,
82+
"anon-addy-self-host-alias",
83+
)
8084
}
8185

8286
@Test
@@ -97,6 +101,7 @@ class FlagKeyTest {
97101
FlagKey.NewDevicePermanentDismiss,
98102
FlagKey.SingleTapPasskeyCreation,
99103
FlagKey.SingleTapPasskeyAuthentication,
104+
FlagKey.AnonAddySelfHostAlias,
100105
).all {
101106
!it.defaultValue
102107
},
@@ -125,6 +130,7 @@ class FlagKeyTest {
125130
FlagKey.SingleTapPasskeyCreation,
126131
FlagKey.SingleTapPasskeyAuthentication,
127132
FlagKey.MutualTls,
133+
FlagKey.AnonAddySelfHostAlias,
128134
).all {
129135
it.isRemotelyConfigured
130136
},

app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ private val DEFAULT_MAP_VALUE: Map<FlagKey<Any>, Any> = mapOf(
134134
FlagKey.MutualTls to true,
135135
FlagKey.SingleTapPasskeyCreation to true,
136136
FlagKey.SingleTapPasskeyAuthentication to true,
137+
FlagKey.AnonAddySelfHostAlias to true,
137138
)
138139

139140
private val UPDATED_MAP_VALUE: Map<FlagKey<Any>, Any> = mapOf(
@@ -153,6 +154,7 @@ private val UPDATED_MAP_VALUE: Map<FlagKey<Any>, Any> = mapOf(
153154
FlagKey.MutualTls to false,
154155
FlagKey.SingleTapPasskeyCreation to false,
155156
FlagKey.SingleTapPasskeyAuthentication to false,
157+
FlagKey.AnonAddySelfHostAlias to false,
156158
)
157159

158160
private val DEFAULT_STATE = DebugMenuState(

0 commit comments

Comments
 (0)