From 8aee86fc6000206e8b103c2a644c6ba727693db3 Mon Sep 17 00:00:00 2001
From: austinried <4966622+austinried@users.noreply.github.com>
Date: Thu, 8 Oct 2026 14:11:25 +0000
Subject: [PATCH] settings: restore the version, homepage and support links in
About
---
app/build.gradle.kts | 1 +
.../subtracks/ui/settings/SettingsScreen.kt | 38 +++++++++++++++++++
app/src/main/res/values/strings.xml | 3 ++
3 files changed, 42 insertions(+)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index d20f3ca8..76e5acac 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -29,6 +29,7 @@ android {
buildFeatures {
compose = true
+ buildConfig = true
}
androidResources {
diff --git a/app/src/main/kotlin/com/subtracks/ui/settings/SettingsScreen.kt b/app/src/main/kotlin/com/subtracks/ui/settings/SettingsScreen.kt
index 082941f1..91e0ade5 100644
--- a/app/src/main/kotlin/com/subtracks/ui/settings/SettingsScreen.kt
+++ b/app/src/main/kotlin/com/subtracks/ui/settings/SettingsScreen.kt
@@ -20,6 +20,7 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.ArrowBack
+import androidx.compose.material.icons.automirrored.rounded.OpenInNew
import androidx.compose.material.icons.rounded.Add
import androidx.compose.material.icons.rounded.Description
import androidx.compose.material.icons.rounded.Download
@@ -50,10 +51,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalResources
+import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.subtracks.BuildConfig
import com.subtracks.R
import com.subtracks.data.model.Source
import com.subtracks.data.prefs.StreamQuality
@@ -66,6 +69,9 @@ import org.koin.compose.viewmodel.koinViewModel
private val bitrateOptions = listOf(0, 24, 32, 64, 96, 128, 192, 256, 320)
private val streamFormats = listOf(null, "mp3", "opus", "ogg", "webm", "aac", "flac")
+private const val PROJECT_HOMEPAGE = "https://github.com/austinried/subtracks"
+private const val SUPPORT_URL = "https://ko-fi.com/austinried"
+
private enum class SettingsDialog { WifiQuality, MobileQuality, DownloadQuality, SyncConcurrency }
@Composable
@@ -146,6 +152,7 @@ fun SettingsScreen(
DismissOnRequest(dismissals) { dialog = null }
val listState = rememberLazyListState()
val fill = rememberViewportFill(listState)
+ val uriHandler = LocalUriHandler.current
Scaffold(
modifier = modifier,
@@ -313,6 +320,15 @@ fun SettingsScreen(
)
}
item { SectionHeader(stringResource(R.string.settings_about_name)) }
+ item {
+ ListItem(
+ headlineContent = { Text(stringResource(R.string.app_name)) },
+ supportingContent = {
+ Text(stringResource(R.string.settings_about_version, BuildConfig.VERSION_NAME))
+ },
+ colors = ListItemDefaults.colors(containerColor = Color.Transparent),
+ )
+ }
item {
ListItem(
headlineContent = { Text(stringResource(R.string.settings_about_actions_licenses)) },
@@ -321,6 +337,28 @@ fun SettingsScreen(
colors = ListItemDefaults.colors(containerColor = Color.Transparent),
)
}
+ item {
+ ListItem(
+ headlineContent = { Text(stringResource(R.string.settings_about_actions_project_homepage)) },
+ supportingContent = { Text(PROJECT_HOMEPAGE) },
+ trailingContent = {
+ Icon(Icons.AutoMirrored.Rounded.OpenInNew, contentDescription = null)
+ },
+ modifier = Modifier.clickable { uriHandler.openUri(PROJECT_HOMEPAGE) },
+ colors = ListItemDefaults.colors(containerColor = Color.Transparent),
+ )
+ }
+ item {
+ ListItem(
+ headlineContent = { Text(stringResource(R.string.settings_about_actions_support)) },
+ supportingContent = { Text(SUPPORT_URL) },
+ trailingContent = {
+ Icon(Icons.AutoMirrored.Rounded.OpenInNew, contentDescription = null)
+ },
+ modifier = Modifier.clickable { uriHandler.openUri(SUPPORT_URL) },
+ colors = ListItemDefaults.colors(containerColor = Color.Transparent),
+ )
+ }
item { Spacer(Modifier.height(fill)) }
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7db8a5c2..f746f245 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -56,7 +56,10 @@
Search
Licenses
+ Project homepage
+ Support
About
+ Version %1$s
Playback
Send now playing and play counts
Scrobble to server