public PodcastDialog(Uri g) { InitializeComponent(); Task.Run(async() => { try { var pod = await Podcast.GetiTunesPodcast(g.AbsoluteUri); if (pod == null) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => { Description.Text = "This may because of un-support rss format or network error."; TitleText.Text = "Fetch failed"; Author.Text = string.Empty; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; }); return; } podcast = pod; await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => { Description.Text = pod.Description; TitleText.Text = pod.Title; Author.Text = pod.Author; Artwork.Source = new BitmapImage(new Uri(pod.HeroArtworks[0])); Updated.Text = PubDatetoString(pod.LastUpdate); Posts.AddRange(pod.Select(a => new SongViewModel(a))); Posts.OrderByDescending(a => a.PubDate); PodList.ItemsSource = Posts; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; if (pod.Subscribed) { PrimaryButtonText = Consts.Localizer.GetString("PlayText"); DefaultButton = ContentDialogButton.Close; } else { IsPrimaryButtonEnabled = true; } }); } catch (Exception) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => { Description.Text = "This may because of un-support rss format or network error."; TitleText.Text = "Fetch failed"; Author.Text = string.Empty; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; }); } }); }
public PodcastDialog(GenericMusicItemViewModel g) { InitializeComponent(); RequestedTheme = Settings.Current.Theme; TitleText.Text = g.Title; Author.Text = g.Description; Artwork.Source = new BitmapImage(g.Artwork); Task.Run(async() => { try { var pod = await Podcast.GetiTunesPodcast(g.OnlineAlbumID); if (pod == null) { await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => { Description.Text = "This may because of un-support rss format or network error."; TitleText.Text = "Fetch failed"; Author.Text = string.Empty; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; }); return; } podcast = pod; await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => { Description.Text = pod.Description; TitleText.Text = pod.Title; Author.Text = pod.Author; Artwork.Source = new BitmapImage(new Uri(pod.HeroArtworks[0])); Updated.Text = PubDatetoString(pod.LastUpdate); Posts.AddRange(pod.Select(a => new SongViewModel(a))); Posts.OrderByDescending(a => a.PubDate); PodList.ItemsSource = Posts; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; if (pod.Subscribed) { PrimaryButtonText = Consts.Localizer.GetString("PlayText"); DefaultButton = ContentDialogButton.Close; } else { } IsPrimaryButtonEnabled = true; }); } catch (Exception ex) { await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => { Description.Text = "This may because of un-support rss format or network error."; TitleText.Text = "Fetch failed"; Author.Text = string.Empty; FetchingHeader.Visibility = Visibility.Collapsed; FetchingProgress.IsIndeterminate = false; FetchingProgress.Visibility = Visibility.Collapsed; }); Core.Tools.Helper.Logging(ex, new Dictionary <string, string>() { ["Location"] = "PodcastDialog", ["url"] = g.OnlineAlbumID }); } }); }