diff --git a/app-common/src/main/java/eu/darken/capod/common/upgrade/UpgradeRepo.kt b/app-common/src/main/java/eu/darken/capod/common/upgrade/UpgradeRepo.kt index 904ad3bb..addd3bc3 100644 --- a/app-common/src/main/java/eu/darken/capod/common/upgrade/UpgradeRepo.kt +++ b/app-common/src/main/java/eu/darken/capod/common/upgrade/UpgradeRepo.kt @@ -9,6 +9,8 @@ interface UpgradeRepo { fun launchBillingFlow(activity: Activity) + fun getSponsorUrl(): String? = null + interface Info { val type: Type diff --git a/app/src/foss/java/eu/darken/capod/common/upgrade/core/UpgradeControlFoss.kt b/app/src/foss/java/eu/darken/capod/common/upgrade/core/UpgradeControlFoss.kt index 8394dc13..acccd464 100644 --- a/app/src/foss/java/eu/darken/capod/common/upgrade/core/UpgradeControlFoss.kt +++ b/app/src/foss/java/eu/darken/capod/common/upgrade/core/UpgradeControlFoss.kt @@ -68,4 +68,6 @@ class UpgradeControlFoss @Inject constructor( override val type: UpgradeRepo.Type = UpgradeRepo.Type.FOSS } + override fun getSponsorUrl(): String? = "https://github.com/sponsors/d4rken" + } \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsIndexFragment.kt b/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsIndexFragment.kt index 569a2135..2a6bc830 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsIndexFragment.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/settings/SettingsIndexFragment.kt @@ -10,6 +10,7 @@ import eu.darken.capod.common.PrivacyPolicy import eu.darken.capod.common.WebpageTool import eu.darken.capod.common.preferences.Settings import eu.darken.capod.common.uix.PreferenceFragment2 +import eu.darken.capod.common.upgrade.UpgradeRepo import eu.darken.capod.main.core.GeneralSettings import javax.inject.Inject @@ -22,6 +23,7 @@ class SettingsIndexFragment : PreferenceFragment2() { override val preferenceFile: Int = R.xml.preferences_index @Inject lateinit var webpageTool: WebpageTool + @Inject lateinit var upgradeRepo: UpgradeRepo override fun onViewCreated(view: View, savedInstanceState: Bundle?) { setupMenu(R.menu.menu_settings_index) { item -> @@ -30,7 +32,13 @@ class SettingsIndexFragment : PreferenceFragment2() { webpageTool.open("https://twitter.com/d4rken") } } + when (item.itemId) { + R.id.menu_item_sponsor -> { + upgradeRepo.getSponsorUrl()?.let { webpageTool.open(it) } + } + } } + toolbar.menu?.findItem(R.id.menu_item_sponsor)?.isVisible = !upgradeRepo.getSponsorUrl().isNullOrEmpty() super.onViewCreated(view, savedInstanceState) } diff --git a/app/src/main/res/menu/menu_settings_index.xml b/app/src/main/res/menu/menu_settings_index.xml index eba8a57b..c0e7f6dc 100644 --- a/app/src/main/res/menu/menu_settings_index.xml +++ b/app/src/main/res/menu/menu_settings_index.xml @@ -2,11 +2,19 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="eu.darken.androidstarter.main.ui.MainActivity"> +