diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerImpl.kt index fc4def9284..b61cdfce66 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerImpl.kt @@ -1,13 +1,13 @@ package com.x8bit.bitwarden.data.credentials.manager import androidx.credentials.provider.CallingAppInfo +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.network.service.DigitalAssetLinkService import com.bitwarden.ui.platform.base.util.prefixHttpsIfNecessary import com.x8bit.bitwarden.data.credentials.model.ValidateOriginResult import com.x8bit.bitwarden.data.credentials.repository.PrivilegedAppRepository import com.x8bit.bitwarden.data.platform.manager.AssetManager import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.util.getSignatureFingerprintAsHexString import com.x8bit.bitwarden.data.platform.util.validatePrivilegedApp import timber.log.Timber diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt index 2a966f575e..0ab5aa4641 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt @@ -1,6 +1,6 @@ package com.x8bit.bitwarden.data.platform.datasource.disk -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey /** * Disk data source for saved feature flag overrides. diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt index 768fd48e4b..1602c4a55f 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt @@ -1,8 +1,8 @@ package com.x8bit.bitwarden.data.platform.datasource.disk import android.content.SharedPreferences +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.BaseDiskSource -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey /** * Default implementation of the [FeatureFlagOverrideDiskSource] diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt index 0a9a12c8d9..1c92ae0c59 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt @@ -1,6 +1,6 @@ package com.x8bit.bitwarden.data.platform.manager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.DebugMenuRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManager.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManager.kt index efabfc4c10..310167028a 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManager.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManager.kt @@ -1,6 +1,6 @@ package com.x8bit.bitwarden.data.platform.manager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import kotlinx.coroutines.flow.Flow /** diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerImpl.kt index f8f133f6b3..c4b06c4742 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerImpl.kt @@ -1,8 +1,8 @@ package com.x8bit.bitwarden.data.platform.manager +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.model.ServerConfig import com.bitwarden.data.repository.ServerConfigRepository -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.util.isServerVersionAtLeast import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepository.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepository.kt index 9fd525d384..35f9069e25 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepository.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepository.kt @@ -1,6 +1,6 @@ package com.x8bit.bitwarden.data.platform.repository -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import kotlinx.coroutines.flow.Flow /** diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryImpl.kt index 1f4c47f380..d088b220bd 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryImpl.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryImpl.kt @@ -1,5 +1,6 @@ package com.x8bit.bitwarden.data.platform.repository +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow import com.bitwarden.data.repository.ServerConfigRepository import com.x8bit.bitwarden.BuildConfig @@ -8,7 +9,6 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.model.OnboardingStatus import com.x8bit.bitwarden.data.platform.datasource.disk.FeatureFlagOverrideDiskSource import com.x8bit.bitwarden.data.platform.datasource.disk.SettingsDiskSource import com.x8bit.bitwarden.data.platform.manager.getFlagValueOrDefault -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.onSubscription @@ -41,7 +41,7 @@ class DebugMenuRepositoryImpl( override fun resetFeatureFlagOverrides() { val currentServerConfig = serverConfigRepository.serverConfigStateFlow.value - FlagKey.activeFlags.forEach { flagKey -> + FlagKey.activePasswordManagerFlags.forEach { flagKey -> updateFeatureFlag( flagKey, currentServerConfig.getFlagValueOrDefault(flagKey), diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModel.kt index 336421b553..581677ec66 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModel.kt @@ -3,6 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.landing import android.os.Parcelable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.repository.model.Environment import com.bitwarden.ui.platform.base.BackgroundEvent import com.bitwarden.ui.platform.base.BaseViewModel @@ -14,7 +15,6 @@ import com.x8bit.bitwarden.data.auth.repository.AuthRepository import com.x8bit.bitwarden.data.auth.repository.model.LogoutReason import com.x8bit.bitwarden.data.auth.repository.model.UserState import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.ui.platform.components.model.AccountSummary diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt index 8168f366f7..6f1d7660c4 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt @@ -1,11 +1,11 @@ package com.x8bit.bitwarden.ui.auth.feature.welcome import android.os.Parcelable +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.BaseViewModel import com.bitwarden.ui.platform.resource.BitwardenDrawable import com.bitwarden.ui.platform.resource.BitwardenString import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.update import kotlinx.parcelize.Parcelize diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreen.kt index f7e489c820..377ec0a343 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreen.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreen.kt @@ -24,6 +24,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.util.EventsEffect import com.bitwarden.ui.platform.base.util.standardHorizontalMargin import com.bitwarden.ui.platform.base.util.toListItemCardStyle @@ -35,7 +36,6 @@ import com.bitwarden.ui.platform.components.util.rememberVectorPainter import com.bitwarden.ui.platform.resource.BitwardenDrawable import com.bitwarden.ui.platform.resource.BitwardenString import com.bitwarden.ui.platform.theme.BitwardenTheme -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.ui.platform.components.header.BitwardenListHeaderText import com.x8bit.bitwarden.ui.platform.components.scaffold.BitwardenScaffold import com.x8bit.bitwarden.ui.platform.feature.debugmenu.components.ListItemContent diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModel.kt index e29c77778d..afd697f320 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModel.kt @@ -1,11 +1,11 @@ package com.x8bit.bitwarden.ui.platform.feature.debugmenu import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.BaseViewModel import com.x8bit.bitwarden.data.auth.repository.AuthRepository import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.LogsManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.DebugMenuRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.collections.immutable.ImmutableMap @@ -37,7 +37,7 @@ class DebugMenuViewModel @Inject constructor( init { combine( - flows = FlagKey.activeFlags.map { flagKey -> + flows = FlagKey.activePasswordManagerFlags.map { flagKey -> featureFlagManager.getFeatureFlagFlow(flagKey).map { flagKey to it } }, ) { DebugMenuAction.Internal.UpdateFeatureFlagMap(it.toMap()) } 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 8921294634..df02ecd23b 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 @@ -3,10 +3,10 @@ package com.x8bit.bitwarden.ui.platform.feature.debugmenu.components import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.components.model.CardStyle import com.bitwarden.ui.platform.components.toggle.BitwardenSwitch import com.bitwarden.ui.platform.resource.BitwardenString -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey /** * Creates a list item for a [FlagKey]. @@ -25,6 +25,7 @@ fun FlagKey.ListItemContent( Unit } + FlagKey.BitwardenAuthenticationEnabled, FlagKey.EmailVerification, FlagKey.CredentialExchangeProtocolImport, FlagKey.CredentialExchangeProtocolExport, @@ -83,4 +84,7 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { } FlagKey.RemoveCardPolicy -> stringResource(BitwardenString.remove_card_policy) + FlagKey.BitwardenAuthenticationEnabled -> { + stringResource(BitwardenString.bitwarden_authentication_enabled) + } } diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModel.kt index cd50601bae..682b89e2d9 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModel.kt @@ -4,6 +4,7 @@ import android.os.Parcelable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope import com.bitwarden.annotation.OmitFromCoverage +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.model.DataState import com.bitwarden.data.repository.util.baseIconUrl import com.bitwarden.data.repository.util.baseWebSendUrl @@ -30,7 +31,6 @@ import com.x8bit.bitwarden.data.platform.manager.PolicyManager import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.manager.util.toAutofillSelectionDataOrNull diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModel.kt index bb03731d95..7df00fcab1 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModel.kt @@ -4,6 +4,7 @@ import android.os.Build import android.os.Parcelable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.util.isBuildVersionAtLeast import com.bitwarden.core.util.persistentListOfNotNull import com.bitwarden.ui.platform.base.BaseViewModel @@ -16,7 +17,6 @@ import com.x8bit.bitwarden.data.autofill.model.browser.BrowserPackage import com.x8bit.bitwarden.data.autofill.model.browser.BrowserThirdPartyAutofillStatus import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.FirstTimeActionManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.SettingsRepository import com.x8bit.bitwarden.data.platform.repository.model.UriMatchType import com.x8bit.bitwarden.ui.platform.feature.settings.autofill.browser.model.BrowserAutofillSettingsOption diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModel.kt index 0b0e52cf22..0086644202 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModel.kt @@ -4,6 +4,7 @@ import android.net.Uri import android.os.Parcelable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.util.toFormattedPattern import com.bitwarden.network.model.PolicyTypeJson import com.bitwarden.ui.platform.base.BaseViewModel @@ -19,7 +20,6 @@ import com.x8bit.bitwarden.data.auth.repository.model.ValidatePasswordResult import com.x8bit.bitwarden.data.auth.repository.model.VerifyOtpResult import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.PolicyManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.vault.manager.FileManager import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.data.vault.repository.model.ExportVaultDataResult diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt index 6cb31e483f..3149d4909d 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt @@ -7,6 +7,7 @@ import androidx.credentials.provider.ProviderCreateCredentialRequest import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope import com.bitwarden.core.DateTime +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.model.DataState import com.bitwarden.core.data.repository.util.takeUntilLoaded import com.bitwarden.network.model.PolicyTypeJson @@ -36,7 +37,6 @@ import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.CoachMarkTourType -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager import com.x8bit.bitwarden.data.platform.manager.util.toAutofillSaveItemOrNull diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt index 43781fefcb..f81548b7d6 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt @@ -4,6 +4,7 @@ import android.net.Uri import android.os.Parcelable import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.model.DataState import com.bitwarden.core.data.repository.util.combineDataStates import com.bitwarden.core.data.repository.util.mapNullable @@ -23,7 +24,6 @@ import com.x8bit.bitwarden.data.auth.repository.model.UserState import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository import com.x8bit.bitwarden.data.platform.repository.SettingsRepository diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt index a5562bca27..43cd8bb4a2 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt @@ -9,6 +9,7 @@ import androidx.credentials.provider.ProviderCreateCredentialRequest import androidx.credentials.provider.ProviderGetCredentialRequest import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.manager.toast.ToastManager import com.bitwarden.core.data.repository.model.DataState import com.bitwarden.core.data.repository.util.map @@ -55,7 +56,6 @@ import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager import com.x8bit.bitwarden.data.platform.manager.ciphermatching.CipherMatchingManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager import com.x8bit.bitwarden.data.platform.manager.util.toAutofillSelectionDataOrNull diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt index 1636c2af20..a9ec4ac87b 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt @@ -3,6 +3,7 @@ package com.x8bit.bitwarden.ui.vault.feature.vault import android.os.Parcelable import androidx.compose.ui.graphics.Color import androidx.lifecycle.viewModelScope +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.model.DataState import com.bitwarden.core.util.persistentListOfNotNull import com.bitwarden.data.repository.util.baseIconUrl @@ -31,7 +32,6 @@ import com.x8bit.bitwarden.data.platform.manager.ReviewPromptManager import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerTest.kt index 764b0095e9..64e267c716 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/credentials/manager/OriginManagerTest.kt @@ -11,7 +11,7 @@ import com.x8bit.bitwarden.data.credentials.model.ValidateOriginResult import com.x8bit.bitwarden.data.credentials.repository.PrivilegedAppRepository import com.x8bit.bitwarden.data.platform.manager.AssetManager import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import io.mockk.coEvery import io.mockk.coVerify import io.mockk.every diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt index 01d7a325a6..d35c6f4967 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt @@ -2,7 +2,7 @@ package com.x8bit.bitwarden.data.platform.datasource.disk import androidx.core.content.edit import com.bitwarden.data.datasource.disk.base.FakeSharedPreferences -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertNull diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt index 025fd6326a..cbacc67af3 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt @@ -2,7 +2,7 @@ package com.x8bit.bitwarden.data.platform.manager import app.cash.turbine.test import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.DebugMenuRepository import io.mockk.coEvery import io.mockk.coVerify diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerTest.kt index 31548da398..ef5758aed2 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FeatureFlagManagerTest.kt @@ -5,7 +5,7 @@ import com.bitwarden.data.datasource.disk.model.ServerConfig import com.bitwarden.network.model.ConfigResponseJson import com.bitwarden.network.model.ConfigResponseJson.EnvironmentJson import com.bitwarden.network.model.ConfigResponseJson.ServerJson -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.util.FakeServerConfigRepository import com.x8bit.bitwarden.data.platform.util.isServerVersionAtLeast import kotlinx.coroutines.test.runTest diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryTest.kt index a4eb369456..415f430c87 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/repository/DebugMenuRepositoryTest.kt @@ -8,7 +8,7 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.model.OnboardingStatus import com.x8bit.bitwarden.data.auth.datasource.disk.model.UserStateJson import com.x8bit.bitwarden.data.platform.datasource.disk.FeatureFlagOverrideDiskSource import com.x8bit.bitwarden.data.platform.datasource.disk.SettingsDiskSource -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import io.mockk.every import io.mockk.just import io.mockk.mockk diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt index faa1779d7c..d5a238fb9b 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingViewModelTest.kt @@ -14,7 +14,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.UserState import com.x8bit.bitwarden.data.auth.repository.model.VaultUnlockType import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.util.FakeEnvironmentRepository import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.ui.platform.components.model.AccountSummary diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModelTest.kt index d4c5d30296..75265abaa2 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModelTest.kt @@ -3,7 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.welcome import app.cash.turbine.test import com.bitwarden.ui.platform.base.BaseViewModelTest import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import io.mockk.every import io.mockk.mockk import kotlinx.coroutines.test.runTest diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt index efbeb48f5f..8d33b52164 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt @@ -6,7 +6,7 @@ import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollTo import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.ui.platform.base.BitwardenComposeTest import io.mockk.every import io.mockk.mockk diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt index 5f2b5ed14c..fa26215747 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt @@ -5,7 +5,7 @@ import com.bitwarden.ui.platform.base.BaseViewModelTest import com.x8bit.bitwarden.data.auth.repository.AuthRepository import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.LogsManager -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.DebugMenuRepository import com.x8bit.bitwarden.data.util.assertCoroutineThrows import io.mockk.coEvery diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt index 615f033592..936328320f 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModelTest.kt @@ -36,7 +36,7 @@ import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManagerImpl import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModelTest.kt index 1b20cf6c91..8dcf59c75e 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/AutoFillViewModelTest.kt @@ -13,7 +13,7 @@ import com.x8bit.bitwarden.data.autofill.model.browser.BrowserThirdPartyAutofill import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.FirstTimeActionManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.repository.SettingsRepository import com.x8bit.bitwarden.data.platform.repository.model.UriMatchType import com.x8bit.bitwarden.ui.platform.feature.settings.autofill.browser.model.BrowserAutofillSettingsOption diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModelTest.kt index ec7329ce32..d09163766e 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/exportvault/ExportVaultViewModelTest.kt @@ -22,7 +22,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.VerifyOtpResult import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.PolicyManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.vault.manager.FileManager import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.data.vault.repository.model.ExportVaultDataResult diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt index 9c766f7214..c87cfd02c8 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt @@ -49,7 +49,7 @@ import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardMan import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.CoachMarkTourType import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt index f7c8c08161..6a57e71fe8 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModelTest.kt @@ -27,7 +27,7 @@ import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository import com.x8bit.bitwarden.data.platform.repository.SettingsRepository diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt index 1c82928da6..8b93fc4f52 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt @@ -73,7 +73,7 @@ import com.x8bit.bitwarden.data.platform.manager.ciphermatching.CipherMatchingMa import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt index 3bb1c7969b..b88bf4213f 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt @@ -30,7 +30,7 @@ import com.x8bit.bitwarden.data.platform.manager.SpecialCircumstanceManager import com.x8bit.bitwarden.data.platform.manager.clipboard.BitwardenClipboardManager import com.x8bit.bitwarden.data.platform.manager.event.OrganizationEventManager import com.x8bit.bitwarden.data.platform.manager.model.FirstTimeState -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance import com.x8bit.bitwarden.data.platform.manager.network.NetworkConnectionManager diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt index 3b33f6f707..c8ca62f16b 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSource.kt @@ -1,6 +1,6 @@ package com.bitwarden.authenticator.data.platform.datasource.disk -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey /** * Disk data source for saved feature flag overrides. diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt index 8fadafbef2..44bbce6ee8 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceImpl.kt @@ -1,7 +1,7 @@ package com.bitwarden.authenticator.data.platform.datasource.disk import android.content.SharedPreferences -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.BaseDiskSource /** diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt index f4a6ca483c..d62fbc5997 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerImpl.kt @@ -1,7 +1,7 @@ package com.bitwarden.authenticator.data.platform.manager -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.data.platform.repository.DebugMenuRepository +import com.bitwarden.core.data.manager.model.FlagKey import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManager.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManager.kt index 051fbf6a40..49bcd021c0 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManager.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManager.kt @@ -1,6 +1,6 @@ package com.bitwarden.authenticator.data.platform.manager -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import kotlinx.coroutines.flow.Flow /** diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerImpl.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerImpl.kt index 4160b01543..b26e721468 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerImpl.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerImpl.kt @@ -1,6 +1,6 @@ package com.bitwarden.authenticator.data.platform.manager -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.model.ServerConfig import com.bitwarden.data.repository.ServerConfigRepository import kotlinx.coroutines.flow.Flow diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/model/FlagKey.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/model/FlagKey.kt deleted file mode 100644 index 2b621bd506..0000000000 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/model/FlagKey.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.bitwarden.authenticator.data.platform.manager.model - -/** - * Class to hold feature flag keys. - */ -sealed class FlagKey { - /** - * The string value of the given key. This must match the network value. - */ - abstract val keyName: String - - /** - * The value to be used if the flags value cannot be determined or is not remotely configured. - */ - abstract val defaultValue: T - - @Suppress("UndocumentedPublicClass") - companion object { - /** - * List of all flag keys to consider - */ - val activeFlags: List> by lazy { - listOf( - BitwardenAuthenticationEnabled, - ) - } - } - - /** - * Indicates the state of Bitwarden authentication. - */ - data object BitwardenAuthenticationEnabled : FlagKey() { - override val keyName: String = "bitwarden-authentication-enabled" - override val defaultValue: Boolean = false - } - - /** - * Data object holding the key for a [Boolean] flag to be used in tests. - */ - data object DummyBoolean : FlagKey() { - override val keyName: String = "dummy-boolean" - override val defaultValue: Boolean = false - } - - /** - * Data object holding the key for an [Int] flag to be used in tests. - */ - data object DummyInt : FlagKey() { - override val keyName: String = "dummy-int" - override val defaultValue: Int = Int.MIN_VALUE - } - - /** - * Data object holding the key for a [String] flag to be used in tests. - */ - data object DummyString : FlagKey() { - override val keyName: String = "dummy-string" - override val defaultValue: String = "defaultValue" - } -} diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepository.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepository.kt index 280a1193df..fa73510ca6 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepository.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepository.kt @@ -1,6 +1,6 @@ package com.bitwarden.authenticator.data.platform.repository -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import kotlinx.coroutines.flow.Flow /** diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryImpl.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryImpl.kt index 0bc7cd6590..3305853912 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryImpl.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryImpl.kt @@ -3,7 +3,7 @@ package com.bitwarden.authenticator.data.platform.repository import com.bitwarden.authenticator.BuildConfig import com.bitwarden.authenticator.data.platform.datasource.disk.FeatureFlagOverrideDiskSource import com.bitwarden.authenticator.data.platform.manager.getFlagValueOrDefault -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow import com.bitwarden.data.repository.ServerConfigRepository import kotlinx.coroutines.flow.Flow @@ -36,7 +36,7 @@ class DebugMenuRepositoryImpl( override fun resetFeatureFlagOverrides() { val currentServerConfig = serverConfigRepository.serverConfigStateFlow.value - FlagKey.activeFlags.forEach { flagKey -> + FlagKey.activeAuthenticatorFlags.forEach { flagKey -> updateFeatureFlag( flagKey, currentServerConfig.getFlagValueOrDefault(flagKey), diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreen.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreen.kt index 32004883a3..3ebda7be47 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreen.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreen.kt @@ -21,13 +21,13 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.ui.platform.components.appbar.AuthenticatorTopAppBar import com.bitwarden.authenticator.ui.platform.components.button.AuthenticatorFilledButton import com.bitwarden.authenticator.ui.platform.components.header.BitwardenListHeaderText import com.bitwarden.authenticator.ui.platform.components.scaffold.BitwardenScaffold import com.bitwarden.authenticator.ui.platform.feature.debugmenu.components.ListItemContent import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.util.EventsEffect import com.bitwarden.ui.platform.base.util.standardHorizontalMargin import com.bitwarden.ui.platform.components.appbar.NavigationIcon diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModel.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModel.kt index 735167e102..57d9b4ab50 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModel.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModel.kt @@ -2,8 +2,8 @@ package com.bitwarden.authenticator.ui.platform.feature.debugmenu import androidx.lifecycle.viewModelScope import com.bitwarden.authenticator.data.platform.manager.FeatureFlagManager -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.data.platform.repository.DebugMenuRepository +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.BaseViewModel import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Job @@ -30,7 +30,7 @@ class DebugMenuViewModel @Inject constructor( init { combine( - flows = FlagKey.activeFlags.map { flagKey -> + flows = FlagKey.activeAuthenticatorFlags.map { flagKey -> featureFlagManager.getFeatureFlagFlow(flagKey).map { flagKey to it } }, ) { DebugMenuAction.Internal.UpdateFeatureFlagMap(it.toMap()) } 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 48cf295337..73dcc12f7f 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 @@ -3,8 +3,8 @@ package com.bitwarden.authenticator.ui.platform.feature.debugmenu.components import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.ui.platform.components.toggle.BitwardenWideSwitch +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.resource.BitwardenString /** @@ -23,6 +23,13 @@ fun FlagKey.ListItemContent( -> Unit FlagKey.BitwardenAuthenticationEnabled, + FlagKey.CipherKeyEncryption, + FlagKey.CredentialExchangeProtocolExport, + FlagKey.CredentialExchangeProtocolImport, + FlagKey.EmailVerification, + FlagKey.RemoveCardPolicy, + FlagKey.RestrictCipherItemDeletion, + FlagKey.UserManagedPrivilegedApps, -> BooleanFlagItem( label = flagKey.getDisplayLabel(), key = flagKey as FlagKey, @@ -60,6 +67,17 @@ private fun FlagKey.getDisplayLabel(): String = when (this) { FlagKey.DummyString, -> this.keyName - FlagKey.BitwardenAuthenticationEnabled -> + FlagKey.EmailVerification -> stringResource(BitwardenString.email_verification) + FlagKey.CredentialExchangeProtocolImport -> stringResource(BitwardenString.cxp_import) + FlagKey.CredentialExchangeProtocolExport -> stringResource(BitwardenString.cxp_export) + FlagKey.CipherKeyEncryption -> stringResource(BitwardenString.cipher_key_encryption) + FlagKey.RestrictCipherItemDeletion -> stringResource(BitwardenString.restrict_item_deletion) + FlagKey.UserManagedPrivilegedApps -> { + stringResource(BitwardenString.user_trusted_privileged_app_management) + } + + FlagKey.RemoveCardPolicy -> stringResource(BitwardenString.remove_card_policy) + FlagKey.BitwardenAuthenticationEnabled -> { stringResource(BitwardenString.bitwarden_authentication_enabled) + } } diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt index 472ccb03bb..61bf17fe1a 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/datasource/disk/FeatureFlagOverrideDiskSourceTest.kt @@ -1,7 +1,7 @@ package com.bitwarden.authenticator.data.platform.datasource.disk import androidx.core.content.edit -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.base.FakeSharedPreferences import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertFalse diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt index 68e544ad6b..a64ba23276 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/DebugMenuFeatureFlagManagerTest.kt @@ -1,8 +1,8 @@ package com.bitwarden.authenticator.data.platform.manager import app.cash.turbine.test -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.data.platform.repository.DebugMenuRepository +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow import io.mockk.coEvery import io.mockk.coVerify diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerTest.kt index c77fa0e5c4..69ffffca23 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FeatureFlagManagerTest.kt @@ -1,8 +1,8 @@ package com.bitwarden.authenticator.data.platform.manager import app.cash.turbine.test -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.data.platform.repository.util.FakeServerConfigRepository +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.model.ServerConfig import com.bitwarden.network.model.ConfigResponseJson import com.bitwarden.network.model.ConfigResponseJson.EnvironmentJson diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FlagKeyTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FlagKeyTest.kt deleted file mode 100644 index 5fb18a612b..0000000000 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/FlagKeyTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.bitwarden.authenticator.data.platform.manager - -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test - -class FlagKeyTest { - @Test - fun `Feature flags have the correct key name set`() { - assertEquals( - FlagKey.BitwardenAuthenticationEnabled.keyName, - "bitwarden-authentication-enabled", - ) - } - - @Test - fun `All feature flags have the correct default value set`() { - assertTrue( - listOf( - FlagKey.BitwardenAuthenticationEnabled, - ).all { - !it.defaultValue - }, - ) - } -} diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryTest.kt index 41e9af7860..4ad6ffb26d 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/repository/DebugMenuRepositoryTest.kt @@ -2,7 +2,7 @@ package com.bitwarden.authenticator.data.platform.repository import app.cash.turbine.test import com.bitwarden.authenticator.data.platform.datasource.disk.FeatureFlagOverrideDiskSource -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.data.datasource.disk.model.ServerConfig import com.bitwarden.data.repository.ServerConfigRepository import io.mockk.every diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt index 2f80cac643..c2199ef1ca 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuScreenTest.kt @@ -4,8 +4,8 @@ import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollTo -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.ui.platform.base.AuthenticatorComposeTest +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.core.data.repository.util.bufferedMutableSharedFlow import io.mockk.every import io.mockk.mockk diff --git a/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt b/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt index ae348eed8f..f48849a3ce 100644 --- a/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt +++ b/authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/debugmenu/DebugMenuViewModelTest.kt @@ -2,8 +2,8 @@ package com.bitwarden.authenticator.ui.platform.feature.debugmenu import app.cash.turbine.test import com.bitwarden.authenticator.data.platform.manager.FeatureFlagManager -import com.bitwarden.authenticator.data.platform.manager.model.FlagKey import com.bitwarden.authenticator.data.platform.repository.DebugMenuRepository +import com.bitwarden.core.data.manager.model.FlagKey import com.bitwarden.ui.platform.base.BaseViewModelTest import io.mockk.coEvery import io.mockk.coVerify diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/FlagKey.kt b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt similarity index 84% rename from app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/FlagKey.kt rename to core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt index e8fd816a9a..63e5a354a0 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/FlagKey.kt +++ b/core/src/main/kotlin/com/bitwarden/core/data/manager/model/FlagKey.kt @@ -1,4 +1,4 @@ -package com.x8bit.bitwarden.data.platform.manager.model +package com.bitwarden.core.data.manager.model /** * Class to hold feature flag keys. @@ -17,9 +17,18 @@ sealed class FlagKey { @Suppress("UndocumentedPublicClass") companion object { /** - * List of all flag keys to consider + * List of all active Authenticator flag keys. */ - val activeFlags: List> by lazy { + val activeAuthenticatorFlags: List> by lazy { + listOf( + BitwardenAuthenticationEnabled, + ) + } + + /** + * List of all active Password Manager flag keys. + */ + val activePasswordManagerFlags: List> by lazy { listOf( EmailVerification, CredentialExchangeProtocolImport, @@ -90,6 +99,14 @@ sealed class FlagKey { override val defaultValue: Boolean = false } + /** + * Indicates the state of Bitwarden authentication. + */ + data object BitwardenAuthenticationEnabled : FlagKey() { + override val keyName: String = "bitwarden-authentication-enabled" + 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/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FlagKeyTest.kt b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt similarity index 87% rename from app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FlagKeyTest.kt rename to core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt index 227369bdb0..af0aca7f45 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/FlagKeyTest.kt +++ b/core/src/test/kotlin/com/bitwarden/core/data/manager/model/FlagKeyTest.kt @@ -1,6 +1,5 @@ -package com.x8bit.bitwarden.data.platform.manager +package com.bitwarden.core.data.manager.model -import com.x8bit.bitwarden.data.platform.manager.model.FlagKey import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test @@ -37,6 +36,10 @@ class FlagKeyTest { FlagKey.RemoveCardPolicy.keyName, "pm-16442-remove-card-item-type-policy", ) + assertEquals( + FlagKey.BitwardenAuthenticationEnabled.keyName, + "bitwarden-authentication-enabled", + ) } @Test @@ -50,6 +53,7 @@ class FlagKeyTest { FlagKey.RestrictCipherItemDeletion, FlagKey.UserManagedPrivilegedApps, FlagKey.RemoveCardPolicy, + FlagKey.BitwardenAuthenticationEnabled, ).all { !it.defaultValue },