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">
+