From 63dc6b77019348ea3426bcb0de8415098d01de4e Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 23 Apr 2026 08:25:26 +0000
Subject: [PATCH 1/2] feat: add About section to Settings with Contact Support,
Support me, and Version rows; bump version to 1.0.1
Agent-Logs-Url: https://github.com/benju69/Tasks/sessions/dcee19e7-1a70-4b30-a438-e9a119ccf90e
Co-authored-by: benju69 <2486590+benju69@users.noreply.github.com>
---
app/build.gradle.kts | 4 +-
.../tasks/feature/settings/SettingsScreen.kt | 66 ++++++++++++++++++-
.../src/main/res/values-de/strings.xml | 5 +-
.../src/main/res/values-es/strings.xml | 5 +-
.../src/main/res/values-fr/strings.xml | 5 +-
.../src/main/res/values-it/strings.xml | 5 +-
.../settings/src/main/res/values/strings.xml | 7 +-
7 files changed, 87 insertions(+), 10 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 1a28ecb..319085e 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -23,8 +23,8 @@ android {
applicationId = "fr.benju.tasks"
minSdk = 26
targetSdk = 36
- versionCode = 1
- versionName = "1.0.0"
+ versionCode = 2
+ versionName = "1.0.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
diff --git a/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt b/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
index aae1f4b..799feb6 100644
--- a/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
+++ b/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
@@ -2,6 +2,9 @@
package fr.benju.tasks.feature.settings
+import android.content.Intent
+import android.net.Uri
+import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -22,6 +25,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
@@ -34,6 +38,7 @@ fun SettingsScreen(
onBack: () -> Unit = {}
) {
val isDarkMode by viewModel.darkModeFlow.collectAsStateWithLifecycle()
+ val context = LocalContext.current
Scaffold(
topBar = {
@@ -77,10 +82,65 @@ fun SettingsScreen(
)
Text(
- text = stringResource(R.string.settings_version),
- style = MaterialTheme.typography.bodySmall,
- color = MaterialTheme.colorScheme.onSurfaceVariant
+ text = stringResource(R.string.settings_about),
+ style = MaterialTheme.typography.titleMedium,
+ modifier = Modifier.padding(bottom = 8.dp)
)
+
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable {
+ val intent = Intent(Intent.ACTION_SENDTO).apply {
+ data = Uri.parse("mailto:begonin@gmail.com")
+ }
+ runCatching { context.startActivity(intent) }
+ }
+ .padding(vertical = 12.dp),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ Text(
+ text = stringResource(R.string.settings_contact_support),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
+
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable {
+ val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://benju.fr/support.html"))
+ runCatching { context.startActivity(intent) }
+ }
+ .padding(vertical = 12.dp),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ Text(
+ text = stringResource(R.string.settings_support_me),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
+
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(vertical = 12.dp),
+ horizontalArrangement = Arrangement.SpaceBetween,
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ Text(
+ text = stringResource(R.string.settings_version),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ val versionName = runCatching {
+ context.packageManager.getPackageInfo(context.packageName, 0).versionName.orEmpty()
+ }.getOrDefault("")
+ Text(
+ text = versionName,
+ style = MaterialTheme.typography.bodyMedium,
+ color = MaterialTheme.colorScheme.onSurfaceVariant
+ )
+ }
}
}
}
diff --git a/feature/settings/src/main/res/values-de/strings.xml b/feature/settings/src/main/res/values-de/strings.xml
index f06be5e..eedaf79 100644
--- a/feature/settings/src/main/res/values-de/strings.xml
+++ b/feature/settings/src/main/res/values-de/strings.xml
@@ -2,7 +2,10 @@
Einstellungen
Dunkelmodus
- Version 1.0.0
+ Über
+ Support kontaktieren
+ Unterstütze mich
+ Version
Zurück
diff --git a/feature/settings/src/main/res/values-es/strings.xml b/feature/settings/src/main/res/values-es/strings.xml
index 4ea8125..d2f927b 100644
--- a/feature/settings/src/main/res/values-es/strings.xml
+++ b/feature/settings/src/main/res/values-es/strings.xml
@@ -2,7 +2,10 @@
Ajustes
Modo oscuro
- Versión 1.0.0
+ Acerca de
+ Contactar soporte
+ Apóyame
+ Versión
Atrás
diff --git a/feature/settings/src/main/res/values-fr/strings.xml b/feature/settings/src/main/res/values-fr/strings.xml
index af24c3f..7e0681b 100644
--- a/feature/settings/src/main/res/values-fr/strings.xml
+++ b/feature/settings/src/main/res/values-fr/strings.xml
@@ -2,7 +2,10 @@
Paramètres
Mode sombre
- Version 1.0.0
+ À propos
+ Contacter le support
+ Me soutenir
+ Version
Retour
diff --git a/feature/settings/src/main/res/values-it/strings.xml b/feature/settings/src/main/res/values-it/strings.xml
index aca6372..e25075d 100644
--- a/feature/settings/src/main/res/values-it/strings.xml
+++ b/feature/settings/src/main/res/values-it/strings.xml
@@ -2,7 +2,10 @@
Impostazioni
Modalità scura
- Versione 1.0.0
+ Informazioni
+ Contatta supporto
+ Supportami
+ Versione
Indietro
diff --git a/feature/settings/src/main/res/values/strings.xml b/feature/settings/src/main/res/values/strings.xml
index cb79452..33b3a48 100644
--- a/feature/settings/src/main/res/values/strings.xml
+++ b/feature/settings/src/main/res/values/strings.xml
@@ -3,7 +3,12 @@
Settings
Dark Mode
- Version 1.0.0
+
+
+ About
+ Contact Support
+ Support me
+ Version
Back
From d3ead20ae3ee4482271eb1cd42252849938cd9e7 Mon Sep 17 00:00:00 2001
From: Benjamin Gonin
Date: Fri, 8 May 2026 22:46:17 +0200
Subject: [PATCH 2/2] feat: add "Rate the app" option to Settings screen
---
.../tasks/feature/settings/SettingsScreen.kt | 26 +++++++++++++++++++
.../src/main/res/values-de/strings.xml | 1 +
.../src/main/res/values-es/strings.xml | 1 +
.../src/main/res/values-fr/strings.xml | 1 +
.../src/main/res/values-it/strings.xml | 1 +
.../settings/src/main/res/values/strings.xml | 1 +
6 files changed, 31 insertions(+)
diff --git a/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt b/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
index 799feb6..3af4e43 100644
--- a/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
+++ b/feature/settings/src/main/java/fr/benju/tasks/feature/settings/SettingsScreen.kt
@@ -121,6 +121,32 @@ fun SettingsScreen(
)
}
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .clickable {
+ val intent = Intent(
+ Intent.ACTION_VIEW,
+ Uri.parse("market://details?id=${context.packageName}")
+ ).apply {
+ addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY or Intent.FLAG_ACTIVITY_NEW_DOCUMENT or Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
+ }
+ val fallback = Intent(
+ Intent.ACTION_VIEW,
+ Uri.parse("https://play.google.com/store/apps/details?id=${context.packageName}")
+ )
+ runCatching { context.startActivity(intent) }
+ .onFailure { runCatching { context.startActivity(fallback) } }
+ }
+ .padding(vertical = 12.dp),
+ verticalAlignment = Alignment.CenterVertically
+ ) {
+ Text(
+ text = stringResource(R.string.settings_rate_app),
+ style = MaterialTheme.typography.bodyMedium
+ )
+ }
+
Row(
modifier = Modifier
.fillMaxWidth()
diff --git a/feature/settings/src/main/res/values-de/strings.xml b/feature/settings/src/main/res/values-de/strings.xml
index eedaf79..4ea9b0a 100644
--- a/feature/settings/src/main/res/values-de/strings.xml
+++ b/feature/settings/src/main/res/values-de/strings.xml
@@ -5,6 +5,7 @@
Über
Support kontaktieren
Unterstütze mich
+ App bewerten
Version
Zurück
diff --git a/feature/settings/src/main/res/values-es/strings.xml b/feature/settings/src/main/res/values-es/strings.xml
index d2f927b..1ec7ffd 100644
--- a/feature/settings/src/main/res/values-es/strings.xml
+++ b/feature/settings/src/main/res/values-es/strings.xml
@@ -5,6 +5,7 @@
Acerca de
Contactar soporte
Apóyame
+ Valorar la aplicación
Versión
Atrás
diff --git a/feature/settings/src/main/res/values-fr/strings.xml b/feature/settings/src/main/res/values-fr/strings.xml
index 7e0681b..836346d 100644
--- a/feature/settings/src/main/res/values-fr/strings.xml
+++ b/feature/settings/src/main/res/values-fr/strings.xml
@@ -5,6 +5,7 @@
À propos
Contacter le support
Me soutenir
+ Noter l\'application
Version
Retour
diff --git a/feature/settings/src/main/res/values-it/strings.xml b/feature/settings/src/main/res/values-it/strings.xml
index e25075d..f38dbd5 100644
--- a/feature/settings/src/main/res/values-it/strings.xml
+++ b/feature/settings/src/main/res/values-it/strings.xml
@@ -5,6 +5,7 @@
Informazioni
Contatta supporto
Supportami
+ Valuta l\'app
Versione
Indietro
diff --git a/feature/settings/src/main/res/values/strings.xml b/feature/settings/src/main/res/values/strings.xml
index 33b3a48..ea284cc 100644
--- a/feature/settings/src/main/res/values/strings.xml
+++ b/feature/settings/src/main/res/values/strings.xml
@@ -8,6 +8,7 @@
About
Contact Support
Support me
+ Rate the app
Version