[PR #5928] [MERGED] [PM-26112] Handle Credential Exchange export requests #25537

Closed
opened 2026-04-17 01:12:48 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

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

Base: mainHead: cxf/app/export-special-circumstance


📝 Commits (1)

  • 11cacf9 [PM-26112] Handle Credential Exchange export requests

📊 Changes

13 files changed (+288 additions, -1 deletions)

View changed files

📝 app/src/debug/AndroidManifest.xml (+12 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/MainViewModel.kt (+13 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/SpecialCircumstance.kt (+9 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/util/SpecialCircumstanceExtensions.kt (+10 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreen.kt (+8 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt (+13 -1)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/ExportItemsNavigation.kt (+43 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/selectaccount/SelectAccountNavigation.kt (+42 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/selectaccount/SelectAccountScreen.kt (+15 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/MainViewModelTest.kt (+39 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/util/SpecialCircumstanceExtensionsTest.kt (+53 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreenTest.kt (+12 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt (+19 -0)

📄 Description

🎟️ Tracking

PM-26112

📔 Objective

This commit introduces the ability to handle Credential Exchange export requests.

When a ProviderImportCredentialsRequest is received they will be navigated to the Export Items graph.

It includes the following changes:

  • Added SpecialCircumstance.CredentialExchangeExport to represent the app being launched for
    credential export.
  • Updated RootNavViewModel to navigate to a new RootNavState.CredentialExchangeExport when this
    special circumstance is detected.
  • Created a new exportItemsGraph for managing navigation related to exporting items, starting with
    a SelectAccountScreen (placeholder).
  • Modified MainViewModel to parse ProviderImportCredentialsRequest from the intent and set the
    appropriate special circumstance.
  • Added an intent filter in the debug AndroidManifest.xml to handle
    androidx.identitycredentials.action.IMPORT_CREDENTIALS.

📸 Screenshots

Coming soon!

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/5928 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 9/23/2025 **Status:** ✅ Merged **Merged:** 9/23/2025 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `cxf/app/export-special-circumstance` --- ### 📝 Commits (1) - [`11cacf9`](https://github.com/bitwarden/android/commit/11cacf9c68598a896fedd66c3f010526c35cb62a) [PM-26112] Handle Credential Exchange export requests ### 📊 Changes **13 files changed** (+288 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `app/src/debug/AndroidManifest.xml` (+12 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/MainViewModel.kt` (+13 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/SpecialCircumstance.kt` (+9 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/util/SpecialCircumstanceExtensions.kt` (+10 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreen.kt` (+8 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt` (+13 -1) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/ExportItemsNavigation.kt` (+43 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/selectaccount/SelectAccountNavigation.kt` (+42 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/selectaccount/SelectAccountScreen.kt` (+15 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/MainViewModelTest.kt` (+39 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/util/SpecialCircumstanceExtensionsTest.kt` (+53 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreenTest.kt` (+12 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt` (+19 -0) </details> ### 📄 Description ## 🎟️ Tracking PM-26112 ## 📔 Objective This commit introduces the ability to handle Credential Exchange export requests. When a `ProviderImportCredentialsRequest` is received they will be navigated to the Export Items graph. It includes the following changes: - Added `SpecialCircumstance.CredentialExchangeExport` to represent the app being launched for credential export. - Updated `RootNavViewModel` to navigate to a new `RootNavState.CredentialExchangeExport` when this special circumstance is detected. - Created a new `exportItemsGraph` for managing navigation related to exporting items, starting with a `SelectAccountScreen` (placeholder). - Modified `MainViewModel` to parse `ProviderImportCredentialsRequest` from the intent and set the appropriate special circumstance. - Added an intent filter in the debug `AndroidManifest.xml` to handle `androidx.identitycredentials.action.IMPORT_CREDENTIALS`. ## 📸 Screenshots Coming soon! ## ⏰ 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-17 01:12:48 -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#25537