Improve account delete flow for subscribed users

This commit is contained in:
Phillip Thelen 2022-07-28 09:57:19 +02:00
parent b1d5cccb77
commit 9b0ecc914e
2 changed files with 14 additions and 0 deletions

View file

@ -1231,4 +1231,7 @@
<string name="avatar_hair_style_customization">Avatar Hair Style Customization</string>
<string name="display">Display</string>
<string name="facial_hair_notes">This set includes all beards and mustaches</string>
<string name="unable_to_delete">Unable to delete</string>
<string name="delete_account_subscription_active">You can\'t delete your account while you have an active subscription. Please cancel the subscription first.</string>
<string name="go_to_subscription">Go to subscription</string>
</resources>

View file

@ -20,6 +20,8 @@ import com.habitrpg.android.habitica.HabiticaBaseApplication
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.data.ApiClient
import com.habitrpg.android.habitica.extensions.addCancelButton
import com.habitrpg.android.habitica.extensions.addCloseButton
import com.habitrpg.android.habitica.helpers.MainNavigationController
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.ui.activities.FixCharacterValuesActivity
@ -404,6 +406,15 @@ class AccountPreferenceFragment :
}
private fun showAccountDeleteConfirmation(user: User?) {
if (user?.purchased?.plan?.isActive == true && user.purchased?.plan?.dateTerminated == null) {
val dialog = context?.let { HabiticaAlertDialog(it) }
dialog?.setTitle(R.string.unable_to_delete)
dialog?.setMessage(R.string.delete_account_subscription_active)
dialog?.addButton(R.string.go_to_subscription, false) { _, _ ->
MainNavigationController.navigate(R.id.subscriptionPurchaseActivity)
}
dialog?.addCloseButton()
}
val habiticaAccountDialog = context?.let { HabiticaAccountDialog(it) }
habiticaAccountDialog?.accountAction = "delete_account"
habiticaAccountDialog?.accountUpdateConfirmed = this