diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt index 288080c59b..8d82fddf07 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt @@ -34,7 +34,8 @@ object ActiveSubscriptionPreference { val activeSubscription: ActiveSubscription.Subscription?, val subscriberRequiresCancel: Boolean, val onContactSupport: () -> Unit, - val onPendingClick: (FiatMoney) -> Unit + val onPendingClick: (FiatMoney) -> Unit, + val onRowClick: (ManageDonationsState.RedemptionState) -> Unit ) : PreferenceModel() { override fun areItemsTheSame(newItem: Model): Boolean { return subscription.id == newItem.subscription.id @@ -73,6 +74,9 @@ object ActiveSubscriptionPreference { expiry.movementMethod = LinkMovementMethod.getInstance() + itemView.setOnClickListener { model.onRowClick(model.redemptionState) } + itemView.isClickable = model.redemptionState != ManageDonationsState.RedemptionState.IN_PROGRESS + when (model.redemptionState) { ManageDonationsState.RedemptionState.NONE -> presentRenewalState(model) ManageDonationsState.RedemptionState.IS_PENDING_BANK_TRANSFER -> presentPendingBankTransferState(model) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt index 70099939c6..ce9952d994 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt @@ -275,6 +275,11 @@ class ManageDonationsFragment : }, activeSubscription = activeSubscription, subscriberRequiresCancel = state.subscriberRequiresCancel, + onRowClick = { + if (it != ManageDonationsState.RedemptionState.IN_PROGRESS) { + findNavController().safeNavigate(ManageDonationsFragmentDirections.actionManageDonationsFragmentToDonateToSignalFragment(InAppPaymentTable.Type.RECURRING_DONATION)) + } + }, onPendingClick = { displayPendingDialog(it) } @@ -297,7 +302,8 @@ class ManageDonationsFragment : onContactSupport = {}, activeSubscription = null, subscriberRequiresCancel = state.subscriberRequiresCancel, - onPendingClick = {} + onPendingClick = {}, + onRowClick = {} ) ) } @@ -315,15 +321,6 @@ class ManageDonationsFragment : presentPendingOrProcessingOneTimeDonationState(state) - clickPref( - title = DSLSettingsText.from(R.string.ManageDonationsFragment__manage_subscription), - icon = DSLSettingsIcon.from(R.drawable.symbol_person_24), - isEnabled = state.getMonthlyDonorRedemptionState() != ManageDonationsState.RedemptionState.IN_PROGRESS, - onClick = { - findNavController().safeNavigate(ManageDonationsFragmentDirections.actionManageDonationsFragmentToDonateToSignalFragment(InAppPaymentTable.Type.RECURRING_DONATION)) - } - ) - presentBadges() presentOtherWaysToGive() diff --git a/app/src/main/res/layout/my_support_preference.xml b/app/src/main/res/layout/my_support_preference.xml index d3e74696c0..84e4678ac3 100644 --- a/app/src/main/res/layout/my_support_preference.xml +++ b/app/src/main/res/layout/my_support_preference.xml @@ -4,8 +4,9 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/active_subscription_gutter_start" - android:layout_marginEnd="@dimen/dsl_settings_gutter"> + android:background="?selectableItemBackground" + android:paddingStart="@dimen/active_subscription_gutter_start" + android:paddingEnd="@dimen/dsl_settings_gutter">