[PR #6253] [MERGED] PM-29491: Implement LeaveOrganizationScreen #36936

Closed
opened 2026-04-21 04:01:53 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6253
Author: @SaintPatrck
Created: 12/9/2025
Status: Merged
Merged: 12/11/2025
Merged by: @SaintPatrck

Base: mainHead: PM-29491/leave-organization-screen


📝 Commits (10+)

  • 4e89b35 PM-29491: Implement LeaveOrganizationScreen with vault navigation
  • b86c838 Update Leave Organization screen UI and copy
  • 04551e8 Update warning text in LeaveOrganizationScreenTest
  • c55e102 PM-29491: Fix LeaveOrganizationResult KDoc
  • f1dca99 Exclude LeaveOrganizationNavigation from code coverage
  • feda097 Add back navigation test to LeaveOrganizationScreenTest
  • 01ff435 PM-29491: Use navigation args for organization ID
  • 63903a5 PM-29491: Add organizationName to navigation args
  • 30d052f Merge remote-tracking branch 'refs/remotes/origin/main' into PM-29491/leave-organization-screen
  • e525b82 Update LeaveOrganizationNavigation to use push transitions

📊 Changes

10 files changed (+1136 additions, -1 deletions)

View changed files

📝 app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/LeaveOrganizationResult.kt (+1 -1)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/model/SnackbarRelay.kt (+1 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationNavigation.kt (+82 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationScreen.kt (+232 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationViewModel.kt (+209 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/handlers/LeaveOrganizationHandler.kt (+49 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationScreenTest.kt (+191 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationViewModelTest.kt (+239 -0)
ui/src/main/res/drawable/ill_leave_organization.xml (+127 -0)
📝 ui/src/main/res/values/strings.xml (+5 -0)

📄 Description

🎟️ Tracking

PM-29491

📔 Objective

Implements a new Leave Organization screen that allows users to leave organizations when required by the Personal Ownership policy. The screen follows established MVVM + UDF patterns and provides a confirmation flow with clear messaging about what happens when leaving an organization. Upon successful departure, the user is shown a snackbar notification and navigated to the Vault screen. This implementation includes comprehensive test coverage for both the ViewModel and UI components.

📸 Screenshots

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

🔄 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/6253 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 12/9/2025 **Status:** ✅ Merged **Merged:** 12/11/2025 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `PM-29491/leave-organization-screen` --- ### 📝 Commits (10+) - [`4e89b35`](https://github.com/bitwarden/android/commit/4e89b35377b3ed2dcfb2e13e0d64bc4c2d74b2f4) PM-29491: Implement LeaveOrganizationScreen with vault navigation - [`b86c838`](https://github.com/bitwarden/android/commit/b86c8384763f6739841bfdda9b98fe8caf0197bb) Update Leave Organization screen UI and copy - [`04551e8`](https://github.com/bitwarden/android/commit/04551e8fc100d5270e2e63ecf4fc826c7b6bd351) Update warning text in LeaveOrganizationScreenTest - [`c55e102`](https://github.com/bitwarden/android/commit/c55e10213edaa2d6a879600103be1100054af964) PM-29491: Fix LeaveOrganizationResult KDoc - [`f1dca99`](https://github.com/bitwarden/android/commit/f1dca996d11ce70f977f99c56138df3c391265de) Exclude LeaveOrganizationNavigation from code coverage - [`feda097`](https://github.com/bitwarden/android/commit/feda0971c7ca8921f8a6412f86eaeabc42fa17a9) Add back navigation test to LeaveOrganizationScreenTest - [`01ff435`](https://github.com/bitwarden/android/commit/01ff4359a2534a2886b0e5d8a0f965c468d99931) PM-29491: Use navigation args for organization ID - [`63903a5`](https://github.com/bitwarden/android/commit/63903a5d73915a1478cd39a017568715d9a32e92) PM-29491: Add organizationName to navigation args - [`30d052f`](https://github.com/bitwarden/android/commit/30d052f6f80a8e0b0718e1b115b98244a5d82228) Merge remote-tracking branch 'refs/remotes/origin/main' into PM-29491/leave-organization-screen - [`e525b82`](https://github.com/bitwarden/android/commit/e525b82421eb95d5a81c8e399e736721b44dc5a1) Update LeaveOrganizationNavigation to use push transitions ### 📊 Changes **10 files changed** (+1136 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/LeaveOrganizationResult.kt` (+1 -1) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/model/SnackbarRelay.kt` (+1 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationNavigation.kt` (+82 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationScreen.kt` (+232 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationViewModel.kt` (+209 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/handlers/LeaveOrganizationHandler.kt` (+49 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationScreenTest.kt` (+191 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/leaveorganization/LeaveOrganizationViewModelTest.kt` (+239 -0) ➕ `ui/src/main/res/drawable/ill_leave_organization.xml` (+127 -0) 📝 `ui/src/main/res/values/strings.xml` (+5 -0) </details> ### 📄 Description ## 🎟️ Tracking PM-29491 ## 📔 Objective Implements a new Leave Organization screen that allows users to leave organizations when required by the Personal Ownership policy. The screen follows established MVVM + UDF patterns and provides a confirmation flow with clear messaging about what happens when leaving an organization. Upon successful departure, the user is shown a snackbar notification and navigated to the Vault screen. This implementation includes comprehensive test coverage for both the ViewModel and UI components. ## 📸 Screenshots <img width="365" src="https://github.com/user-attachments/assets/a29b898c-c0b4-40fa-b383-51efccdace8a" /> ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Protected functional changes with optionality (feature flags) - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team ## 🦮 Reviewer guidelines <!-- Suggested interactions but feel free to use (or not) as you desire! --> - 👍 (`:+1:`) or similar for great changes - 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info - ❓ (`:question:`) for questions - 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion - 🎨 (`:art:`) for suggestions / improvements - ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention - 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt - ⛏ (`:pick:`) for minor or nitpick changes --- <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-21 04:01:53 -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#36936