From 621fdd7aa1245d1af84d6cf884bae0ce56a4c176 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Tue, 5 Dec 2023 11:08:22 +0100
Subject: [PATCH] Add autosave settings

---
 android/gradle.properties                     |  4 +--
 .../metadata/android/en-US/changelogs/43.txt  |  1 +
 .../metadata/android/fr-FR/changelogs/43.txt  |  1 +
 lib/ui/widgets/settings_form.dart             | 29 +++++++++++--------
 pubspec.yaml                                  |  2 +-
 5 files changed, 22 insertions(+), 15 deletions(-)
 create mode 100644 fastlane/metadata/android/en-US/changelogs/43.txt
 create mode 100644 fastlane/metadata/android/fr-FR/changelogs/43.txt

diff --git a/android/gradle.properties b/android/gradle.properties
index 0664a0b..94a75b2 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=0.0.42
-app.versionCode=42
+app.versionName=0.0.43
+app.versionCode=43
diff --git a/fastlane/metadata/android/en-US/changelogs/43.txt b/fastlane/metadata/android/en-US/changelogs/43.txt
new file mode 100644
index 0000000..f18883d
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/43.txt
@@ -0,0 +1 @@
+Auto save settings.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/43.txt b/fastlane/metadata/android/fr-FR/changelogs/43.txt
new file mode 100644
index 0000000..8bbb184
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/43.txt
@@ -0,0 +1 @@
+Sauvegarde automatique du paramétrage.
diff --git a/lib/ui/widgets/settings_form.dart b/lib/ui/widgets/settings_form.dart
index bb5f621..d51262d 100644
--- a/lib/ui/widgets/settings_form.dart
+++ b/lib/ui/widgets/settings_form.dart
@@ -116,6 +116,7 @@ class _SettingsFormState extends State<SettingsForm> {
                     _selectedDiscoveriesDaysCount[i] = i == index;
                   }
                 });
+                saveSettings();
               },
               borderRadius: const BorderRadius.all(Radius.circular(8)),
               constraints: const BoxConstraints(minHeight: 30.0, minWidth: 30.0),
@@ -139,6 +140,7 @@ class _SettingsFormState extends State<SettingsForm> {
                     _selectedDistributionDaysCount[i] = i == index;
                   }
                 });
+                saveSettings();
               },
               borderRadius: const BorderRadius.all(Radius.circular(8)),
               constraints: const BoxConstraints(minHeight: 30.0, minWidth: 30.0),
@@ -162,6 +164,7 @@ class _SettingsFormState extends State<SettingsForm> {
                     _selectedStatisticsRecentDaysCount[i] = i == index;
                   }
                 });
+                saveSettings();
               },
               borderRadius: const BorderRadius.all(Radius.circular(8)),
               constraints: const BoxConstraints(minHeight: 30.0, minWidth: 30.0),
@@ -185,6 +188,7 @@ class _SettingsFormState extends State<SettingsForm> {
                     _selectedTimelineDaysCount[i] = i == index;
                   }
                 });
+                saveSettings();
               },
               borderRadius: const BorderRadius.all(Radius.circular(8)),
               constraints: const BoxConstraints(minHeight: 30.0, minWidth: 30.0),
@@ -208,6 +212,7 @@ class _SettingsFormState extends State<SettingsForm> {
                     _selectedTopArtistsDaysCount[i] = i == index;
                   }
                 });
+                saveSettings();
               },
               borderRadius: const BorderRadius.all(Radius.circular(8)),
               constraints: const BoxConstraints(minHeight: 30.0, minWidth: 30.0),
@@ -218,18 +223,18 @@ class _SettingsFormState extends State<SettingsForm> {
         ),
 
         // Save
-        ElevatedButton(
-          child: Row(
-            mainAxisAlignment: MainAxisAlignment.center,
-            crossAxisAlignment: CrossAxisAlignment.center,
-            children: [
-              Icon(UniconsLine.save),
-              SizedBox(width: 8),
-              Text('settings_button_save').tr(),
-            ],
-          ),
-          onPressed: () => saveSettings(),
-        ),
+        // ElevatedButton(
+        //   child: Row(
+        //     mainAxisAlignment: MainAxisAlignment.center,
+        //     crossAxisAlignment: CrossAxisAlignment.center,
+        //     children: [
+        //       Icon(UniconsLine.save),
+        //       SizedBox(width: 8),
+        //       Text('settings_button_save').tr(),
+        //     ],
+        //   ),
+        //   onPressed: () => saveSettings(),
+        // ),
       ],
     );
   }
diff --git a/pubspec.yaml b/pubspec.yaml
index 9879f9a..70ab3de 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
 
 publish_to: 'none'
 
-version: 0.0.42+42
+version: 0.0.43+43
 
 environment:
   sdk: '^3.0.0'
-- 
GitLab