private async void PlayingItemChanged(IPlayableItem newPlayingItem) { if (newPlayingItem == null) { // No new item playing, reset UI UpdatePlayerInfo("No track playing", "No track playing", ""); SetLibraryBtnIsLiked(false); _currentProgressSlider.value = 0; _totalProgressText.text = _currentProgressText.text = "00:00"; } else { if (newPlayingItem.Type == ItemType.Track) { if (newPlayingItem is FullTrack track) { // Update player information with track info string allArtists = S4UUtility.ArtistsToSeparatedString(", ", track.Artists); SpotifyAPI.Web.Image image = S4UUtility.GetLowestResolutionImage(track.Album.Images); UpdatePlayerInfo(track.Name, allArtists, image?.Url); // Make request to see if track is part of user's library var client = SpotifyService.Instance.GetSpotifyClient(); LibraryCheckTracksRequest request = new LibraryCheckTracksRequest(new List <string>() { track.Id }); var result = await client.Library.CheckTracks(request); if (result.Count > 0) { SetLibraryBtnIsLiked(result[0]); } } } else if (newPlayingItem.Type == ItemType.Episode) { if (newPlayingItem is FullEpisode episode) { string creators = episode.Show.Publisher; SpotifyAPI.Web.Image image = S4UUtility.GetLowestResolutionImage(episode.Images); UpdatePlayerInfo(episode.Name, creators, image?.Url); } } } }
public Boolean CheckTrack(string id) { var tracks = new LibraryCheckTracksRequest(new List <String> { id }); List <bool> tracksSaved = _spotify.Library.CheckTracks(tracks).Result; if (tracksSaved.ElementAt(0)) { _trackLIB = true; return(true); } else { _trackLIB = false; return(false); } }