Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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;
                }
            }
        }