private async Task RefreshSongs() { var rpcRequestFallback = true; if (DefaultViewModel.ContainsKey("SongsInPlaylist")) { var songs = ((ObservableCollection <Song>)defaultViewModel["SongsInPlaylist"]); if (songs.Any()) { defaultViewModel["SongsInPlaylist"] = null; defaultViewModel["SongsInPlaylist"] = songs; rpcRequestFallback = false; } } if (rpcRequestFallback) { ConnectionManager.ManageSystemTray(true); try { var tmpList = (List <Song>) await Playlist.GetItems(PlayelistType.Audio); if (tmpList.Any()) { defaultViewModel["SongsInPlaylist"] = new ObservableCollection <Song>(tmpList); } } catch (Exception) {} ConnectionManager.ManageSystemTray(false); } }
private void RefreshMetadata() { if (!DefaultViewModel.ContainsKey("SongsInPlaylist")) { return; } var songs = ((ObservableCollection <Song>)defaultViewModel["SongsInPlaylist"]); if (!songs.Any()) { return; } var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); string track = loader.GetString("Track"); string tracks = loader.GetString("Tracks"); long totalPlaytimeSec = songs.Aggregate(0, (x, y) => x + y.Duration); TrackCountTextBlock.Text = songs.Count().ToString(); TracksTextBlock.Text = songs.Count() > 1 ? tracks : track; defaultViewModel["Tracks"] = songs.Count.ToString(); defaultViewModel["TotalPlaytimeHours"] = Math.Floor(totalPlaytimeSec / 3600.0).ToString("F0"); defaultViewModel["TotalPlaytimeMinutes"] = ((totalPlaytimeSec / 60.0) % 60).ToString("F0").PadLeft(2, '0'); if (defaultViewModel["TotalPlaytimeHours"].Equals("0")) { HoursEditTextBlock.Visibility = Visibility.Collapsed; HoursLabelTextBlock.Visibility = Visibility.Collapsed; if (defaultViewModel["TotalPlaytimeMinutes"].Equals("00")) { TotalPlaytime.Visibility = Visibility.Collapsed; TotalPlaytime.Visibility = Visibility.Collapsed; } } }