[PR #6854] [PM-34123] feat: Update New item menu with item type selection screen #55138

Open
opened 2026-05-01 21:05:56 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6854
Author: @SaintPatrck
Created: 4/29/2026
Status: 🔄 Open

Base: new-item-types/PM-32806_passportHead: new-item-types/PM-34123_new-item-menu


📝 Commits (1)

  • 8386162 PM-34123 feat: Update New item menu with item type selection screen

📊 Changes

10 files changed (+456 additions, -17 deletions)

View changed files

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionNavigation.kt (+36 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionScreen.kt (+115 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionViewModel.kt (+152 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultGraphNavigation.kt (+18 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNavigation.kt (+2 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt (+3 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt (+16 -3)
app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionViewModelTest.kt (+72 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreenTest.kt (+8 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt (+34 -14)

📄 Description

🎟️ Tracking

PM-34123 — fourth Android Story under epic PM-32009 (New Item Types).

Stacked on #6853 (PM-32806 Passport)#6852 (PM-32808 DL)#6851 (PM-32810 Bank Account). Review and merge order: PM-32810 → PM-32808 → PM-32806 → PM-34123 → PM-35396.

📔 Objective

Replaces the existing "New" dropdown menu in the vault with a dedicated ItemTypeSelectionScreen when the pm-32009-new-item-types feature flag is enabled. The new screen lists all eight cipher types (Login, Card, Identity, Note, SSH Key, Bank Account, Driver's License, Passport) with a tap target per type leading into the appropriate AddEdit flow.

The existing dropdown (five legacy types) remains the only path when the flag is OFF, preserving production behavior. The selection screen is unreachable while the flag is disabled.

This brings Android in line with Web, Desktop, and Browser, which have already replaced their "New" dropdowns with dedicated selection surfaces — the dropdown becomes too tall once the eight types are added.

Behavior

  • Flag ON: tapping "New" emits VaultEvent.NavigateToItemTypeSelectionItemTypeSelectionScreen → AddEdit screen for the selected type.
  • Flag OFF: tapping "New" continues to open the legacy dropdown menu with the original five types only.

📸 Screenshots

UI screenshots will be added before this PR is moved out of draft.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/6854 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 4/29/2026 **Status:** 🔄 Open **Base:** `new-item-types/PM-32806_passport` ← **Head:** `new-item-types/PM-34123_new-item-menu` --- ### 📝 Commits (1) - [`8386162`](https://github.com/bitwarden/android/commit/8386162fee69f0b315e4fd75ca1b2fff63861e19) [PM-34123] feat: Update New item menu with item type selection screen ### 📊 Changes **10 files changed** (+456 additions, -17 deletions) <details> <summary>View changed files</summary> ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionNavigation.kt` (+36 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionScreen.kt` (+115 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionViewModel.kt` (+152 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultGraphNavigation.kt` (+18 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNavigation.kt` (+2 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt` (+3 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt` (+16 -3) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemtypeselection/ItemTypeSelectionViewModelTest.kt` (+72 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreenTest.kt` (+8 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt` (+34 -14) </details> ### 📄 Description ## 🎟️ Tracking [PM-34123](https://bitwarden.atlassian.net/browse/PM-34123) — fourth Android Story under epic [PM-32009](https://bitwarden.atlassian.net/browse/PM-32009) (New Item Types). > Stacked on [#6853 (PM-32806 Passport)](https://github.com/bitwarden/android/pull/6853) → [#6852 (PM-32808 DL)](https://github.com/bitwarden/android/pull/6852) → [#6851 (PM-32810 Bank Account)](https://github.com/bitwarden/android/pull/6851). Review and merge order: PM-32810 → PM-32808 → PM-32806 → **PM-34123** → PM-35396. ## 📔 Objective Replaces the existing "New" dropdown menu in the vault with a dedicated `ItemTypeSelectionScreen` when the `pm-32009-new-item-types` feature flag is enabled. The new screen lists all eight cipher types (Login, Card, Identity, Note, SSH Key, Bank Account, Driver's License, Passport) with a tap target per type leading into the appropriate AddEdit flow. The existing dropdown (five legacy types) remains the only path when the flag is OFF, preserving production behavior. The selection screen is unreachable while the flag is disabled. This brings Android in line with Web, Desktop, and Browser, which have already replaced their "New" dropdowns with dedicated selection surfaces — the dropdown becomes too tall once the eight types are added. ## Behavior - **Flag ON**: tapping "New" emits `VaultEvent.NavigateToItemTypeSelection` → `ItemTypeSelectionScreen` → AddEdit screen for the selected type. - **Flag OFF**: tapping "New" continues to open the legacy dropdown menu with the original five types only. ## 📸 Screenshots UI screenshots will be added before this PR is moved out of draft. [PM-34123]: https://bitwarden.atlassian.net/browse/PM-34123?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [PM-32009]: https://bitwarden.atlassian.net/browse/PM-32009?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-01 21:05:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#55138