void BackgroundMediaPlayer_MessageReceivedFromBackground(object sender, MediaPlayerDataReceivedEventArgs e) { TrackChangedMessage trackChangedMessage; if (MessageService.TryParseMessage(e.Data, out trackChangedMessage)) { Logger.LogInfo(this, "Received TrackChangedMessage from Background"); Debug.WriteLine("ShellViewModel.BackgroundMediaPlayer_MessageReceivedFromBackground: Received TrackChangedMessage from Background"); var track = GetTrackFromStreamURL(trackChangedMessage.TrackId.ToString()); if (track != null) { TrackHistoryService.AddTrackHistory(new TrackHistoryToAdd() { UserID = App.User.id, TrackID = (int)track.id }); } } BackgroundAudioTaskStartedMessage backgroundAudioTaskStartedMessage; if (MessageService.TryParseMessage(e.Data, out backgroundAudioTaskStartedMessage)) { backgroundAudioTaskStarted.Set(); return; } PlaybackListEmptyMessage playbackListEmptyMessage; if (MessageService.TryParseMessage(e.Data, out playbackListEmptyMessage)) { App.PlaylistManager.StopPlayer(); return; } }
public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState) { try { HelloUserText = $"Hello, {App.User.username}"; var recentlyPopularTracks = (from th in TrackHistoryService.GetTracksHistory(App.User.id, 250) group th by th.TrackID into g select new { TrackID = g.Key, TrackCount = g.Count() }).Take(5); foreach (var track in recentlyPopularTracks) { var t = await SoundCloudHelper.GetSoundCloudTrack(track.TrackID); RecentlyPopularTracks.Add(t); } await Task.CompletedTask; } catch (Exception ex) { Logger.LogError(this, ex.Message); ShowErrorMessage("There was an error during fetching your recently popular tracks."); } }