[PR #2714] [MERGED] [PM-3510] Implement Account Security Settings view #40853

Closed
opened 2026-04-23 19:40:05 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/2714
Author: @fedemkr
Created: 8/23/2023
Status: Merged
Merged: 8/25/2023
Merged by: @fedemkr

Base: vault/pm-2658/feature-settings-reorganizationHead: vault/pm-3510/settings-security


📝 Commits (4)

  • 198e090 PM-3510 Implemented Security settings view
  • 3f79ae4 PM-3510 Fix format
  • 2240cab Merge branch 'vault/pm-2658/feature-settings-reorganization' into vault/pm-3510/settings-security
  • 2ae65f4 PM-3510 Added empty placeholder to pending login requests and also improved a11y on security settings view.

📊 Changes

35 files changed (+1202 additions, -56 deletions)

View changed files

📝 src/Android/Android.csproj (+8 -0)
📝 src/Android/MainApplication.cs (+2 -0)
src/Android/Resources/drawable/empty_login_requests.xml (+41 -0)
src/Android/Resources/drawable/empty_login_requests_dark.xml (+41 -0)
📝 src/App/Controls/ExternalLinkItemView.xaml (+1 -1)
📝 src/App/Pages/BaseViewModel.cs (+13 -0)
📝 src/App/Pages/PickerViewModel.cs (+28 -17)
📝 src/App/Pages/Settings/LoginPasswordlessRequestsListPage.xaml (+34 -12)
📝 src/App/Pages/Settings/LoginPasswordlessRequestsListPage.xaml.cs (+21 -0)
📝 src/App/Pages/Settings/LoginPasswordlessRequestsListViewModel.cs (+4 -5)
📝 src/App/Pages/Settings/OtherSettingsPage.xaml.cs (+1 -1)
📝 src/App/Pages/Settings/OtherSettingsPageViewModel.cs (+1 -3)
📝 src/App/Pages/Settings/SecuritySettingsPage.xaml (+178 -1)
📝 src/App/Pages/Settings/SecuritySettingsPage.xaml.cs (+28 -3)
📝 src/App/Pages/Settings/SecuritySettingsPageViewModel.cs (+533 -4)
📝 src/App/Resources/AppResources.Designer.cs (+82 -1)
📝 src/App/Resources/AppResources.resx (+29 -1)
📝 src/App/Services/BaseBiometricService.cs (+17 -0)
src/App/Services/UserPinService.cs (+38 -0)
📝 src/App/Styles/ControlTemplates.xaml (+1 -0)

...and 15 more files

📄 Description

Type of change

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

Objective

Implement account security settings view.

Code changes

  • BaseViewModel: Provide with a quick method to check connection.
  • PickerViewModel: Improved initialization and now someone can Select an item without prompting and also checks that the selected value is different than the previous one to perform actions.
  • SecuritySettingsPage/ViewModel: Implemented new view
  • UserPinService: New service created to handle user Pin related logic so we don't clutter the VMs
  • LoginPasswordlessRequestListPage/ViewModel: Added empty placeholder and logic to show/hide it based on the list items.
  • A11yExtensions: Added extension method to verbalize a TimeSpan useful for screen readers, like on custom session timeout.

Screenshots

Account Security iOS Light

Account Security iOS Light

Account Security iOS Light 2

Account Security iOS Light 2

Account Security iOS Dark

Account Security iOS Light

Account security iOS Dark 2

Account security iOS Dark 2

Account Security Android Light

Account Security Android Light

Account Security Android LIght 2

Account Security Android LIght 2

Account Security Android Dark

Account Security Android Dark

Account Security Android Dark 2

Account Security Android Dark 2

Empty pending login requests iOS

Empty pending login requests iOS

Empty pending login requests iOS Dark

Empty pending login requests iOS Dark

Before you submit

  • Please check for formatting errors (dotnet format --verify-no-changes) (required)
  • Please add unit tests where it makes sense to do so (encouraged but not required)
  • If this change requires a documentation update - notify the documentation team
  • If 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/2714 **Author:** [@fedemkr](https://github.com/fedemkr) **Created:** 8/23/2023 **Status:** ✅ Merged **Merged:** 8/25/2023 **Merged by:** [@fedemkr](https://github.com/fedemkr) **Base:** `vault/pm-2658/feature-settings-reorganization` ← **Head:** `vault/pm-3510/settings-security` --- ### 📝 Commits (4) - [`198e090`](https://github.com/bitwarden/android/commit/198e0905023a9c8335076a2af022d0799a00fee9) PM-3510 Implemented Security settings view - [`3f79ae4`](https://github.com/bitwarden/android/commit/3f79ae48d2bff41fc606331ea9f5e32ab884a9bd) PM-3510 Fix format - [`2240cab`](https://github.com/bitwarden/android/commit/2240cab5f0565fdb8eb6c7afa373b9b26d3d4d97) Merge branch 'vault/pm-2658/feature-settings-reorganization' into vault/pm-3510/settings-security - [`2ae65f4`](https://github.com/bitwarden/android/commit/2ae65f44d6191aa4102fa6d7c4a044b0b5544794) PM-3510 Added empty placeholder to pending login requests and also improved a11y on security settings view. ### 📊 Changes **35 files changed** (+1202 additions, -56 deletions) <details> <summary>View changed files</summary> 📝 `src/Android/Android.csproj` (+8 -0) 📝 `src/Android/MainApplication.cs` (+2 -0) ➕ `src/Android/Resources/drawable/empty_login_requests.xml` (+41 -0) ➕ `src/Android/Resources/drawable/empty_login_requests_dark.xml` (+41 -0) 📝 `src/App/Controls/ExternalLinkItemView.xaml` (+1 -1) 📝 `src/App/Pages/BaseViewModel.cs` (+13 -0) 📝 `src/App/Pages/PickerViewModel.cs` (+28 -17) 📝 `src/App/Pages/Settings/LoginPasswordlessRequestsListPage.xaml` (+34 -12) 📝 `src/App/Pages/Settings/LoginPasswordlessRequestsListPage.xaml.cs` (+21 -0) 📝 `src/App/Pages/Settings/LoginPasswordlessRequestsListViewModel.cs` (+4 -5) 📝 `src/App/Pages/Settings/OtherSettingsPage.xaml.cs` (+1 -1) 📝 `src/App/Pages/Settings/OtherSettingsPageViewModel.cs` (+1 -3) 📝 `src/App/Pages/Settings/SecuritySettingsPage.xaml` (+178 -1) 📝 `src/App/Pages/Settings/SecuritySettingsPage.xaml.cs` (+28 -3) 📝 `src/App/Pages/Settings/SecuritySettingsPageViewModel.cs` (+533 -4) 📝 `src/App/Resources/AppResources.Designer.cs` (+82 -1) 📝 `src/App/Resources/AppResources.resx` (+29 -1) 📝 `src/App/Services/BaseBiometricService.cs` (+17 -0) ➕ `src/App/Services/UserPinService.cs` (+38 -0) 📝 `src/App/Styles/ControlTemplates.xaml` (+1 -0) _...and 15 more files_ </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--> Implement account security settings view. ## 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--> * **BaseViewModel:** Provide with a quick method to check connection. * **PickerViewModel:** Improved initialization and now someone can `Select` an item without prompting and also checks that the selected value is different than the previous one to perform actions. * **SecuritySettingsPage/ViewModel:** Implemented new view * **UserPinService:** New service created to handle user Pin related logic so we don't clutter the VMs * **LoginPasswordlessRequestListPage/ViewModel:** Added empty placeholder and logic to show/hide it based on the list items. * **A11yExtensions:** Added extension method to verbalize a `TimeSpan` useful for screen readers, like on custom session timeout. ## Screenshots <!--Required for any UI changes. Delete if not applicable--> ### Account Security iOS Light <img width="314" alt="Account Security iOS Light" src="https://github.com/bitwarden/mobile/assets/15682323/17cf64e5-845f-4eff-b75f-17333f191517"> ### Account Security iOS Light 2 <img width="314" alt="Account Security iOS Light 2" src="https://github.com/bitwarden/mobile/assets/15682323/446b579c-c872-4dcd-a610-ebbe112fcfd9"> ### Account Security iOS Dark <img width="314" alt="Account Security iOS Light" src="https://github.com/bitwarden/mobile/assets/15682323/8f18e4b5-d059-4e84-b10d-cdcb586bcb7b"> ### Account security iOS Dark 2 <img width="314" alt="Account security iOS Dark 2" src="https://github.com/bitwarden/mobile/assets/15682323/d83b39dd-3115-49a3-9108-848e97b1c7d7"> ### Account Security Android Light <img width="314" alt="Account Security Android Light" src="https://github.com/bitwarden/mobile/assets/15682323/2766bd85-049b-4dfb-92fe-5def9138839c"> ### Account Security Android LIght 2 <img width="314" alt="Account Security Android LIght 2" src="https://github.com/bitwarden/mobile/assets/15682323/bd70356f-3dd1-4860-a910-f64057521601"> ### Account Security Android Dark <img width="314" alt="Account Security Android Dark" src="https://github.com/bitwarden/mobile/assets/15682323/628aad5b-5705-4d71-87ff-77ea706f9b6d"> ### Account Security Android Dark 2 <img width="314" alt="Account Security Android Dark 2" src="https://github.com/bitwarden/mobile/assets/15682323/6a045908-8dee-44af-96a9-55ac886bfd13"> ### Empty pending login requests iOS <img width="314" alt="Empty pending login requests iOS" src="https://github.com/bitwarden/mobile/assets/15682323/8828ec6c-ef3f-4a79-a93b-409c56dc6d2e"> ### Empty pending login requests iOS Dark <img width="314" alt="Empty pending login requests iOS Dark" src="https://github.com/bitwarden/mobile/assets/15682323/fa1a156e-1a52-4b28-b5d2-4ce3fb8230d7"> ## Before you submit - Please check for formatting errors (`dotnet format --verify-no-changes`) (required) - Please add **unit tests** where it makes sense to do so (encouraged but not required) - If this change requires a **documentation update** - notify the documentation team - If 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-04-23 19:40:05 -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#40853