From 2f6fa7add1c9bcd6fae00cf1bef9c05e65a9cf31 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Wed, 20 Mar 2024 23:36:41 +0600 Subject: [PATCH] fix: ignore episodes in tracks --- lib/provider/blacklist_provider.dart | 2 +- lib/provider/spotify/playlist/tracks.dart | 4 +++- lib/utils/type_conversion_utils.dart | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/provider/blacklist_provider.dart b/lib/provider/blacklist_provider.dart index 363d4b4c..1d4edebf 100644 --- a/lib/provider/blacklist_provider.dart +++ b/lib/provider/blacklist_provider.dart @@ -62,7 +62,7 @@ class BlackListNotifier final containsTrackArtists = track.artists?.any( (artist) => state.contains( - BlacklistedElement.artist(artist.id!, artist.name!), + BlacklistedElement.artist(artist.id!, artist.name ?? "Spotify"), ), ) ?? false; diff --git a/lib/provider/spotify/playlist/tracks.dart b/lib/provider/spotify/playlist/tracks.dart index 476721a2..1803f6fc 100644 --- a/lib/provider/spotify/playlist/tracks.dart +++ b/lib/provider/spotify/playlist/tracks.dart @@ -36,7 +36,9 @@ class PlaylistTracksNotifier extends AutoDisposeFamilyPaginatedAsyncNotifier< /// Filter out tracks with null id because some personal playlists /// may contain local tracks that are not available in the Spotify catalog - return tracks.items?.where((track) => track.id != null).toList() ?? + return tracks.items + ?.where((track) => track.id != null && track.type == "track") + .toList() ?? []; } diff --git a/lib/utils/type_conversion_utils.dart b/lib/utils/type_conversion_utils.dart index cd594a2a..d5eb68f6 100644 --- a/lib/utils/type_conversion_utils.dart +++ b/lib/utils/type_conversion_utils.dart @@ -61,6 +61,9 @@ abstract class TypeConversionUtils { .entries .map( (artist) => Builder(builder: (context) { + if (artist.value.name == null) { + return Text("Spotify", style: textStyle); + } return AnchorButton( (artist.key != artists.length - 1) ? "${artist.value.name}, "