From ca8320c01e55cc48fff89e5ecaa7bad0833b750b Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 2 Dec 2020 12:40:35 -0600 Subject: [PATCH] Don't show 'More info' for Tasks.org sync --- .../java/org/tasks/auth/SignInActivity.kt | 3 +- .../java/org/tasks/billing/PurchaseDialog.kt | 33 +++++++++++-------- .../BaseCaldavAccountSettingsActivity.kt | 3 +- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/tasks/auth/SignInActivity.kt b/app/src/main/java/org/tasks/auth/SignInActivity.kt index 1f31f4a36..f44d49fe0 100644 --- a/app/src/main/java/org/tasks/auth/SignInActivity.kt +++ b/app/src/main/java/org/tasks/auth/SignInActivity.kt @@ -90,7 +90,8 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand private fun handleError(e: Throwable) { if (e is HttpException && e.code == 402) { - newPurchaseDialog().show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG) + newPurchaseDialog(tasksPayment = true) + .show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG) } else { returnError(e.message) } diff --git a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt index 2e98b9b2d..124ff8534 100644 --- a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt +++ b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt @@ -152,10 +152,14 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { @OnClick(R.id.pay_other) fun nameYourPrice() { - nameYourPrice = !nameYourPrice - setWaitScreen(false) - binding.scroll.scrollTo(0, 0) - updateSubscribeButton() + if (isTasksPayment) { + dismiss() + } else { + nameYourPrice = !nameYourPrice + setWaitScreen(false) + binding.scroll.scrollTo(0, 0) + updateSubscribeButton() + } } override fun onSaveInstanceState(outState: Bundle) { @@ -170,7 +174,11 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { val generic = BuildConfig.FLAVOR == "generic" binding.slider.isVisible = !isWaitScreen && nameYourPrice binding.payOther.isVisible = !isWaitScreen - binding.payOther.setText(if (nameYourPrice) R.string.back else R.string.more_options) + binding.payOther.setText(when { + nameYourPrice -> R.string.back + isTasksPayment -> R.string.cancel + else -> R.string.more_options + }) binding.tasksOrgButtonPanel.isVisible = !isWaitScreen && !generic binding.screenWait.isVisible = isWaitScreen && !generic binding.sponsor.isVisible = generic @@ -255,26 +263,25 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { activity.takeIf { it is PurchaseHandler }?.let { (it as PurchaseHandler).onPurchaseDialogDismissed() } - if (arguments?.getBoolean(EXTRA_FINISH_ACTIVITY, false) == true) { - activity?.finish() - } } + private val isTasksPayment: Boolean + get() = arguments?.getBoolean(EXTRA_TASKS_PAYMENT, false) ?: false + companion object { private const val EXTRA_PRICE = "extra_price" private const val EXTRA_PRICE_CHANGED = "extra_price_changed" private const val EXTRA_NAME_YOUR_PRICE = "extra_name_your_price" - const val EXTRA_FINISH_ACTIVITY = "extra_activity_rc" + private const val EXTRA_TASKS_PAYMENT = "extra_tasks_payment" @JvmStatic val FRAG_TAG_PURCHASE_DIALOG = "frag_tag_purchase_dialog" @JvmStatic - fun newPurchaseDialog() = newPurchaseDialog(false) - - fun newPurchaseDialog(finishActivity: Boolean): PurchaseDialog { + @JvmOverloads + fun newPurchaseDialog(tasksPayment: Boolean = false): PurchaseDialog { val dialog = PurchaseDialog() val args = Bundle() - args.putBoolean(EXTRA_FINISH_ACTIVITY, finishActivity) + args.putBoolean(EXTRA_TASKS_PAYMENT, tasksPayment) dialog.arguments = args return dialog } diff --git a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.kt b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.kt index 0d20845e4..d10e94262 100644 --- a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.kt +++ b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.kt @@ -98,7 +98,8 @@ abstract class BaseCaldavAccountSettingsActivity : ThemedInjectingAppCompatActiv newSnackbar(getString(R.string.this_feature_requires_a_subscription)) .setDuration(BaseTransientBottomBar.LENGTH_INDEFINITE) .setAction(R.string.button_subscribe) { - newPurchaseDialog().show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG) + newPurchaseDialog(tasksPayment = caldavAccount?.isTasksOrg ?: false) + .show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG) } .show() }