diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt index 84fd4d2d8b6..7f3f9baa9c8 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt @@ -2084,7 +2084,7 @@ data class VaultItemListingState( */ data object SshKey : Vault() { override val titleText: Text get() = R.string.ssh_keys.asText() - override val hasFab: Boolean get() = true + override val hasFab: Boolean get() = false } /** diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt index ed0b8c2ae9a..6bf51edd328 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt @@ -200,6 +200,7 @@ fun VaultData.toViewState( val shouldShowAddButton = when (itemListingType) { is VaultItemListingState.ItemListingType.Vault.Folder, VaultItemListingState.ItemListingType.Vault.Trash, + VaultItemListingState.ItemListingType.Vault.SshKey, -> false else -> true diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingScreenTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingScreenTest.kt index 445e464e4e2..19200d37f67 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingScreenTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingScreenTest.kt @@ -648,6 +648,16 @@ class VaultItemListingScreenTest : BaseComposeTest() { ) } + composeTestRule + .onNodeWithContentDescription("Add item") + .assertDoesNotExist() + + mutableStateFlow.update { + it.copy( + itemListingType = VaultItemListingState.ItemListingType.Vault.SshKey, + ) + } + composeTestRule .onNodeWithContentDescription("Add item") .assertDoesNotExist() diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt index e9cac1e4ea2..f3393042623 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt @@ -729,6 +729,28 @@ class VaultItemListingDataExtensionsTest { ), ) + // SSH keys + assertEquals( + VaultItemListingState.ViewState.NoItems( + header = R.string.save_and_protect_your_data.asText(), + message = R.string.no_items.asText(), + shouldShowAddButton = false, + buttonText = R.string.add_an_item.asText(), + ), + vaultData.toViewState( + itemListingType = VaultItemListingState.ItemListingType.Vault.SshKey, + vaultFilterType = VaultFilterType.AllVaults, + hasMasterPassword = true, + baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl, + isIconLoadingDisabled = false, + autofillSelectionData = null, + fido2CreationData = null, + fido2CredentialAutofillViews = null, + totpData = null, + isPremiumUser = true, + ), + ) + // Other ciphers assertEquals( VaultItemListingState.ViewState.NoItems(