[PM-32806] feat: View Passport item type#6853
Conversation
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR wires up the Passport View screen behind the Code Review DetailsNo new findings beyond the existing review threads. The previously flagged DEBT items (regression test for the |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6853 +/- ##
==========================================
+ Coverage 85.99% 86.23% +0.24%
==========================================
Files 985 859 -126
Lines 64067 62074 -1993
Branches 9047 9017 -30
==========================================
- Hits 55094 53531 -1563
+ Misses 5861 5445 -416
+ Partials 3112 3098 -14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
7e3c779 to
1bc6a61
Compare
937920a to
f3e841c
Compare
f3e841c to
937920a
Compare
Render saved Passports with their full Figma-spec field set, including Sex, Birth place, and National identification number — previously these were dropped on read despite being persisted to the server. The Passport number and National identification number surface behind reveal toggles backed by rememberSaveable so the visibility decision survives process death. Kotlin state and network models rename surname/givenName to lastName/firstName for symmetry with the License precedent and the visible UI labels; @SerialName preserves the server wire contract.
937920a to
c8293f0
Compare
The server (`CipherPassportData`) and SDK (`PassportView`) both use `surname` / `givenName`. The Figma "First name" / "Last name" labeling is a UI-layer concern and lives in the string resources, not in the Kotlin field names.
c6f3946 to
cafc904
Compare
| @@ -0,0 +1,24 @@ | |||
| <!-- | |||
| ~ Copyright (C) 2026 The Android Open Source Project | |||
There was a problem hiding this comment.
Shouldn't we get this from our designers?
There was a problem hiding this comment.
😕 Not sure if this was present in the original SVG, or if Android Studio added it when converting to a vector asset. Weird.
- Wire `ic_passport` across the cipher-type icon mappings so the Passport surfaces no longer borrow `ic_note`. - Add `VaultItemScreenTest` coverage for the new Passport view: all-fields rendering, per-field visibility, and copy-button → action dispatch. - Add Passport branches to both `CipherViewExtensions` (item + add/edit) toViewState test suites. - Add a Compose preview for `VaultItemPassportContent`.
cafc904 to
e33e9ef
Compare
🎟️ Tracking
📔 Objective
Add the View screen for the Passport item type, gated behind
pm-32009-new-item-types.📸 Screenshots