From bef5989c92352ba3455bbe9316bd48e2cd0e580f Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 16 Dec 2020 14:20:52 -0600 Subject: [PATCH] Update purchase dialog Display percentage off and above average --- .../main/java/org/tasks/billing/Inventory.kt | 7 ++- .../java/org/tasks/billing/PurchaseDialog.kt | 63 +++++++++++++------ app/src/main/res/layout/activity_purchase.xml | 24 +++---- app/src/main/res/values-cs/strings.xml | 3 - app/src/main/res/values-da/strings.xml | 3 - app/src/main/res/values-de/strings.xml | 3 - app/src/main/res/values-es/strings.xml | 4 -- app/src/main/res/values-eu/strings.xml | 3 - app/src/main/res/values-fi/strings.xml | 3 - app/src/main/res/values-fr/strings.xml | 4 -- app/src/main/res/values-hu/strings.xml | 3 - app/src/main/res/values-id/strings.xml | 3 - app/src/main/res/values-it/strings.xml | 3 - app/src/main/res/values-iw/strings.xml | 3 - app/src/main/res/values-ja/strings.xml | 3 - app/src/main/res/values-ko/strings.xml | 3 - app/src/main/res/values-nb/strings.xml | 3 - app/src/main/res/values-nl/strings.xml | 3 - app/src/main/res/values-pl/strings.xml | 3 - app/src/main/res/values-pt-rBR/strings.xml | 3 - app/src/main/res/values-pt/strings.xml | 3 - app/src/main/res/values-ru/strings.xml | 4 -- app/src/main/res/values-sv/strings.xml | 3 - app/src/main/res/values-ta/strings.xml | 3 - app/src/main/res/values-tr/strings.xml | 3 - app/src/main/res/values-uk/strings.xml | 3 - app/src/main/res/values-zh-rCN/strings.xml | 4 -- app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/keys.xml | 18 ++---- app/src/main/res/values/strings.xml | 5 +- app/src/main/res/values/styles.xml | 4 ++ 31 files changed, 68 insertions(+), 130 deletions(-) diff --git a/app/src/main/java/org/tasks/billing/Inventory.kt b/app/src/main/java/org/tasks/billing/Inventory.kt index 1375494d7..722931a90 100644 --- a/app/src/main/java/org/tasks/billing/Inventory.kt +++ b/app/src/main/java/org/tasks/billing/Inventory.kt @@ -62,9 +62,10 @@ class Inventory @Inject constructor( private set suspend fun updateTasksSubscription() { - hasTasksSubscription = caldavDao.getAccounts(TYPE_TASKS).any { - it.isTasksSubscription(context) - } + hasTasksSubscription = + subscription?.isTasksSubscription == true || caldavDao.getAccounts(TYPE_TASKS).any { + it.isTasksSubscription(context) + } } fun purchased(sku: String) = purchases.containsKey(sku) diff --git a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt index 407a4a734..b901f0a77 100644 --- a/app/src/main/java/org/tasks/billing/PurchaseDialog.kt +++ b/app/src/main/java/org/tasks/billing/PurchaseDialog.kt @@ -9,6 +9,7 @@ import android.content.Intent import android.net.Uri import android.os.Bundle import android.text.method.LinkMovementMethod +import android.text.style.TextAppearanceSpan import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat import androidx.core.view.isVisible @@ -18,8 +19,11 @@ import butterknife.ButterKnife import butterknife.OnClick import com.google.android.material.slider.Slider import dagger.hilt.android.AndroidEntryPoint +import io.noties.markwon.AbstractMarkwonPlugin import io.noties.markwon.Markwon +import io.noties.markwon.MarkwonSpansFactory import io.noties.markwon.ext.strikethrough.StrikethroughPlugin +import org.commonmark.ext.gfm.strikethrough.Strikethrough import org.tasks.BuildConfig import org.tasks.LocalBroadcastManager import org.tasks.R @@ -30,6 +34,7 @@ import org.tasks.locale.Locale import timber.log.Timber import javax.inject.Inject + @AndroidEntryPoint class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { @@ -73,6 +78,13 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { markwon = Markwon.builder(requireContext()) .usePlugin(StrikethroughPlugin.create()) + .usePlugin(object : AbstractMarkwonPlugin() { + override fun configureSpansFactory(builder: MarkwonSpansFactory.Builder) { + builder.appendFactory(Strikethrough::class.java) { _, _ -> + TextAppearanceSpan(requireContext(), R.style.RedText) + } + } + }) .build() setWaitScreen(BuildConfig.FLAVOR != "generic") @@ -106,7 +118,12 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { .show() private fun updateText() { - var benefits = "### ${getString(R.string.upgrade_header)}" + var benefits = "### ${getString(when { + nameYourPrice -> R.string.name_your_price + !inventory.hasPro -> R.string.upgrade_to_pro + !inventory.hasTasksSubscription -> R.string.button_upgrade + else -> R.string.modify_subscription + })}" benefits += if (nameYourPrice) { """ --- @@ -115,10 +132,10 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { } else { """ --- -#### [${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)} -* **${getString(R.string.upgrade_customer)}** — ${getString(R.string.upgrade_privacy)} -* ${getString(R.string.upgrade_coming_soon)} +#### ${getString(R.string.upgrade_sync_with_tasks)} +* ${getString(R.string.upgrade_open_internet_standards)} +* ${getString(R.string.upgrade_privacy)} +* [${getString(R.string.upgrade_coming_soon)}](${getString(R.string.help_url_sync)}) """ } benefits += if (BuildConfig.FLAVOR == "generic") { @@ -129,20 +146,17 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { } else { """ --- -#### ${getString(R.string.upgrade_synchronization)} +#### ${getString(R.string.upgrade_additional_features)} +* ${getString(R.string.upgrade_themes)} * [${getString(R.string.davx5)}](${getString(R.string.url_davx5)}) * [${getString(R.string.caldav)}](${getString(R.string.url_caldav)}) * [${getString(R.string.upgrade_etesync)}](${getString(R.string.url_etesync)}) * ${getString(R.string.upgrade_google_tasks)} ---- -#### ${getString(R.string.upgrade_additional_features)} -* ${getString(R.string.upgrade_themes)} * ${getString(R.string.upgrade_google_places)} * [${getString(R.string.upgrade_tasker)}](${getString(R.string.url_tasker)}) --- * ${getString(R.string.upgrade_free_trial)} -* **${getString(R.string.upgrade_downgrade)}** — ${getString(R.string.upgrade_balance)} -* **${getString(R.string.upgrade_cancel)}** — ${getString(R.string.upgrade_benefits_retained)} +* ${getString(R.string.upgrade_downgrade)} """ } binding.text.text = markwon.toMarkdown(benefits) @@ -237,13 +251,26 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { val annualPrice = if (nameYourPrice) sliderValue else 30 val monthlyPrice = if (nameYourPrice) sliderValue else 3 val constrained = resources.getBoolean(R.bool.width_constrained) - if (sliderValue < firebase.averageSubscription()) { - binding.avgAnnual.setText(R.string.below_average) - binding.avgAnnual.setTextColor(ContextCompat.getColor(requireContext(), R.color.red_a400)) - } else { - binding.avgAnnual.setText(R.string.above_average) - binding.avgAnnual.setTextColor(ContextCompat.getColor(requireContext(), R.color.green_a400)) + val aboveAverage = "${getString(R.string.above_average)} $POPPER" + binding.avgAnnual.text = when { + !nameYourPrice -> "${getString( + R.string.save_percent, + ((1 - (annualPrice / (12.0 * monthlyPrice))) * 100).toInt() + )} $POPPER" + sliderValue < firebase.averageSubscription() -> "" //getString(R.string.below_average) + else -> aboveAverage } + binding.avgAnnual.setTextColor( + if (nameYourPrice && sliderValue < firebase.averageSubscription()) { + ContextCompat.getColor(requireContext(), R.color.text_secondary) + } else { + ContextCompat.getColor(requireContext(), R.color.purchase_highlight) + } + ) + binding.avgMonthly.setTextColor( + ContextCompat.getColor(requireContext(), R.color.purchase_highlight) + ) + binding.avgMonthly.text = aboveAverage binding.payAnnually.let { it.isEnabled = true it.text = getString( @@ -265,7 +292,6 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { } it.isVisible = !nameYourPrice || sliderValue < 3 } - binding.avgAnnual.isVisible = nameYourPrice && binding.payAnnually.isVisible binding.avgMonthly.isVisible = nameYourPrice && binding.payMonthly.isVisible currentSubscription?.let { binding.payMonthly.isEnabled = @@ -304,6 +330,7 @@ class PurchaseDialog : DialogFragment(), OnPurchasesUpdated { get() = arguments?.getBoolean(EXTRA_GITHUB, false) ?: false companion object { + private const val POPPER = "\uD83C\uDF89" 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" diff --git a/app/src/main/res/layout/activity_purchase.xml b/app/src/main/res/layout/activity_purchase.xml index 2dca9a133..0c6248eb3 100644 --- a/app/src/main/res/layout/activity_purchase.xml +++ b/app/src/main/res/layout/activity_purchase.xml @@ -53,15 +53,6 @@ tools:visibility="visible" android:layout_marginStart="@dimen/keyline_first" android:layout_marginEnd="@dimen/keyline_first"> - - + android:textAllCaps="true" + tools:text="@string/above_average"/> + android:textColor="?attr/colorAccent" + android:textAlignment="center" + tools:text="@string/above_average"/> O aplikaci Aplikace Tasks je svobodný software s otevřeným zdrojovým kódem licencovaný pod GNU General Public License v3.0 Ikona - Aktuální předplatné - Obnovit předplatné - Snížit předplatné Zvýšit předplatné Zrušit předplatné Zadejte heslo pro šifrování diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 1c819c359..cb63fa07b 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -238,8 +238,6 @@ Om Mere info Opsig abonnement - Gendan abonnement - Nuværende abonnement Abonnér Kunne ikke oprette forbindelse Kunne ikke finde Home Set @@ -406,7 +404,6 @@ Vis notifikationer på din wearable-enhed Tasks er gratis, open-source software udgivet under GNU General Public License v3.0 Opgrader abonnement - Nedgrader abonnement Opgrader til pro Opdater køb Administrer abonnement diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 85e2c4ad6..11984f83f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -471,9 +471,6 @@ Version %s Fehler: %s Symbol - Aktuelles Abonnement - Abonnement wiederherstellen - Abonnement herabstufen Abonnement hochstufen Abonnement kündigen Nennen Sie Ihren Preis diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 14bb26677..bc7e41958 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -471,9 +471,6 @@ Error : %s ", " Icono - Suscripción actual - Restaurar la suscripción - Suscripción de degradación Suscripción de actualización Cancelar la suscripción Escoger tu precio @@ -684,6 +681,5 @@ No registrado No se encontró ninguna suscripción de Google Play elegible No se encontró ningún patrocinio de GitHub elegible - Por debajo del promedio Por encima del promedio \ No newline at end of file diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index b126acc8e..979055993 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -470,9 +470,6 @@ Baliogabeko babes-kopia fitxategia Zeregin berriak goialdean Ikonoa - Uneko harpidetza - Berrezarri harpidetza - Txikiagotu harpidetza Handiagotu harpidetza Ezeztatu harpidetza Jarri zuk prezioa diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 3e0f69348..8bf42e7e2 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -472,8 +472,6 @@ Tietoja sovelluksesta Lisätietoja Peruuta tilaus - Palauta tilaus - Nykytilaus Tilaa Hallinnoi tilausta Yhteyttä ei saatu @@ -587,7 +585,6 @@ Lähdit paikasta %s Saavuit paikkaan %s Kirjaudu ulos %s\? Kaikki tälle tilille tallennetut tiedot poistetaan laitteeltasi - Alenna tilaustasi Päivitä ostoksesi Vain rajoittamattomalla yhteydellä Piilotettu diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 8a2960d4f..250a404fd 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -465,9 +465,6 @@ ", " Version %s Icône - Abonnement actuel - Restaurer l\'abonnement - Diminuer l\'abonnement Augmenter l\'abonnement Annuler l\'abonnement Donnez votre prix @@ -679,6 +676,5 @@ Non connecté Aucun abonnement Google Play éligible trouvé Aucun parrainage GitHub éligible trouvé - En dessous de la moyenne Au-dessus de la moyenne \ No newline at end of file diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 28b9bd4a0..727d6a6a2 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -468,9 +468,6 @@ %s m ", " Ikon - Jelenlegi előfizetés - Előfizetés visszaállítása - Előfizetés downgrade-je Előfizetés upgrade-je Előfizetés lemondása Nevezd meg az árat diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 820bfb4ab..954ee448c 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -360,9 +360,6 @@ Kelola langganan Segarkan pembelian Langganan - Langganan saat ini - Pulihkan langganan - Turunkan langganan Tingkatkan langganan Batalkan langganan Info lainnya diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 11d4d84c4..4f4b08260 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -468,7 +468,6 @@ Riduci saturazione colori Ricorda la password di cifratura che hai scelto, non può essere recuperata! Passa alla versione premium - Torna alla versione base dell\'abbonamento Conferma password di cifratura Password di cifratura Password di cifratura sbagliata @@ -523,8 +522,6 @@ Licenze di terze parti Questa funzione richiede un abbonamento Annulla abbonamento - Ripristina abbonamento - Abbonamento attuale Aiuto e feedback URL Password diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 9e74de184..6985c4311 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -500,9 +500,6 @@ משימות חדשות בראש הרשימה ", " סמל - מינוי נוכחי - שחזור מינוי - שנמוך מינוי שדרוג מינוי ביטול מינוי מה המחיר שלך diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index b56296e1c..80121f13d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -465,9 +465,6 @@ URL ", " アイコン - 現在のサブスクリプション - サブスクリプションの復元 - サブスクリプションのダウングレード サブスクリプションのアップグレード サブスクリプションのキャンセル 価格の名前 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 1588d7409..14500fd12 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -467,9 +467,6 @@ 부적합한 백업 파일 새 할일을 가장 위로 아이콘 - 현재 구독 - 구독 복원 - 구독 다운그레이드 구독 업그레이드 구독 취소 구독 금액 정하기 diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index dc22d266d..9373d2b41 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -470,9 +470,6 @@ Ugyldig sikkerhetskopifil Nye gjøremål øverst Ikon - Nåværende abonnement - Gjenopprett abonnement - Nedgrader abonnement Oppgrader abonnement Avbryt abonnement Betal det du vil diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 09a3d45c2..62dd302ea 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -460,9 +460,6 @@ Filters Filter Accent - Huidige abonnement - Abonnement herstellen - Terugdraaien abonnement Abonnement upgraden Abonnement annuleren Bepaal je prijs diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 1480583e5..b06448b9b 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -481,9 +481,6 @@ Nieprawidłowy plik kopii zapasowej Nowe zadania na górze Ikona - Aktualna subskrypcja - Przywróć subskrypcję - Obniżyć poziom subskrypcji Podwyższyć poziom subskrypcji Anuluj subskrypcję Nazwij swoją cenę diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 1280b5728..78cb951ac 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -533,9 +533,6 @@ Precisa estar atrelado a um plano Cancelar plano Atualizar plano - Rebaixar plano - Recuperar plano - Plano atual Ajuda e Comentários ", " Erro: %s diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 7f3297f22..26595ca40 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -404,8 +404,6 @@ Anual Mensal Cancelar assinatura - Restaurar assinatura - Assinatura atual Ícone Novas tarefas no topo O ficheiro de backup é inválido @@ -601,7 +599,6 @@ Minha ordem Dê o seu valor Atualizar assinatura - Rebaixar assinatura Não foi possível conectar %s m Sincronize a suas tarefas com a app DAVx⁵ diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index bd8f436f4..1a7bc8045 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -479,15 +479,12 @@ Выберите новое местоположение Неверный файл резервной копии Иконка - Текущая подписка - Восстановить подписку Отменить подписку Назовите свою цену URL Ошибка: %s ", " Генерация уведомлений - Понизить уровень подписки Повысить уровень подписки Ручная сортировка Временно показывать задачи после завершения @@ -702,6 +699,5 @@ %d списков Пятая - Ниже среднего Выше среднего \ No newline at end of file diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index d73b0fa66..fad4aa1cb 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -465,9 +465,6 @@ Ogiltig säkerhetskopia Nya uppgifter överst Ikon - Hantera prenumerationer - Återställ prenumeration - Nedgradera prenumeration Uppgradera prenumerationen Avbryt prenumeration Namnge ditt pris diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index cf0ae6363..7bee7ea06 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -312,9 +312,6 @@ மேலும் தகவல் சந்தாவை ரத்துசெய் சந்தாவை மேம்படுத்தவும் - தரமிறக்குதல் சந்தா - சந்தாவை மீட்டமை - தற்போதைய சந்தா பதிவு வாங்குதல்களைப் புதுப்பிக்கவும் சந்தாவை நிர்வகிக்கவும் diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index f41324727..9d96ad1ca 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -471,9 +471,6 @@ Hata: %s ", " Simge - Geçerli abonelik - Aboneliği geri getir - Aboneliği alçalt Aboneliği yükselt Aboneliği iptal et Fiyat belirleyin diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index bac2bc35b..2afbfd066 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -506,8 +506,6 @@ %d підзадач Google Tasks - Відновити підписку - Поточна підписка Підтвердіть пароль шифрування Пароль шифрування Потрібний пароль шифрування @@ -536,7 +534,6 @@ Щомісячно Ця функція потребує підписки Скасувати підписку - Спростити підписку Поділитися Обрати всі В календарі створено подію для %s diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 5cb9d5444..be64731a1 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -460,9 +460,6 @@ 无效的备份文件 新任务显示在顶部 图标 - 当前订阅 - 恢复订阅 - 降级订阅 升级订阅 取消订阅 您愿意支付多少费用 @@ -674,6 +671,5 @@ 未登录 未找到符合要求的 Google Play 订阅 没有找到符合要求的GitHub赞助 - 低于平均 高于平均 \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index c170af729..f7f35877f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -150,6 +150,7 @@ @color/black_12 @color/grey_300 @color/black_87 + @color/basil #eb52ae diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml index e55ba0803..5f6f4a02a 100644 --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -28,25 +28,19 @@ https://github.com/sponsors/abaker - Unlock additional features and support open source software! - Sync with Tasks.org - No platform lock-in + Modify your subscription + Sync your data with Tasks.org Tasks.org is based on open internet standards - You are the customer - Tasks.org does not monetize you or your data + Tasks.org does not show ads or sell personal information Many new features coming soon! - Sync with third-party or self-hosted servers End-to-end encryption with EteSync Multiple Google Task accounts - Additional features + Unlock additional features Unlock all themes, colors, and icons Improved location search with Google Places Tasker plugins - New subscribers receive a 7-day free trial - Upgrade or downgrade at any time - Your remaining balance will apply to your new subscription - Cancel at any time - benefits are retained until the end of your billing period + 7-day free trial for new subscribers + Upgrade, downgrade, or cancel your subscription at any time Previous donors to receive one month credit for every $3 in past donations diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 382afee1d..e338184c9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -498,9 +498,6 @@ File %1$s contained %2$s.\n\n Modify subscription Refresh purchases Subscribe - Current subscription - Restore subscription - Downgrade subscription Upgrade subscription Cancel subscription More info @@ -685,5 +682,5 @@ File %1$s contained %2$s.\n\n Offline lists Move %s to Tasks.org Above average - Below average + Save %d%% diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index f0c10cd66..4384a629f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -200,6 +200,10 @@ @color/button_accent_ripple + +