diff --git a/lib/components/playlist/playlist_card.dart b/lib/components/playlist/playlist_card.dart index e5b87d6d..3777a1cb 100644 --- a/lib/components/playlist/playlist_card.dart +++ b/lib/components/playlist/playlist_card.dart @@ -72,7 +72,7 @@ class PlaylistCard extends HookConsumerWidget { List fetchedTracks = await fetchAllTracks(); - if (fetchedTracks.isEmpty) return; + if (fetchedTracks.isEmpty || !context.mounted) return; final isRemoteDevice = await showSelectDeviceDialog(context, ref); if (isRemoteDevice) { diff --git a/lib/provider/proxy_playlist/proxy_playlist_provider.dart b/lib/provider/proxy_playlist/proxy_playlist_provider.dart index 13c7a25c..bf039395 100644 --- a/lib/provider/proxy_playlist/proxy_playlist_provider.dart +++ b/lib/provider/proxy_playlist/proxy_playlist_provider.dart @@ -106,6 +106,8 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier { }) async { tracks = blacklist.filter(tracks).toList() as List; + state = state.copyWith(collections: {}); + await audioPlayer.openPlaylist( tracks.asMediaList(), initialIndex: initialIndex, diff --git a/lib/services/download_manager/download_task.dart b/lib/services/download_manager/download_task.dart index d65f167e..d79cf95b 100644 --- a/lib/services/download_manager/download_task.dart +++ b/lib/services/download_manager/download_task.dart @@ -28,8 +28,6 @@ class DownloadTask { } } - ; - status.addListener(listener); return completer.future.timeout(timeout);