[PR #6692] [MERGED] [PM-33513] feat: Add checkout callback deep link handling #26170

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

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6692
Author: @SaintPatrck
Created: 3/18/2026
Status: Merged
Merged: 3/20/2026
Merged by: @SaintPatrck

Base: mainHead: premium-upgrade/PM-33513-checkout-deep-link


📝 Commits (1)

  • a4a52c7 [PM-33513] feat: Add checkout callback deep link handling

📊 Changes

6 files changed (+86 additions, -0 deletions)

View changed files

📝 app/src/main/kotlin/com/x8bit/bitwarden/MainViewModel.kt (+7 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/SpecialCircumstance.kt (+7 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt (+2 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/util/ShortcutUtils.kt (+7 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/MainViewModelTest.kt (+39 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/util/ShortcutUtilsTest.kt (+24 -0)

📄 Description

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-33513

📔 Objective

Add deep link handling for Stripe checkout callbacks so the app can detect when a user returns from a Stripe payment flow.

  • Add isPremiumCheckoutCallback Intent extension property in ShortcutUtils.kt for the bitwarden://premium-upgrade-callback deep link
  • Add PremiumCheckoutResult data object to the SpecialCircumstance sealed class
  • Handle checkout callback URI in MainViewModel.handleIntent(), setting the special circumstance
  • Add exhaustiveness branches in RootNavViewModel.kt for the new sealed class member
  • Unit tests for intent parsing (ShortcutUtilsTest) and ViewModel handling (MainViewModelTest)

🔄 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/6692 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 3/18/2026 **Status:** ✅ Merged **Merged:** 3/20/2026 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `premium-upgrade/PM-33513-checkout-deep-link` --- ### 📝 Commits (1) - [`a4a52c7`](https://github.com/bitwarden/android/commit/a4a52c72371fa603b1c636d0ea64bdfa980a57cb) [PM-33513] feat: Add checkout callback deep link handling ### 📊 Changes **6 files changed** (+86 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/kotlin/com/x8bit/bitwarden/MainViewModel.kt` (+7 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/SpecialCircumstance.kt` (+7 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt` (+2 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/util/ShortcutUtils.kt` (+7 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/MainViewModelTest.kt` (+39 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/util/ShortcutUtilsTest.kt` (+24 -0) </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-33513 ## 📔 Objective Add deep link handling for Stripe checkout callbacks so the app can detect when a user returns from a Stripe payment flow. - Add `isPremiumCheckoutCallback` Intent extension property in `ShortcutUtils.kt` for the `bitwarden://premium-upgrade-callback` deep link - Add `PremiumCheckoutResult` data object to the `SpecialCircumstance` sealed class - Handle checkout callback URI in `MainViewModel.handleIntent()`, setting the special circumstance - Add exhaustiveness branches in `RootNavViewModel.kt` for the new sealed class member - Unit tests for intent parsing (`ShortcutUtilsTest`) and ViewModel handling (`MainViewModelTest`) --- <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:41:32 -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#26170