[PR #6794] [PM-33517] feat: Add Plan row to Settings and premium subscription management #26251

Open
opened 2026-04-17 01:44:19 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6794
Author: @SaintPatrck
Created: 4/14/2026
Status: 🔄 Open

Base: premium-upgrade/PM-33946-dynamic-pricing-implHead: premium-upgrade/PM-33517-settings-premium_bak


📝 Commits (1)

  • 581f032 [PM-33517] feat: Add Plan row to Settings and premium subscription management

📊 Changes

13 files changed (+1184 additions, -45 deletions)

View changed files

📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanNavigation.kt (+19 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt (+237 -5)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanViewModel.kt (+232 -34)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/handlers/PlanHandlers.kt (+25 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsNavigation.kt (+6 -1)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsScreen.kt (+3 -1)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsViewModel.kt (+67 -4)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt (+151 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanViewModelTest.kt (+301 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsScreenTest.kt (+10 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsViewModelTest.kt (+103 -0)
ui/src/main/res/drawable/ic_plan.xml (+19 -0)
📝 ui/src/main/res/values/strings.xml (+11 -0)

📄 Description

🎟️ Tracking

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

📔 Objective

Add a Plan row to the Settings screen and implement premium subscription management for existing premium users.

Stacked on #6793 (PM-33946 dynamic pricing)

Changes

  • Add "Plan" row to Settings screen that navigates to the PlanScreen in Standard (push) mode
  • Extend PlanScreen with a Premium ViewState showing subscription details (billing amount, next renewal date)
  • Add premium user dialogs: cancel confirmation, portal loading, portal error
  • Add premium user actions: ManagePlanClick, CancelPremiumClick, ConfirmCancelClick, portal URL fetching
  • Wire up customer portal navigation via BillingRepository.getPortalUrl()
  • Add ic_plan.xml drawable for the settings row
  • Full test coverage for all new ViewModel logic and Screen composables

🔄 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/6794 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 4/14/2026 **Status:** 🔄 Open **Base:** `premium-upgrade/PM-33946-dynamic-pricing-impl` ← **Head:** `premium-upgrade/PM-33517-settings-premium_bak` --- ### 📝 Commits (1) - [`581f032`](https://github.com/bitwarden/android/commit/581f03269140112d53263a3a9361fd9081fb4a88) [PM-33517] feat: Add Plan row to Settings and premium subscription management ### 📊 Changes **13 files changed** (+1184 additions, -45 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanNavigation.kt` (+19 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt` (+237 -5) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanViewModel.kt` (+232 -34) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/handlers/PlanHandlers.kt` (+25 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsNavigation.kt` (+6 -1) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsScreen.kt` (+3 -1) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsViewModel.kt` (+67 -4) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt` (+151 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanViewModelTest.kt` (+301 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsScreenTest.kt` (+10 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsViewModelTest.kt` (+103 -0) ➕ `ui/src/main/res/drawable/ic_plan.xml` (+19 -0) 📝 `ui/src/main/res/values/strings.xml` (+11 -0) </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-33517 ## 📔 Objective Add a **Plan** row to the Settings screen and implement premium subscription management for existing premium users. **Stacked on #6793** (PM-33946 dynamic pricing) ### Changes - Add "Plan" row to Settings screen that navigates to the PlanScreen in Standard (push) mode - Extend PlanScreen with a `Premium` ViewState showing subscription details (billing amount, next renewal date) - Add premium user dialogs: cancel confirmation, portal loading, portal error - Add premium user actions: ManagePlanClick, CancelPremiumClick, ConfirmCancelClick, portal URL fetching - Wire up customer portal navigation via `BillingRepository.getPortalUrl()` - Add `ic_plan.xml` drawable for the settings row - Full test coverage for all new ViewModel logic and Screen composables --- <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:44:19 -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#26251