From 33403b269af970fd83e241f8a16a4ef2ca9e4568 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 23 Nov 2020 17:17:11 -0600 Subject: [PATCH] Add GitHub Sponsor button to generic build --- .../java/org/tasks/auth/SignInActivity.kt | 3 -- .../java/org/tasks/billing/Purchase.kt | 18 ++++------ .../java/org/tasks/billing/PurchaseDialog.kt | 33 +++++++++++++++---- app/src/main/res/layout/activity_purchase.xml | 15 +++++++++ app/src/main/res/values/colors.xml | 2 ++ app/src/main/res/values/keys.xml | 5 ++- app/src/main/res/values/strings.xml | 1 + 7 files changed, 56 insertions(+), 21 deletions(-) delete mode 100644 app/src/generic/java/org/tasks/auth/SignInActivity.kt diff --git a/app/src/generic/java/org/tasks/auth/SignInActivity.kt b/app/src/generic/java/org/tasks/auth/SignInActivity.kt deleted file mode 100644 index 5818a0855..000000000 --- a/app/src/generic/java/org/tasks/auth/SignInActivity.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.tasks.auth - -class SignInActivity \ No newline at end of file diff --git a/app/src/generic/java/org/tasks/billing/Purchase.kt b/app/src/generic/java/org/tasks/billing/Purchase.kt index 745e10d43..3c805b0ed 100644 --- a/app/src/generic/java/org/tasks/billing/Purchase.kt +++ b/app/src/generic/java/org/tasks/billing/Purchase.kt @@ -4,21 +4,17 @@ package org.tasks.billing class Purchase(json: String?) { val sku: String = "" - fun toJson(): String? { - return null - } + fun toJson(): String? = null - val isCanceled: Boolean - get() = false + val isCanceled = false - val subscriptionPrice: Int - get() = 0 + val subscriptionPrice = 0 - val isMonthly: Boolean - get() = false + val isMonthly = false - val isProSubscription: Boolean - get() = false + val isProSubscription = false + + val isTasksSubscription = false val purchaseToken = "" } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt index ab3adaabb..ba6d7cd47 100644 --- a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt +++ b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt @@ -6,6 +6,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.DialogInterface import android.content.Intent +import android.net.Uri import android.os.Bundle import android.text.method.LinkMovementMethod import androidx.core.view.isVisible @@ -17,6 +18,7 @@ import com.google.android.material.slider.Slider import dagger.hilt.android.AndroidEntryPoint import io.noties.markwon.Markwon import io.noties.markwon.ext.strikethrough.StrikethroughPlugin +import org.tasks.BuildConfig import org.tasks.LocalBroadcastManager import org.tasks.R import org.tasks.databinding.ActivityPurchaseBinding @@ -73,7 +75,15 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { .usePlugin(StrikethroughPlugin.create()) .build() - setWaitScreen(true) + if (BuildConfig.FLAVOR != "generic") { + setWaitScreen(true) + } else { + setWaitScreen(false) + binding.payAnnually.isVisible = false + binding.payMonthly.isVisible = false + binding.payOther.isVisible = false + binding.sponsor.isVisible = true + } return dialogBuilder.newDialog() .setView(binding.root) @@ -82,13 +92,13 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { private fun updateText() { var benefits = "### ${getString(R.string.upgrade_header)}" - if (nameYourPrice) { - benefits += """ + benefits += if (nameYourPrice) { + """ --- #### ~~${getString(R.string.upgrade_sync_with_tasks)}~~ """ } else { - benefits += """ + """ --- #### [${getString(R.string.upgrade_sync_with_tasks)} (BETA)](${getString(R.string.help_url_sync)}) * **${getString(R.string.upgrade_no_platform_lock_in)}** — ${getString(R.string.upgrade_open_internet_standards)} @@ -96,7 +106,13 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { * ${getString(R.string.upgrade_coming_soon)} """ } - benefits += """ + benefits += if (BuildConfig.FLAVOR == "generic") { + """ +--- +**${getString(R.string.upgrade_previous_donors)}** - [${getString(R.string.contact_developer)}](mailto:${getString(R.string.support_email)}) ${getString(R.string.upgrade_previous_donors_contact)} +""" + } else { + """ --- #### ${getString(R.string.upgrade_synchronization)} * [${getString(R.string.davx5)}](${getString(R.string.url_davx5)}) @@ -113,7 +129,7 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { * **${getString(R.string.upgrade_downgrade)}** — ${getString(R.string.upgrade_balance)} * **${getString(R.string.upgrade_cancel)}** — ${getString(R.string.upgrade_benefits_retained)} """ - + } binding.text.text = markwon.toMarkdown(benefits) } @@ -126,6 +142,11 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { fun subscribeMonthly() { initiatePurchase(true, 3) } + + @OnClick(R.id.sponsor) + fun sponsor() { + startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.url_sponsor)))) + } private fun initiatePurchase(isMonthly: Boolean, price: Int) { val newSku = String.format("%s_%02d", if (isMonthly) "monthly" else "annual", price) diff --git a/app/src/main/res/layout/activity_purchase.xml b/app/src/main/res/layout/activity_purchase.xml index 70ed052fa..a232b57ea 100644 --- a/app/src/main/res/layout/activity_purchase.xml +++ b/app/src/main/res/layout/activity_purchase.xml @@ -6,6 +6,7 @@ xmlns:tools="http://schemas.android.com/tools"> @@ -102,6 +103,20 @@ app:layout_constraintTop_toBottomOf="@+id/pay_annually" tools:text="@string/back"/> + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7faea456a..c170af729 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -151,5 +151,7 @@ @color/grey_300 @color/black_87 + #eb52ae + diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml index a7916ce41..dae8d93ab 100644 --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -23,9 +23,10 @@ https://tasks.org/help/tasker https://tasks.org/donate https://reddit.com/r/tasks + https://github.com/sponsors/abaker - Subscribe to unlock additional features and support open source software! + Unlock additional features and support open source software! Sync with Tasks.org No platform lock-in Tasks.org is based on open internet standards @@ -44,6 +45,8 @@ Your remaining balance will apply to your new subscription Cancel at any time benefits are retained until the end of your billing period + Previous donors + to receive one month credit for every $3 in past donations date_shortcut_morning date_shortcut_afternoon diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 51c8e8223..d94d0e208 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -668,4 +668,5 @@ File %1$s contained %2$s.\n\n Authorization cancelled Sign in with Google Authentication required + Sponsor