From a9048c6393dc82bcba5290874145590268956cf3 Mon Sep 17 00:00:00 2001
From: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com>
Date: Wed, 20 May 2026 15:03:13 -0400
Subject: [PATCH] [PM-37810] fix: Update cancel premium confirmation dialog
(#6953)
---
.../ui/platform/feature/premium/plan/PlanScreen.kt | 9 +++++----
.../ui/platform/feature/premium/plan/PlanScreenTest.kt | 8 ++++----
ui/src/main/res/values/strings.xml | 4 ++--
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
index ac0951c180..20946f07d6 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreen.kt
@@ -211,13 +211,14 @@ private fun PlanDialogs(
is PlanState.DialogState.CancelConfirmation -> {
BitwardenTwoButtonDialog(
- title = stringResource(id = BitwardenString.cancel_premium),
+ title = stringResource(id = BitwardenString.continue_to_stripe),
message = stringResource(
- id = BitwardenString.cancel_premium_confirmation,
+ id = BitwardenString
+ .youll_be_taken_to_stripe_to_manage_your_subscription_cancellation,
dialogState.nextRenewalDate,
),
- confirmButtonText = stringResource(id = BitwardenString.cancel_now),
- dismissButtonText = stringResource(id = BitwardenString.close),
+ confirmButtonText = stringResource(id = BitwardenString.continue_text),
+ dismissButtonText = stringResource(id = BitwardenString.cancel),
onConfirmClick = handlers.onConfirmCancelClick,
onDismissClick = handlers.onDismissCancelConfirmation,
onDismissRequest = handlers.onDismissCancelConfirmation,
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
index 5ea6e6e569..7bf9127644 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/premium/plan/PlanScreenTest.kt
@@ -1043,12 +1043,12 @@ class PlanScreenTest : BitwardenComposeTest() {
}
composeTestRule
- .onAllNodesWithText("Cancel Premium")
+ .onAllNodesWithText("Continue to Stripe?")
.filterToOne(hasAnyAncestor(isDialog()))
.assertExists()
composeTestRule
.onAllNodesWithText(
- "You’ll continue to have Premium access until April 2, 2026.",
+ "You’ll be taken to Stripe to manage your subscription cancellation.",
)
.filterToOne(hasAnyAncestor(isDialog()))
.assertExists()
@@ -1065,7 +1065,7 @@ class PlanScreenTest : BitwardenComposeTest() {
)
}
composeTestRule
- .onAllNodesWithText("Cancel now")
+ .onAllNodesWithText("Continue")
.filterToOne(hasAnyAncestor(isDialog()))
.performClick()
verify { viewModel.trySendAction(PlanAction.ConfirmCancelClick) }
@@ -1082,7 +1082,7 @@ class PlanScreenTest : BitwardenComposeTest() {
)
}
composeTestRule
- .onAllNodesWithText("Close")
+ .onAllNodesWithText("Cancel")
.filterToOne(hasAnyAncestor(isDialog()))
.performClick()
verify { viewModel.trySendAction(PlanAction.DismissCancelConfirmation) }
diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml
index 21df3e1544..3baca079ce 100644
--- a/ui/src/main/res/values/strings.xml
+++ b/ui/src/main/res/values/strings.xml
@@ -1304,8 +1304,6 @@ Do you want to switch to this account?
Manage plan
Manage your subscription plan in the Bitwarden web app.
Cancel Premium
- Cancel now
- You’ll continue to have Premium access until %1$s.
Active
Canceled
Past due
@@ -1393,4 +1391,6 @@ Do you want to switch to this account?
Bitwarden needs local network access to sync with your server. Without this permission, the app won’t be able to connect.
Without this permission, Bitwarden won’t be able to connect and sync with your server. You can enable this in your device settings.
Your request was interrupted because the app needs local network access. You can enable this in your device settings.
+ Continue to Stripe?
+ You’ll be taken to Stripe to manage your subscription cancellation.