diff --git a/lib/api/deezer.dart b/lib/api/deezer.dart index 00e0730..55cc916 100644 --- a/lib/api/deezer.dart +++ b/lib/api/deezer.dart @@ -199,6 +199,11 @@ class DeezerAPI { await callApi('artist.deleteFavorite', params: {'ART_ID': id}); } + // Mark track as disliked + Future dislikeTrack(String id) async { + await callApi('favorite_dislike.add', params: {'ID': id, 'TYPE': 'song'}); + } + //Add tracks to playlist Future addToPlaylist(String trackId, String playlistId, {int offset = -1}) async { await callApi('playlist.addSongs', params: { diff --git a/lib/ui/player_screen.dart b/lib/ui/player_screen.dart index 53e16fb..e6ecd8e 100644 --- a/lib/ui/player_screen.dart +++ b/lib/ui/player_screen.dart @@ -317,6 +317,15 @@ class _PlayerScreenVerticalState extends State { ), ), ), + IconButton( + icon: Icon(Icons.sentiment_very_dissatisfied, size: ScreenUtil().setWidth(46)), + onPressed: () async { + await deezerAPI.dislikeTrack(AudioService.currentMediaItem.id); + if (playerHelper.queueIndex < (AudioService.queue??[]).length - 1) { + AudioService.skipToNext(); + } + } + ), IconButton( icon: Icon(Icons.more_vert, size: ScreenUtil().setWidth(46)), onPressed: () {