diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt index bdd256951..39731946f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt @@ -25,6 +25,7 @@ import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.android.habitica.models.social.Group import com.habitrpg.android.habitica.ui.adapter.inventory.ShopRecyclerAdapter import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment +import com.habitrpg.android.habitica.ui.fragments.purchases.EventOutcomeSubscriptionBottomSheetFragment import com.habitrpg.android.habitica.ui.fragments.purchases.SubscriptionBottomSheetFragment import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel @@ -118,7 +119,9 @@ open class ShopFragment : BaseMainFragment() adapter?.onShowPurchaseDialog = { item, isPinned -> if (item.key == "gem" && userViewModel.user.value?.isSubscribed != true) { Analytics.sendEvent("View gems for gold CTA", EventCategory.BEHAVIOUR, HitType.EVENT) - val subscriptionBottomSheet = SubscriptionBottomSheetFragment() + val subscriptionBottomSheet = EventOutcomeSubscriptionBottomSheetFragment().apply { + eventType = EventOutcomeSubscriptionBottomSheetFragment.EVENT_GEMS_FOR_GOLD + } activity?.let { activity -> subscriptionBottomSheet.show(activity.supportFragmentManager, SubscriptionBottomSheetFragment.TAG) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/EventOutcomeSubscriptionBottomSheetFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/EventOutcomeSubscriptionBottomSheetFragment.kt index a7b6feda2..cd45f227d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/EventOutcomeSubscriptionBottomSheetFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/EventOutcomeSubscriptionBottomSheetFragment.kt @@ -13,6 +13,7 @@ class EventOutcomeSubscriptionBottomSheetFragment : SubscriptionBottomSheetFragm when (eventType) { EVENT_ARMOIRE_OPENED -> setArmoireEventSubscriptionViews() EVENT_DEATH_SCREEN -> setDeathScreenEventSubscriptionViews() + EVENT_GEMS_FOR_GOLD -> setGemsForGoldEventSubscriptionViews() } } @@ -29,9 +30,17 @@ class EventOutcomeSubscriptionBottomSheetFragment : SubscriptionBottomSheetFragm binding.subscriberBenefits.hideDeathBenefit() } + private fun setGemsForGoldEventSubscriptionViews() { + binding.subscriberBenefitBanner.visibility = View.GONE + binding.subscribeBenefits.text = getString(R.string.subscribe_gems_for_gold_incentive_text) + binding.subscriberBenefits.hideGemsForGoldBenefit() + binding.subscription3month.visibility = View.GONE + } + companion object { const val TAG = "EventOutcomeSubscriptionBottomSheet" const val EVENT_ARMOIRE_OPENED = "armoire_opened" const val EVENT_DEATH_SCREEN = "death_screen" + const val EVENT_GEMS_FOR_GOLD = "gems_for_gold" } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/SubscriptionBottomSheetFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/SubscriptionBottomSheetFragment.kt index 439d06bdd..50cf0b65a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/SubscriptionBottomSheetFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/purchases/SubscriptionBottomSheetFragment.kt @@ -148,7 +148,7 @@ open class SubscriptionBottomSheetFragment : BottomSheetDialogFragment() { private fun buttonForSku(sku: String?): SubscriptionOptionView? { return when (sku) { PurchaseTypes.Subscription1Month -> binding.subscription1month - PurchaseTypes.Subscription3Month -> binding.subscription1month + PurchaseTypes.Subscription3Month -> binding.subscription3month PurchaseTypes.Subscription12Month -> binding.subscription12month else -> null } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/subscriptions/SubscriberBenefitView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/subscriptions/SubscriberBenefitView.kt index 28d3b4458..a20203fd5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/subscriptions/SubscriberBenefitView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/subscriptions/SubscriberBenefitView.kt @@ -70,4 +70,8 @@ class SubscriberBenefitView @JvmOverloads constructor( fun hideArmoireBenefit() { binding.benefitArmoireWrapper.isVisible = false } + + fun hideGemsForGoldBenefit() { + binding.benefitGemsForGoldWrapper.isVisible = false + } }