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