[PR #6717] feat: Add collection management to Android #12957

Open
opened 2026-04-11 03:54:40 -05:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/bitwarden/android/pull/6717

State: open
Merged: No


Summary

  • Add full CRUD support for managing collections on Android via Settings > Vault > Collections
  • Collections are organization-scoped vault items available on paid plans
  • Network layer: CollectionsApi, CollectionService with create/update/delete/get endpoints
  • Data layer: CollectionManager with encrypt → API → disk → decrypt flow
  • Permission model: expanded with collection-specific permission fields and role-based checks matching web client logic
  • UI: CollectionsScreen (list with org subtitles, permission-gated FAB), CollectionAddEditScreen (name field, save, delete)
  • Creating user automatically gets manage access on new collections
  • Update requests preserve existing group/user access permissions

Test plan

  • Log in with account that has a paid organization
  • Navigate to Settings > Vault > Collections
  • Verify FAB is visible for Owner/Admin roles
  • Create a new collection and verify snackbar confirmation
  • Move an item to the new collection (verify no permission error)
  • Edit a collection name and verify save works
  • Delete a collection and verify confirmation dialog and removal
  • Verify FAB is hidden for users without create permission
  • Verify / character is rejected in collection name

Notes

  • SDK encryptCollection requires a local SDK build from sdk-internal with collection encryption support (not yet in published SDK)
  • Commit 27eab557 adapts to local SDK API changes for development; will need adjustment when official SDK is bumped
  • Requirements doc at docs/COLLECTIONS_REQUIREMENTS.md
  • Implementation plan at .claude/outputs/plans/COLLECTION-MANAGEMENT-PLAN.md
**Original Pull Request:** https://github.com/bitwarden/android/pull/6717 **State:** open **Merged:** No --- ## Summary - Add full CRUD support for managing collections on Android via Settings > Vault > Collections - Collections are organization-scoped vault items available on paid plans - Network layer: CollectionsApi, CollectionService with create/update/delete/get endpoints - Data layer: CollectionManager with encrypt → API → disk → decrypt flow - Permission model: expanded with collection-specific permission fields and role-based checks matching web client logic - UI: CollectionsScreen (list with org subtitles, permission-gated FAB), CollectionAddEditScreen (name field, save, delete) - Creating user automatically gets manage access on new collections - Update requests preserve existing group/user access permissions ## Test plan - [ ] Log in with account that has a paid organization - [ ] Navigate to Settings > Vault > Collections - [ ] Verify FAB is visible for Owner/Admin roles - [ ] Create a new collection and verify snackbar confirmation - [ ] Move an item to the new collection (verify no permission error) - [ ] Edit a collection name and verify save works - [ ] Delete a collection and verify confirmation dialog and removal - [ ] Verify FAB is hidden for users without create permission - [ ] Verify `/` character is rejected in collection name ## Notes - SDK `encryptCollection` requires a local SDK build from `sdk-internal` with collection encryption support (not yet in published SDK) - Commit `27eab557` adapts to local SDK API changes for development; will need adjustment when official SDK is bumped - Requirements doc at `docs/COLLECTIONS_REQUIREMENTS.md` - Implementation plan at `.claude/outputs/plans/COLLECTION-MANAGEMENT-PLAN.md`
GiteaMirror added the pull-request label 2026-04-11 03:54:40 -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#12957