From c62ed2cc7dc5c0ea1e78a2542dcabd014e528837 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Sun, 3 Dec 2023 22:43:25 +0100
Subject: [PATCH] Fix parse top artists data when empty or loading state.

---
 android/gradle.properties                         | 4 ++--
 fastlane/metadata/android/en-US/changelogs/40.txt | 1 +
 fastlane/metadata/android/fr-FR/changelogs/40.txt | 1 +
 lib/models/topartists.dart                        | 4 ++--
 pubspec.yaml                                      | 2 +-
 5 files changed, 7 insertions(+), 5 deletions(-)
 create mode 100644 fastlane/metadata/android/en-US/changelogs/40.txt
 create mode 100644 fastlane/metadata/android/fr-FR/changelogs/40.txt

diff --git a/android/gradle.properties b/android/gradle.properties
index c8bbff9..4d8dcd2 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.39
-app.versionCode=39
+app.versionName=0.0.40
+app.versionCode=40
diff --git a/fastlane/metadata/android/en-US/changelogs/40.txt b/fastlane/metadata/android/en-US/changelogs/40.txt
new file mode 100644
index 0000000..dfddc5f
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/40.txt
@@ -0,0 +1 @@
+Fix compute "top artists" data.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/40.txt b/fastlane/metadata/android/fr-FR/changelogs/40.txt
new file mode 100644
index 0000000..6430589
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/40.txt
@@ -0,0 +1 @@
+Correction sur calcul des données "top artistes".
diff --git a/lib/models/topartists.dart b/lib/models/topartists.dart
index a53f60e..47013c8 100644
--- a/lib/models/topartists.dart
+++ b/lib/models/topartists.dart
@@ -55,7 +55,7 @@ class TopArtistsData {
     List<TopArtistsDataValue> topArtists = [];
     Map<String, List<TopArtistsStreamDataValue>> topArtistsStream = {};
 
-    json?['top-artists'].forEach((element) {
+    json?['top-artists']?.forEach((element) {
       TopArtistsDataValue value = TopArtistsDataValue(
         artistName: element['artistName'] as String,
         count: element['count'] as int,
@@ -64,7 +64,7 @@ class TopArtistsData {
       topArtists.add(value);
     });
 
-    json?['top-artists-stream-by-date'].keys.forEach((date) {
+    json?['top-artists-stream-by-date']?.keys?.forEach((date) {
       if (json['top-artists-stream-by-date'][date] is Map<String, dynamic>) {
         Map<String, dynamic> content = json['top-artists-stream-by-date'][date];
 
diff --git a/pubspec.yaml b/pubspec.yaml
index 2a55e38..a0731a7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
 
 publish_to: 'none'
 
-version: 0.0.39+39
+version: 0.0.40+40
 
 environment:
   sdk: '^3.0.0'
-- 
GitLab