[PR #1928] [MERGED] [SG-79] Mobile Vault Filter #51442

Closed
opened 2026-05-01 15:08:26 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/1928
Author: @mpbw2
Created: 5/27/2022
Status: Merged
Merged: 5/31/2022
Merged by: @mpbw2

Base: masterHead: feature-vaultfilter


📝 Commits (5)

📊 Changes

13 files changed (+261 additions, -25 deletions)

View changed files

📝 src/App/Controls/CipherViewCell/CipherViewCell.xaml (+1 -1)
📝 src/App/Controls/SendViewCell/SendViewCell.xaml (+1 -1)
📝 src/App/Pages/TabsPage.cs (+34 -1)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml (+25 -0)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml.cs (+6 -2)
📝 src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs (+132 -16)
📝 src/App/Resources/AppResources.Designer.cs (+30 -0)
📝 src/App/Resources/AppResources.resx (+15 -0)
📝 src/Core/Abstractions/IFolderService.cs (+1 -1)
📝 src/Core/Abstractions/IPolicyService.cs (+1 -0)
📝 src/Core/BitwardenIcons.cs (+1 -0)
📝 src/Core/Services/FolderService.cs (+5 -2)
📝 src/Core/Services/PolicyService.cs (+9 -1)

📄 Description

Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Added the ability to filter vault ciphers/folders/collections by all/personal/organization when specific conditions are met (account is part of an organization(s) & the Personal Ownership Policy does not apply)

Code changes

  • GroupingsPage.xaml/xaml.cs/ViewModel.cs: Added UI & logic for displaying & handling vault filter options & selection
  • TabsPage.cs: Added UpdateVaultButtonTitleAsync() method to change vault button title to Vaults or My Vault based on filter availability. Triggered on page appearing as well as sync completion via BroadcasterService
  • AppHelpers.cs: Added IsShowingVaultFilterAsync() convenience method
  • FolderService.cs: Added support for passing in existing FolderView list to GetAllNestedAsync method to support required flexibility during filter selection

Screenshots

Example 1: Filter conditions apply and selection UI is displayed. Page and tab vault icon title changed to "Vaults" to prevent confusion with "My Vault" selection.

Screen Shot 2022-05-27 at 12 28 29 PM

Example 2: Specific organization selected by user. Page and tab vault icon title changed to "Vaults" to prevent confusion with "My Vault" selection.

Screen Shot 2022-05-27 at 12 28 56 PM

Example 3: Filter conditions do not apply to this user so filter selector row is hidden. Page and tab vault icon title remains "My Vault".

Screen Shot 2022-05-27 at 12 30 33 PM

Before you submit

  • I have added unit tests where it makes sense to do so (encouraged but not required)
  • This change requires a documentation update (notify the documentation team)
  • This change has particular deployment requirements (notify the DevOps team)

🔄 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/1928 **Author:** [@mpbw2](https://github.com/mpbw2) **Created:** 5/27/2022 **Status:** ✅ Merged **Merged:** 5/31/2022 **Merged by:** [@mpbw2](https://github.com/mpbw2) **Base:** `master` ← **Head:** `feature-vaultfilter` --- ### 📝 Commits (5) - [`00be8d9`](https://github.com/bitwarden/android/commit/00be8d96d8c821f76c0f080cf32720da3cc48d08) [SG-79] Vault Filter - [`32f4b35`](https://github.com/bitwarden/android/commit/32f4b35093d595801fbbd3937b0a3b055b105e4f) Update vault button text after sync - [`5a35fc6`](https://github.com/bitwarden/android/commit/5a35fc6371863f59d9e873a71800df8f1802878a) formatting - [`0a7d8e4`](https://github.com/bitwarden/android/commit/0a7d8e468fc7f77482d4139e2c990f19f39ed9bc) cleanup - [`bdbaf95`](https://github.com/bitwarden/android/commit/bdbaf95a9de3397088e86bd876d534efff792467) cleanup ### 📊 Changes **13 files changed** (+261 additions, -25 deletions) <details> <summary>View changed files</summary> 📝 `src/App/Controls/CipherViewCell/CipherViewCell.xaml` (+1 -1) 📝 `src/App/Controls/SendViewCell/SendViewCell.xaml` (+1 -1) 📝 `src/App/Pages/TabsPage.cs` (+34 -1) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml` (+25 -0) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPage.xaml.cs` (+6 -2) 📝 `src/App/Pages/Vault/GroupingsPage/GroupingsPageViewModel.cs` (+132 -16) 📝 `src/App/Resources/AppResources.Designer.cs` (+30 -0) 📝 `src/App/Resources/AppResources.resx` (+15 -0) 📝 `src/Core/Abstractions/IFolderService.cs` (+1 -1) 📝 `src/Core/Abstractions/IPolicyService.cs` (+1 -0) 📝 `src/Core/BitwardenIcons.cs` (+1 -0) 📝 `src/Core/Services/FolderService.cs` (+5 -2) 📝 `src/Core/Services/PolicyService.cs` (+9 -1) </details> ### 📄 Description ## Type of change - [ ] Bug fix - [X] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective <!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding--> Added the ability to filter vault ciphers/folders/collections by all/personal/organization when specific conditions are met (account is part of an organization(s) & the Personal Ownership Policy does _not_ apply) ## Code changes <!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes--> <!--Also refer to any related changes or PRs in other repositories--> * **GroupingsPage.xaml/xaml.cs/ViewModel.cs:** Added UI & logic for displaying & handling vault filter options & selection * **TabsPage.cs:** Added `UpdateVaultButtonTitleAsync()` method to change vault button title to `Vaults` or `My Vault` based on filter availability. Triggered on page appearing as well as sync completion via `BroadcasterService` * **AppHelpers.cs:** Added `IsShowingVaultFilterAsync()` convenience method * **FolderService.cs:** Added support for passing in existing `FolderView` list to `GetAllNestedAsync` method to support required flexibility during filter selection ## Screenshots <!--Required for any UI changes. Delete if not applicable--> Example 1: Filter conditions apply and selection UI is displayed. Page and tab vault icon title changed to "Vaults" to prevent confusion with "My Vault" selection. <img width="818" alt="Screen Shot 2022-05-27 at 12 28 29 PM" src="https://user-images.githubusercontent.com/59324545/170740871-4ec303fc-b252-4658-959b-1a01f5177c4f.png"> Example 2: Specific organization selected by user. Page and tab vault icon title changed to "Vaults" to prevent confusion with "My Vault" selection. <img width="817" alt="Screen Shot 2022-05-27 at 12 28 56 PM" src="https://user-images.githubusercontent.com/59324545/170740880-96ab1fce-e35c-4ca6-8966-e8f1d04c2421.png"> Example 3: Filter conditions do _not_ apply to this user so filter selector row is hidden. Page and tab vault icon title remains "My Vault". <img width="819" alt="Screen Shot 2022-05-27 at 12 30 33 PM" src="https://user-images.githubusercontent.com/59324545/170740897-e40bebfa-8629-4171-b6c8-b594134e4e14.png"> ## Before you submit - [ ] I have added **unit tests** where it makes sense to do so (encouraged but not required) - [X] This change requires a **documentation update** (notify the documentation team) - [ ] This change has particular **deployment requirements** (notify the DevOps team) --- <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 15:08:26 -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#51442