public void SetupView(BasePlaylist newPlaylist) { // Check if the models saved playlist is null if (newPlaylist != null && (Playlist == null || Playlist.PlaylistId != newPlaylist.PlaylistId)) { // Set the item source PlaylistTracks.Source.PlaylistId = newPlaylist.PlaylistId; PlaylistTracks.Source.Service = newPlaylist.ServiceType; PlaylistTracks.RefreshItems(); // Set the playlist Playlist = newPlaylist; // Get the resource loader var resources = ResourceLoader.GetForCurrentView(); // Check if the tile is pinned if (TileHelper.IsTilePinned("Playlist_" + Playlist.PlaylistId)) { PinButtonIcon = "\uE77A"; PinButtonText = resources.GetString("AppBarUI_Unpin_Raw"); } else { PinButtonIcon = "\uE718"; PinButtonText = resources.GetString("AppBarUI_Pin_Raw"); } } }
/// <summary> /// Called when the current playing item changes /// </summary> private async void Instance_OnCurrentTrackChanged(BaseTrack newTrack) { await DispatcherHelper.ExecuteOnUIThreadAsync(async() => { var overlay = App.CurrentFrame.FindName("VideoOverlay") as MediaElement; if (overlay != null) { if (newTrack.ServiceType == ServiceType.YouTube) { overlay.Source = new Uri(newTrack.VideoStreamUrl); overlay.Play(); } else { overlay.Opacity = 0; overlay.Pause(); overlay.Source = null; } } // Set the pin button text PinButtonText = TileHelper.IsTilePinned("Track_" + newTrack.TrackId) ? "Unpin" : "Pin"; // Set the like button text LikeButtonText = (await SoundByteService.Current.ExistsAsync(ServiceType.SoundCloud, "/me/favorites/" + newTrack.TrackId)).Response ? "Unlike" : "Like"; // Reload all the comments CommentItems.Source.Track = newTrack; CommentItems.RefreshItems(); }); }